macca-method 2.1.2 → 3.0.0-rc.1

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.
Files changed (89) hide show
  1. package/.agents/macca-lock.json +2 -1
  2. package/.agents/macca-managed-skills.txt +1 -0
  3. package/.agents/skills/_shared/references/additional-skills.md +17 -1
  4. package/.agents/skills/_shared/references/brainstorm-session.md +61 -21
  5. package/.agents/skills/_shared/references/config-mutation.md +58 -18
  6. package/.agents/skills/_shared/references/fix-mode.md +21 -7
  7. package/.agents/skills/_shared/references/human-loop.md +2 -0
  8. package/.agents/skills/_shared/references/implementation-principles.md +4 -0
  9. package/.agents/skills/_shared/references/interaction-contract.md +33 -0
  10. package/.agents/skills/_shared/references/invocation-policy.md +14 -3
  11. package/.agents/skills/_shared/references/language-config.md +24 -4
  12. package/.agents/skills/_shared/references/output-ownership.md +12 -5
  13. package/.agents/skills/_shared/references/planning-principles.md +35 -0
  14. package/.agents/skills/_shared/references/scope-delta.md +21 -0
  15. package/.agents/skills/_shared/references/scope-rules.md +1 -1
  16. package/.agents/skills/_shared/references/skill-catalog.md +30 -13
  17. package/.agents/skills/_shared/references/workspace-safety.md +11 -0
  18. package/.agents/skills/_shared/scripts/config-file.js +132 -0
  19. package/.agents/skills/_shared/scripts/config-validator.js +164 -0
  20. package/.agents/skills/_shared/scripts/read-preferences.js +128 -0
  21. package/.agents/skills/add-feature/SKILL.md +24 -18
  22. package/.agents/skills/brainstorm-api/SKILL.md +24 -23
  23. package/.agents/skills/brainstorm-api/assets/api.template.md +11 -23
  24. package/.agents/skills/brainstorm-architecture/SKILL.md +41 -48
  25. package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +24 -16
  26. package/.agents/skills/brainstorm-prd/SKILL.md +26 -28
  27. package/.agents/skills/brainstorm-prd/assets/PRD.template.md +10 -9
  28. package/.agents/skills/brainstorm-rules/SKILL.md +42 -46
  29. package/.agents/skills/brainstorm-rules/assets/rules.template.md +8 -8
  30. package/.agents/skills/brainstorm-schema/SKILL.md +17 -17
  31. package/.agents/skills/brainstorm-schema/assets/schema.template.md +9 -8
  32. package/.agents/skills/brainstorm-styleguide/SKILL.md +27 -26
  33. package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +27 -51
  34. package/.agents/skills/brainstorm-task/SKILL.md +53 -37
  35. package/.agents/skills/brainstorm-task/assets/Task.template.md +11 -12
  36. package/.agents/skills/bug-fix/SKILL.md +78 -175
  37. package/.agents/skills/bug-fix/assets/bug-log.template.md +61 -0
  38. package/.agents/skills/code-review/SKILL.md +14 -6
  39. package/.agents/skills/code-review/references/review-checklist.md +24 -44
  40. package/.agents/skills/developer/SKILL.md +23 -25
  41. package/.agents/skills/developer/references/close-phase.md +11 -6
  42. package/.agents/skills/developer/references/execute-task.md +15 -8
  43. package/.agents/skills/developer/references/onboarding.md +16 -19
  44. package/.agents/skills/help/SKILL.md +49 -49
  45. package/.agents/skills/meet/SKILL.md +37 -85
  46. package/.agents/skills/quick-dev/SKILL.md +40 -75
  47. package/.agents/skills/release-readiness/SKILL.md +1 -1
  48. package/.agents/skills/setup-macca-method/SKILL.md +79 -0
  49. package/.agents/skills/spec-audit/SKILL.md +21 -17
  50. package/.agents/skills/spec-compliance/SKILL.md +36 -18
  51. package/.agents/skills/spec-init/SKILL.md +53 -22
  52. package/CHANGELOG.md +31 -0
  53. package/README.md +92 -1195
  54. package/bin/macca-method.js +833 -286
  55. package/docs/configuration.md +174 -0
  56. package/docs/troubleshooting.md +180 -0
  57. package/docs/workflows.md +175 -0
  58. package/package.json +48 -4
  59. package/scripts/lib/npm-command.js +76 -0
  60. package/scripts/test-cli-setup.js +869 -0
  61. package/scripts/test-config.js +320 -0
  62. package/scripts/test-install.js +63 -28
  63. package/scripts/test-installer-safety.js +545 -0
  64. package/scripts/test-npm-command.js +143 -0
  65. package/scripts/test-package-safety.js +252 -0
  66. package/scripts/test-preferences.js +475 -0
  67. package/scripts/test-upgrade-legacy.js +11 -21
  68. package/scripts/validate-docs.js +166 -0
  69. package/scripts/validate-package.js +285 -0
  70. package/scripts/validate-skill-behavior.js +914 -12
  71. package/.agents/skills/antislop-copywriting/SKILL.md +0 -372
  72. package/.agents/skills/skill-creator/LICENSE.txt +0 -202
  73. package/.agents/skills/skill-creator/SKILL.md +0 -485
  74. package/.agents/skills/skill-creator/agents/analyzer.md +0 -274
  75. package/.agents/skills/skill-creator/agents/comparator.md +0 -202
  76. package/.agents/skills/skill-creator/agents/grader.md +0 -223
  77. package/.agents/skills/skill-creator/assets/eval_review.html +0 -146
  78. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  79. package/.agents/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  80. package/.agents/skills/skill-creator/references/schemas.md +0 -441
  81. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  82. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  83. package/.agents/skills/skill-creator/scripts/generate_report.py +0 -326
  84. package/.agents/skills/skill-creator/scripts/improve_description.py +0 -247
  85. package/.agents/skills/skill-creator/scripts/package_skill.py +0 -136
  86. package/.agents/skills/skill-creator/scripts/quick_validate.py +0 -103
  87. package/.agents/skills/skill-creator/scripts/run_eval.py +0 -310
  88. package/.agents/skills/skill-creator/scripts/run_loop.py +0 -328
  89. package/.agents/skills/skill-creator/scripts/utils.py +0 -47
