maestro-flow 0.5.40 → 0.5.42
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/skills/maestro-analyze/SKILL.md +0 -42
- package/.agents/skills/maestro-blueprint/SKILL.md +0 -22
- package/.agents/skills/maestro-brainstorm/SKILL.md +4 -24
- package/.agents/skills/maestro-execute/SKILL.md +1 -1
- package/.agents/skills/maestro-grill/SKILL.md +0 -16
- package/.agents/skills/maestro-milestone-audit/SKILL.md +0 -15
- package/.agents/skills/maestro-plan/SKILL.md +5 -62
- package/.agents/skills/maestro-roadmap/SKILL.md +0 -8
- package/.agents/skills/odyssey-debug/SKILL.md +109 -143
- package/.agents/skills/odyssey-improve/SKILL.md +127 -141
- package/.agents/skills/odyssey-planex/SKILL.md +140 -231
- package/.agents/skills/odyssey-review-test-fix/SKILL.md +136 -90
- package/.agents/skills/odyssey-ui/SKILL.md +123 -143
- package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.agents/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.agents/skills/team-roadmap-dev/SKILL.md +164 -164
- package/.agents/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.agents/skills/team-swarm/roles/analyst/role.md +172 -176
- package/.agy/skills/maestro-analyze/SKILL.md +0 -42
- package/.agy/skills/maestro-blueprint/SKILL.md +0 -22
- package/.agy/skills/maestro-brainstorm/SKILL.md +4 -24
- package/.agy/skills/maestro-execute/SKILL.md +1 -1
- package/.agy/skills/maestro-grill/SKILL.md +0 -16
- package/.agy/skills/maestro-milestone-audit/SKILL.md +0 -15
- package/.agy/skills/maestro-plan/SKILL.md +5 -62
- package/.agy/skills/maestro-roadmap/SKILL.md +0 -8
- package/.agy/skills/odyssey-debug/SKILL.md +109 -143
- package/.agy/skills/odyssey-improve/SKILL.md +127 -141
- package/.agy/skills/odyssey-planex/SKILL.md +140 -231
- package/.agy/skills/odyssey-review-test-fix/SKILL.md +136 -90
- package/.agy/skills/odyssey-ui/SKILL.md +123 -143
- package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.agy/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.agy/skills/team-roadmap-dev/SKILL.md +141 -153
- package/.agy/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.agy/skills/team-swarm/roles/analyst/role.md +172 -176
- package/.claude/commands/maestro-analyze.md +0 -42
- package/.claude/commands/maestro-blueprint.md +0 -22
- package/.claude/commands/maestro-brainstorm.md +4 -24
- package/.claude/commands/maestro-execute.md +1 -1
- package/.claude/commands/maestro-grill.md +0 -16
- package/.claude/commands/maestro-milestone-audit.md +0 -15
- package/.claude/commands/maestro-plan.md +5 -62
- package/.claude/commands/maestro-roadmap.md +0 -8
- package/.claude/commands/odyssey-debug.md +109 -143
- package/.claude/commands/odyssey-improve.md +127 -141
- package/.claude/commands/odyssey-planex.md +140 -231
- package/.claude/commands/odyssey-review-test-fix.md +136 -90
- package/.claude/commands/odyssey-ui.md +123 -143
- package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.claude/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.claude/skills/team-roadmap-dev/SKILL.md +169 -169
- package/.claude/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.claude/skills/team-swarm/roles/analyst/role.md +181 -185
- package/.codex/skills/odyssey-debug/SKILL.md +114 -169
- package/.codex/skills/odyssey-improve/SKILL.md +144 -188
- package/.codex/skills/odyssey-planex/SKILL.md +162 -242
- package/.codex/skills/odyssey-review-test-fix/SKILL.md +96 -90
- package/.codex/skills/odyssey-ui/SKILL.md +128 -173
- package/dashboard/dist-server/src/commands/install-backend.js +31 -16
- package/dashboard/dist-server/src/commands/install-backend.js.map +1 -1
- package/dashboard/dist-server/src/core/component-defs.js +25 -0
- package/dashboard/dist-server/src/core/component-defs.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-loader.js +32 -20
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-seeds.d.ts +8 -0
- package/dashboard/dist-server/src/tools/spec-seeds.js +114 -0
- package/dashboard/dist-server/src/tools/spec-seeds.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +31 -16
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +13 -3
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +25 -0
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/tools/spec-init.d.ts +4 -3
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +9 -5
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +32 -20
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-seeds.d.ts +8 -0
- package/dist/src/tools/spec-seeds.d.ts.map +1 -1
- package/dist/src/tools/spec-seeds.js +114 -0
- package/dist/src/tools/spec-seeds.js.map +1 -1
- package/dist/src/utils/update-notices.js +11 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +1 -1
- package/workflows/agy-instructions.md +147 -161
- package/workflows/claude-instructions.md +100 -48
- package/workflows/codex-instructions.md +147 -161
- package/workflows/execute.md +4 -3
- package/workflows/explore-usage.md +41 -81
- package/workflows/grill.md +11 -0
- package/workflows/milestone-audit.md +8 -0
- package/workflows/odyssey-base-codex.md +305 -0
- package/workflows/odyssey-base.md +89 -91
- package/workflows/plan.md +6 -0
|
@@ -15,40 +15,38 @@ allowed-tools:
|
|
|
15
15
|
<base>@~/.maestro/workflows/odyssey-base.md</base>
|
|
16
16
|
|
|
17
17
|
<purpose>
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
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 chain → lifecycle | Memory leaks |
|
|
32
|
+
| `race-condition` | timeline → concurrent access → lock analysis | Race conditions |
|
|
33
|
+
| `regression` | git bisect → diff analysis → boundary check | Regressions |
|
|
34
|
+
| `crash` | stack trace → null chain → error propagation | Crashes / exceptions |
|
|
36
35
|
</boundary>
|
|
37
36
|
|
|
38
37
|
<context>
|
|
39
|
-
$ARGUMENTS
|
|
38
|
+
$ARGUMENTS
|
|
40
39
|
|
|
41
|
-
**Flags:** `--skip-fix` analysis-only | `--skip-generalize` quick fix | `--template <name>`
|
|
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**:
|
|
42
|
+
**Session**: `.workflow/scratch/{YYYYMMDD}-debug-odyssey-{slug}/`
|
|
44
43
|
**Output**: `session.json` | `evidence.ndjson` | `explore.json` | `understanding.md`
|
|
45
44
|
|
|
46
|
-
**session.json
|
|
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
|
|
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
|
-
|
|
77
|
+
**Knowledge Persistence categories (§9):**
|
|
80
78
|
|
|
81
|
-
|
|
|
82
|
-
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
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
|
-
|
|
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 :
|
|
114
|
-
S_EXPLORE → S_DIAGNOSE :
|
|
107
|
+
S_ARCHAEOLOGY → S_EXPLORE : complete
|
|
108
|
+
S_EXPLORE → S_DIAGNOSE : complete
|
|
115
109
|
|
|
116
|
-
S_DIAGNOSE → S_FIX :
|
|
117
|
-
S_DIAGNOSE → S_GENERALIZE :
|
|
118
|
-
S_DIAGNOSE → S_RECORD :
|
|
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 →
|
|
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
|
|
131
|
-
S_DISCOVER → S_FIX : same-pattern bug
|
|
132
|
-
S_DISCOVER → S_RECORD :
|
|
133
|
-
S_DISCOVER → S_RECORD : loops >= max_loops → log
|
|
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 :
|
|
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
|
|
142
|
-
2.
|
|
143
|
-
3. Derive `phase_goals[]` from flags
|
|
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
|
-
|
|
140
|
+
Commit: `"odyssey-debug({slug}): INTAKE — parse target and load context"`
|
|
147
141
|
|
|
148
142
|
### A_RESUME_SESSION
|
|
149
|
-
|
|
143
|
+
Glob latest session → read `session.json` → jump to `current_state`.
|
|
150
144
|
|
|
151
145
|
### A_ARCHAEOLOGY
|
|
152
|
-
|
|
146
|
+
2 parallel Agents: Timeline (`git log --oneline -20 -- {files}`) + Blame (top 3 files `git blame -L {region}`). Evidence phase=archaeology.
|
|
153
147
|
|
|
154
|
-
|
|
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
|
|
155
|
+
Skip if no CLI tools (W006).
|
|
164
156
|
|
|
165
157
|
`maestro delegate --role explore --mode analysis` (`run_in_background: true`):
|
|
166
|
-
- PURPOSE:
|
|
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
|
-
|
|
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.
|
|
175
|
-
2. Test each
|
|
176
|
-
3.
|
|
177
|
-
4.
|
|
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
|
-
|
|
169
|
+
Commit: `"odyssey-debug({slug}): DIAGNOSE — root cause confirmed"`
|
|
180
170
|
|
|
181
171
|
### A_ESCALATE_DIAGNOSIS
|
|
182
|
-
|
|
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,
|
|
176
|
+
2. Implement fix, evidence phase=decision
|
|
187
177
|
|
|
188
|
-
|
|
178
|
+
Commit: `"odyssey-debug({slug}): FIX — {summary}"`
|
|
189
179
|
|
|
190
180
|
### A_CONFIRM
|
|
191
|
-
1. Run covering tests
|
|
192
|
-
2.
|
|
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.
|
|
195
|
-
4. Update §6. `needs_rework` → S_FIX. `confirmed` → mark G3
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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}
|
|
220
|
-
Scan hits: {total_hits} ({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}
|
|
224
|
-
Self-iter: {N}
|
|
225
|
-
Goals: {done}/{total}
|
|
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
|
-
###
|
|
214
|
+
### `-y` debug-specific points
|
|
236
215
|
|
|
237
|
-
|
|
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
|
-
|
|
241
|
-
|
|
242
|
-
|
|
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
|
|
272
|
-
| W001 | warning | No relevant git history | Proceed
|
|
273
|
-
| W002 | warning |
|
|
274
|
-
| W005 | warning | Pending decisions
|
|
275
|
-
| W006 | warning | CLI
|
|
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
|
|
280
|
-
- [ ]
|
|
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
|
|
283
|
-
- [ ] understanding.md
|
|
284
|
-
- [ ] Fix
|
|
285
|
-
- [ ]
|
|
286
|
-
- [ ] Discoveries classified
|
|
287
|
-
- [ ] phase_goals
|
|
288
|
-
- [ ] Completion summary
|
|
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
|
|
293
|
-
|
|
294
|
-
|
|
|
295
|
-
|
|
|
296
|
-
|
|
|
297
|
-
| Second opinion
|
|
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
|
-
|
|
|
265
|
+
| Pending decisions | Filter evidence phase=decision status=pending |
|
|
300
266
|
</next_step_routing>
|