Skip to content

Commit 870dbc0

Browse files
committed
docs(handoff): auto-scaffold dogfood debrief as final HANDOFF step
Closes the loop on the debrief asymmetry: every successful HANDOFF now invokes `script.py debrief --from-tasks` as Step 6, using the project directory's basename as slug and the validation grade captured in Step 4. Silent failure (`|| true`) is intentional — a missing complexity report or gitignored `docs/v4-release/` must never block an otherwise-successful handoff. The scaffold is a nice-to-have; the mode selection is the gate. Future success-case dogfoods now leave a doc behind automatically. The Apr 13 atlas-shade run — which retired at the handoff prompt and went undocumented for a day until a later session reconstructed it from three scattered artifact sources — was the last one that needed manual archaeology. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f4b8896 commit 870dbc0

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

phases/HANDOFF.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,26 @@ The skill's deterministic layer exposes `python3 script.py handoff-gate --recomm
205205

206206
**DO NOT** say "Ready to proceed with Mode X? (or type 'options')" as your only gate. That is a prose prompt the model can skip or satisfy with a fake affirmative. The v4 dogfood (LEARNING #16#20) surfaced this exact pattern as a user-agency hole. The dual-tool-call is the fix.
207207

208+
## Step 6: Auto-scaffold dogfood debrief (closes the authorship asymmetry)
209+
210+
Successful runs used to leave only artifacts (PRD, tasks.json, complexity report) and no debrief — see `docs/v4-release/dogfood-shade-20260413.md §6` for why that was a real problem. Every successful HANDOFF now calls the deterministic debrief scaffolder as its final act.
211+
212+
```bash
213+
SLUG="$(basename "$PWD")"
214+
python3 "$SKILL_DIR/script.py" debrief \
215+
--slug "$SLUG" \
216+
--grade "$VALIDATION_GRADE" \
217+
--output-dir docs/v4-release 2>/dev/null || true
218+
```
219+
220+
- Uses the project's directory name as slug (stable, matches human convention).
221+
- Embeds the validation grade captured in Step 4's summary (`EXCELLENT 56/57`, etc.).
222+
- Defaults to `.taskmaster/{tasks/tasks.json, reports/task-complexity-report.json, docs/prd.md}` — no path flags needed from the common case.
223+
- Silently tolerates failure (`|| true`) — a missing complexity report or gitignored `docs/v4-release/` must never block a handoff that otherwise succeeded.
224+
- Output path is returned as `output_path` in the JSON response; surface it to the user as "Debrief scaffolded at: <path>. Judgment sections (worked / broke / meta) left as TODO — fill them in before the memory fades."
225+
226+
If `docs/v4-release/` doesn't exist in the target project (most projects won't have it — this is a prd-taskmaster convention), skip the call or let it fail silently. The scaffold is only useful for projects that retain it.
227+
208228
## Evidence Gate
209229

210-
**Gate: User chose a mode, CLAUDE.md updated, handoff instructions delivered. Skill complete.**
230+
**Gate: User chose a mode, CLAUDE.md updated, handoff instructions delivered, debrief scaffolded. Skill complete.**

0 commit comments

Comments
 (0)