@@ -18,9 +18,11 @@ Before continuing:
18
18
  1. Read `../_shared/references/language-config.md`.
19
19
  2. Read `../_shared/references/fix-mode.md`.
20
20
  3. Read `../_shared/references/human-loop.md`.
21
- 4. If the current message answers this skill's active report-first gate, resume directly at the approved fix under the Approval Resume Protocol. Do not repeat diagnosis or ask again.
22
- 5. Otherwise, read `codeReviewPreferences.fixMode` from `.agents/developer-config.json`. If it is missing, treat it as `"report-first"`. Announce: `[Fix mode: report-first]` or `[Fix mode: fix-then-report]`.
23
- 6. Use `languagePreferences.communication.normalized` for all chat output.
21
+ 4. If the current message answers this skill's active report-first gate, resume directly at the approved fix under the Approval Resume Protocol: Step 2d approval returns to Step 3, then Steps 4, 5a, 5b, and 6. A downstream gate retains its own exact return step. Do not repeat diagnosis or ask again. A reply to Step 6 is bug confirmation, not implementation approval; route it through Step 6 instead.
22
+ 5. For a new workflow only, read the configured fix-mode value from the safe preference summary under `language-config.md`. If it is missing, treat it as `"report-first"`. Announce once for this workflow: `[Fix mode: report-first]` or `[Fix mode: fix-then-report]`. Downstream checks, approval resumes, and bug-confirmation replies reuse this announcement.
23
+ 6. Use the resolved communication language from `language-config.md` for all chat output.
24
+
25
+ Follow `../_shared/references/interaction-contract.md`, loaded by `language-config.md`. Reuse current unchanged context and keep reports compact; all applicable checks and approval gates still run. Return clean downstream results internally for one combined report in Step 6 rather than printing separate success reports.
24
26
 
25
27
  ---
26
28
 
@@ -35,19 +37,20 @@ You are a **Senior Debugger - systematic and patient** - helping users find and
35
37
  **Workflow:**
36
38
 
37
39
  - Diagnose before fixing - understand the root cause first
38
- - If the bug goes through shared helper/service/controller code, check all callers before patching - one root-cause fix beats many per-caller guards
40
+ - If the bug goes through shared helper/service/controller code, assess caller impact before patching - one root-cause fix beats many per-caller guards
39
41
  - Check the bug log - the bug may be recurring
40
42
  - Minimal changes - fix only the reported bug
41
43
  - Wait for user confirmation before recording
42
- - After the fix is proven, add regression prevention
43
- - Run spec-compliance + code-review after the fix
44
- - Use a subagent for deep root-cause research or multi-file exploration
44
+ - Disclose regression prevention with the fix, implement both after approval, and validate before asking whether the bug is fixed
45
+ - Run spec-compliance then code-review after regression validation
46
+ - Before the first code change, read `project-context/architecture.md` and `project-context/rules.md`; if either is missing, stop and route to the owning brainstorm skill
47
+ - Use the smallest adequate set of relevant diagnostic tools; delegate only when deep or multi-file research warrants it
45
48
 
