maestro-flow 0.5.40 → 0.5.41

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 (41) hide show
  1. package/.agents/skills/odyssey-debug/SKILL.md +109 -143
  2. package/.agents/skills/odyssey-improve/SKILL.md +127 -141
  3. package/.agents/skills/odyssey-planex/SKILL.md +140 -231
  4. package/.agents/skills/odyssey-review-test-fix/SKILL.md +136 -90
  5. package/.agents/skills/odyssey-ui/SKILL.md +123 -143
  6. package/.agy/skills/odyssey-debug/SKILL.md +109 -143
  7. package/.agy/skills/odyssey-improve/SKILL.md +127 -141
  8. package/.agy/skills/odyssey-planex/SKILL.md +140 -231
  9. package/.agy/skills/odyssey-review-test-fix/SKILL.md +136 -90
  10. package/.agy/skills/odyssey-ui/SKILL.md +123 -143
  11. package/.claude/commands/odyssey-debug.md +109 -143
  12. package/.claude/commands/odyssey-improve.md +127 -141
  13. package/.claude/commands/odyssey-planex.md +140 -231
  14. package/.claude/commands/odyssey-review-test-fix.md +136 -90
  15. package/.claude/commands/odyssey-ui.md +123 -143
  16. package/.codex/skills/odyssey-debug/SKILL.md +114 -169
  17. package/.codex/skills/odyssey-improve/SKILL.md +144 -188
  18. package/.codex/skills/odyssey-planex/SKILL.md +162 -242
  19. package/.codex/skills/odyssey-review-test-fix/SKILL.md +96 -90
  20. package/.codex/skills/odyssey-ui/SKILL.md +128 -173
  21. package/dashboard/dist-server/src/tools/spec-loader.js +27 -19
  22. package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
  23. package/dashboard/dist-server/src/tools/spec-seeds.d.ts +8 -0
  24. package/dashboard/dist-server/src/tools/spec-seeds.js +114 -0
  25. package/dashboard/dist-server/src/tools/spec-seeds.js.map +1 -1
  26. package/dist/src/commands/spec.d.ts.map +1 -1
  27. package/dist/src/commands/spec.js +13 -3
  28. package/dist/src/commands/spec.js.map +1 -1
  29. package/dist/src/tools/spec-init.d.ts +4 -3
  30. package/dist/src/tools/spec-init.d.ts.map +1 -1
  31. package/dist/src/tools/spec-init.js +9 -5
  32. package/dist/src/tools/spec-init.js.map +1 -1
  33. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  34. package/dist/src/tools/spec-loader.js +27 -19
  35. package/dist/src/tools/spec-loader.js.map +1 -1
  36. package/dist/src/tools/spec-seeds.d.ts +8 -0
  37. package/dist/src/tools/spec-seeds.d.ts.map +1 -1
  38. package/dist/src/tools/spec-seeds.js +114 -0
  39. package/dist/src/tools/spec-seeds.js.map +1 -1
  40. package/package.json +1 -1
  41. package/workflows/odyssey-base-codex.md +306 -0
@@ -15,40 +15,38 @@ allowed-tools:
15
15
  <base>@~/.maestro/workflows/odyssey-base.md</base>
16
16
 
17
17
  <purpose>
18
- Closed-loop deep debugging: archaeology → explore → diagnose → fix & confirm → generalize → discover siblings → persist.
19
- Treats every bug as a learning signal with exhaustive iteration until root cause confirmed or INCONCLUSIVE.
18
+ archaeology → explore → diagnose → fix & confirm → generalize → discover siblings → persist.
19
+ Exhaustive iteration until root cause confirmed or INCONCLUSIVE.
20
20
  </purpose>
21
21
 
22
22
  <boundary>
