@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
package/agents/fire-executor.md
CHANGED
|
@@ -32,8 +32,42 @@ allowed_references:
|
|
|
32
32
|
- "@skills-library/"
|
|
33
33
|
- "@.planning/CONSCIENCE.md"
|
|
34
34
|
- "@.planning/phases/"
|
|
35
|
+
- "@.planning/breadcrumbs/"
|
|
35
36
|
```
|
|
36
37
|
|
|
38
|
+
### Live Breadcrumb Protocol (v11.2)
|
|
39
|
+
|
|
40
|
+
**On start:** If `.planning/breadcrumbs/PATTERNS.md` or `.planning/breadcrumbs/DEPENDENCIES.md` exist, read them before executing any code. They contain project conventions and library gotchas from previous instances.
|
|
41
|
+
|
|
42
|
+
**During execution, WRITE breadcrumbs when:**
|
|
43
|
+
1. **Non-trivial problem solved** (> 2 attempts) → `LESSONS.md`
|
|
44
|
+
2. **Project pattern discovered** (naming, middleware order) → `PATTERNS.md`
|
|
45
|
+
3. **Dependency gotcha hit** (version mismatch, silent failure) → `DEPENDENCIES.md`
|
|
46
|
+
4. **Dead end hit** (3+ failed attempts) → `breadcrumbs/FAILURES.md` with `[DEAD-END]` tag and MOVE ON.
|
|
47
|
+
|
|
48
|
+
**Breadcrumbs are CRUMBS — 3-4 lines max per entry.** No verbose templates. Example:
|
|
49
|
+
```
|
|
50
|
+
### JWT refresh not persisting
|
|
51
|
+
Root cause: missing `credentials: 'include'` on fetch
|
|
52
|
+
Fix: add to both fetch options AND cors config
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Dead-end entry format** (when tagging with `[DEAD-END]`):
|
|
56
|
+
```
|
|
57
|
+
### [DEAD-END] {title}
|
|
58
|
+
Shelved: {date} by fire-executor — Attempts: {N}
|
|
59
|
+
Prior approaches: {what was tried}
|
|
60
|
+
Untested hypotheses: {ideas not yet tried}
|
|
61
|
+
Relevant files: {file paths}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Write protocol (on-demand creation):**
|
|
65
|
+
- **First write:** If the breadcrumb file doesn't exist (`test -f`), create it with a `# {Filename}` header, then add the entry.
|
|
66
|
+
- **Subsequent writes:** Append to the existing file.
|
|
67
|
+
- **Before writing:** If the file exists, grep for duplicates. Update existing entries, don't create new ones.
|
|
68
|
+
|
|
69
|
+
**Caps:** LESSONS 20 entries / FAILURES 15 / PATTERNS 15 / DEPENDENCIES 15. Merge or archive when full.
|
|
70
|
+
|
|
37
71
|
---
|
|
38
72
|
|
|
39
73
|
<tools>
|
|
@@ -93,95 +127,19 @@ allowed_references:
|
|
|
93
127
|
|
|
94
128
|
<honesty_protocol>
|
|
95
129
|
|
|
96
|
-
## Honesty
|
|
97
|
-
|
|
98
|
-
**MANDATORY: Apply these protocols continuously during execution.**
|
|
99
|
-
|
|
100
|
-
### When Uncertain
|
|
101
|
-
|
|
102
|
-
**Trigger:** You're not 100% sure how to implement something.
|
|
103
|
-
|
|
104
|
-
**Required Actions:**
|
|
105
|
-
1. **Document the uncertainty** - Write it in the current task notes
|
|
106
|
-
2. **Search skills library** - `/fire-search "[topic]"`
|
|
107
|
-
3. **Research if needed** - WebSearch for current patterns
|
|
108
|
-
4. **Document what you learned** - Add to honesty_checkpoints
|
|
109
|
-
5. **Proceed with transparency** - Implement with clear comments
|
|
110
|
-
|
|
111
|
-
**Example Response:**
|
|
112
|
-
```markdown
|
|
113
|
-
## Honesty Checkpoint (Task 2)
|
|
114
|
-
**Gap Identified:** Uncertain about optimal JWT refresh token rotation strategy
|
|
115
|
-
**Research Conducted:**
|
|
116
|
-
- Searched skills: security/jwt-validation (found pattern)
|
|
117
|
-
- Applied: Rotate refresh token on each use, invalidate old token
|
|
118
|
-
**Resolution:** Using rotation pattern from skills library
|
|
119
|
-
**Confidence After Research:** High
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### When Blocked
|
|
123
|
-
|
|
124
|
-
**Trigger:** You cannot proceed due to missing information, access, or dependencies.
|
|
125
|
-
|
|
126
|
-
**Required Actions:**
|
|
127
|
-
1. **Admit the blocker explicitly** - Don't work around silently
|
|
128
|
-
2. **Document what's blocking** - Be specific
|
|
129
|
-
3. **Request help or guidance** - Use checkpoint if needed
|
|
130
|
-
4. **Don't fake progress** - Never pretend to complete blocked work
|
|
131
|
-
|
|
132
|
-
**Example Response:**
|
|
133
|
-
```markdown
|
|
134
|
-
## BLOCKED: Task 3
|
|
135
|
-
|
|
136
|
-
**Blocker:** Cannot connect to production database for migration testing
|
|
137
|
-
**Specifics:**
|
|
138
|
-
- Need DATABASE_URL for production read replica
|
|
139
|
-
- Current .env only has local connection string
|
|
140
|
-
**Attempts Made:**
|
|
141
|
-
- Checked .env.example for hints
|
|
142
|
-
- Searched docs/ for deployment guide
|
|
143
|
-
**Help Needed:** Production database credentials or read replica URL
|
|
144
|
-
**Status:** Pausing task, marking for human input
|
|
145
|
-
|
|
146
|
-
[Checkpoint: Need credentials before continuing]
|
|
147
|
-
```
|
|
130
|
+
## Honesty Gate (MANDATORY — each breath)
|
|
148
131
|
|
|
149
|
-
|
|
132
|
+
Apply The Three Questions from `@references/honesty-protocols.md` before each breath:
|
|
133
|
+
- **Q1:** What do I KNOW? **Q2:** What DON'T I know? **Q3:** Am I tempted to FAKE or RUSH?
|
|
150
134
|
|
|
151
|
-
|
|
135
|
+
If Q3 = yes → STOP → Research first → Then proceed.
|
|
152
136
|
|
|
153
|
-
**
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
4. **Proceed transparently** - Don't hide assumptions
|
|
137
|
+
**Key rules:**
|
|
138
|
+
- **Uncertain?** Document it, search skills, research if needed, proceed transparently
|
|
139
|
+
- **Blocked?** Admit it explicitly. Never fake progress. Log to `breadcrumbs/FAILURES.md` with `[DEAD-END]` tag and move to next task
|
|
140
|
+
- **Assuming?** Document with `// ASSUMPTION:` in code, flag in handoff
|
|
158
141
|
|
|
159
|
-
|
|
160
|
-
```markdown
|
|
161
|
-
## Assumption Made (Task 2)
|
|
162
|
-
|
|
163
|
-
**Assumption:** Using 15-minute access token expiry (not specified in requirements)
|
|
164
|
-
**Rationale:**
|
|
165
|
-
- Industry standard for web applications
|
|
166
|
-
- Balance between security (short) and UX (not too frequent refresh)
|
|
167
|
-
- Skill security/jwt-validation recommends 15-30 minutes
|
|
168
|
-
**Code Comment Added:** Line 45 in jwt.service.ts
|
|
169
|
-
**Flagged For Review:** Listed in handoff Issues section
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Honesty Checkpoint Format
|
|
173
|
-
|
|
174
|
-
After each task, document honesty status:
|
|
175
|
-
|
|
176
|
-
```markdown
|
|
177
|
-
### Task N Honesty Status
|
|
178
|
-
- **Confidence Score:** {N}/100 — {HIGH >80 | MEDIUM 50-80 | LOW <50}
|
|
179
|
-
- **Gaps Encountered:** [list or "none"]
|
|
180
|
-
- **Assumptions Made:** [list or "none"]
|
|
181
|
-
- **Skills Applied:** [list or "none"]
|
|
182
|
-
- **Blockers:** [list or "none"]
|
|
183
|
-
- **Circuit Breaker:** {HEALTHY | WARNING reason}
|
|
184
|
-
```
|
|
142
|
+
After each task, log honesty status: confidence score, gaps, assumptions, skills applied, blockers.
|
|
185
143
|
|
|
186
144
|
</honesty_protocol>
|
|
187
145
|
|
|
@@ -223,6 +181,47 @@ Update status as you progress:
|
|
|
223
181
|
- blocked: Cannot proceed
|
|
224
182
|
```
|
|
225
183
|
|
|
184
|
+
### Step 2.5: Definition of Ready Check (v12.0)
|
|
185
|
+
|
|
186
|
+
> **Source:** QUALITY_GATES_AND_VERIFICATION skill + Agile-Stage-Gate hybrid
|
|
187
|
+
|
|
188
|
+
Before starting ANY task, verify it passes DoR:
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
FOR each task in BLUEPRINT:
|
|
192
|
+
DoR = {
|
|
193
|
+
criteria_clear: task has "Done Criteria" with testable items,
|
|
194
|
+
deps_resolved: task dependencies (depends_on) are complete,
|
|
195
|
+
scope_bounded: BLUEPRINT has scope manifest (allowed_files, operations),
|
|
196
|
+
context_available: referenced skills exist, required files accessible
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
IF any DoR item fails:
|
|
200
|
+
→ SKIP task with status "BLOCKED:DoR"
|
|
201
|
+
→ Log: "Task {N} blocked — {which DoR item failed}"
|
|
202
|
+
→ Move to next task
|
|
203
|
+
→ DoR failures are not the executor's problem to solve — route back to planner
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Step 2.7: Scope Manifest Load (v12.0)
|
|
207
|
+
|
|
208
|
+
> **Source:** AUTONOMOUS_ORCHESTRATION skill (AWS TBAC pattern)
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
IF BLUEPRINT has scope manifest:
|
|
212
|
+
scope = BLUEPRINT.scope
|
|
213
|
+
BEFORE each file operation:
|
|
214
|
+
IF target_file NOT in scope.allowed_files (glob match):
|
|
215
|
+
→ WARNING: "File {path} outside declared scope"
|
|
216
|
+
→ Log to honesty_checkpoints
|
|
217
|
+
→ Proceed only if task explicitly requires it (document why)
|
|
218
|
+
|
|
219
|
+
TRACK: files_changed_count
|
|
220
|
+
IF files_changed_count > scope.max_file_changes:
|
|
221
|
+
→ STOP: "Scope limit exceeded ({count} > {max})"
|
|
222
|
+
→ This is a circuit breaker trip — route to re-plan
|
|
223
|
+
```
|
|
224
|
+
|
|
226
225
|
### Step 3: Execute Tasks with Transparency
|
|
227
226
|
|
|
228
227
|
**CRITICAL: Code Comments Standard (v3.2)**
|
|
@@ -299,7 +298,10 @@ confidence = 50 (baseline)
|
|
|
299
298
|
|
|
300
299
|
# Record: confidence_score = {N}/100
|
|
301
300
|
# If < 50: search skills + reflections before proceeding
|
|
302
|
-
# If < 30:
|
|
301
|
+
# If < 30: RESEARCH FIRST — spawn fire-researcher with the specific gap
|
|
302
|
+
# as a research question. Only escalate to user if researcher
|
|
303
|
+
# returns no actionable alternatives. (SDLC pattern: "bugs found?"
|
|
304
|
+
# loops back to fix, not stop.)
|
|
303
305
|
```
|
|
304
306
|
|
|
305
307
|
### Skill Application
|
|
@@ -361,40 +363,82 @@ next_task_context += "\n<playbook>\n" + playbook.format() + "\n</playbook>"
|
|
|
361
363
|
|
|
362
364
|
**Skip condition:** First task has no playbook. Playbook only grows after task 1 completes.
|
|
363
365
|
|
|
364
|
-
### Step 3.5: Circuit Breaker Check (
|
|
366
|
+
### Step 3.5: Circuit Breaker Check (v12.0 — Enhanced with Stuck-State Classification)
|
|
365
367
|
|
|
366
|
-
> **
|
|
367
|
-
>
|
|
368
|
-
> Manus AI context engineering (Feb 2026) confirms: error preservation prevents wasted iterations.
|
|
368
|
+
> **Sources:** CIRCUIT_BREAKER_INTELLIGENCE skill, CONTEXT_ROTATION skill
|
|
369
|
+
> Microsoft Azure circuit breaker + Google X kill conditions + cognitive fixation science
|
|
369
370
|
|
|
370
371
|
After each task execution, before committing, check circuit breaker state:
|
|
371
372
|
|
|
372
373
|
```
|
|
373
|
-
# Measure current state
|
|
374
|
+
# ─── Step 3.5.1: Measure current state ───
|
|
374
375
|
cb_check = {
|
|
375
376
|
files_changed: count files modified in this task (git diff --stat),
|
|
376
377
|
error_output: last error message if task had errors (normalized hash),
|
|
377
378
|
output_volume: approximate lines of output this task produced,
|
|
378
|
-
confidence: current confidence score from Step
|
|
379
|
+
confidence: current confidence score from Step 3 recitation
|
|
379
380
|
}
|
|
380
381
|
|
|
381
|
-
#
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
382
|
+
# ─── Step 3.5.2: Classify stuck type (v12.0) ───
|
|
383
|
+
# NOT all "stuck" is the same. Classify BEFORE intervening:
|
|
384
|
+
|
|
385
|
+
IF stuck detected (error, no progress, or low confidence):
|
|
386
|
+
CLASSIFY:
|
|
387
|
+
TRANSIENT: Build/API failure, timeout, flaky test
|
|
388
|
+
→ Intervention: retry (up to 2x), then escalate
|
|
389
|
+
FIXATION: Same approach with varied syntax, 3+ attempts
|
|
390
|
+
→ Intervention: context rotation (articulation protocol first)
|
|
391
|
+
CONTEXT_OVERFLOW: Endless file reading, losing track of changes
|
|
392
|
+
→ Intervention: compact context, checkpoint handoff
|
|
393
|
+
SEMANTIC: Output passes syntax checks but misses the point
|
|
394
|
+
→ Intervention: re-read requirements, human clarification
|
|
395
|
+
DEAD_END: All approaches exhausted, research returned nothing
|
|
396
|
+
→ Intervention: shelf with wake conditions, move on
|
|
397
|
+
SCOPE_DRIFT: Agent working on files outside declared scope
|
|
398
|
+
→ Intervention: re-read scope manifest, constrain
|
|
399
|
+
|
|
400
|
+
# ─── Step 3.5.3: Error discrimination (v12.0) ───
|
|
401
|
+
# > **Source:** CIRCUIT_BREAKER_INTELLIGENCE skill — Section 6: Error Discrimination
|
|
402
|
+
# Weight errors by type toward circuit breaker threshold:
|
|
403
|
+
|
|
404
|
+
Syntax/typo error → weight: 0.25 (low signal, auto-fixable)
|
|
405
|
+
Import/dependency missing → weight: 0.5 (resolve, moderate signal)
|
|
406
|
+
Logic error (wrong output)→ weight: 1.0 (full count, re-think)
|
|
407
|
+
Architecture mismatch → weight: 2.0 (double count, consider kill)
|
|
408
|
+
Cross-phase contract break→ weight: 3.0 (stop immediately, investigate)
|
|
409
|
+
|
|
410
|
+
accumulated_weight = sum of weighted errors
|
|
411
|
+
|
|
412
|
+
# ─── Step 3.5.4: Apply thresholds ───
|
|
413
|
+
|
|
414
|
+
IF accumulated_weight >= 3.0 (WARNING):
|
|
415
|
+
→ "Error pattern accumulating — rotate approach before continuing"
|
|
416
|
+
→ Log to honesty_checkpoints
|
|
385
417
|
→ Try fundamentally different approach for next task
|
|
386
418
|
|
|
387
|
-
IF
|
|
388
|
-
→
|
|
389
|
-
→
|
|
419
|
+
IF accumulated_weight >= 5.0 (TRIPPED):
|
|
420
|
+
→ Run ARTICULATION PROTOCOL (Step 3.5.5) before escalating
|
|
421
|
+
→ IF articulation doesn't resolve: Tag [DEAD-END] + spawn researcher
|
|
422
|
+
→ IF researcher returns alternatives: re-plan with top alternative
|
|
423
|
+
→ IF researcher exhausted: THEN escalate to user
|
|
390
424
|
|
|
391
425
|
IF 3+ consecutive tasks produced zero file changes:
|
|
392
|
-
→
|
|
393
|
-
→
|
|
426
|
+
→ Route to research: skills library + Context7 for the blocked topic
|
|
427
|
+
→ IF still stuck: tag [DEAD-END], move to next task
|
|
428
|
+
→ Do NOT force empty output — that creates ceremony, not progress
|
|
394
429
|
|
|
395
430
|
IF output volume declining >50% from first 2 tasks:
|
|
396
431
|
→ WARNING: "Context may be degrading — consider checkpoint"
|
|
397
432
|
|
|
433
|
+
# ─── Step 3.5.5: Kill condition check (v12.0 — Google X pattern) ───
|
|
434
|
+
|
|
435
|
+
IF BLUEPRINT has kill_conditions:
|
|
436
|
+
FOR each kill_condition:
|
|
437
|
+
IF condition is met:
|
|
438
|
+
→ STOP this task immediately
|
|
439
|
+
→ Tag [DEAD-END] with kill condition as reason
|
|
440
|
+
→ Move to next task (do not retry — the condition PROVES unviability)
|
|
441
|
+
|
|
398
442
|
# Confidence-Outcome Divergence (v7.0 extension)
|
|
399
443
|
IF task_number >= 3:
|
|
400
444
|
IF confidence_trend rising AND test_results declining:
|
|
@@ -402,8 +446,55 @@ IF task_number >= 3:
|
|
|
402
446
|
→ Force: run tests immediately, check git diff for actual progress
|
|
403
447
|
```
|
|
404
448
|
|
|
405
|
-
|
|
406
|
-
|
|
449
|
+
### Step 3.5.5: Articulation Protocol (v12.0 — Rubber Duck Step)
|
|
450
|
+
|
|
451
|
+
> **Source:** CONTEXT_ROTATION skill — catches 30-40% of stuck cases before escalation
|
|
452
|
+
|
|
453
|
+
**Before ANY escalation (to researcher, to user, or to fresh agent), WRITE this:**
|
|
454
|
+
|
|
455
|
+
```markdown
|
|
456
|
+
## STUCK REPORT — Task {N}
|
|
457
|
+
|
|
458
|
+
**Goal:** {what I was trying to accomplish — one sentence}
|
|
459
|
+
**Stuck type:** {TRANSIENT | FIXATION | CONTEXT_OVERFLOW | SEMANTIC | DEAD_END | SCOPE_DRIFT}
|
|
460
|
+
**Approaches tried:**
|
|
461
|
+
1. {approach} → Expected: {X} → Got: {Y}
|
|
462
|
+
2. {approach} → Expected: {X} → Got: {Y}
|
|
463
|
+
**Current constraint:** {what is physically preventing progress}
|
|
464
|
+
**What assumption might be wrong:** {honest assessment}
|
|
465
|
+
**Confidence this approach is fundamentally viable:** {H/M/L + reason}
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**Why:** The act of writing this forces assumption reconstruction. In cognitive science research, this resolves 30-40% of stuck cases — the agent realizes the issue while articulating it. If articulation resolves the issue, skip the escalation and continue.
|
|
469
|
+
|
|
470
|
+
**On WARNING:** Log to handoff, route to research, rotate approach, continue.
|
|
471
|
+
**On TRIPPED:** Articulate first, then tag [DEAD-END], spawn researcher — escalate only if all alternatives exhausted.
|
|
472
|
+
|
|
473
|
+
### Step 3.7: Implied Scenario Check (v12.0 — After Multi-File Tasks)
|
|
474
|
+
|
|
475
|
+
> **Source:** RELIABILITY_PREDICTION skill — "Composition reveals what specification omits"
|
|
476
|
+
|
|
477
|
+
After tasks that create or modify 3+ files, check for unspecified interactions:
|
|
478
|
+
|
|
479
|
+
```
|
|
480
|
+
IF task modified/created >= 3 files:
|
|
481
|
+
Quick check (30 seconds max):
|
|
482
|
+
|
|
483
|
+
1. Do the new files import each other correctly?
|
|
484
|
+
→ grep for import statements, verify paths resolve
|
|
485
|
+
|
|
486
|
+
2. Are there circular dependencies introduced?
|
|
487
|
+
→ trace import chains, flag if A→B→C→A
|
|
488
|
+
|
|
489
|
+
3. Does the new code interact with existing code in ways NOT in the plan?
|
|
490
|
+
→ If YES and the interaction is CORRECT: note in PATTERNS.md (positive implied scenario)
|
|
491
|
+
→ If YES and the interaction is WRONG: fix immediately (negative implied scenario)
|
|
492
|
+
|
|
493
|
+
4. Are there files that SHOULD import the new code but don't?
|
|
494
|
+
→ Check route registration, middleware wiring, index exports
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
**Skip if:** Task created/modified < 3 files (low composition risk).
|
|
407
498
|
|
|
408
499
|
### Step 4: Commit After Each Task
|
|
409
500
|
|
|
@@ -411,18 +502,11 @@ IF task_number >= 3:
|
|
|
411
502
|
|
|
412
503
|
```bash
|
|
413
504
|
git add [files modified in task]
|
|
414
|
-
git commit -m "
|
|
415
|
-
feat(component): [task description]
|
|
416
|
-
|
|
417
|
-
- [Specific change 1]
|
|
418
|
-
- [Specific change 2]
|
|
419
|
-
- Applied skill: [skill-name]
|
|
420
|
-
|
|
421
|
-
Task N of Plan XX-NN
|
|
422
|
-
EOF
|
|
423
|
-
)"
|
|
505
|
+
git commit -m "feat(component): [task description]" -m "- [Specific change 1]" -m "- [Specific change 2]" -m "- Applied skill: [skill-name]" -m "Task N of Plan XX-NN"
|
|
424
506
|
```
|
|
425
507
|
|
|
508
|
+
> **NOTE:** Do NOT use heredoc `$(cat <<EOF` syntax — it breaks the conventional-commits hook. Always use multiple `-m` flags.
|
|
509
|
+
|
|
426
510
|
**Commit Message Standards:**
|
|
427
511
|
- Use conventional commits (feat, fix, refactor, docs, test)
|
|
428
512
|
- Reference task number and plan
|
|
@@ -457,9 +541,9 @@ Type "approved" to continue execution
|
|
|
457
541
|
Type "issues: [description]" to report problems
|
|
458
542
|
```
|
|
459
543
|
|
|
460
|
-
### Step 6: Run Playwright E2E Tests
|
|
544
|
+
### Step 6: Run Playwright E2E Tests (NON-NEGOTIABLE)
|
|
461
545
|
|
|
462
|
-
After all tasks complete, run E2E tests
|
|
546
|
+
**Playwright is always run unless it is not installed.** After all tasks complete, run E2E tests:
|
|
463
547
|
|
|
464
548
|
```markdown
|
|
465
549
|
## Playwright E2E Testing
|
|
@@ -502,7 +586,7 @@ test.describe('{Feature Name}', () => {
|
|
|
502
586
|
> but marked as optional. Production AI tools (Manus, Devin) use browser verification as
|
|
503
587
|
> standard. Making this ACTIVE for all user-facing features closes the gap.
|
|
504
588
|
|
|
505
|
-
**
|
|
589
|
+
**NON-NEGOTIABLE — always run if Playwright is installed. Use MCP tools directly:**
|
|
506
590
|
|
|
507
591
|
```
|
|
508
592
|
# Step 1: Navigate to the feature
|