46
49
  ---
47
50
 
48
51
  ## Step 0 - Receive the Bug Report
49
52
 
50
- Ask the user to describe the bug:
53
+ Extract the bug report from the user's message using these fields as a guide:
51
54
 
52
55
  ```
53
56
  Bug you found:
@@ -58,7 +61,7 @@ Bug you found:
58
61
  - Error message (if any): [error / stack trace]
59
62
  ```
60
63
 
61
- If the user gives a free-form description, extract the relevant information and confirm your understanding before continuing.
64
+ If the symptom and expected behavior are clear, continue immediately. Do not stop for a generic "confirm understanding" question or require every field. Ask only for missing reproduction data that blocks diagnosis, such as the failing input, environment, or error.
62
65
 
63
66
  ---
64
67
 
@@ -99,31 +102,44 @@ Continue to Step 2 without comment.
99
102
 
100
103
  MUST complete the diagnosis fully before touching code. MUST NOT guess the root cause without evidence from code you read.
101
104
 
105
+ ### Scope Before Manifest
106
+
107
+ Before building the fix manifest or changing code, read `../_shared/references/scope-rules.md`, `developerPreferences.scope`, and architecture boundaries. Diagnose cross-boundary dependencies as evidence, but exclude out-of-scope repairs from the manifest. If the root-cause repair requires another scope, explain the dependency and wait for an explicit scope-change decision or hand it to that owner; a generic "fix" approval does not override frontend/backend or user path restrictions. Recheck this boundary for regression prevention as well.
108
+
102
109
  ### 2a. Prepare diagnostic tools
103
110
 
104
- Before reading code, use every available aid:
111
+ Choose the smallest adequate set of tools for the evidence needed; do not invoke every available aid by compulsion:
105
112
 
106
- - **MCP** - if available, MUST use it to help understand the codebase or search for the same bug pattern.
107
- - **Subagent** -> use for multi-file exploration or deep root-cause research.
113
+ - **MCP** - prefer relevant code graph, schema, or documentation tools when they answer the diagnostic question; verify material claims against current source. Tool availability alone is not a reason to call it.
114
+ - **Subagent** - consider for deep root-cause research or multi-file exploration when it adds value; a focused source read or targeted check is enough for a simple bug.
108
115
 
109
116
  ### 2b. Read relevant code
110
117
 
111
118
  - Files named by the user
112
119
  - Files directly called
113
- - If the bug sits behind shared code, MUST check all callers of that shared code - one root fix beats many per-caller guards
114
- - Search for the same bug pattern across the codebase now, before the gate. Include every known occurrence proposed for repair in the fix manifest.
120
+ - If the bug sits behind shared code, inspect its callers and directly affected behavior before proposing a patch. Expand the investigation when shared contracts or evidence warrant it; do not substitute per-caller guards for a root fix.
121
+ - Search for the same bug pattern proportionately in the affected module and relevant shared callers before the gate. State the searched boundaries and evidence gaps; never claim the whole codebase was checked when the search was bounded. Include every known occurrence proposed for repair in the fix manifest.
115
122
  - Relevant specs (`project-context/architecture.md`, `schema.md`, etc.) if the bug spans multiple layers
116
123
 
124
+ ### Select prevention before approval
125
+
126
+ Include at least one sensible regression test, spec/rule guard, or manual check in the proposed fix:
127
+
128
+ - Prefer a focused regression test in the existing test setup, at the level closest to the root cause. Plan a fail-before/pass-after check where feasible and safe.
129
+ - Use a spec/rule guard only when an evidenced gap in the relevant document caused the bug. Disclose the exact rule and file; extensive spec changes require a separate scope decision or design discussion.
130
+ - If automation or a document change is impractical, use concrete, repeatable manual steps with inputs and expected results. Disclose the reason and where the checklist will live; keeping it in the report requires no extra file.
131
+ - Default to no new dependencies. Do not create a testing framework for formality. Any necessary dependency or scope expansion needs explicit approval in the manifest.
132
+
117
133
  ### 2c. Explain the diagnosis and propose the fix - one response
118
134
 
119
- MUST use EXACTLY these points, in this order, in a single response. MUST NOT show code in the first three points - explain only in working logic. This response does not end here - continue straight into the gate in 2d; do not stop after "Recommended fix" and wait for a separate reply:
135
+ Use these points, in this order, in a single response. Do not show code in the first three points - explain only in working logic. When an evidenced in-scope fix exists, continue straight into the manifest and gate in 2d; do not stop after "Recommended fix" and wait for a separate reply. If evidence or scope is unresolved, report that blocker instead of inventing a fix:
120
136
 