23
- **范围内:** 单一 bug/issue 的完整闭环 — 考古 → 探索 → 诊断 → 修复 → 确认 → 泛化同类 → 沉淀
24
- **范围外:** 新功能开发 → `/odyssey-planex` | 代码质量审查 → `/odyssey-review-test-fix` | UI 视觉优化 → `/odyssey-ui` | 架构重设计 → `/maestro-plan`
25
- **探索自由度:** 边界内自由探索 — 可追踪任意调用链、分析任意历史、测试任意假设。泛化阶段可扫描全项目寻找同类问题。
26
- **Zero-residual principle:** Every finding MUST have a concrete action (fix / issue / decision). "Pre-existing issue" is not a valid skip reason.
27
- **模板支持:** `--template <name>` 从预定义调查策略启动:
28
-
29
- | Template | 调查策略 | 适用场景 |
30
- |----------|---------|---------|
31
- | `performance` | profilinghot pathallocation cache | 性能劣化 |
32
- | `memory-leak` | heap snapshot retention chainlifecycle | 内存泄漏 |
33
- | `race-condition` | timelineconcurrent accesslock analysis | 竞态条件 |
34
- | `regression` | git bisectdiff analysisboundary check | 回归问题 |
35
- | `crash` | stack trace → null chain → error propagation | 崩溃/异常 |
23
+ **In scope:** Single bug/issue full loop.
24
+ **Out of scope:** Features → `/odyssey-planex` | Quality review → `/odyssey-review-test-fix` | UI → `/odyssey-ui` | Architecture → `/maestro-plan`
25
+
26
+ **`--template <name>`:**
27
+
28
+ | Template | Strategy | Use case |
29
+ |----------|----------|----------|
30
+ | `performance` | profiling → hot path → allocation → cache | Performance degradation |
31
+ | `memory-leak` | heap snapshot retention chainlifecycle | Memory leaks |
32
+ | `race-condition` | timelineconcurrent accesslock analysis | Race conditions |
33
+ | `regression` | git bisect diff analysisboundary check | Regressions |
34
+ | `crash` | stack tracenull chainerror propagation | Crashes / exceptions |
36
35
  </boundary>
37
36
 
38
37
  <context>
39
- $ARGUMENTS — issue description and optional flags.
38
+ $ARGUMENTS
40
39
 
41
- **Flags:** `--skip-fix` analysis-only | `--skip-generalize` quick fix | `--template <name>` 预定义策略 | `--auto` no delegate confirmation | `-y` auto-confirm all decisions | `-c` resume last session | `--heartbeat` enable /loop heartbeat
40
+ **Flags:** `--skip-fix` analysis-only | `--skip-generalize` quick fix | `--template <name>` | `--auto` no delegate confirmation | `-y` auto-confirm | `-c` resume | `--heartbeat` /loop heartbeat
42
41
 
43
- **Session**: `SESSION_DIR = .workflow/scratch/{YYYYMMDD}-debug-odyssey-{slug}/`
42
+ **Session**: `.workflow/scratch/{YYYYMMDD}-debug-odyssey-{slug}/`
44
43
  **Output**: `session.json` | `evidence.ndjson` | `explore.json` | `understanding.md`
45
44
 
46
- **session.json unique fields:**
45
+ **session.json debug-specific fields:**
47
46
  ```json
48
47
  { "issue": "", "diagnosis_retries": 0, "root_cause": null, "confirmation": null,
49
- "patterns": [], "generalization_stats": null, "cross_phase_loops": 0, "max_loops": 5 }
48
+ "patterns": [], "generalization_stats": null }
50
49
  ```
51
- 共有字段(`progress_metrics`, `directions_tried` 等)见 base。
52
50
 
53
51
  **evidence.ndjson phases:** `archaeology|explore|diagnosis|discovery|decision|self-iteration`
54
52
  - `archaeology`: `sha`, `author`, `date`, `message`, `relevance`
@@ -76,27 +74,23 @@ $ARGUMENTS — issue description and optional flags.
76
74
  4. Hypotheses ← S_DIAGNOSE | 5. Root Cause ← S_DIAGNOSE | 6. Fix & Confirmation ← S_FIX+S_CONFIRM
77
75
  7. Generalization ← S_GENERALIZE | 8. Discoveries ← S_DISCOVER | 9. Learnings ← S_RECORD
78
76
 
79
- ### Pre-load(可选,缺失不阻塞)
77
+ **Knowledge Persistence categories (§9):**
80
78
 
