mirror of
https://github.com/bmad-code-org/BMAD-METHOD.git
synced 2026-08-28 19:20:41 +08:00
7e571784ed
* feat(build): route after design instead of before investigation Move the one-shot vs full-spec decision from step-01 (a prediction made before investigation) to a route gate in step-02 that reports three facts about the finished design: forks, irreversibles, footprint. All clean routes to a light spec (frontmatter + Intent + Implementation Notes) implemented in-session; any flag produces the full spec with each fork recorded as an Open Questions entry. Open Questions drain at a loop before Checkpoint 1 — the spec cannot be approved while entries remain; answers are folded into the frozen block. The checkpoint becomes three-way: approve & continue (in-session, no-subagent path), approve & stop (ready-for-dev for a later dispatch), or edit. step-oneshot is repurposed as the light path with an escalation ramp back to step-02's drain loop when implementation surfaces a fact the gate did not see. * feat(build): resolve intent from evidence before asking questions Step-01 takes the invocation prompt as starting intent and no longer interviews the user; it only resolves workflow state, loads evidence, applies the VCS and scope gates, and selects the spec path. Step-02 investigates before any clarification, distinguishes missing evidence from genuine decisions, and carries decisions into the route gate as forks. Self-review turns unresolved material gaps into further investigation or Open Questions entries; the pre-draft clarification HALT is gone, so the Open Questions drain is the only human decision boundary. The Build explanation now describes evidence-first intent resolution and the post-design route gate. * feat(build): emit conversation paths in a host-clickable form * fix(build): restore main Checkpoint 1 choices Drop the letter-coded continue/stop/edit menu and keep the wording already on main. * fix(build): say the step-02 plan path in plain language Replace route-gate metaphor with what the agent should actually do. * refactor(build): merge the step-02 gates and keep forks out of the frozen block The token check and Open Questions were two prescribed halts in sequence. Fold them into one gate that must be settled before Checkpoint 1, in any order, combinable in one message. Also forbid the frozen intent block from assuming an answer to a question that is still open: a simulated run wrote the tool-block format into Boundaries while asking whether results belong in it. * refactor(build): route on intent gaps instead of forks A fork covered two different things: a question about what the user wants, and a design choice the user would never notice. Only the first needs the human. Name it an intent gap, define it as something the request does not say and the user would notice in the result, and tell the model to decide and record everything else itself. Forbid writing an intent gap into the frozen block as an assumption.