121
137
  ```
122
138
  **Why can this happen?**
123
139
  [Explain the cause as if speaking to someone who understands how the app works, not the code. Short. Use an everyday analogy if helpful.]
124
140
 
125
141
  **Does this problem exist anywhere else?**
126
- [After checking the whole codebase - explain whether the same pattern appears in other pages or features. Use clear language, no code.]
142
+ [State the module/callers actually checked, any related occurrences, and unverified boundaries. Use clear language, no code.]
127
143
 
128
144
  **Recommended fix**
129
145
  [Explain what needs to change in the logic and flow, not syntax. Speak as if explaining how the app works.]
@@ -135,46 +151,34 @@ MUST use EXACTLY these points, in this order, in a single response. MUST NOT sho
135
151
 
136
152
  ### 2d. Root-Cause Approval Gate
137
153
 
138
- End the SAME response as 2c with the `report-first` gate block from `fix-mode.md`, in the language required by `language-config.md`.
154
+ For an evidenced in-scope fix, include a fix manifest with finding ID, target, bounded change, and validation, covering both the minimal fix AND its selected regression prevention. Disclose test/guard paths or manual steps, expected results, and any limitations on proving the old failure. Group a fix with its required prevention under the same finding ID so subset approval keeps them together. Then end the SAME response as 2c with the `report-first` gate block from `fix-mode.md`, in the language required by `language-config.md`. If no actionable fix is established, report `NOT VERIFIED` or the scope blocker without a correction gate.
139
155
 
140
156
  - Always wait for explicit user approval before the first code change, regardless of `fixMode`.
141
157
  - MUST NOT split 2c and 2d across two responses - the diagnosis, the files to change, and the gate are one message, one turn.
142
158
  - MUST NOT invent an alternate approval question (for example "reply agree" or "balas setuju"). Use only the exact gate block from `fix-mode.md`.
143
159
  - After the first implementation approval, `fixMode` governs downstream `spec-compliance` and `code-review` remediation only.
144
160
  - Do not add another implementation approval gate in Step 3.
161
+ - Retain origin `bug-fix`, review unit `bug`, approved finding IDs, targets, prevention, acceptance criteria, and the exact next step: Step 3. Approval is permission to implement this manifest, not confirmation that the bug is fixed.
145
162
 
146
163
  ---
147
164
 
148
- ## Step 3 - Fix
165
+ ## Step 3 - Apply the Fix and Approved Prevention
149
166
 
150
167
  ### Apply the Fix
151
168
 
152
169
  Apply the fix with the **minimal-change principle:**
153
170
 
154
- - Fix only the reported bug - nothing else in scope
171
+ - Fix only the reported bug and implement the approved regression prevention
155
172
  - Use the most direct fix, not a workaround
156
- - Target: change <=2 files. If it needs 3 or more files, ask before expanding the disclosed scope
157
- - No new dependencies unless truly necessary
173
+ - Prefer a small patch, but disclose every necessary fix/test/guard file in Step 2d. Do not ask again merely because an already-approved manifest contains 3 or more files
174
+ - No new dependencies by default; use only an explicitly approved exception
158
175
  - No refactoring or cleanup - that is separate work
159
176
 
160
- After finishing, report:
161
-
162
- ```
163
- Fix applied.
164
-
165
- Changed:
166
- - [path/file] - [one line of what changed]
167
- - [path/file] - [one line of what changed]
168
-
169
- Root cause: [one sentence]
170
- Fix: [one sentence]
171
-
172
- Try reproducing the bug to confirm it is fixed.
173
- ```
177
+ Implement the test/guard or prepare the manual checklist now, within the approved manifest. Where feasible, run the approved regression test against the current failing code before applying the fix; preserve that evidence for Step 4. Do not ask the user to confirm the fix yet. Continue directly to validation and quality gates.
174
178
 
175
179
  ### Self-Review Before Verification
176
180
 
177
- Internal check before spec-compliance:
181
+ Internal check before regression validation:
178
182
 
179
183
  1. Was the root cause fixed - not only the symptom?
180
184
  2. Are other files affected but unchanged?
@@ -182,166 +186,63 @@ Internal check before spec-compliance:
182
186
 
183
187
  ### Recheck Approved Scope
184
188
 
185
- After applying the fix, recheck only the approved targets and directly affected callers. Same-pattern discovery was completed before the gate. Ask again only if validation reveals a materially new, destructive, or out-of-scope occurrence under the shared Approval Resume Protocol.
189
+ After applying the fix and prevention, recheck the approved targets and directly affected callers against the stated diagnostic boundaries. Ask again only if validation reveals a materially new, destructive, or out-of-scope change under the shared Approval Resume Protocol; disclose its bounded manifest before editing. Preserve existing user work.
186
190
 
187
191
  ---
188
192
 
189
- ## Step 4 - Verify (spec-compliance + code-review)
190
-
191
- After the fix is applied:
192
-
193
- ### 4a. Run spec-compliance
193
+ ## Step 4 - Validate Regression Prevention
194
194
 
195
- Load the `spec-compliance` skill for the modified files.
196
- If issues exist, follow its configured `fixMode`. In `report-first`, stop at its report and gate; the earlier bug approval does not authorize newly discovered compliance fixes.
197
-
198
- ### 4b. Run code-review
199
-
200
- Load the `code-review` skill for the same files.
201
- If issues exist, follow its configured `fixMode`. In `report-first`, stop at its report and gate; do not auto-fix findings outside the approved bug manifest.
195
+ 1. Run the new/updated regression test or the narrowest equivalent verification for the approved prevention and affected behavior.
196
+ 2. Where feasible and safe, demonstrate failure before the fix and success afterward. Prefer capturing the failure before applying the fix or using an isolated reproduction. Never destructively revert, reset, stash, or overwrite user work to recreate the old failure. If a before-run is unavailable, explain why and report the actual evidence without claiming fail-before proof.
197
+ 3. For a spec/rule guard, check it against the root cause and verify the corrected behavior. For a manual checklist, make the steps executable and record actual results; if the required check needs user-only access, report that evidence as pending rather than inventing a pass. A request for that evidence is not the final bug confirmation.
198
+ 4. If verification fails, use the shared bounded repair protocol within approved scope, then rerun affected checks. If it remains failing after one repair pass, stop with evidence. Missing required evidence remains `NOT VERIFIED`.
199
+ 5. When regression validation is satisfied, continue to Step 5a with the evidence. Do not record the bug or ask for final confirmation yet.
202
200
 
203
201
  ---
204
202
 
205
- ## Step 5 - User Confirmation
203
+ ## Step 5 - Verify (spec-compliance + code-review)
206
204
 
207
- After verification passes:
205
+ ### 5a. Run spec-compliance
208
206
 
209
- ```
210
- spec-compliance and code-review are clean.
207
+ Load the `spec-compliance` skill for all modified fix/test/guard files and the manual checklist if used, with review unit `bug`, the approved manifest, regression evidence, and origin `bug-fix`. Retain the exact return step **Step 5b**, then **Step 6**, across approval pauses.
208
+ If actionable findings exist, follow its configured `fixMode` and shared Gate Eligibility. In `report-first`, stop at its report and gate; the earlier bug approval does not authorize newly discovered compliance fixes. INFO-only reports have no gate; missing required evidence remains `NOT VERIFIED`.
211
209
 