81
- | 命令 | 作用 |
82
- |------|------|
83
- | Read `.workflow/codebase/ARCHITECTURE.md` | 模块边界 |
84
- | `maestro search "<issue keywords>" --json` | 先前调查(top 5) |
85
- | `maestro load --type spec --category debug --keyword "<symptom>"` | 已知 issue/workaround |
86
- | `Glob(".workflow/scratch/*-debug-odyssey-*")` | 相关 odyssey 会话 |
87
-
88
- ### Knowledge Persistence(S_RECORD → understanding.md §9)
89
-
90
- | 分类 | 后续建议命令 |
91
- |------|-------------|
92
- | 反复根因模式 | `/spec-add debug "..."` |
93
- | 非显而易见 workaround | `/spec-add learning "..."` |
94
- | 架构边界违反 | `/spec-add arch "..."` |
95
- | 可复用泛化 pattern | `/spec-add coding "..."` |
79
+ | Category | Content | Follow-up |
80
+ |----------|---------|-----------|
81
+ | Recurring root cause pattern | Type + triggers + fix + detection | `/spec-add debug` |
82
+ | Non-obvious workaround | Problem + steps + why obvious fix fails | `/spec-add learning` |
83
+ | Architecture boundary violation | Violation + correct boundary + verification | `/spec-add arch` |
84
+ | Reusable generalization pattern | Signature + risk + fix template + scope | `/spec-add coding` |
96
85
  </context>
97
86
 
87
+ <invariants>
88
+ 1. **Evidence append-only** — never delete or overwrite evidence.ndjson entries
89
+ 2. **Phase goal tracking** — mark goal done/failed before transition; no silent skips
90
+ </invariants>
91
+
98
92
  <self_iteration>
99
- 适用阶段: S_ARCHAEOLOGY, S_EXPLORE, S_DIAGNOSE, S_GENERALIZE
93
+ Applies to: **S_ARCHAEOLOGY, S_EXPLORE, S_DIAGNOSE, S_GENERALIZE**. Logic in base.
100
94
  </self_iteration>
101
95
 
102
96
  <state_machine>
@@ -110,14 +104,14 @@ S_INTAKE → S_INTAKE : -c + session found → A_RESUME_SESSION
110
104
  S_INTAKE → S_ARCHAEOLOGY : issue parsed → A_INTAKE
111
105
  S_INTAKE → S_INTAKE : no issue, no session → AskUserQuestion
112
106
 
113
- S_ARCHAEOLOGY → S_EXPLORE : A_ARCHAEOLOGY complete
114
- S_EXPLORE → S_DIAGNOSE : A_EXPLORE complete
107
+ S_ARCHAEOLOGY → S_EXPLORE : complete
108
+ S_EXPLORE → S_DIAGNOSE : complete
115
109
 
116
- S_DIAGNOSE → S_FIX : root cause confirmed, !skip_fix
117
- S_DIAGNOSE → S_GENERALIZE : root cause confirmed, skip_fix, !skip_generalize
118
- S_DIAGNOSE → S_RECORD : root cause confirmed, skip_fix, skip_generalize
110
+ S_DIAGNOSE → S_FIX : confirmed, !skip_fix
111
+ S_DIAGNOSE → S_GENERALIZE : confirmed, skip_fix, !skip_generalize
112
+ S_DIAGNOSE → S_RECORD : confirmed, skip_fix, skip_generalize
119
113
  S_DIAGNOSE → S_DIAGNOSE : all hypotheses failed, retries < 3 → A_ESCALATE_DIAGNOSIS
120
- S_DIAGNOSE → S_RECORD : retries >= 3 → mark INCONCLUSIVE
114
+ S_DIAGNOSE → S_RECORD : retries >= 3 → INCONCLUSIVE
121
115
 
122
116
  S_FIX → S_CONFIRM : fix implemented
123
117
  S_CONFIRM → S_GENERALIZE : confirmed, !skip_generalize
@@ -127,140 +121,112 @@ S_CONFIRM → S_FIX : needs_rework
127
121
  S_GENERALIZE → S_DISCOVER : similar code found
