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,21 +15,22 @@ allowed-tools:
|
|
|
15
15
|
<base>@~/.maestro/workflows/odyssey-base.md</base>
|
|
16
16
|
|
|
17
17
|
<purpose>
|
|
18
|
-
|
|
19
|
-
fix ALL findings → confirm → generalize → discover → persist. Zero-residual philosophy.
|
|
18
|
+
archaeology → explore → multi-dimensional review → fix ALL findings → confirm → generalize → discover → persist. Zero-residual: every finding gets an action.
|
|
20
19
|
</purpose>
|
|
21
20
|
|
|
22
21
|
<boundary>
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
**
|
|
22
|
+
**In scope:** Multi-dimensional deep review of target code → exhaustive fix ALL findings by severity → generalize patterns project-wide.
|
|
23
|
+
**Out of scope:** Root cause debug → `/odyssey-debug` | Feature implementation → `/odyssey-planex` | UI visual optimization → `/odyssey-ui`
|
|
24
|
+
|
|
25
|
+
**Exploration freedom:** Free within boundary — cross-dimension correlation, git history tracing, project-wide generalization scan. Fix ALL findings within fix_threshold (default: all).
|
|
26
|
+
**Zero-residual:** Every finding MUST have a concrete action (fix / issue / decision). "Report and shelve" and "pre-existing skip" are forbidden.
|
|
27
27
|
</boundary>
|
|
28
28
|
|
|
29
29
|
<context>
|
|
30
|
-
$ARGUMENTS
|
|
30
|
+
$ARGUMENTS
|
|
31
31
|
|
|
32
32
|
**Target resolution:**
|
|
33
|
+
|
|
33
34
|
| Input | Resolution |
|
|
34
35
|
|-------|-----------|
|
|
35
36
|
| File/dir path | Review those files |
|
|
@@ -37,157 +38,194 @@ $ARGUMENTS — target and optional flags.
|
|
|
37
38
|
| Phase number | state.json → changed files |
|
|
38
39
|
| PR number | `git diff main...HEAD` |
|
|
39
40
|
|
|
40
|
-
**Flags:**
|
|
41
|
-
| Flag | Effect | Default |
|
|
42
|
-
|------|--------|---------|
|
|
43
|
-
| `--dimensions` | Comma-separated subset | correctness,security,performance,architecture |
|
|
44
|
-
| `--fix-threshold` | 修复到哪个 severity 为止 | `all` |
|
|
45
|
-
| `--skip-fix` | Skip S_FIX + S_CONFIRM | false |
|
|
46
|
-
| `--skip-generalize` | Skip S_GENERALIZE + S_DISCOVER | false |
|
|
47
|
-
| `--auto` `-y` `-c` `--heartbeat` | CLI auto / auto-confirm / resume / heartbeat | false |
|
|
41
|
+
**Flags:** `--dimensions <list>` subset of review dimensions | `--fix-threshold <level>` severity cutoff (default: all) | `--skip-fix` skip S_FIX+S_CONFIRM | `--skip-generalize` skip S_GENERALIZE+S_DISCOVER | `--auto` no delegate confirmation | `-y` auto-confirm | `-c` resume | `--heartbeat` /loop heartbeat
|
|
48
42
|
|
|
49
43
|
**Session**: `.workflow/scratch/{YYYYMMDD}-review-odyssey-{slug}/`
|
|
50
|
-
**Output**: session.json
|
|
51
|
-
|
|
52
|
-
**
|
|
44
|
+
**Output**: `session.json` | `evidence.ndjson` | `explore.json` | `understanding.md`
|
|
45
|
+
|
|
46
|
+
**session.json — review-specific fields:**
|
|
47
|
+
```json
|
|
48
|
+
{ "target": "", "dimensions": [], "review_result": {"remaining_actionable": 0},
|
|
49
|
+
"patterns": [], "confirmation": null, "generalization_stats": null }
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**evidence.ndjson phases:** `archaeology|explore|review|fix|discovery|decision|self-iteration`
|
|
53
53
|
|
|
54
54
|
**phase_goals[]:**
|
|
55
|
-
|
|
55
|
+
|
|
56
|
+
| ID | Goal | done_when | phase | skip_when |
|
|
56
57
|
|----|------|-----------|-------|-----------|
|
|
57
58
|
| G1 | Review completed | all dimensions reviewed | S_REVIEW | — |
|
|
58
59
|
| G2 | Explore context | explore.json populated | S_EXPLORE | — |
|
|
59
60
|
| G3 | Zero remaining | `remaining_actionable == 0` | S_CONFIRM | skip_fix |
|
|
60
|
-
| G4 | Pattern generalized | patterns[]
|
|
61
|
+
| G4 | Pattern generalized | patterns[] >=1 | S_GENERALIZE | skip_generalize |
|
|
61
62
|
| G5 | Discoveries triaged | all hits classified | S_DISCOVER | skip_generalize |
|
|
62
63
|
| G6 | Learnings persisted | spec entries or no actionable | S_RECORD | — |
|
|
63
64
|
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
**understanding.md — 8 sections:**
|
|
66
|
+
1. Target & Scope ← S_INTAKE | 2. Archaeology ← S_ARCHAEOLOGY | 3. Exploration ← S_EXPLORE
|
|
67
|
+
4. Review Results ← S_REVIEW | 5. Fix & Confirmation ← S_FIX+S_CONFIRM
|
|
68
|
+
6. Generalization ← S_GENERALIZE | 7. Discoveries ← S_DISCOVER | 8. Learnings ← S_RECORD
|
|
69
|
+
|
|
70
|
+
Specs: `maestro load --type spec --category review`
|
|
71
|
+
|
|
72
|
+
**Knowledge Persistence categories (section 8):**
|
|
66
73
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
| 可复用泛化 pattern | `/spec-add coding "..."` |
|
|
74
|
+
| Category | Content | Follow-up |
|
|
75
|
+
|----------|---------|-----------|
|
|
76
|
+
| Cross-dimension recurring pattern | Pattern + affected dimensions + coding standard | `/spec-add review` |
|
|
77
|
+
| Security finding | Vulnerability type + triggers + fix approach | `/spec-add debug` |
|
|
78
|
+
| Architecture violation pattern | Violation + correct boundary + verification | `/spec-add arch` |
|
|
79
|
+
| Reusable generalization pattern | Signature + risk + fix template + scope | `/spec-add coding` |
|
|
74
80
|
</context>
|
|
75
81
|
|
|
82
|
+
<invariants>
|
|
83
|
+
All invariants defined in base.
|
|
84
|
+
</invariants>
|
|
85
|
+
|
|
76
86
|
<self_iteration>
|
|
77
|
-
|
|
87
|
+
Applies to: **S_ARCHAEOLOGY, S_EXPLORE, S_REVIEW, S_FIX, S_GENERALIZE**. Logic in base.
|
|
78
88
|
</self_iteration>
|
|
79
89
|
|
|
80
90
|
<state_machine>
|
|
91
|
+
|
|
81
92
|
<states>
|
|
82
93
|
S_INTAKE → S_ARCHAEOLOGY → S_EXPLORE → S_REVIEW → S_FIX → S_CONFIRM → S_GENERALIZE → S_DISCOVER → S_RECORD → END
|
|
83
|
-
Skip: --skip-fix skips S_FIX+S_CONFIRM | --skip-generalize skips S_GENERALIZE+S_DISCOVER
|
|
84
94
|
</states>
|
|
85
95
|
|
|
86
96
|
<transitions>
|
|
87
|
-
S_INTAKE
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
97
|
+
S_INTAKE → S_INTAKE : -c + session found → A_RESUME_SESSION
|
|
98
|
+
S_INTAKE → S_ARCHAEOLOGY : target resolved → A_INTAKE
|
|
99
|
+
S_INTAKE → S_INTAKE : no target → AskUserQuestion
|
|
100
|
+
|
|
101
|
+
S_ARCHAEOLOGY → S_EXPLORE : complete
|
|
102
|
+
S_EXPLORE → S_REVIEW : complete
|
|
103
|
+
|
|
104
|
+
S_REVIEW → S_FIX : !skip_fix AND findings
|
|
105
|
+
S_REVIEW → S_GENERALIZE : skip_fix OR no findings, !skip_generalize
|
|
106
|
+
S_REVIEW → S_RECORD : both skip
|
|
107
|
+
|
|
108
|
+
S_FIX → S_CONFIRM : tier complete
|
|
109
|
+
S_CONFIRM → S_GENERALIZE : confirmed, !skip_generalize
|
|
110
|
+
S_CONFIRM → S_RECORD : confirmed, skip_generalize
|
|
111
|
+
S_CONFIRM → S_FIX : needs_rework
|
|
112
|
+
|
|
113
|
+
S_GENERALIZE → S_DISCOVER : similar code found
|
|
114
|
+
S_GENERALIZE → S_RECORD : no similar code
|
|
115
|
+
|
|
116
|
+
S_DISCOVER → S_FIX : fixable sibling → cross_phase_loops++
|
|
117
|
+
S_DISCOVER → S_REVIEW : new target, loops < max_loops → cross_phase_loops++
|
|
118
|
+
S_DISCOVER → S_RECORD : remaining_actionable == 0 OR loops >= max_loops
|
|
92
119
|
</transitions>
|
|
93
120
|
|
|
94
121
|
<actions>
|
|
95
122
|
|
|
96
123
|
### A_INTAKE
|
|
97
|
-
Parse target + flags → file list. Create SESSION_DIR, derive phase_goals[]
|
|
98
|
-
|
|
124
|
+
1. Parse target + flags → file list. Create SESSION_DIR, derive phase_goals[]
|
|
125
|
+
2. `maestro search "<keywords>"` + Glob prior sessions + ARCHITECTURE.md + Grep keywords
|
|
126
|
+
3. Write `session.json` + `understanding.md` section 1, emit Goal Prompt
|
|
127
|
+
|
|
128
|
+
Commit: `"odyssey-review({slug}): INTAKE — parse target and load context"`
|
|
129
|
+
|
|
130
|
+
### A_RESUME_SESSION
|
|
131
|
+
Glob latest session → read `session.json` → jump to `current_state`.
|
|
99
132
|
|
|
100
133
|
### A_ARCHAEOLOGY
|
|
101
|
-
`git log --oneline -20
|
|
102
|
-
|
|
134
|
+
2 parallel Agents: Timeline (`git log --oneline -20 -- {files}`) + Blame (top 3 files `git blame -L {region}`). Evidence phase=archaeology.
|
|
135
|
+
|
|
136
|
+
`maestro delegate --role analyze --mode analysis` (`run_in_background: true`):
|
|
137
|
+
- PURPOSE: Review recent modifications related to {target}
|
|
138
|
+
- EXPECTED: JSON [{commit_sha, risk_level, analysis, could_cause_issue, explanation}]
|
|
139
|
+
|
|
140
|
+
Update section 2. Commit: `"odyssey-review({slug}): ARCHAEOLOGY — git history analysis"`
|
|
103
141
|
|
|
104
142
|
### A_EXPLORE
|
|
105
|
-
|
|
106
|
-
|
|
143
|
+
Skip if no CLI tools (W006).
|
|
144
|
+
|
|
145
|
+
`maestro delegate --role explore --mode analysis` (`run_in_background: true`):
|
|
146
|
+
- PURPOSE: Call chains, recent changes, error gaps, similar patterns
|
|
147
|
+
- EXPECTED: JSON {call_chains, recent_changes, error_gaps, similar_patterns}
|
|
148
|
+
|
|
149
|
+
Write `explore.json` + evidence phase=explore. Update section 3. Mark G2. Commit: `"odyssey-review({slug}): EXPLORE — codebase exploration"`
|
|
107
150
|
|
|
108
151
|
### A_REVIEW
|
|
109
|
-
Spawn N parallel Agents
|
|
152
|
+
Spawn N parallel Agents, one per dimension:
|
|
110
153
|
- **Correctness**: logic errors, boundary conditions, null/undefined, race conditions
|
|
111
154
|
- **Security**: injection, XSS, CSRF, data exposure, auth bypass
|
|
112
155
|
- **Performance**: hot paths, N+1, memory leaks, unnecessary recomputation
|
|
113
156
|
- **Architecture**: layer violations, circular deps, interface contracts, SoC
|
|
114
157
|
|
|
115
|
-
Each returns `[{title, severity, file, line, description, suggestion, cwe}]`. Merge → evidence
|
|
116
|
-
|
|
158
|
+
Each returns `[{title, severity, file, line, description, suggestion, cwe}]`. Merge → evidence phase=review. Write `review_result` + section 4 severity matrix. Mark G1.
|
|
159
|
+
|
|
160
|
+
Commit: `"odyssey-review({slug}): REVIEW — multi-dimension review complete"`
|
|
117
161
|
|
|
118
162
|
### A_FIX
|
|
119
|
-
|
|
163
|
+
Exhaustive iterative fix — descend by severity until `remaining_actionable == 0`.
|
|
120
164
|
|
|
121
165
|
```
|
|
122
166
|
for tier in [critical, high, medium, low].filter(>= threshold):
|
|
123
|
-
for each unfixed candidate: read
|
|
124
|
-
re-review modified area (
|
|
167
|
+
for each unfixed candidate: read +/-20 lines → fix → evidence phase=fix
|
|
168
|
+
re-review modified area (new findings → append, continue; max 2 per tier)
|
|
125
169
|
tier done → auto-commit
|
|
126
170
|
```
|
|
127
171
|
|
|
128
172
|
Normal: AskUserQuestion per tier. `-y`: auto-fix all.
|
|
129
173
|
Remaining > 0 → retry (no max_loops limit). Unchanged 2 rounds → classify each individually.
|
|
130
|
-
|
|
131
|
-
|
|
174
|
+
Blanket "pre-existing" forbidden.
|
|
175
|
+
|
|
176
|
+
Commit per tier: `"odyssey-review({slug}): FIX-{tier} — {N} items fixed"`
|
|
132
177
|
|
|
133
178
|
### A_CONFIRM
|
|
134
|
-
Run tests +
|
|
179
|
+
Run tests + `maestro delegate --role review --mode analysis` (`run_in_background: true`) for zero-residual review.
|
|
135
180
|
- `remaining == 0 AND new == 0` → confirmed, mark G3
|
|
136
181
|
- Otherwise → needs_rework → S_FIX
|
|
137
|
-
Update confirmation + remaining_actionable + §5.
|
|
138
|
-
📌 `"odyssey-review({slug}): CONFIRM — 零遗留验证"`
|
|
139
182
|
|
|
140
|
-
|
|
141
|
-
按 base A_GENERALIZE 执行。Pattern 来源: findings (severity >= medium)。Mark G4.
|
|
142
|
-
📌 `"odyssey-review({slug}): GENERALIZE — 泛化扫描完成"`
|
|
183
|
+
Update `confirmation` + `remaining_actionable` + section 5.
|
|
143
184
|
|
|
144
|
-
|
|
145
|
-
按 base A_DISCOVER 执行。Mark G5.
|
|
146
|
-
📌 `"odyssey-review({slug}): DISCOVER — 发现分类完成"`
|
|
185
|
+
Commit: `"odyssey-review({slug}): CONFIRM — zero-residual verified"`
|
|
147
186
|
|
|
148
|
-
### A_RECORD
|
|
149
|
-
|
|
187
|
+
### A_GENERALIZE, A_DISCOVER, A_RECORD
|
|
188
|
+
Base shared_actions. Review overrides:
|
|
189
|
+
- **A_GENERALIZE** pattern source: findings with severity >= medium
|
|
190
|
+
- **A_RECORD** learnings per Knowledge Persistence table
|
|
150
191
|
|
|
192
|
+
**Completion summary:**
|
|
151
193
|
```
|
|
152
194
|
--- REVIEW-TEST-FIX ODYSSEY COMPLETE ---
|
|
153
195
|
Target: {target} Dimensions: {dims}
|
|
154
196
|
Findings: {C}C {H}H {M}M {L}L Fix: {fixed}, confirmed={yes|skip}
|
|
155
197
|
Patterns: {N} ({by_layer}) Scan hits: {total} ({cross} cross-layer)
|
|
156
|
-
Issues:
|
|
157
|
-
|
|
198
|
+
Issues: {N} created
|
|
199
|
+
Decisions: {N} resolved, {M} pending, {K} deferred
|
|
200
|
+
Learnings: {N} persisted
|
|
201
|
+
Self-iter: {N} rounds across {M} stages
|
|
202
|
+
Goals: {done}/{total} ({skipped} skipped)
|
|
158
203
|
---
|
|
159
204
|
```
|
|
160
|
-
📌 `"odyssey-review({slug}): RECORD — 会话总结与知识沉淀"`
|
|
161
205
|
|
|
162
206
|
</actions>
|
|
163
207
|
|
|
164
208
|
<appendix>
|
|
165
209
|
|
|
166
|
-
###
|
|
167
|
-
```
|
|
168
|
-
📋 Review-Test-Fix Odyssey 会话已创建。可随时复制以下 /goal:
|
|
169
|
-
|
|
170
|
-
/goal 完成以下目标:
|
|
171
|
-
{for each G in phase_goals where status != "skipped":}
|
|
172
|
-
- {G.id}: {G.goal} — {G.done_when}
|
|
173
|
-
{end for}
|
|
174
|
-
穷尽迭代:review_result.remaining_actionable == 0 且 confirmation == confirmed 且 phase_goals_all_done。
|
|
175
|
-
修复按 severity 逐轮迭代,每轮 re-review 修改区域,新问题追加继续。
|
|
176
|
-
每个 finding 必须有 action(fix/issue/decision),decision pending 必须 AskUserQuestion。
|
|
177
|
-
```
|
|
210
|
+
### `-y` review-specific points
|
|
178
211
|
|
|
179
|
-
### `-y` (7 decision points)
|
|
180
212
|
| Decision Point | Normal | `-y` |
|
|
181
|
-
|
|
182
|
-
| S_FIX tier candidates | AskUserQuestion | auto-fix,
|
|
183
|
-
| S_FIX re-review new | AskUserQuestion | auto-append |
|
|
213
|
+
|---------------|--------|------|
|
|
214
|
+
| S_FIX tier candidates | AskUserQuestion | auto-fix, deferred |
|
|
215
|
+
| S_FIX re-review new findings | AskUserQuestion | auto-append |
|
|
184
216
|
| S_CONFIRM needs_rework | Display → S_FIX | auto proceed |
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
217
|
+
|
|
218
|
+
### Goal Prompt convergence rules
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
Stop when remaining_actionable == 0, confirmation == confirmed,
|
|
222
|
+
generalization exhausted, phase_goals_all_done=true.
|
|
223
|
+
Fix iterates by severity tier; each tier re-reviews modified area, new findings appended.
|
|
224
|
+
Every finding must have action (fix/issue/decision). Decision pending must AskUserQuestion.
|
|
225
|
+
```
|
|
189
226
|
|
|
190
227
|
</appendix>
|
|
228
|
+
|
|
191
229
|
</state_machine>
|
|
192
230
|
|
|
193
231
|
<error_codes>
|
|
@@ -200,17 +238,25 @@ Goals: {done}/{total} ({skipped} skipped)
|
|
|
200
238
|
</error_codes>
|
|
201
239
|
|
|
202
240
|
<success_criteria>
|
|
203
|
-
- [ ]
|
|
241
|
+
- [ ] Session + 4 output files + prior knowledge searched
|
|
242
|
+
- [ ] Archaeology + CLI review → evidence phase=archaeology
|
|
243
|
+
- [ ] CLI exploration → explore.json + evidence phase=explore
|
|
244
|
+
- [ ] All dimensions reviewed, ALL findings fixed (remaining_actionable == 0)
|
|
204
245
|
- [ ] Per-tier re-review gate; every unfixed finding individually classified
|
|
205
|
-
- [ ]
|
|
206
|
-
- [ ]
|
|
246
|
+
- [ ] understanding.md sections 1-8 progressive
|
|
247
|
+
- [ ] Fix + confirmed (unless --skip-fix)
|
|
248
|
+
- [ ] Generalization + scan (unless --skip-generalize)
|
|
249
|
+
- [ ] Discoveries classified; unfixed findings individually justified
|
|
250
|
+
- [ ] phase_goals G1-G6 audited, Goal Prompt once, `-y` no blocking, -c resumable
|
|
251
|
+
- [ ] Completion summary
|
|
207
252
|
</success_criteria>
|
|
208
253
|
|
|
209
254
|
<next_step_routing>
|
|
210
|
-
| Condition | Next
|
|
211
|
-
|
|
255
|
+
| Condition | Next |
|
|
256
|
+
|-----------|------|
|
|
212
257
|
| Deeper debug needed | `/odyssey-debug "<finding>"` |
|
|
213
258
|
| Issues created | `/manage-issue list --source review-odyssey` |
|
|
214
|
-
|
|
|
259
|
+
| Document pattern | `/learn-decompose <module>` |
|
|
215
260
|
| Plan fixes | `/maestro-plan --gaps` |
|
|
216
261
|
</next_step_routing>
|
|
262
|
+
</output>
|