@thierrynakoa/fire-flow 10.0.0 → 12.2.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/.claude-plugin/plugin.json +8 -8
- package/ARCHITECTURE-DIAGRAM.md +7 -4
- package/COMMAND-REFERENCE.md +33 -13
- package/DOMINION-FLOW-OVERVIEW.md +581 -421
- package/QUICK-START.md +3 -3
- package/README.md +101 -44
- package/TROUBLESHOOTING.md +264 -264
- package/agents/fire-executor.md +200 -116
- package/agents/fire-fact-checker.md +276 -276
- package/agents/fire-phoenix-analyst.md +394 -0
- package/agents/fire-planner.md +145 -53
- package/agents/fire-project-researcher.md +155 -155
- package/agents/fire-research-synthesizer.md +166 -166
- package/agents/fire-researcher.md +144 -59
- package/agents/fire-roadmapper.md +215 -203
- package/agents/fire-verifier.md +247 -65
- package/agents/fire-vision-architect.md +381 -0
- package/commands/fire-0-orient.md +476 -476
- package/commands/fire-1a-new.md +216 -0
- package/commands/fire-1b-research.md +210 -0
- package/commands/fire-1c-setup.md +254 -0
- package/commands/{fire-1a-discuss.md → fire-1d-discuss.md} +35 -7
- package/commands/fire-3-execute.md +55 -2
- package/commands/fire-4-verify.md +61 -0
- package/commands/fire-5-handoff.md +2 -2
- package/commands/fire-6-resume.md +37 -2
- package/commands/fire-add-new-skill.md +2 -2
- package/commands/fire-autonomous.md +20 -3
- package/commands/fire-brainstorm.md +1 -1
- package/commands/fire-complete-milestone.md +2 -2
- package/commands/fire-cost.md +183 -0
- package/commands/fire-dashboard.md +2 -2
- package/commands/fire-debug.md +663 -663
- package/commands/fire-loop-resume.md +2 -2
- package/commands/fire-loop-stop.md +1 -1
- package/commands/fire-loop.md +1168 -1168
- package/commands/fire-map-codebase.md +3 -3
- package/commands/fire-new-milestone.md +356 -356
- package/commands/fire-phoenix.md +603 -0
- package/commands/fire-reflect.md +235 -235
- package/commands/fire-research.md +246 -246
- package/commands/fire-search.md +1 -1
- package/commands/fire-skills-diff.md +3 -3
- package/commands/fire-skills-history.md +3 -3
- package/commands/fire-skills-rollback.md +7 -7
- package/commands/fire-skills-sync.md +5 -5
- package/commands/fire-test.md +9 -9
- package/commands/fire-todos.md +1 -1
- package/commands/fire-update.md +5 -5
- package/hooks/hooks.json +16 -16
- package/hooks/run-hook.sh +8 -8
- package/hooks/run-session-end.sh +7 -7
- package/hooks/session-end.sh +90 -90
- package/hooks/session-start.sh +1 -1
- package/package.json +4 -2
- package/plugin.json +7 -7
- package/references/metrics-and-trends.md +1 -1
- package/skills-library/SKILLS-INDEX.md +588 -588
- package/skills-library/_general/methodology/AUTONOMOUS_ORCHESTRATION.md +182 -0
- package/skills-library/_general/methodology/BACKWARD_PLANNING_INTERVIEW.md +307 -0
- package/skills-library/_general/methodology/CIRCUIT_BREAKER_INTELLIGENCE.md +163 -0
- package/skills-library/_general/methodology/CONTEXT_ROTATION.md +151 -0
- package/skills-library/_general/methodology/DEAD_ENDS_SHELF.md +188 -0
- package/skills-library/_general/methodology/DESIGN_PHILOSOPHY_ENFORCEMENT.md +152 -0
- package/skills-library/_general/methodology/INTERNAL_CONSISTENCY_AUDIT.md +212 -0
- package/skills-library/_general/methodology/LIVE_BREADCRUMB_PROTOCOL.md +242 -0
- package/skills-library/_general/methodology/PHOENIX_REBUILD_METHODOLOGY.md +251 -0
- package/skills-library/_general/methodology/QUALITY_GATES_AND_VERIFICATION.md +157 -0
- package/skills-library/_general/methodology/RELIABILITY_PREDICTION.md +104 -0
- package/skills-library/_general/methodology/REQUIREMENTS_DECOMPOSITION.md +155 -0
- package/skills-library/_general/methodology/SELF_TESTING_FEEDBACK_LOOP.md +143 -0
- package/skills-library/_general/methodology/STACK_COMPATIBILITY_MATRIX.md +178 -0
- package/skills-library/_general/methodology/TIERED_CONTEXT_ARCHITECTURE.md +118 -0
- package/skills-library/_general/methodology/ZERO_FRICTION_CLI_SETUP.md +312 -0
- package/skills-library/_general/methodology/autonomous-multi-phase-build.md +133 -0
- package/skills-library/_general/methodology/claude-md-archival.md +280 -0
- package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -240
- package/skills-library/_general/methodology/git-worktrees-parallel.md +232 -0
- package/skills-library/_general/methodology/llm-judge-memory-crud.md +241 -0
- package/skills-library/_general/methodology/multi-project-autonomous-build.md +360 -0
- package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +238 -238
- package/skills-library/_general/patterns-standards/GOF_DESIGN_PATTERNS_FOR_AI_AGENTS.md +358 -0
- package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +1 -1
- package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +1 -1
- package/skills-library/methodology/SABBATH_REST_PATTERN.md +1 -1
- package/templates/ASSUMPTIONS.md +1 -1
- package/templates/BLOCKERS.md +1 -1
- package/templates/DECISION_LOG.md +1 -1
- package/templates/phase-prompt.md +1 -1
- package/templates/phoenix-comparison.md +80 -0
- package/version.json +2 -2
- package/workflows/handoff-session.md +1 -1
- package/workflows/new-project.md +2 -2
- package/commands/fire-1-new.md +0 -281
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: INTERNAL_CONSISTENCY_AUDIT
|
|
3
|
+
category: methodology
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
contributed: 2026-03-06
|
|
6
|
+
contributor: dominion-flow
|
|
7
|
+
last_updated: 2026-03-06
|
|
8
|
+
tags: [audit, consistency, wiring, cross-reference, versioning, agents, skills]
|
|
9
|
+
difficulty: medium
|
|
10
|
+
sources:
|
|
11
|
+
- "Dominion Flow v12.0 internal audit — 2026-03-06"
|
|
12
|
+
- "IEEE 1028 — Software Reviews and Audits"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Internal Consistency Audit
|
|
16
|
+
|
|
17
|
+
> **Core insight:** When a multi-agent system evolves across versions, new patterns get wired into core agents but peripheral commands, supporting agents, and documentation drift out of sync. A structured audit catches these gaps before they cause silent failures at runtime.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Problem
|
|
22
|
+
|
|
23
|
+
After a major version upgrade (e.g., adding 6 new methodology skills), the system can appear complete because the core agents implement the new patterns. But:
|
|
24
|
+
|
|
25
|
+
- Peripheral commands (e.g., `/fire-autonomous`) may still operate at the old version
|
|
26
|
+
- Supporting agents (e.g., fire-researcher) may not know about new skills that name them
|
|
27
|
+
- Documentation (OVERVIEW) may use different terminology than the implementation
|
|
28
|
+
- Version footers may be stale
|
|
29
|
+
- Interface contracts between agents may have implicit mismatches
|
|
30
|
+
|
|
31
|
+
These inconsistencies are invisible during normal use because each component works in isolation. They only surface when the full pipeline runs end-to-end.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Solution Pattern
|
|
36
|
+
|
|
37
|
+
Run a **6-dimension audit** that systematically cross-references every claim against every implementation:
|
|
38
|
+
|
|
39
|
+
### The Six Audit Dimensions
|
|
40
|
+
|
|
41
|
+
| Dimension | Question | What It Catches |
|
|
42
|
+
|-----------|----------|-----------------|
|
|
43
|
+
| **A. Skill-Agent Wiring** | Do skills name agents? Do those agents implement the skill? | Orphan skills, unwired patterns |
|
|
44
|
+
| **B. Overview-Agent Consistency** | Does the system map match the territory? | Terminology drift, missing features |
|
|
45
|
+
| **C. Internal Agent Consistency** | Are field names, step numbers, and enumerations correct within each agent? | Broken templates, mismatched counts |
|
|
46
|
+
| **D. Cross-Agent Flow** | Do agents use identical field names when passing data? | Interface contract mismatches |
|
|
47
|
+
| **E. Version Consistency** | Do all files agree on the current version? | Stale version references |
|
|
48
|
+
| **F. Completeness** | What's promised but not implemented? What's implemented but not documented? | Peripheral gaps, missing wiring |
|
|
49
|
+
|
|
50
|
+
### Audit Protocol
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
FOR each dimension (A through F):
|
|
54
|
+
FOR each check in dimension:
|
|
55
|
+
1. Identify the CLAIM (what the system says it does)
|
|
56
|
+
2. Identify the EVIDENCE (what the implementation actually does)
|
|
57
|
+
3. Compare: PASS (match), GAP (missing), CONFLICT (contradicts)
|
|
58
|
+
4. If GAP or CONFLICT: document specific fix needed
|
|
59
|
+
|
|
60
|
+
OUTPUT: Table per dimension + summary matrix
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Audit Checklist Template
|
|
66
|
+
|
|
67
|
+
### A. Skill-Agent Wiring
|
|
68
|
+
|
|
69
|
+
For each new or modified skill:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
1. Does the skill have a "When Agents Should Reference" section?
|
|
73
|
+
2. Does it name specific agents?
|
|
74
|
+
3. Do those named agents contain steps implementing the skill's guidance?
|
|
75
|
+
4. Is there a skill that NO agent references? (orphan)
|
|
76
|
+
5. Is there an agent step that uses a concept without citing its source skill? (unwired)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### B. Overview-Agent Consistency
|
|
80
|
+
|
|
81
|
+
For each feature claimed in the OVERVIEW:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
1. Locate the claim (e.g., "Tier 0: Fast Gate")
|
|
85
|
+
2. Find the implementing agent step
|
|
86
|
+
3. Verify terminology matches (same names, same numbering)
|
|
87
|
+
4. Verify behavior matches (same logic, same conditions)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### C. Internal Agent Consistency
|
|
91
|
+
|
|
92
|
+
For each agent file:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
1. Are all new frontmatter fields present in templates?
|
|
96
|
+
2. Do enumerated lists (e.g., "6 stuck types") match their source skill?
|
|
97
|
+
3. Are numeric values (weights, thresholds) consistent with source?
|
|
98
|
+
4. Do conditional gates actually STOP (not just log)?
|
|
99
|
+
5. Are step numbers sequential with no gaps or duplicates?
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### D. Cross-Agent Flow
|
|
103
|
+
|
|
104
|
+
For each data handoff between agents:
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
1. Planner creates field X → Executor reads field X → same name?
|
|
108
|
+
2. Executor produces output Y → Verifier checks output Y → same format?
|
|
109
|
+
3. Verifier returns verdict Z → routing logic uses verdict Z → same values?
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### E. Version Consistency
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
1. Header version matches?
|
|
116
|
+
2. Footer version matches?
|
|
117
|
+
3. Banner/system map version matches?
|
|
118
|
+
4. version.json matches?
|
|
119
|
+
5. No stale prior-version references in modified files?
|
|
120
|
+
(Distinguish version PROVENANCE markers like "(v11.2)" from
|
|
121
|
+
version IDENTITY claims like "Dominion Flow v9.0")
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### F. Completeness
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
1. Do peripheral commands reference new patterns?
|
|
128
|
+
2. Do supporting agents know about new skills that name them?
|
|
129
|
+
3. Are "Future" items tracked explicitly (not silently missing)?
|
|
130
|
+
4. Are there TODO/FIXME/placeholder markers in modified files?
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Output Format
|
|
136
|
+
|
|
137
|
+
### Per-Dimension Table
|
|
138
|
+
|
|
139
|
+
```markdown
|
|
140
|
+
| Check | Verdict | Evidence | Fix Needed |
|
|
141
|
+
|-------|---------|----------|------------|
|
|
142
|
+
| {check description} | PASS/GAP/CONFLICT | {where you looked, what you found} | {specific action or "None"} |
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Summary Matrix
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
| Section | PASS | GAP | CONFLICT |
|
|
149
|
+
|---------|------|-----|----------|
|
|
150
|
+
| A. Skill-Agent Wiring | N | N | N |
|
|
151
|
+
| B. Overview-Agent | N | N | N |
|
|
152
|
+
| C. Internal Consistency | N | N | N |
|
|
153
|
+
| D. Cross-Agent Flow | N | N | N |
|
|
154
|
+
| E. Version Consistency | N | N | N |
|
|
155
|
+
| F. Completeness | N | N | N |
|
|
156
|
+
| TOTALS | N | N | N |
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Priority-Ranked Fixes
|
|
160
|
+
|
|
161
|
+
Sort fixes into three tiers:
|
|
162
|
+
- **Critical:** Breaks runtime behavior or causes silent failures
|
|
163
|
+
- **Important:** Creates user confusion or documentation drift
|
|
164
|
+
- **Minor:** Cosmetic or single-line fixes
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## When to Use
|
|
169
|
+
|
|
170
|
+
- After any major version upgrade that adds new skills or agent steps
|
|
171
|
+
- After wiring new patterns into core agents (planner/executor/verifier)
|
|
172
|
+
- Before publishing or releasing a new version
|
|
173
|
+
- When peripheral commands haven't been updated in 2+ versions
|
|
174
|
+
- As a pre-flight check before `/fire-autonomous` runs on a new codebase
|
|
175
|
+
|
|
176
|
+
## When NOT to Use
|
|
177
|
+
|
|
178
|
+
- For minor bug fixes that don't change agent architecture
|
|
179
|
+
- For skill-only additions that don't claim agent wiring
|
|
180
|
+
- During active development (wait until the version stabilizes)
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Common Findings Pattern
|
|
185
|
+
|
|
186
|
+
From the v12.0 audit, the most common gap pattern is **core-vs-periphery drift:**
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
Core agents (planner, executor, verifier) = fully updated
|
|
190
|
+
Peripheral commands (autonomous, discuss) = still at prior version
|
|
191
|
+
Supporting agents (researcher) = unaware of new skills
|
|
192
|
+
Documentation (OVERVIEW) = slightly different terminology
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
This happens because developers naturally focus on the agents they're actively modifying. The fix pattern is always the same: after updating core agents, grep all commands and supporting agents for the skill names — any that should reference them but don't are gaps.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Related Skills
|
|
200
|
+
|
|
201
|
+
- [QUALITY_GATES_AND_VERIFICATION](QUALITY_GATES_AND_VERIFICATION.md) — the tiered verification pattern this audit checks for
|
|
202
|
+
- [CIRCUIT_BREAKER_INTELLIGENCE](CIRCUIT_BREAKER_INTELLIGENCE.md) — stuck-state classification this audit cross-references
|
|
203
|
+
- [RELIABILITY_PREDICTION](RELIABILITY_PREDICTION.md) — implied scenario detection this audit verifies
|
|
204
|
+
- [AUTONOMOUS_ORCHESTRATION](AUTONOMOUS_ORCHESTRATION.md) — scope manifests and DORA metrics this audit checks
|
|
205
|
+
- [REQUIREMENTS_DECOMPOSITION](REQUIREMENTS_DECOMPOSITION.md) — utility tree decomposition this audit verifies wiring for
|
|
206
|
+
- [CONTEXT_ROTATION](CONTEXT_ROTATION.md) — articulation protocol this audit cross-references
|
|
207
|
+
|
|
208
|
+
## References
|
|
209
|
+
|
|
210
|
+
- First applied: Dominion Flow v12.0 internal consistency audit (2026-03-06)
|
|
211
|
+
- Found: 26 PASS, 7 GAP, 1 CONFLICT across 34 checks
|
|
212
|
+
- Key finding: Core-vs-periphery drift is the dominant gap pattern
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: LIVE_BREADCRUMB_PROTOCOL
|
|
3
|
+
category: methodology
|
|
4
|
+
description: Automatic breadcrumb trail that makes each Claude instance smarter than the last
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
tags: [reflexion, breadcrumbs, learning, memory, cross-session]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Live Breadcrumb Protocol — Institutional Memory
|
|
10
|
+
|
|
11
|
+
Each Claude instance drops breadcrumbs as it works. The next instance reads them and starts smarter. Over time, the project accumulates institutional knowledge that no single session could hold.
|
|
12
|
+
|
|
13
|
+
> **Military analogy:** After-action reports. Every unit debriefs. The lessons go into doctrine. The next unit deploys with that doctrine baked in — they've never been to that battlefield, but they know what works there.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Architecture
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
.planning/
|
|
21
|
+
breadcrumbs/
|
|
22
|
+
LESSONS.md ← Living document: solutions that worked (READ FIRST)
|
|
23
|
+
FAILURES.md ← What was tried and failed (READ SECOND)
|
|
24
|
+
PATTERNS.md ← Project-specific patterns discovered during execution
|
|
25
|
+
DEPENDENCIES.md ← Gotchas with specific libraries/versions
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Why 4 files (not 1)
|
|
29
|
+
|
|
30
|
+
- **LESSONS.md** — "Do this" (positive knowledge, solutions)
|
|
31
|
+
- **FAILURES.md** — "Don't do this" (negative knowledge, dead ends)
|
|
32
|
+
- **PATTERNS.md** — "This is how things work here" (project conventions)
|
|
33
|
+
- **DEPENDENCIES.md** — "Watch out for this" (library/version gotchas)
|
|
34
|
+
|
|
35
|
+
Separating them lets agents read only what's relevant. A planner needs LESSONS + FAILURES. An executor needs PATTERNS + DEPENDENCIES. A researcher needs all four.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## When Breadcrumbs Are Written (Automatic Triggers)
|
|
40
|
+
|
|
41
|
+
### Trigger 1: After Solving a Non-Trivial Problem (> 2 attempts)
|
|
42
|
+
**Who writes:** fire-executor, fire-debugger → `LESSONS.md`
|
|
43
|
+
```markdown
|
|
44
|
+
### JWT refresh token not persisting
|
|
45
|
+
Root cause: httpOnly cookie not set on response — missing `credentials: 'include'`
|
|
46
|
+
Fix: add `credentials: 'include'` to fetch AND `cors({ credentials: true })` on server
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Trigger 2: After Verification Failure
|
|
50
|
+
**Who writes:** fire-verifier → `FAILURES.md`
|
|
51
|
+
```markdown
|
|
52
|
+
### Phase 2: Custom auth middleware approach FAILED
|
|
53
|
+
Tried: rolling own JWT validation middleware
|
|
54
|
+
Why: race condition on token refresh — 2 concurrent requests both try to refresh
|
|
55
|
+
Don't retry unless: switching to a battle-tested auth library (better-auth, lucia)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Trigger 3: After Discovering a Project Pattern
|
|
59
|
+
**Who writes:** fire-executor, fire-planner → `PATTERNS.md`
|
|
60
|
+
```markdown
|
|
61
|
+
### API routes use camelCase, not snake_case
|
|
62
|
+
Example: `server/routes/userProgress.js` — `getUserProgress`, not `get_user_progress`
|
|
63
|
+
Breaks: frontend expects camelCase from API responses
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Trigger 4: After Hitting a Dependency Gotcha
|
|
67
|
+
**Who writes:** fire-executor, fire-researcher → `DEPENDENCIES.md`
|
|
68
|
+
```markdown
|
|
69
|
+
### next@15 — cookies() is now async
|
|
70
|
+
Symptom: `cookies()` returns Promise, not CookieStore
|
|
71
|
+
Fix: `const cookieStore = await cookies()` — must await in App Router
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Notice: every example above is 3-4 lines. That's the target.**
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## When Breadcrumbs Are Read (Automatic Injection)
|
|
79
|
+
|
|
80
|
+
### On Session Start (via hooks)
|
|
81
|
+
When `/fire-6-resume` or a new session starts on an existing project:
|
|
82
|
+
```
|
|
83
|
+
1. Check if .planning/breadcrumbs/ exists
|
|
84
|
+
2. If yes: Read LESSONS.md (always) + FAILURES.md (always)
|
|
85
|
+
3. Inject as context: "Previous instances learned these lessons..."
|
|
86
|
+
4. PATTERNS.md and DEPENDENCIES.md are read on-demand by agents
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Before Planning (fire-planner, Step 1)
|
|
90
|
+
```
|
|
91
|
+
Read .planning/breadcrumbs/LESSONS.md
|
|
92
|
+
→ "Previous instances found these solutions..."
|
|
93
|
+
Read .planning/breadcrumbs/FAILURES.md
|
|
94
|
+
→ "Previous instances tried these and they FAILED..."
|
|
95
|
+
|
|
96
|
+
This prevents re-planning with approaches already proven to fail.
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Before Execution (fire-executor, start of each plan)
|
|
100
|
+
```
|
|
101
|
+
Read .planning/breadcrumbs/PATTERNS.md
|
|
102
|
+
→ "This project follows these conventions..."
|
|
103
|
+
Read .planning/breadcrumbs/DEPENDENCIES.md
|
|
104
|
+
→ "Watch out for these library gotchas..."
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### During Recovery Research (fire-researcher, recovery mode)
|
|
108
|
+
```
|
|
109
|
+
Read ALL 4 breadcrumb files
|
|
110
|
+
→ "Here's everything previous instances learned about this project"
|
|
111
|
+
→ Cross-reference with FAILURES.md to avoid repeating dead ends
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## File Templates (Slim — 2-line headers, 3-4 line entries)
|
|
117
|
+
|
|
118
|
+
### LESSONS.md
|
|
119
|
+
```markdown
|
|
120
|
+
# Lessons — {Project Name}
|
|
121
|
+
> Solutions that worked. Max 20 entries. Merge or archive when full.
|
|
122
|
+
|
|
123
|
+
### {title}
|
|
124
|
+
Root cause: {why}
|
|
125
|
+
Fix: {what to do}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### FAILURES.md
|
|
129
|
+
```markdown
|
|
130
|
+
# Dead Ends — {Project Name}
|
|
131
|
+
> What failed. If you're about to try something here, STOP.
|
|
132
|
+
|
|
133
|
+
### {approach that failed}
|
|
134
|
+
Tried: {what}
|
|
135
|
+
Why it failed: {root cause}
|
|
136
|
+
Don't retry unless: {condition}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### PATTERNS.md
|
|
140
|
+
```markdown
|
|
141
|
+
# Patterns — {Project Name}
|
|
142
|
+
> Follow these conventions. Breaks stuff if you don't.
|
|
143
|
+
|
|
144
|
+
### {pattern name}
|
|
145
|
+
Example: `{file:line}`
|
|
146
|
+
Breaks: {what goes wrong if ignored}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### DEPENDENCIES.md
|
|
150
|
+
```markdown
|
|
151
|
+
# Gotchas — {Project Name}
|
|
152
|
+
> Library-specific traps. Check before debugging weird errors.
|
|
153
|
+
|
|
154
|
+
### {package}@{version} — {title}
|
|
155
|
+
Symptom: {what you see}
|
|
156
|
+
Fix: {what to do}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Breadcrumb Hygiene
|
|
162
|
+
|
|
163
|
+
### Size Limits — Breadcrumbs, Not a Loaf
|
|
164
|
+
|
|
165
|
+
**Hard caps per file:**
|
|
166
|
+
| File | Max entries | Max lines | Entry max |
|
|
167
|
+
|------|-------------|-----------|-----------|
|
|
168
|
+
| LESSONS.md | 20 | 80 lines | 4 lines |
|
|
169
|
+
| FAILURES.md | 15 | 60 lines | 4 lines |
|
|
170
|
+
| PATTERNS.md | 15 | 60 lines | 3 lines |
|
|
171
|
+
| DEPENDENCIES.md | 15 | 60 lines | 4 lines |
|
|
172
|
+
|
|
173
|
+
**Each breadcrumb is a CRUMB — 3-4 lines max.** If you need more than 4 lines to explain it, you're writing documentation, not a breadcrumb.
|
|
174
|
+
|
|
175
|
+
**Compact format (use this, not the verbose templates above):**
|
|
176
|
+
```markdown
|
|
177
|
+
### Prisma findMany returns empty on new schema
|
|
178
|
+
Root cause: forgot `npx prisma generate` after schema change
|
|
179
|
+
Fix: always run `prisma generate` after editing schema.prisma
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**When a file hits the cap:**
|
|
183
|
+
1. Merge related entries (3 Prisma gotchas → 1 consolidated entry)
|
|
184
|
+
2. Delete entries that are obvious in hindsight (not worth preserving)
|
|
185
|
+
3. Only then archive to `.planning/breadcrumbs/archive/{filename}-{date}.md`
|
|
186
|
+
4. **Never let breadcrumbs exceed the cap** — an agent reading 80+ lines of "lessons" is wasting tokens on context it probably won't use
|
|
187
|
+
|
|
188
|
+
### Deduplication
|
|
189
|
+
Before writing a breadcrumb, check if a similar one already exists:
|
|
190
|
+
```
|
|
191
|
+
Grep pattern="{key phrase from new breadcrumb}" path=".planning/breadcrumbs/"
|
|
192
|
+
IF match found:
|
|
193
|
+
→ Update existing entry instead of creating duplicate
|
|
194
|
+
→ Add "Confirmed again on {date}" to show it's a recurring pattern
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Quality Check
|
|
198
|
+
Every breadcrumb must have:
|
|
199
|
+
- [ ] A clear **search term** (how would a future instance find this?)
|
|
200
|
+
- [ ] The **root cause** (not just the symptom)
|
|
201
|
+
- [ ] The **solution** or **warning** (actionable, not just descriptive)
|
|
202
|
+
- [ ] A **date** (to know how fresh this knowledge is)
|
|
203
|
+
|
|
204
|
+
Breadcrumbs without root causes are symptoms — not lessons. Don't write "X broke" without "because Y."
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Integration Points
|
|
209
|
+
|
|
210
|
+
| Agent | Reads | Writes |
|
|
211
|
+
|-------|-------|--------|
|
|
212
|
+
| **fire-planner** | LESSONS.md, FAILURES.md | PATTERNS.md (when discovering conventions during planning) |
|
|
213
|
+
| **fire-executor** | PATTERNS.md, DEPENDENCIES.md | LESSONS.md (after solving problems), PATTERNS.md (after discovering conventions), DEPENDENCIES.md (after hitting gotchas) |
|
|
214
|
+
| **fire-verifier** | — | FAILURES.md (after verification failure) |
|
|
215
|
+
| **fire-researcher** | All 4 files | DEPENDENCIES.md (after discovering version issues) |
|
|
216
|
+
| **fire-debugger** | LESSONS.md, FAILURES.md, DEPENDENCIES.md | LESSONS.md (after resolution), FAILURES.md (for dead ends tried) |
|
|
217
|
+
| **fire-6-resume** | LESSONS.md, FAILURES.md | — (read-only injection) |
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## The Compounding Effect
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
Session 1: Claude knows nothing about the project
|
|
225
|
+
→ Hits 5 problems, solves them
|
|
226
|
+
→ Writes 5 breadcrumbs
|
|
227
|
+
|
|
228
|
+
Session 2: Claude reads 5 breadcrumbs
|
|
229
|
+
→ Avoids 3 of those problems entirely
|
|
230
|
+
→ Hits 2 new problems, solves them
|
|
231
|
+
→ Writes 2 new breadcrumbs (total: 7)
|
|
232
|
+
|
|
233
|
+
Session 3: Claude reads 7 breadcrumbs
|
|
234
|
+
→ Avoids 5 problems, solves 1 new one
|
|
235
|
+
→ Total: 8 breadcrumbs
|
|
236
|
+
|
|
237
|
+
Session 10: Claude reads 15+ breadcrumbs
|
|
238
|
+
→ Knows every gotcha, every pattern, every dead end
|
|
239
|
+
→ Executes like a senior developer on the project
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Each instance is disposable. The breadcrumbs are permanent. The knowledge compounds.
|