128
122
  S_GENERALIZE → S_RECORD : no similar code
129
123
 
130
- S_DISCOVER → S_DIAGNOSE : new bug worth investigating → cross_phase_loops++
131
- S_DISCOVER → S_FIX : same-pattern bug, fix template applies, !skip_fix → cross_phase_loops++
132
- S_DISCOVER → S_RECORD : triage complete, remaining_actionable == 0
133
- S_DISCOVER → S_RECORD : loops >= max_loops → log each unfixed item with specific reason
124
+ S_DISCOVER → S_DIAGNOSE : new bug → cross_phase_loops++
125
+ S_DISCOVER → S_FIX : same-pattern bug + fix_template, !skip_fix → cross_phase_loops++
126
+ S_DISCOVER → S_RECORD : remaining_actionable == 0
127
+ S_DISCOVER → S_RECORD : loops >= max_loops → log per-item reasons
134
128
 
135
- S_RECORD → END : A_RECORD complete
129
+ S_RECORD → END : complete
136
130
  </transitions>
137
131
 
138
132
  <actions>
139
133
 
140
134
  ### A_INTAKE
141
- 1. Parse arguments, generate slug, create `SESSION_DIR`
142
- 2. Search: `maestro search "<keywords>"` + Glob prior sessions + ARCHITECTURE.md + Grep keywords
143
- 3. Derive `phase_goals[]` from flags (apply `skip_when`)
135
+ 1. Parse arguments, generate slug, create SESSION_DIR
136
+ 2. `maestro search "<keywords>"` + Glob prior sessions + ARCHITECTURE.md + Grep keywords
137
+ 3. Derive `phase_goals[]` from flags
144
138
  4. Write `session.json` + `understanding.md` §1, emit Goal Prompt
145
139
 
146
- 📌 **Auto-commit**: `git add understanding.md && git commit -m "odyssey-debug({slug}): INTAKE — 目标解析与上下文加载"`
140
+ Commit: `"odyssey-debug({slug}): INTAKE — parse target and load context"`
147
141
 
148
142
  ### A_RESUME_SESSION
149
- Find latest session via Glob → read `session.json` → display summary → jump to `current_state`.
143
+ Glob latest session → read `session.json` → jump to `current_state`.
150
144
 
151
145
  ### A_ARCHAEOLOGY
152
- **2 parallel Agents:** Timeline (`git log --oneline -20 -- {files}`) + Blame (top 3 suspicious files `git blame -L {region}`). Append evidence (phase: "archaeology").
146
+ 2 parallel Agents: Timeline (`git log --oneline -20 -- {files}`) + Blame (top 3 files `git blame -L {region}`). Evidence phase=archaeology.
153
147
 
154
- **CLI change review** via `maestro delegate --role analyze --mode analysis` (`run_in_background: true`):
148
+ `maestro delegate --role analyze --mode analysis` (`run_in_background: true`):
155
149
  - PURPOSE: Review recent modifications related to {issue}
156
150
  - EXPECTED: JSON [{commit_sha, risk_level, analysis, could_cause_issue, explanation}]
157
151
 
158
- Update §2.
159
-
160
- 📌 **Auto-commit**: `git add understanding.md && git commit -m "odyssey-debug({slug}): ARCHAEOLOGY — git 考古分析"`
152
+ Update §2. Commit: `"odyssey-debug({slug}): ARCHAEOLOGY — git history analysis"`
161
153
 
162
154
  ### A_EXPLORE
163
- Skip if no enabled CLI tools (W006).
155
+ Skip if no CLI tools (W006).
164
156
 
165
157
  `maestro delegate --role explore --mode analysis` (`run_in_background: true`):
166
- - PURPOSE: Gather codebase evidence — call chains, recent changes, error gaps, similar patterns
158
+ - PURPOSE: Call chains, recent changes, error gaps, similar patterns
167
159
  - EXPECTED: JSON {call_chains, recent_changes, error_gaps, similar_patterns}
168
160
 
