Compare commits
1 Commits
b0dfc6e4b5
...
939c489887
| Author | SHA1 | Date |
|---|---|---|
|
|
939c489887 |
|
|
@ -16,14 +16,10 @@ failed_layers: '' # set at runtime: comma-separated list of layers that failed o
|
||||||
|
|
||||||
0. **Static prefilter** (`{auto_mode}` only — skip entirely in interactive runs). Before any LLM review, run the project's deterministic
|
0. **Static prefilter** (`{auto_mode}` only — skip entirely in interactive runs). Before any LLM review, run the project's deterministic
|
||||||
checks — they are free, precise findings the hunters should not have to
|
checks — they are free, precise findings the hunters should not have to
|
||||||
rediscover. Build the command list from BOTH sources below (the orchestrator
|
rediscover. Resolve the command list in this order, first match wins:
|
||||||
runs only the policy.toml gates itself, never the spec's, so the spec's
|
1. `[verify] commands` in `{project-root}/.automator/policy.toml` (if the file exists)
|
||||||
story-specific checks must run here or nowhere), then run each unique command
|
2. the `## Verification` commands in `{spec_file}` (if `{review_mode}` = `"full"`)
|
||||||
once — dedupe identical command strings:
|
3. none found — skip this instruction silently.
|
||||||
- `[verify] commands` in `{project-root}/.automator/policy.toml` (if the file exists) — the orchestrator's project-wide gates
|
|
||||||
- the `## Verification` commands in `{spec_file}` (if `{review_mode}` = `"full"`) — story-specific checks
|
|
||||||
|
|
||||||
If neither source yields a command, skip this instruction silently.
|
|
||||||
|
|
||||||
Record each failing command as a finding with `source: static` (title = the
|
Record each failing command as a finding with `source: static` (title = the
|
||||||
command, detail = the failure output tail). Summarize failures in one line
|
command, detail = the failure output tail). Summarize failures in one line
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@
|
||||||
|
|
||||||
6. If `{failed_layers}` is non-empty, report which layers failed before announcing results. If zero findings remain after dropping dismissed AND `{failed_layers}` is non-empty, warn the user that the review may be incomplete rather than announcing a clean review.
|
6. If `{failed_layers}` is non-empty, report which layers failed before announcing results. If zero findings remain after dropping dismissed AND `{failed_layers}` is non-empty, warn the user that the review may be incomplete rather than announcing a clean review.
|
||||||
|
|
||||||
7. If zero findings remain after triage (all rejected or none raised) AND `{failed_layers}` is empty: state "✅ Clean review — all layers passed." (If any layers failed, step 6 already issued the incompleteness warning instead of a clean announcement.)
|
7. If zero findings remain after triage (all rejected or none raised): state "✅ Clean review — all layers passed." (Step 3 already warned if any review layers failed via `{failed_layers}`.)
|
||||||
|
|
||||||
|
|
||||||
## NEXT
|
## NEXT
|
||||||
|
|
|
||||||
|
|
@ -109,8 +109,6 @@ overflow choose `[S] Split` per the decision table.
|
||||||
| step-01/02 unclear intent after investigation | Escalate `CRITICAL` (`type: intent-gap`). Do not fantasize requirements. |
|
| step-01/02 unclear intent after investigation | Escalate `CRITICAL` (`type: intent-gap`). Do not fantasize requirements. |
|
||||||
| step-02 token budget exceeded | Choose **[S] Split** (defer secondary scope per `./deferred-work-format.md`). |
|
| step-02 token budget exceeded | Choose **[S] Split** (defer secondary scope per `./deferred-work-format.md`). |
|
||||||
| step-02 CHECKPOINT 1 | Perform the self-review against the READY FOR DEVELOPMENT standard, fix what it surfaces, then auto-approve: set status `ready-for-dev`, lock the frozen block, continue to step-03. |
|
| step-02 CHECKPOINT 1 | Perform the self-review against the READY FOR DEVELOPMENT standard, fix what it surfaces, then auto-approve: set status `ready-for-dev`, lock the frozen block, continue to step-03. |
|
||||||
| step-02 CHECKPOINT 1 spec preflight fails | If `{spec_file}` is missing or empty after the write, escalate `CRITICAL` (`type: spec-write-failure`) instead of approving. |
|
|
||||||
| step-auto-finalize verification cannot pass | If a spec `## Verification` command cannot pass without violating the frozen intent, escalate `CRITICAL` (`type: verification-failure`) instead of finalizing. |
|
|
||||||
| step-03 missing/empty spec precondition | Escalate `CRITICAL` (`type: missing-spec`). |
|
| step-03 missing/empty spec precondition | Escalate `CRITICAL` (`type: missing-spec`). |
|
||||||
| step-04 no sub-agents → "generate prompt files & HALT" | Only reachable when `$BMAD_AUTO_SKIP_REVIEW` is set. Sub-agents are pre-authorized — run the three reviewers inline; never generate prompt files or HALT. |
|
| step-04 no sub-agents → "generate prompt files & HALT" | Only reachable when `$BMAD_AUTO_SKIP_REVIEW` is set. Sub-agents are pre-authorized — run the three reviewers inline; never generate prompt files or HALT. |
|
||||||
| step-04 `intent_gap` finding (loop back to human) | Revert the code changes, then escalate `CRITICAL` (`type: intent-gap`). Do not infer intent. |
|
| step-04 `intent_gap` finding (loop back to human) | Revert the code changes, then escalate `CRITICAL` (`type: intent-gap`). Do not infer intent. |
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,7 @@
|
||||||
|
|
||||||
Canonical entry format for `{implementation_artifacts}/deferred-work.md`.
|
Canonical entry format for `{implementation_artifacts}/deferred-work.md`.
|
||||||
Used (in `bmad-auto` automation mode) by bmad-quick-dev (multi-goal splits,
|
Used (in `bmad-auto` automation mode) by bmad-quick-dev (multi-goal splits,
|
||||||
token splits, review defers) and bmad-code-review (defer findings). This copy
|
token splits, review defers) and bmad-code-review (defer findings). The file is
|
||||||
lives in the bmad-quick-dev skill; bmad-code-review ships a sibling copy of the
|
|
||||||
same entry format (its surrounding prose differs slightly) — keep the format
|
|
||||||
itself in sync across the two when it changes. The file is
|
|
||||||
append-only — never rewrite or delete existing entries. (One exception: freeform
|
append-only — never rewrite or delete existing entries. (One exception: freeform
|
||||||
pre-DW-format content from older projects is rewritten wholesale into canonical
|
pre-DW-format content from older projects is rewritten wholesale into canonical
|
||||||
entries by a `bmad-auto sweep` migration run — an orchestrator-side process
|
entries by a `bmad-auto sweep` migration run — an orchestrator-side process
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue