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.
- package/.agents/macca-lock.json +2 -1
- package/.agents/macca-managed-skills.txt +1 -0
- package/.agents/skills/_shared/references/additional-skills.md +17 -1
- package/.agents/skills/_shared/references/brainstorm-session.md +61 -21
- package/.agents/skills/_shared/references/config-mutation.md +58 -18
- package/.agents/skills/_shared/references/fix-mode.md +21 -7
- package/.agents/skills/_shared/references/human-loop.md +2 -0
- package/.agents/skills/_shared/references/implementation-principles.md +4 -0
- package/.agents/skills/_shared/references/interaction-contract.md +33 -0
- package/.agents/skills/_shared/references/invocation-policy.md +14 -3
- package/.agents/skills/_shared/references/language-config.md +24 -4
- package/.agents/skills/_shared/references/output-ownership.md +12 -5
- package/.agents/skills/_shared/references/planning-principles.md +35 -0
- package/.agents/skills/_shared/references/scope-delta.md +21 -0
- package/.agents/skills/_shared/references/scope-rules.md +1 -1
- package/.agents/skills/_shared/references/skill-catalog.md +30 -13
- package/.agents/skills/_shared/references/workspace-safety.md +11 -0
- package/.agents/skills/_shared/scripts/config-file.js +132 -0
- package/.agents/skills/_shared/scripts/config-validator.js +164 -0
- package/.agents/skills/_shared/scripts/read-preferences.js +128 -0
- package/.agents/skills/add-feature/SKILL.md +24 -18
- package/.agents/skills/brainstorm-api/SKILL.md +24 -23
- package/.agents/skills/brainstorm-api/assets/api.template.md +11 -23
- package/.agents/skills/brainstorm-architecture/SKILL.md +41 -48
- package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +24 -16
- package/.agents/skills/brainstorm-prd/SKILL.md +26 -28
- package/.agents/skills/brainstorm-prd/assets/PRD.template.md +10 -9
- package/.agents/skills/brainstorm-rules/SKILL.md +42 -46
- package/.agents/skills/brainstorm-rules/assets/rules.template.md +8 -8
- package/.agents/skills/brainstorm-schema/SKILL.md +17 -17
- package/.agents/skills/brainstorm-schema/assets/schema.template.md +9 -8
- package/.agents/skills/brainstorm-styleguide/SKILL.md +27 -26
- package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +27 -51
- package/.agents/skills/brainstorm-task/SKILL.md +53 -37
- package/.agents/skills/brainstorm-task/assets/Task.template.md +11 -12
- package/.agents/skills/bug-fix/SKILL.md +78 -175
- package/.agents/skills/bug-fix/assets/bug-log.template.md +61 -0
- package/.agents/skills/code-review/SKILL.md +14 -6
- package/.agents/skills/code-review/references/review-checklist.md +24 -44
- package/.agents/skills/developer/SKILL.md +23 -25
- package/.agents/skills/developer/references/close-phase.md +11 -6
- package/.agents/skills/developer/references/execute-task.md +15 -8
- package/.agents/skills/developer/references/onboarding.md +16 -19
- package/.agents/skills/help/SKILL.md +49 -49
- package/.agents/skills/meet/SKILL.md +37 -85
- package/.agents/skills/quick-dev/SKILL.md +40 -75
- package/.agents/skills/release-readiness/SKILL.md +1 -1
- package/.agents/skills/setup-macca-method/SKILL.md +79 -0
- package/.agents/skills/spec-audit/SKILL.md +21 -17
- package/.agents/skills/spec-compliance/SKILL.md +36 -18
- package/.agents/skills/spec-init/SKILL.md +53 -22
- package/CHANGELOG.md +31 -0
- package/README.md +92 -1195
- package/bin/macca-method.js +833 -286
- package/docs/configuration.md +174 -0
- package/docs/troubleshooting.md +180 -0
- package/docs/workflows.md +175 -0
- package/package.json +48 -4
- package/scripts/lib/npm-command.js +76 -0
- package/scripts/test-cli-setup.js +869 -0
- package/scripts/test-config.js +320 -0
- package/scripts/test-install.js +63 -28
- package/scripts/test-installer-safety.js +545 -0
- package/scripts/test-npm-command.js +143 -0
- package/scripts/test-package-safety.js +252 -0
- package/scripts/test-preferences.js +475 -0
- package/scripts/test-upgrade-legacy.js +11 -21
- package/scripts/validate-docs.js +166 -0
- package/scripts/validate-package.js +285 -0
- package/scripts/validate-skill-behavior.js +914 -12
- package/.agents/skills/antislop-copywriting/SKILL.md +0 -372
- package/.agents/skills/skill-creator/LICENSE.txt +0 -202
- package/.agents/skills/skill-creator/SKILL.md +0 -485
- package/.agents/skills/skill-creator/agents/analyzer.md +0 -274
- package/.agents/skills/skill-creator/agents/comparator.md +0 -202
- package/.agents/skills/skill-creator/agents/grader.md +0 -223
- package/.agents/skills/skill-creator/assets/eval_review.html +0 -146
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +0 -471
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +0 -1325
- package/.agents/skills/skill-creator/references/schemas.md +0 -441
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
- package/.agents/skills/skill-creator/scripts/generate_report.py +0 -326
- package/.agents/skills/skill-creator/scripts/improve_description.py +0 -247
- package/.agents/skills/skill-creator/scripts/package_skill.py +0 -136
- package/.agents/skills/skill-creator/scripts/quick_validate.py +0 -103
- package/.agents/skills/skill-creator/scripts/run_eval.py +0 -310
- package/.agents/skills/skill-creator/scripts/run_loop.py +0 -328
- 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.
|
|
23
|
-
6. Use `
|
|
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,
|
|
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
|
-
-
|
|
43
|
-
- Run spec-compliance
|
|
44
|
-
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
111
|
+
Choose the smallest adequate set of tools for the evidence needed; do not invoke every available aid by compulsion:
|
|
105
112
|
|
|
106
|
-
- **MCP** -
|
|
107
|
-
- **Subagent**
|
|
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,
|
|
114
|
-
- Search for the same bug pattern
|
|
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
|
-
|
|
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
|
-
[
|
|
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
|
-
|
|
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
|
|
171
|
+
- Fix only the reported bug and implement the approved regression prevention
|
|
155
172
|
- Use the most direct fix, not a workaround
|
|
156
|
-
-
|
|
157
|
-
- No new dependencies
|
|
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
|
-
|
|
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
|
|
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
|
|
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 -
|
|
190
|
-
|
|
191
|
-
After the fix is applied:
|
|
192
|
-
|
|
193
|
-
### 4a. Run spec-compliance
|
|
193
|
+
## Step 4 - Validate Regression Prevention
|
|
194
194
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
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 -
|
|
203
|
+
## Step 5 - Verify (spec-compliance + code-review)
|
|
206
204
|
|
|
207
|
-
|
|
205
|
+
### 5a. Run spec-compliance
|
|
208
206
|
|
|
209
|
-
|
|
210
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
217
|
-
|
|
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
|
-
|
|
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 -
|
|
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
|
-
|
|
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
|
|
224
|
+
Regression validation, spec-compliance, and code-review passed.
|
|
263
225
|
|
|
264
|
-
|
|
265
|
-
|
|
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
|
-
|
|
276
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
357
|
-
6. **MUST validate regression prevention** -
|
|
358
|
-
7. **MUST
|
|
359
|
-
8. **MUST check
|
|
360
|
-
9. **MUST use
|
|
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
|
-
|
|
372
|
-
- If Task.md still has [ ] tasks ->
|
|
373
|
-
- If everything is [x] complete ->
|
|
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.
|
|
23
|
-
6. Otherwise, read
|
|
24
|
-
7. Use `
|
|
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
|
-
|
|
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 (
|
|
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
|
|
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.
|