212
- Is the bug fixed on your side?
213
- (If yes, I will add regression prevention and then record it in the bug log. If not, we will diagnose further.)
214
- ```
210
+ ### 5b. Run code-review
215
211
 
216
- **If it is still broken:**
217
- Return to Step 2 - diagnose again with the new information.
212
+ Load the `code-review` skill for the same files and bug scope, returning to **Step 6** after it passes. Do not close an unrelated task/phase.
213
+ If actionable findings exist, follow its configured `fixMode` and shared Gate Eligibility. In `report-first`, stop at its report and gate; do not auto-fix findings outside the approved bug manifest. INFO-only reports have no gate; missing required evidence remains `NOT VERIFIED`.
218
214
 
219
- **If it is fixed:**
220
- Go to Step 6.
215
+ If remediation changes the validated fix or prevention, rerun affected Step 4 checks and affected compliance/review checks before Step 6. Preserve the exact origin/return step throughout; clean nested results feed the combined report without another startup announcement.
221
216
 
222
217
  ---
223
218
 
224
- ## Step 6 - Add Regression Prevention
225
-
226
- After the user confirms the fix works, add **protection so the same bug does not return unnoticed**.
227
-
228
- Choose the strongest and most sensible prevention for the project:
229
-
230
- ### 6a. Priority 1 - Regression Test
231
-
232
- If the project has a test framework or the affected area already has tests:
233
-
234
- - Add/update a test that reproduces the old bug
235
- - The test fails before the fix, passes after it
236
- - Choose the test level closest to the root cause (unit/integration/e2e)
237
-
238
- ### 6b. Priority 2 - Spec/Rule Guard
239
-
240
- If the bug came from an unclear spec/rule:
241
-
242
- - Update the relevant document (`rules.md`, `PRD.md`, `api.md`, `schema.md`, `architecture.md`)
243
- - Add a rule, criterion, or constraint that prevents this pattern
244
-
245
- ### 6c. Priority 3 - Manual Regression Check
246
-
247
- If test/spec updates are not practical:
248
-
249
- - Write short, concrete, repeatable check steps
250
- - Fallback only, not first choice
251
-
252
- **Rules:**
253
-
254
- - Do not add a testing framework only for formality outside the bug scope
255
- - Do not update specs casually - only if the root cause is a spec gap
256
- - **At least one form is required:** test, spec/rule guard, or manual checklist
257
- - If prevention touches specs/rules extensively, confirm with the user or defer to a design discussion
219
+ ## Step 6 - User Confirmation
258
220
 
259
- Report the added prevention:
221
+ After regression validation and both quality gates pass, give one compact report with changed paths, fix/prevention summary, actual check results, and evidence limitations. Ask once for confirmation of this checked result:
260
222
 
261
223
  ```
