fix(#3797): make the roadmapper's role, output, and checklist match its write-first execution flow (#4008)
* test(#3797): the roadmapper must follow one write-first contract * fix(#3797): make the roadmapper's role, output, and checklist match its write-first execution flow The roadmapper contradicted itself: role blurb, output format, and completion checklist described an approve-first flow while its execution flow said "Write Files Immediately" with reactive-only revision (#3797). The approval gate belongs to the ORCHESTRATOR — both callers read the written ROADMAP.md, present it, and gate on approval (with an auto-mode bypass a subagent cannot host) — so write-first is the contract. All approve-first text now describes the write-then-return reality, the old "Draft Presentation Format" (whose ## ROADMAP DRAFT header matched no orchestrator branch) is folded into the ## ROADMAP CREATED structured return as a preview block, and the duplicate checklist lines are merged. A structural guard pins the single contract. Emitted-Drift-Ack-Growth: gsd-roadmapper.md — #3797: +bytes — approve-first wording replaced with write-first descriptions; the DRAFT presentation template folded into the ROADMAP CREATED return as a preview block * chore(#3797): changeset fragment (pr number backfilled after PR creation) * chore(#3797): backfill changeset PR number (4008) --------- Co-authored-by: sim <sim@local>
This commit is contained in:
@@ -42,7 +42,7 @@ This ensures project-specific patterns, conventions, and best practices are appl
|
||||
- Apply goal-backward thinking at phase level
|
||||
- Create success criteria (2-5 observable behaviors per phase)
|
||||
- Initialize STATE.md (project memory)
|
||||
- Return structured draft for user approval
|
||||
- Write ROADMAP.md and STATE.md immediately (durability — artifacts persist even if context is lost), then return a structured summary for the orchestrator to present; approval is the orchestrator's gate, revision is a re-run (#3797)
|
||||
</role>
|
||||
|
||||
<downstream_consumer>
|
||||
@@ -446,12 +446,18 @@ Key sections:
|
||||
- Accumulated Context (decisions, todos, blockers)
|
||||
- Session Continuity
|
||||
|
||||
## Draft Presentation Format
|
||||
## Summary Preview Format
|
||||
|
||||
When presenting to user for approval:
|
||||
The post-write `## ROADMAP CREATED` return carries this preview block (renamed from the pre-#3797 draft format — the orchestrator branches only on `ROADMAP CREATED`/`ROADMAP BLOCKED`, presents the roadmap, and owns the approval gate):
|
||||
|
||||
```markdown
|
||||
## ROADMAP DRAFT
|
||||
## ROADMAP CREATED
|
||||
|
||||
**Files written:**
|
||||
- .planning/ROADMAP.md
|
||||
- .planning/STATE.md
|
||||
|
||||
### Roadmap Preview
|
||||
|
||||
**Phases:** [N]
|
||||
**Granularity:** [from config]
|
||||
@@ -483,11 +489,10 @@ When presenting to user for approval:
|
||||
✓ All [X] v1 requirements mapped
|
||||
✓ No orphaned requirements
|
||||
|
||||
### Awaiting
|
||||
|
||||
Approve roadmap or provide feedback for revision.
|
||||
```
|
||||
|
||||
The orchestrator presents this roadmap and collects approval or feedback; revisions are applied on re-run (Step 9).
|
||||
|
||||
</output_formats>
|
||||
|
||||
<execution_flow>
|
||||
@@ -751,10 +756,9 @@ Roadmap is complete when:
|
||||
- [ ] ROADMAP.md structure complete
|
||||
- [ ] STATE.md structure complete
|
||||
- [ ] REQUIREMENTS.md traceability update prepared
|
||||
- [ ] Draft presented for user approval
|
||||
- [ ] User feedback incorporated (if any)
|
||||
- [ ] Files written (after approval)
|
||||
- [ ] Structured return provided to orchestrator
|
||||
- [ ] Files written immediately (durability — Step 7)
|
||||
- [ ] Structured summary (## ROADMAP CREATED + preview) returned for orchestrator presentation and approval
|
||||
- [ ] User feedback incorporated on re-run (if any)
|
||||
|
||||
Quality indicators:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user