bmad-method 6.9.1-next.12 → 6.9.1-next.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-method",
4
- "version": "6.9.1-next.12",
4
+ "version": "6.9.1-next.14",
5
5
  "description": "Breakthrough Method of Agile AI-driven Development",
6
6
  "keywords": [
7
7
  "agile",
@@ -7,23 +7,29 @@ failed_layers: '' # set at runtime: comma-separated list of layers that failed o
7
7
  ## RULES
8
8
 
9
9
  - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
10
- - The Blind Hunter subagent receives NO project context — diff only.
11
- - The Edge Case Hunter subagent receives diff and project read access.
12
- - The Acceptance Auditor subagent receives diff, spec, and context docs.
13
10
  - All review subagents must run at the same model capability as the current session.
14
11
 
15
12
  ## INSTRUCTIONS
16
13
 
17
14
  1. If `{review_mode}` = `"no-spec"`, note to the user: "Acceptance Auditor skipped — no spec file provided."
18
15
 
19
- 2. Launch parallel subagents without conversation context. If subagents are not available, generate prompt files in `{implementation_artifacts}` one per reviewer role below — and HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, resume from this point and proceed to step 3.
16
+ 2. Launch Blind Hunter and Edge Case Hunter in parallel without prior conversation context. If `{review_mode}` = `"full"`, include the Acceptance Auditor in the same parallel launch. If subagents are not available, generate prompt files in `{implementation_artifacts}` for each applicable reviewer role and HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, resume from this point and proceed to step 3.
20
17
 
21
- - **Blind Hunter** — prompt: "Use the `bmad-review-adversarial-general` skill on `{diff_output}`."
18
+ - **Blind Hunter** — prompt:
19
+ > Invoke the `bmad-review-adversarial-general` skill on this diff:
20
+ >
21
+ > {diff_output}
22
22
 
23
- - **Edge Case Hunter** — prompt: "Use the `bmad-review-edge-case-hunter` skill on `{diff_output}`."
23
+ - **Edge Case Hunter** — prompt:
24
+ > Invoke the `bmad-review-edge-case-hunter` skill on this diff:
25
+ >
26
+ > {diff_output}
24
27
 
25
- - **Acceptance Auditor** (only if `{review_mode}` = `"full"`) — receives `{diff_output}`, the content of the file at `{spec_file}`, and any loaded context docs. Its prompt:
26
- > You are an Acceptance Auditor. Review this diff against the spec and context docs. Check for: violations of acceptance criteria, deviations from spec intent, missing implementation of specified behavior, contradictions between spec constraints and actual code. Output findings as a Markdown list. Each finding: one-line title, which AC/constraint it violates, and evidence from the diff.
28
+ - **Acceptance Auditor** (only if `{review_mode}` = `"full"`) — prompt:
29
+ > You are an Acceptance Auditor. Review the provided diff against `{spec_file}` and any loaded context docs. Check for: violations of acceptance criteria, deviations from spec intent, missing implementation of specified behavior, contradictions between spec constraints and actual code. Output findings as a Markdown list. Each finding: one-line title, which AC/constraint it violates, and evidence from the diff.
30
+ >
31
+ > Diff:
32
+ > {diff_output}
27
33
 
28
34
  3. **Subagent failure handling**: If any subagent fails, times out, or returns empty results, append the layer name to `{failed_layers}` (comma-separated) and proceed with findings from the remaining layers.
29
35
 
@@ -8,7 +8,6 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md'
8
8
 
9
9
  - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
10
10
  - No human interaction: do not ask questions or wait for approval in this step.
11
- - Review subagents get no prior session context.
12
11
  - All review subagents must run at the same model capability as the current session.
13
12
 
14
13
  ## INSTRUCTIONS
@@ -23,10 +22,16 @@ Do NOT `git add` anything — this is read-only inspection.
23
22
 
24
23
  ### Review
25
24
 
26
- Launch two subagents without prior session context.
25
+ Launch Blind Hunter and Edge Case Hunter in parallel without prior conversation context.
27
26
 
28
- - **Blind hunter** — prompt: "Use the `bmad-review-adversarial-general` skill on `{diff_output}`."
29
- - **Edge case hunter** — prompt: "Use the `bmad-review-edge-case-hunter` skill on `{diff_output}`."
27
+ - **Blind Hunter** — prompt:
28
+ > Invoke the `bmad-review-adversarial-general` skill on this diff:
29
+ >
30
+ > {diff_output}
31
+ - **Edge Case Hunter** — prompt:
32
+ > Invoke the `bmad-review-edge-case-hunter` skill on this diff:
33
+ >
34
+ > {diff_output}
30
35
 
31
36
  ### Classify
32
37
 
@@ -7,7 +7,6 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md'
7
7
  ## RULES
8
8
 
9
9
  - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
10
- - Review subagents get NO conversation context.
11
10
  - All review subagents must run at the same model capability as the current session.
12
11
 
13
12
  ## INSTRUCTIONS
@@ -22,10 +21,16 @@ Do NOT `git add` anything — this is read-only inspection.
22
21
 
23
22
  ### Review
24
23
 
25
- Launch two subagents without conversation context. If no subagents are available, generate two review prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the human to run each in a separate session (ideally a different LLM) and paste back the findings.
24
+ Launch Blind Hunter and Edge Case Hunter in parallel without prior conversation context. If no subagents are available, generate two review prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the human to run each in a separate session (ideally a different LLM) and paste back the findings.
26
25
 
27
- - **Blind hunter** — prompt: "Use the `bmad-review-adversarial-general` skill on `{diff_output}`."
28
- - **Edge case hunter** — prompt: "Use the `bmad-review-edge-case-hunter` skill on `{diff_output}`."
26
+ - **Blind Hunter** — prompt:
27
+ > Invoke the `bmad-review-adversarial-general` skill on this diff:
28
+ >
29
+ > {diff_output}
30
+ - **Edge Case Hunter** — prompt:
31
+ > Invoke the `bmad-review-edge-case-hunter` skill on this diff:
32
+ >
33
+ > {diff_output}
29
34
 
30
35
  ### Classify
31
36
 
@@ -8,6 +8,7 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md'
8
8
 
9
9
  - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
10
10
  - NEVER auto-push.
11
+ - All review subagents must run at the same model capability as the current session.
11
12
 
12
13
  ## INSTRUCTIONS
13
14
 
@@ -19,7 +20,9 @@ Implement the clarified intent directly.
19
20
 
20
21
  ### Review
21
22
 
22
- Invoke the `bmad-review-adversarial-general` skill in a subagent with the changed files. The subagent gets NO conversation context — to avoid anchoring bias. Launch at the same model capability as the current session. If no subagents are available, write the changed files to a review prompt file in `{implementation_artifacts}` and HALT. Ask the human to run the review in a separate session and paste back the findings.
23
+ Launch Blind Hunter without prior conversation context. If no subagents are available, generate one review prompt file in `{implementation_artifacts}` and HALT. Ask the human to run it in a separate session and paste back the findings.
24
+
25
+ - **Blind Hunter** — prompt: "Invoke the `bmad-review-adversarial-general` skill on the changed files."
23
26
 
24
27
  ### Classify
25
28
 
@@ -9,6 +9,7 @@ description: 'Walk every branching path and boundary condition in content, repor
9
9
  When a diff is provided, scan only the diff hunks and list boundaries that are directly reachable from the changed lines and lack an explicit guard in the diff.
10
10
  When no diff is provided (full file or function), treat the entire provided content as the scope.
11
11
  Ignore the rest of the codebase unless the provided content explicitly references external functions.
12
+ A brief secondary deletion check runs as Step 4 when the diff removes code.
12
13
 
13
14
  **Inputs:**
14
15
  - **content** — Content to review: diff, full file, or function
@@ -42,14 +43,18 @@ Ignore the rest of the codebase unless the provided content explicitly reference
42
43
  - Revisit every edge class from Step 2 — e.g., missing else/default, null/empty inputs, off-by-one loops, arithmetic overflow, implicit type coercion, race conditions, timeout gaps
43
44
  - Add any newly found unhandled paths to findings; discard confirmed-handled ones
44
45
 
45
- ### Step 4: Present Findings
46
+ ### Step 4: Deletion Check
46
47
 
47
- Output findings as a JSON array following the Output Format specification exactly.
48
+ If the diff removed or replaced meaningful code (ignore pure renames and whitespace): load `references/deletion-check.md` and follow it.
49
+
50
+ ### Step 5: Present Findings
51
+
52
+ Output all findings as a single JSON array following the Output Format specification exactly.
48
53
 
49
54
 
50
55
  ## OUTPUT FORMAT
51
56
 
52
- Return ONLY a valid JSON array of objects. Each object must contain exactly these four fields and nothing else:
57
+ Return ONLY a valid JSON array of objects. Each edge-case finding contains exactly these four fields:
53
58
 
54
59
  ```json
55
60
  [{
@@ -60,7 +65,7 @@ Return ONLY a valid JSON array of objects. Each object must contain exactly thes
60
65
  }]
61
66
  ```
62
67
 
63
- No extra text, no explanations, no markdown wrapping. An empty array `[]` is valid when no unhandled paths are found.
68
+ No extra text, no explanations, no markdown wrapping. An empty array `[]` is valid when nothing is found. Deletion findings from Step 4, if any, go in the same array with the extra fields defined in `references/deletion-check.md`.
64
69
 
65
70
 
66
71
  ## HALT CONDITIONS
@@ -0,0 +1,14 @@
1
+ # Deletion Check
2
+
3
+ Secondary pass for the Edge Case Hunter — runs only when the diff removed meaningful code. Subordinate to the edge-case pass; findings are usually few or none.
4
+
5
+ For each chunk of removed or replaced code (ignore pure renames and whitespace), ask: did it carry behavior or a contract that the change neither re-established nor intentionally retired? Add a finding for any resulting regression, orphaned reference, or newly-dead code. Skip anything already covered by your edge-case findings.
6
+
7
+ Append each finding to the same JSON array as the edge-case findings, with the four standard fields plus:
8
+
9
+ - `kind`: `"deletion"`
10
+ - `confidence`: `"high"`, `"medium"`, or `"low"` — these are inferences; rate them
11
+
12
+ For a deletion finding the standard fields read as: `location` = the removed item; `trigger_condition` = the behavior or contract it enforced; `guard_snippet` = where or how to re-establish it; `potential_consequence` = the regression or orphan.
13
+
14
+ Add nothing if nothing qualifies.