262
- Regression prevention added.
224
+ Regression validation, spec-compliance, and code-review passed.
263
225
 
264
- - Test: [path/test] / [not applicable - reason]
265
- - Spec/Rule Update: [file] / [not needed - reason]
266
- - Manual check: [step] / [not needed]
226
+ Is the bug fixed on your side?
227
+ (If yes, I will record this checked result in the bug log. If not, we will diagnose further.)
267
228
  ```
268
229
 
269
- ---
270
-
271
- ## Step 6b - Validate Regression Prevention
272
-
273
- After Step 6 changes code, tests, or spec/rule documents:
230
+ **If it is still broken:**
231
+ Return to Step 2 - diagnose again with the new information.
274
232
 
275
- 1. Run the new regression test or the narrowest equivalent verification.
276
- 2. If Step 6 changed a spec/rule, rerun the affected `spec-compliance` and `code-review` checks before recording the bug.
277
- 3. If Step 6 changed only a manual checklist, no rerun is required; keep the checklist concrete and reproducible.
278
- 4. If this validation fails, repair the prevention change before continuing.
233
+ **If it is fixed:**
234
+ Go directly to Step 7 without further code, test, or spec edits by default. Do not ask the same confirmation again or add another regression test after confirmation.
279
235
 
280
- Only then continue to Step 7.
236
+ **If a new prevention need is discovered after confirmation:**
237
+ Do not silently expand what the user confirmed. Report the new bounded scope using Step 2d's manifest and gate, without repeating unchanged diagnosis, and obtain implementation approval before any new edit. Resume at Step 3 for that approved delta, rerun Step 4 then Steps 5a and 5b, and return to Step 6 for confirmation of the revised result before logging. Explain why the earlier confirmation does not cover this changed result; the one-confirmation default applies to each unchanged checked result.
281
238
 
282
239
  ---
283
240
 
284
241
  ## Step 7 - Record in the Bug Log
285
242
 
286
- After the user confirms the fix worked, record it in `project-context/bug-log.md`.
287
-
288
- If the file does not exist, create it with this header:
289
-
290
- ```markdown
291
- # Bug Log
292
-
293
- Record of bugs found and fixed in this project.
294
- Use it as a reference before diagnosing a new bug.
295
-
296
- ---
297
- ```
298
-
299
- Add an entry (above or below existing entries):
300
-
301
- ```markdown
302
- ## BUG-[N]: [Short title describing the bug]
303
-
304
- **Date:** YYYY-MM-DD
305
- **Status:** Resolved
306
- **Severity:** Critical / High / Medium / Low
307
- **Affected files:** `path/to/file`
308
-
309
- ### Symptom
243
+ Only after Step 6 confirms the current checked result, load [the bug-log template](assets/bug-log.template.md). Do not load this asset during diagnosis, implementation, validation, or while awaiting confirmation.
310
244
 
