diff --git a/src/bmm-skills/4-implementation/bmad-dev-auto/spec-template.md b/src/bmm-skills/4-implementation/bmad-dev-auto/spec-template.md index 03c3758a1..05cdeb021 100644 --- a/src/bmm-skills/4-implementation/bmad-dev-auto/spec-template.md +++ b/src/bmm-skills/4-implementation/bmad-dev-auto/spec-template.md @@ -13,7 +13,7 @@ warnings: [] # optional: machine-readable warnings for orchestration, e.g. overs Cohesive cross-layer stories (DB+BE+UI) stay in ONE file. IMPORTANT: Remove all HTML comments when filling this template. --> - + ## Intent @@ -43,7 +43,7 @@ warnings: [] # optional: machine-readable warnings for orchestration, e.g. overs | HAPPY_PATH | INPUT | OUTCOME | N/A | | ERROR_CASE | INPUT | OUTCOME | ERROR_HANDLING | - + ## Code Map diff --git a/src/bmm-skills/4-implementation/bmad-dev-auto/step-02-plan.md b/src/bmm-skills/4-implementation/bmad-dev-auto/step-02-plan.md index 1aa5d4388..d89c69904 100644 --- a/src/bmm-skills/4-implementation/bmad-dev-auto/step-02-plan.md +++ b/src/bmm-skills/4-implementation/bmad-dev-auto/step-02-plan.md @@ -11,9 +11,9 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md' ## INSTRUCTIONS -1. Draft resume check. If `{spec_file}` exists with `status: draft`, read it and capture the verbatim `...` block as `preserved_intent`. Otherwise `preserved_intent` is empty. +1. Draft resume check. If `{spec_file}` exists with `status: draft`, read it and capture the verbatim `...` block as `preserved_intent_contract`. Otherwise `preserved_intent_contract` is empty. 2. Investigate codebase. _Isolate deep exploration in sub-agents/tasks where available. To prevent context snowballing, instruct subagents to give you distilled summaries only._ -3. Read `./spec-template.md` fully. Fill it out based on the intent and investigation. If `{preserved_intent}` is non-empty, substitute it for the `` block in your filled spec before writing. Write the result to `{spec_file}`. +3. Read `./spec-template.md` fully. Fill it out based on the intent and investigation. If `{preserved_intent_contract}` is non-empty, substitute it for the `` block in your filled spec before writing. Write the result to `{spec_file}`. 4. Self-review against READY FOR DEVELOPMENT standard. 5. If intent gaps exist, do not fantasize and do not leave open questions. HALT with status `blocked`, blocking condition `intent gaps`, and include the unanswered questions and evidence gathered. 6. Warning check. If step-01 carried `multiple-goals`, add it to `{spec_file}` frontmatter `warnings`. If `{spec_file}` exceeds 1600 tokens, add `oversized` to frontmatter `warnings`. Continue either way. diff --git a/src/bmm-skills/4-implementation/bmad-dev-auto/step-03-implement.md b/src/bmm-skills/4-implementation/bmad-dev-auto/step-03-implement.md index 3ce4bad19..8be1441e8 100644 --- a/src/bmm-skills/4-implementation/bmad-dev-auto/step-03-implement.md +++ b/src/bmm-skills/4-implementation/bmad-dev-auto/step-03-implement.md @@ -7,7 +7,7 @@ - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}` - No human interaction: do not ask questions or wait for approval in this step. -- Content inside `` in `{spec_file}` is read-only. Do not modify. +- Content inside `` in `{spec_file}` is read-only. Do not modify. ## PRECONDITION diff --git a/src/bmm-skills/4-implementation/bmad-dev-auto/step-04-review.md b/src/bmm-skills/4-implementation/bmad-dev-auto/step-04-review.md index 493476144..db9ab973a 100644 --- a/src/bmm-skills/4-implementation/bmad-dev-auto/step-04-review.md +++ b/src/bmm-skills/4-implementation/bmad-dev-auto/step-04-review.md @@ -37,9 +37,9 @@ Launch two subagents without prior session context. - **patch** — caused by the change; trivially fixable without human input. Just part of the diff. - **defer** — pre-existing issue not caused by this story, surfaced incidentally by the review. Collect for later focused attention. - **reject** — noise. Drop silently. When unsure between defer and reject, prefer reject — only defer findings you are confident are real. -3. Process findings in cascading order. If intent_gap exists, lower findings are moot and this step blocks. If bad_spec exists, lower findings are moot since code will be re-derived. If neither exists, process patch and defer normally. Before each bad_spec loopback, read `{spec_file}` frontmatter `review_loop_iteration` (missing means `0`), increment it by 1, and write it back. If it exceeds 5, HALT with status `blocked` and blocking condition `review repair loop exceeded 5 iterations`. - - **intent_gap** — Root cause is inside ``. Revert code changes. HALT with status `blocked`, blocking condition `intent gap in frozen intent`, and include the intent-gap findings. - - **bad_spec** — Root cause is outside ``. Before reverting code: extract KEEP instructions for positive preservation (what worked well and must survive re-derivation). Revert code changes. Read the `## Spec Change Log` in `{spec_file}` and strictly respect all logged constraints when amending the non-frozen sections that contain the root cause. Append a new change-log entry recording: the triggering finding, what was amended, the known-bad state avoided, and the KEEP instructions. Read fully and follow `./step-03-implement.md` to re-derive the code, then this step will run again. +3. Process findings in cascading order. If intent_gap exists, lower findings are moot; follow the intent_gap branch below. If bad_spec exists, lower findings are moot since code will be re-derived. If neither exists, process patch and defer normally. Before each bad_spec loopback, read `{spec_file}` frontmatter `review_loop_iteration` (missing means `0`), increment it by 1, and write it back. If it exceeds 5, HALT with status `blocked` and blocking condition `review repair loop exceeded 5 iterations`. + - **intent_gap** — Root cause is inside ``. Revert code changes. HALT with status `blocked`, blocking condition `intent gap in intent contract`, and include the intent-gap findings. + - **bad_spec** — Root cause is outside ``. Do not modify content inside ``. Before reverting code: extract KEEP instructions for positive preservation (what worked well and must survive re-derivation). Revert code changes. Read the `## Spec Change Log` in `{spec_file}` and strictly respect all logged constraints when amending the sections outside `` that contain the root cause. Append a new change-log entry recording: the triggering finding, what was amended, the known-bad state avoided, and the KEEP instructions. Read fully and follow `./step-03-implement.md` to re-derive the code, then this step will run again. - **patch** — Auto-fix. These are the only findings that survive loopbacks. - **defer** — Append one new entry to `{deferred_work_file}` using this format. Do not modify existing entries or look for duplicates. ```markdown