mirror of
https://github.com/obra/superpowers.git
synced 2026-08-08 15:22:59 +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:
|
||||
|
||||
1. Dispatch a card-author subagent per its authoring-cards-from-a-spec.md.
|
||||
2. Run its scripts/check-cards-against-spec yourself on the author's output
|
||||
— self-attestation is not the gate.
|
||||
3. Dispatch a runner subagent per its runner-prompt.md against the built
|
||||
branch.
|
||||
1. Require a clean working tree (`git status --porcelain` is empty) before
|
||||
dispatching the card author. Record `E2E_BASE=$(git rev-parse HEAD)` before
|
||||
any card or bootstrap-spec work.
|
||||
2. Dispatch a card-author subagent per its authoring-cards-from-a-spec.md. Ask
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user