311
- [Incorrect behavior seen by the user]
312
-
313
- ### Root Cause
314
-
315
- [Technical explanation - one paragraph]
316
-
317
- ### Applied Fix
318
-
319
- [What changed and why it fixes the bug]
320
-
321
- ### Modified Files
322
-
323
- - `path/file` - [change description]
324
-
325
- ### Regression Prevention
326
-
327
- - **Test:** `path/test` - [protected scenario] / `N/A - [why]`
328
- - **Spec/Rule:** `project-context/[file].md` - [rule added] / `N/A - [why]`
329
- - **Manual check:** [step] / `N/A`
330
-
331
- ### Prevention Reminder
332
-
333
- [Pattern/habit to prevent recurrence]
334
-
335
- ### Pattern Tags
336
-
337
- Choose from: `#null-check` `#async-await` `#type-mismatch` `#missing-validation` `#wrong-query`
338
- `#race-condition` `#auth` `#scope-error` `#missing-import` `#env-config`
339
- `#wrong-logic` `#off-by-one` `#memory-leak` `#unhandled-error` `#cors`
340
-
341
- ---
342
- ```
343
-
344
- Number BUG-N automatically from existing entries.
245
+ Append a completed entry to `project-context/bug-log.md`, preserving existing entries and all template fields. Create the log with the template header only if absent. Number BUG-N automatically from existing entries. Record only the approved, validated, confirmed result; include actual prevention evidence and limitations. This documentation append is not permission for further implementation edits.
345
246
 
346
247
  ---
347
248
 
@@ -353,11 +254,11 @@ MUST follow these without exception. Breaking even one makes the bug-fix process
353
254
  2. **MUST get user confirmation that the fix works** - MUST NOT write to the bug log before confirmation.
354
255
  3. **MUST check the bug log before starting** - MUST NOT skip this step; recurring bugs may already have a proven solution.
355
256
  4. **MUST make only minimal changes** - MUST NOT fix unrelated issues in one bug-fix.
356
- 5. **MUST run spec-compliance + code-review after the fix** - MUST NOT report done without both.
357
- 6. **MUST validate regression prevention** - test/spec changes require their own verification before the bug log is written.
358
- 7. **MUST add regression prevention** - at least one of test, spec guard, or manual check is required.
359
- 8. **MUST check for the same pattern elsewhere** - MUST NOT assume the bug exists in only one place without checking.
360
- 9. **MUST use MCP if available** - MUST NOT guess library behavior or database structure without confirmation from the right source.
257
+ 5. **MUST run spec-compliance then code-review after regression validation** - MUST NOT ask final confirmation or report done without both.
258
+ 6. **MUST validate regression prevention before user confirmation** - never destructively revert user work for fail-before evidence.
259
+ 7. **MUST disclose and implement regression prevention with the approved fix** - at least one of test, spec guard, or manual check is required, without a new dependency/framework by default.
260
+ 8. **MUST check related same-pattern and shared-caller impact proportionately** - state actual coverage; a bounded check is not a whole-codebase audit.
261
+ 9. **MUST use relevant evidence** - select the smallest adequate tools; do not guess library behavior or database structure, or invoke every aid merely because it exists.
361
262
 
362
263
  ---
363
264
 
@@ -368,7 +269,9 @@ After the bug is recorded:
368
269
  ```
369
270
  Bug fixed, regression prevention added, and entry recorded in project-context/bug-log.md.
370
271
 