169
- Parse → write `explore.json` + evidence (phase: "explore"). Update §3. Mark G2 done.
170
-
171
- 📌 **Auto-commit**: `git add understanding.md && git commit -m "odyssey-debug({slug}): EXPLORE — 代码探索完成"`
161
+ Write `explore.json` + evidence phase=explore. Update §3. Mark G2. Commit: `"odyssey-debug({slug}): EXPLORE — codebase exploration"`
172
162
 
173
163
  ### A_DIAGNOSE
174
- 1. Form hypotheses from evidence, ranked [HIGH]/[MEDIUM]/[LOW] → §4
175
- 2. Test each: design test execute → evidence (phase: "diagnosis")
176
- 3. Decision journal: ambiguity → evidence (phase: "decision"); Normal: AskUserQuestion | `-y`: defer
177
- 4. Root cause confirmed → `session.json.root_cause` + §5. Mark G1 done.
164
+ 1. Hypotheses from evidence, ranked [HIGH]/[MEDIUM]/[LOW] → §4
165
+ 2. Test each → evidence phase=diagnosis
166
+ 3. Ambiguity → evidence phase=decision; Normal: AskUserQuestion | `-y`: defer
167
+ 4. Confirmed → `session.json.root_cause` + §5. Mark G1.
178
168
 
179
- 📌 **Auto-commit**: `git add understanding.md && git commit -m "odyssey-debug({slug}): DIAGNOSE — 根因确认"`
169
+ Commit: `"odyssey-debug({slug}): DIAGNOSE — root cause confirmed"`
180
170
 
181
171
  ### A_ESCALATE_DIAGNOSIS
182
- Increment `diagnosis_retries`. < 3: broaden via `maestro delegate --role analyze`, new hypotheses, return S_DIAGNOSE. >= 3: Normal → AskUserQuestion | `-y` → auto INCONCLUSIVE → S_RECORD.
172
+ `diagnosis_retries++`. < 3: `maestro delegate --role analyze`, new hypotheses, S_DIAGNOSE. >= 3: Normal → AskUserQuestion | `-y` → INCONCLUSIVE → S_RECORD.
183
173
 
184
174
  ### A_FIX
185
175
  1. Present root cause + proposed fix. Normal: AskUserQuestion | `-y`: auto proceed
186
- 2. Implement fix, record evidence (phase: "decision")
176
+ 2. Implement fix, evidence phase=decision
187
177
 
188
- 📌 **Auto-commit**: `git add -A && git commit -m "odyssey-debug({slug}): FIX — {修复摘要}"`
178
+ Commit: `"odyssey-debug({slug}): FIX — {summary}"`
189
179
 
190
180
  ### A_CONFIRM
191
- 1. Run covering tests (auto-detect framework)
192
- 2. CLI fix review via `maestro delegate --role review --mode analysis` (`run_in_background: true`):
181
+ 1. Run covering tests
182
+ 2. `maestro delegate --role review --mode analysis` (`run_in_background: true`):
193
183
  - EXPECTED: JSON {verdict, findings [{severity, description, suggestion}], regression_risk}
194
- 3. Write `session.json.confirmation`: `{test_result, cli_review, overall: "confirmed|needs_rework"}`
195
- 4. Update §6. `needs_rework` → S_FIX. `confirmed` → mark G3 done.
196
-
197
- 📌 **Auto-commit**: `git add understanding.md && git commit -m "odyssey-debug({slug}): CONFIRM — 修复验证"`
184
+ 3. `session.json.confirmation`: `{test_result, cli_review, overall: "confirmed|needs_rework"}`
185
+ 4. Update §6. `needs_rework` → S_FIX. `confirmed` → mark G3.
198
186
 
199
- ### A_GENERALIZE
200
- 按 base A_GENERALIZE 执行。Pattern 来源: root cause + fix。统计写入 `session.json.generalization_stats`。Mark G4 done.
187
+ Commit: `"odyssey-debug({slug}): CONFIRM — fix verified"`
201
188
 
202
- 📌 **Auto-commit**: `git add understanding.md && git commit -m "odyssey-debug({slug}): GENERALIZE — 泛化扫描完成"`
189
+ ### A_GENERALIZE, A_DISCOVER, A_RECORD
190
+ Base shared_actions. Debug overrides:
191
+ - **A_GENERALIZE** pattern source: root cause + fix
192
+ - **A_RECORD** learnings per Knowledge Persistence table
203
193
 
