Sprint 16 retro finding. PR #247 initial body cited 5 follow-up issues at fabricated numbers (#247-251, where #247 was the PR itself and #248-251 were 404). Orchestrator caught it on warm-tick verification and forced correction at $0.22 incremental, but the failure mode is intrinsic to /implement's contract — the worker can write plausible PR-body text about work that hasn't happened yet.
Fix: add to .claude/commands/implement.md a pre-push verification step: 'Before reporting the PR number as pushed, any #N reference you cite in the PR body must resolve via gh issue view . If a referenced issue doesn't exist, file it now with gh issue create, then amend the PR body via gh pr edit before reporting done.'
Cheap check (~1s of gh calls per reference), high value (prevents permanent ghost-issue references + undocumented scope-shrink surfaces).
Applies at sprint 17 Step 1a.
Sprint 16 retro finding. PR #247 initial body cited 5 follow-up issues at fabricated numbers (#247-251, where #247 was the PR itself and #248-251 were 404). Orchestrator caught it on warm-tick verification and forced correction at $0.22 incremental, but the failure mode is intrinsic to /implement's contract — the worker can write plausible PR-body text about work that hasn't happened yet.
Fix: add to .claude/commands/implement.md a pre-push verification step: 'Before reporting the PR number as pushed, any #N reference you cite in the PR body must resolve via gh issue view . If a referenced issue doesn't exist, file it now with gh issue create, then amend the PR body via gh pr edit before reporting done.'
Cheap check (~1s of gh calls per reference), high value (prevents permanent ghost-issue references + undocumented scope-shrink surfaces).
Applies at sprint 17 Step 1a.