371
- Next:
372
- - If Task.md still has [ ] tasks -> call `developer` to continue coding
373
- - If everything is [x] complete -> ready for final verification (`spec-audit` + `code-review`)
272
+ Possible next steps:
273
+ - If Task.md still has [ ] tasks -> recommend `developer` when the user wants to resume coding
274
+ - If everything is [x] complete -> recommend final project verification (`spec-audit`); before production release, continue with `release-readiness` when requested
374
275
  ```
276
+
277
+ Completion never auto-starts backlog work. Resume an originating task only if explicit ongoing authorization already covers it; otherwise end the bug workflow and wait for a new instruction. A recommendation is not implementation authorization.
@@ -0,0 +1,61 @@
1
+ # Bug Log Template
2
+
3
+ Load only in bug-fix Step 7, after the user confirms the current validated fix. Preserve every field below; use the configured document language for generated prose. Fill in actual evidence, not planned changes.
4
+
5
+ ## Header (new log only)
6
+
7
+ ```markdown
8
+ # Bug Log
9
+
10
+ Record of bugs found and fixed in this project.
11
+ Use it as a reference before diagnosing a new bug.
12
+
13
+ ---
14
+ ```
15
+
16
+ ## Entry (append without altering existing entries)
17
+
18
+ ```markdown
19
+ ## BUG-[N]: [Short title describing the bug]
20
+
21
+ **Date:** YYYY-MM-DD
22
+ **Status:** Resolved
23
+ **Severity:** Critical / High / Medium / Low
24
+ **Affected files:** `path/to/file`
25
+
26
+ ### Symptom
27
+
28
+ [Incorrect behavior seen by the user]
29
+
30
+ ### Root Cause
31
+
32
+ [Technical explanation - one paragraph]
33
+
34
+ ### Applied Fix
35
+
36
+ [What changed and why it fixes the bug]
37
+
38
+ ### Modified Files
39
+
40
+ - `path/file` - [change description]
41
+
42
+ ### Regression Prevention
43
+
44
+ - **Test:** `path/test` - [protected scenario] / `N/A - [why]`
45
+ - **Spec/Rule:** `project-context/[file].md` - [rule added] / `N/A - [why]`
46
+ - **Manual check:** [step] / `N/A`
47
+
48
+ ### Prevention Reminder
49
+
50
+ [Pattern/habit to prevent recurrence]
51
+
52
+ ### Pattern Tags
53
+
54
+ Choose from: `#null-check` `#async-await` `#type-mismatch` `#missing-validation` `#wrong-query`
55
+ `#race-condition` `#auth` `#scope-error` `#missing-import` `#env-config`
56
+ `#wrong-logic` `#off-by-one` `#memory-leak` `#unhandled-error` `#cors`
57
+
58
+ ---
59
+ ```
60
+
61
+ Choose the next unused BUG-N from existing entries. Include actual regression results and any fail-before evidence limitation in the relevant prevention field. Confirmation applies to the checked result described here; do not add implementation work while appending the entry.
@@ -19,9 +19,11 @@ Before continuing:
19
19
  2. Read `../_shared/references/fix-mode.md`.
20
20
  3. Read `../_shared/references/human-loop.md`.
21
21
  4. Read `../_shared/references/finding-format.md`.
22
- 5. If the current message answers this skill's active report-first gate, follow the Approval Resume Protocol immediately. Do not repeat setup announcements, context reads, or review.
23
- 6. Otherwise, read `codeReviewPreferences.fixMode` from `.agents/developer-config.json`. If it is missing, treat it as `"report-first"`. Announce: `[Fix mode: report-first]` or `[Fix mode: fix-then-report]`.
24
- 7. Use `languagePreferences.communication.normalized` for all review output.
22
+ 5. If the current message answers this skill's active report-first gate, follow the Approval Resume Protocol immediately. Refresh changed sources or unknown/compacted context as needed; do not repeat unchanged setup, reads, or review.
23
+ 6. Otherwise, read the configured fix-mode value from the safe preference summary under `language-config.md`. If it is missing, treat it as `"report-first"`. Announce the mode only if it has not already been announced for this authorized workflow.
24
+ 7. Use the resolved communication language from `language-config.md` for all review output.
25
+
26
+ Follow `../_shared/references/interaction-contract.md`, loaded by `language-config.md`: reuse already-read current unchanged sections and refresh changed sources or unknown/compacted context. Use plain language outside exact keys, IDs, paths, and gate markers.
25
27
 
26
28
  ---
27
29
 
@@ -75,16 +77,20 @@ Ask again only for a material workspace change, conflicting findings, or newly d
75
77
 
76
78
  ## Preflight - Read Project Context
77
79
 
78
- Before reviewing, read available files in `project-context/`:
80
+ Retain the origin, exact return step, review unit (`task`, `phase`, `bug`, or standalone), reviewed files, and applicable criteria. Review that unit only. A standalone review is read-only unless fixes are authorized under `fixMode`; neither a clean report nor fix approval grants automatic plan-status mutation. Return completion evidence to the originating workflow.
81
+
82
+ Include approved scope/files and IDs, checked sources/freshness, validation evidence, pending issues, and next action in the handoff. A delegate reads `references/review-checklist.md` and any unknown relevant source sections; a summary does not replace the checklist. Keep context in the session without secrets or a new state file.
83
+
84
+ Before reviewing, ensure fresh relevant sections from available files in `project-context/` are in context, reusing current unchanged sources already read:
79
85
 
80
86
  | File | Used For |
81
87
  | ----------------- | ----------------------------------------------------------------------- |
82
- | `rules.md` | naming, code style, team conventions (always read if it exists) |
88
+ | `rules.md` | naming, code style, team conventions (required for a complete review) |
83
89
  | `architecture.md` | allowed patterns, tech stack, folder structure |
84
90
  | `schema.md` | DB naming and relation constraints if the review touches the data layer |
85
91
  | `api.md` | contract, response shape, error codes if the review touches the API |
86
92
 
87
- Skip missing files. Do not block the review if `project-context/` is absent.
93
+ Skip only conditional files that do not apply. If `rules.md` or `architecture.md` is missing, report `NOT VERIFIED` and do not mark the review as passed; route the missing prerequisite to the owning brainstorm skill. Missing evidence alone is not an actionable finding or a reason to show a correction gate.
88
94
 
89
95
  ---
90
96
 
@@ -107,3 +113,5 @@ Read `references/review-checklist.md` and follow it for:
107
113
  - Self-Review Before Reporting
108
114
  - Phase 3 - Report & Fix
109
115
  - Key Points
116
+
117
+ All 27 CR checks and 10 SEC checks are assessed internally; execute every applicable check and retain evidence. Use `N/A` only for genuine inapplicability with a reason; missing required evidence is `NOT VERIFIED`. Clean gate results return internally for the origin's combined result, or as a compact standalone report. Findings/requested detail use the full evidence and shared four-point format, actionable manifest, and one eligible gate; compact output never weakens review depth.