204
- ### A_DISCOVER
205
- 按 base A_DISCOVER 执行。Mark G5 done.
206
-
207
- 📌 **Auto-commit**: `git add understanding.md && git commit -m "odyssey-debug({slug}): DISCOVER — 发现分类完成"`
208
-
209
- ### A_RECORD
210
- 1. Finalize `understanding.md` §9,按 Knowledge Persistence 表分类记录
211
- 2. Mark G6 done. Pending decisions: Normal → AskUserQuestion | `-y` → skip (show deferred count)
212
- 3. 其余按 base A_RECORD 执行
213
- 4. **Completion summary**:
194
+ **Completion summary:**
214
195
  ```
215
196
  --- DEBUG ODYSSEY COMPLETE ---
216
197
  Issue: {issue}
217
198
  Root cause: {root_cause.hypothesis}
218
199
  Fix: {applied|skipped|inconclusive}
219
- Patterns: {patterns_extracted} ({by_layer} distribution)
220
- Scan hits: {total_hits} ({cross_layer_confirmed} cross-layer confirmed)
200
+ Patterns: {patterns_extracted} ({by_layer})
201
+ Scan hits: {total_hits} ({cross_layer_confirmed} confirmed)
221
202
  Issues: {N} created
222
203
  Decisions: {N} resolved, {M} pending, {K} deferred
223
- Learnings: {N} spec entries persisted
224
- Self-iter: {N} quality gate rounds across {M} stages
225
- Goals: {done}/{total} confirmed ({skipped} skipped)
204
+ Learnings: {N} persisted
205
+ Self-iter: {N} rounds across {M} stages
206
+ Goals: {done}/{total} ({skipped} skipped)
226
207
  ---
227
208
  ```
228
209
 
229
- 📌 **Auto-commit**: `git add understanding.md && git commit -m "odyssey-debug({slug}): RECORD — 会话总结与知识沉淀"`
230
-
231
210
  </actions>
232
211
 
233
212
  <appendix>
234
213
 
235
- ### Goal Prompt Template
214
+ ### `-y` debug-specific points
236
215
 
237
- **时机守卫:仅在 A_INTAKE 完成后显示一次。** 机制见 base。
216
+ | Decision Point | Normal | `-y` |
217
+ |---------------|--------|------|
218
+ | A_DIAGNOSE ambiguity | AskUserQuestion | deferred |
219
+ | A_ESCALATE 3-strike | AskUserQuestion | INCONCLUSIVE |
220
+ | A_FIX direction | AskUserQuestion | auto proceed |
221
+
222
+ ### Goal Prompt convergence rules
238
223
 
239
224
  ```
240
- 📋 Debug Odyssey 会话已创建。可随时复制以下 /goal 设定终止条件:
241
-
242
- /goal 完成以下目标:
243
- {for each G in phase_goals where status != "skipped":}
244
- - {G.id}: {G.goal} — 完成条件: {G.done_when}
245
- {end for}
246
- 穷尽迭代:直到根因确认(或明确 INCONCLUSIVE)且修复验证通过
247
- 且泛化扫描穷尽且 phase_goals_all_done=true 才停。
248
- 泛化发现的同类 bug 全部修复或创建 issue,不允许遗留。
249
- 遇到 phase=decision 的 pending 必须 AskUserQuestion,不得自行 resolve。
225
+ Stop when root cause confirmed (or INCONCLUSIVE), fix verified,
226
+ generalization exhausted, phase_goals_all_done=true.
227
+ All sibling bugs fixed or issued — no leftovers.
250
228
  ```
251
229
 
