mirror of
https://github.com/obra/superpowers.git
synced 2026-08-08 23:32:58 +08:00
fix(sdd): land proven e2e scenario cards
Require spec-derived E2E artifacts to be authored, independently checked, and run before an exact-path commit. Add conditional bootstrap approval, focused artifact review, a separate correction/rerun loop, and clean HEAD/path durability checks before finishing. Preserve existing product-code failure handling.
This commit is contained in:
@@ -24,11 +24,45 @@ plan touches.
|
|||||||
|
|
||||||
Use superpowers:agentic-end-to-end-testing:
|
Use superpowers:agentic-end-to-end-testing:
|
||||||
|
|
||||||
1. Dispatch a card-author subagent per its authoring-cards-from-a-spec.md.
|
1. Require a clean working tree (`git status --porcelain` is empty) before
|
||||||
2. Run its scripts/check-cards-against-spec yourself on the author's output
|
dispatching the card author. Record `E2E_BASE=$(git rev-parse HEAD)` before
|
||||||
— self-attestation is not the gate.
|
any card or bootstrap-spec work.
|
||||||
3. Dispatch a runner subagent per its runner-prompt.md against the built
|
2. Dispatch a card-author subagent per its authoring-cards-from-a-spec.md. Ask
|
||||||
branch.
|
the author to report every authored card path and, on the bootstrap path,
|
||||||
|
the governing spec path it changed.
|
||||||
|
3. Run `scripts/check-cards-against-spec` yourself on the author's output —
|
||||||
|
self-attestation is not the gate. Preserve the complete checker output and
|
||||||
|
compare the resulting paths with the author's report.
|
||||||
|
4. If the author changed the governing spec, present the spec-only diff to
|
||||||
|
your human partner and wait for explicit approval before continuing. This
|
||||||
|
approval gate is conditional: a pre-locked, already-approved scenario table
|
||||||
|
does not require a new approval.
|
||||||
|
5. Dispatch a runner subagent per its runner-prompt.md against the built branch
|
||||||
|
and the checked cards while those artifacts remain uncommitted. Retain the
|
||||||
|
runner report, ledger, and evidence; a successful card is not yet a shipped
|
||||||
|
artifact.
|
||||||
|
6. After every card passes, stage only the card paths reported by the author
|
||||||
|
plus the approved bootstrap spec path, if any. Do not stage product code or
|
||||||
|
unrelated evidence. Commit the unchanged successful artifacts with:
|
||||||
|
|
||||||
|
```text
|
||||||
|
test(e2e): add spec-derived scenario cards
|
||||||
|
```
|
||||||
|
|
||||||
|
7. Dispatch a focused artifact reviewer for that commit, using the governing
|
||||||
|
spec, author report, independent checker output, and runner evidence. The
|
||||||
|
reviewer checks the exact artifact paths, their unchanged spec assertions,
|
||||||
|
and the evidence for every passing card.
|
||||||
|
8. If the focused review requires an artifact change, dispatch one separate
|
||||||
|
artifact-fix subagent with the review findings. The original card author and
|
||||||
|
focused reviewer remain finders, not fixers. Rerun the checker and every
|
||||||
|
affected card, stage only the corrected artifact paths (and approved
|
||||||
|
bootstrap spec path, if applicable), commit them with the same message, and
|
||||||
|
repeat the focused artifact review over the new commit range.
|
||||||
|
9. Before invoking superpowers:finishing-a-development-branch, require empty
|
||||||
|
`git status --porcelain` output and verify every authored path is tracked in
|
||||||
|
`HEAD` with `git ls-files --error-unmatch -- "$path"`. Report `E2E_BASE`,
|
||||||
|
the artifact commit range, reviewer verdict, and exact durable paths.
|
||||||
|
|
||||||
## Failure handling
|
## Failure handling
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user