docs(specs): decide card-author role boundary as flag-only

This commit is contained in:
Jesse Vincent
2026-07-04 20:14:09 -07:00
parent 21244c6595
commit 157d473447

View File

@@ -1,9 +1,9 @@
# Spec-Derived Scenario Cards — Design # Spec-Derived Scenario Cards — Design
Date: 2026-07-04 Date: 2026-07-04
Status: draft — adversarially reviewed (2x opus, findings folded in); one Status: approved (design review with Jesse 2026-07-04; adversarially
decision open for Jesse at spec review: the card-author role boundary reviewed 2x opus, findings folded in; role boundary decided by Jesse:
(flag-only vs flag-then-fix-via-TDD). The spec is written flag-only. flag-only)
Builds on: `2026-07-04-agentic-end-to-end-testing-design.md` (the skill this Builds on: `2026-07-04-agentic-end-to-end-testing-design.md` (the skill this
extends; same branch) extends; same branch)
@@ -109,12 +109,13 @@ sections; reference headers by name.) Contents:
implementation. implementation.
- **Coverage check:** every user-facing claim in the spec maps to a card or - **Coverage check:** every user-facing claim in the spec maps to a card or
a stated exclusion with a reason. a stated exclusion with a reason.
- **Role boundary:** the card author never modifies product code, test code, - **Role boundary (decided):** the card author never modifies product code,
or existing cards' assertions. A failing card plus root cause is the test code, or existing cards' assertions. A failing card plus root cause
deliverable, not a fix. (Open for Jesse at spec review: widen to "flag, is the deliverable, not a fix. Rationale: agents get one mandate, not two
then fix via TDD." The 2026-07-04 experiment shows why ambient norms do — the agent that finds an issue must not be responsible for the issue
not decide this consistently: given the same failing card, one author being solved. (The 2026-07-04 experiment shows why this must be stated:
fixed and one declined.) ambient norms split — given the same failing card, one author fixed and
one declined.)
- **Dispatch snippet:** a short template for dispatching a fresh card-author - **Dispatch snippet:** a short template for dispatching a fresh card-author
subagent (seeded from the historical card-authoring dispatch in the subagent (seeded from the historical card-authoring dispatch in the
corpus), naming: the spec path (authoritative), the card format, the corpus), naming: the spec path (authoritative), the card format, the
@@ -216,7 +217,8 @@ plan.
expansion constrained by the verbatim rule. Chosen over cards-at-spec-time expansion constrained by the verbatim rule. Chosen over cards-at-spec-time
after the 2026-07-04 experiment showed the expansion step follows a locked after the 2026-07-04 experiment showed the expansion step follows a locked
table faithfully. table faithfully.
- **Role boundary:** flag-only (provisional; revisit at spec review). - **Role boundary:** flag-only, decided. One mandate per agent; finders are
never fixers. Fixes belong to a separately dispatched fix wave.
- **Blast radius:** brainstorming + agentic-end-to-end-testing + SDD; not - **Blast radius:** brainstorming + agentic-end-to-end-testing + SDD; not
writing-plans. writing-plans.
- **Repeatability:** in-skill (checker script + RED/GREEN development - **Repeatability:** in-skill (checker script + RED/GREEN development