252
- ### `-y` Auto-Confirm Behavior
253
-
254
- | Decision Point | Normal | `-y` mode |
255
- |---------------|--------|-----------|
256
- | A_DIAGNOSE ambiguity | AskUserQuestion | `deferred`, best-effort continue |
257
- | A_ESCALATE 3-strike | AskUserQuestion 3-way | auto INCONCLUSIVE |
258
- | A_FIX direction | AskUserQuestion | auto proceed with suggested fix |
259
- | A_DISCOVER bug triage | AskUserQuestion | auto create issue |
260
- | A_DISCOVER ambiguous | AskUserQuestion batch | all `deferred` |
261
- | A_RECORD decisions | AskUserQuestion per-item | skip, show deferred count |
262
- | A_RECORD goal audit | AskUserQuestion 3-way | auto accept current state |
263
-
264
230
  </appendix>
265
231
 
266
232
  </state_machine>
@@ -268,33 +234,33 @@ Goals: {done}/{total} confirmed ({skipped} skipped)
268
234
  <error_codes>
269
235
  | Code | Severity | Condition | Recovery |
270
236
  |------|----------|-----------|----------|
271
- | E001 | error | No issue and no session to resume | Provide issue or use -c |
272
- | W001 | warning | No relevant git history | Proceed with limited context |
273
- | W002 | warning | All hypotheses inconclusive after 3 retries | INCONCLUSIVE |
274
- | W005 | warning | Pending decisions unresolved | Filter evidence.ndjson phase=decision |
275
- | W006 | warning | CLI exploration skipped (no tools) | Proceed without explore.json |
237
+ | E001 | error | No issue, no session | Provide issue or -c |
238
+ | W001 | warning | No relevant git history | Proceed |
239
+ | W002 | warning | 3 retries exhausted | INCONCLUSIVE |
240
+ | W005 | warning | Pending decisions | Filter evidence phase=decision |
241
+ | W006 | warning | No CLI tools | Skip explore |
276
242
  </error_codes>
277
243
 
278
244
  <success_criteria>
279
- - [ ] Session created with 4 output files, prior knowledge searched
280
- - [ ] Git archaeology + CLI change review → evidence phase=archaeology
245
+ - [ ] Session + 4 output files + prior knowledge searched
246
+ - [ ] Archaeology + CLI review → evidence phase=archaeology
281
247
  - [ ] CLI exploration → explore.json + evidence phase=explore
282
- - [ ] Hypotheses tested, root cause declared with evidence refs
283
- - [ ] understanding.md tracks all 9 sections progressively
284
- - [ ] Fix implemented + confirmed (unless --skip-fix)
285
- - [ ] Multi-layer generalization + scan (unless --skip-generalize)
286
- - [ ] Discoveries classified and routed; every unfixed finding individually justified
287
- - [ ] phase_goals derived, goal audit in A_RECORD, state resumable via -c
288
- - [ ] Completion summary with all stats
248
+ - [ ] Hypotheses tested, root cause with evidence refs
249
+ - [ ] understanding.md 9 sections progressive
250
+ - [ ] Fix + confirmed (unless --skip-fix)
251
+ - [ ] Generalization + scan (unless --skip-generalize)
252
+ - [ ] Discoveries classified; unfixed findings individually justified
253
+ - [ ] phase_goals + goal audit + resumable via -c
254
+ - [ ] Completion summary
289
255
  </success_criteria>
290
256
 
291
257
  <next_step_routing>
292
- | Condition | Next step |
293
- |-----------|-----------|
294
- | Issues from discoveries | `/manage-issue list --source debug-odyssey` |
295
- | Pattern worth documenting | `/learn-decompose <module>` |
296
- | Fix needs formal review | `/quality-review <phase>` |
297
- | Second opinion on root cause | `/learn-second-opinion <understanding.md>` |
258
+ | Condition | Next |
259
+ |-----------|------|
260
+ | Discovery issues | `/manage-issue list --source debug-odyssey` |
261
+ | Document pattern | `/learn-decompose <module>` |
262
+ | Formal review | `/quality-review <phase>` |
263
+ | Second opinion | `/learn-second-opinion <understanding.md>` |
298
264
  | Related question | `/learn-investigate "<question>"` |
299
- | Decisions still pending | Filter evidence.ndjson phase=decision status=pending |
265
+ | Pending decisions | Filter evidence phase=decision status=pending |
300
266
  </next_step_routing>