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.
- 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/.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/.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/.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/tools/spec-loader.js +27 -19
- 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/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/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 +27 -19
- 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/package.json +1 -1
- package/workflows/odyssey-base-codex.md +306 -0
|
@@ -17,46 +17,42 @@ allowed-tools:
|
|
|
17
17
|
<base>@~/.maestro/workflows/odyssey-base.md</base>
|
|
18
18
|
|
|
19
19
|
<purpose>
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
survey → 6-dimension audit → divergent exploration → fix → verify → generalize → discover → persist.
|
|
21
|
+
Exhaustive iteration until all findings addressed or deferred.
|
|
22
22
|
</purpose>
|
|
23
23
|
|
|
24
24
|
<boundary>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
**
|
|
29
|
-
⚠️ **Decision gate** — ONLY these qualify as decisions (not fixes):
|
|
25
|
+
**In scope:** Target component/page visual experience optimization — audit 6 dimensions, divergent exploration, fix, generalize to sibling components.
|
|
26
|
+
**Out of scope:** Backend/data/API → `/odyssey-planex` | Deep bug investigation → `/odyssey-debug` | Code quality review → `/odyssey-review-test-fix`
|
|
27
|
+
|
|
28
|
+
**Decision gate** — ONLY these qualify as decisions:
|
|
30
29
|
- Brand/style direction requiring human creative judgment
|
|
31
30
|
- Layout restructuring that changes user flow significantly
|
|
32
31
|
- Requires new design tokens or breaking component API
|
|
33
|
-
❌ "Unsure how to fix", "Large scope", "Pre-existing issue" are NOT valid decision reasons — either fix it, or explain specifically why it's unfixable
|
|
34
32
|
</boundary>
|
|
35
33
|
|
|
36
34
|
<context>
|
|
37
|
-
$ARGUMENTS
|
|
35
|
+
$ARGUMENTS
|
|
38
36
|
|
|
39
37
|
**Target resolution:** Component path → audit component | Page/route → audit page | `staged`/`HEAD` → diff UI changes | Feature area → resolve to components/pages
|
|
40
38
|
|
|
41
|
-
**Flags:**
|
|
42
|
-
| Flag | Effect | Default |
|
|
43
|
-
|------|--------|---------|
|
|
44
|
-
| `--dimensions <list>` | Comma-separated subset of 6 dimensions | all 6 |
|
|
45
|
-
| `--fix-threshold <severity>` | 修复到哪个 severity 为止 | all |
|
|
46
|
-
| `--skip-fix` | Audit + diverge only, no code changes | false |
|
|
47
|
-
| `--skip-generalize` | Skip S_GENERALIZE and S_DISCOVER | false |
|
|
48
|
-
| `--auto` | CLI delegates without confirmation | false |
|
|
49
|
-
| `-y` | Auto-confirm all decisions (see appendix) | false |
|
|
50
|
-
| `-c` | Resume most recent session | — |
|
|
51
|
-
| `--heartbeat` | Enable heartbeat progress reporting | false |
|
|
39
|
+
**Flags:** `--dimensions <list>` dimension subset | `--fix-threshold <severity>` | `--skip-fix` audit+diverge only | `--skip-generalize` skip generalize+discover | `--auto` no delegate confirmation | `-y` auto-confirm | `-c` resume | `--heartbeat` /loop heartbeat
|
|
52
40
|
|
|
53
|
-
**Session**:
|
|
41
|
+
**Session**: `.workflow/scratch/{YYYYMMDD}-ui-odyssey-{slug}/`
|
|
42
|
+
**Output**: `session.json` | `evidence.ndjson` | `understanding.md`
|
|
54
43
|
|
|
55
|
-
**
|
|
44
|
+
**session.json — ui-specific fields:**
|
|
45
|
+
```json
|
|
46
|
+
{ "target": "", "dimensions": [],
|
|
47
|
+
"audit_result": { "dimensions_audited": 0, "finding_count": 0, "severity_distribution": {} },
|
|
48
|
+
"diverge_result": { "improvements_proposed": 0, "creative_ideas": 0 },
|
|
49
|
+
"patterns": [], "confirmation": null, "generalization_stats": null }
|
|
50
|
+
```
|
|
56
51
|
|
|
57
|
-
**
|
|
52
|
+
**evidence.ndjson phases:** `survey|audit|diverge|fix|discovery|decision|self-iteration`
|
|
58
53
|
|
|
59
54
|
**phase_goals[]:**
|
|
55
|
+
|
|
60
56
|
| ID | Goal | Phase | skip_when |
|
|
61
57
|
|----|------|-------|-----------|
|
|
62
58
|
| G1 | Survey completed | S_SURVEY | — |
|
|
@@ -67,89 +63,85 @@ $ARGUMENTS — target and optional flags.
|
|
|
67
63
|
| G6 | Discoveries triaged | S_DISCOVER | skip_generalize |
|
|
68
64
|
| G7 | Learnings persisted | S_RECORD | — |
|
|
69
65
|
|
|
70
|
-
**understanding.md
|
|
66
|
+
**understanding.md — 8 sections:**
|
|
67
|
+
1. Target & Design Context ← S_INTAKE | 2. Survey ← S_SURVEY | 3. Audit ← S_AUDIT
|
|
68
|
+
4. Diverge ← S_DIVERGE | 5. Verify ← S_VERIFY | 6. Generalize ← S_GENERALIZE
|
|
69
|
+
7. Discover ← S_DISCOVER | 8. Learnings ← S_RECORD
|
|
71
70
|
|
|
72
|
-
|
|
73
|
-
ARCHITECTURE.md | `maestro search "<target>" --json` (top 5) | `maestro load --type spec --category ui` | `maestro load --type spec --category coding` | `maestro search --category ui` → load knowhow | Glob prior sessions
|
|
71
|
+
**Knowledge Persistence categories (section 8):**
|
|
74
72
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
| 可复用泛化 pattern | pattern 签名 + 应用范围 | `/spec-add coding "..."` |
|
|
73
|
+
| Category | Content | Follow-up |
|
|
74
|
+
|----------|---------|-----------|
|
|
75
|
+
| Design pattern | Component pattern + applicable scenarios + token references | `/spec-add ui` |
|
|
76
|
+
| Interaction spec | State definitions + transition rules + feedback patterns | `/spec-add ui` |
|
|
77
|
+
| Accessibility rule | WCAG requirement + implementation approach | `/spec-add ui` |
|
|
78
|
+
| Reusable generalization pattern | Pattern signature + application scope | `/spec-add coding` |
|
|
82
79
|
</context>
|
|
83
80
|
|
|
81
|
+
<invariants>
|
|
82
|
+
1-5 in base. UI-specific:
|
|
83
|
+
6. **Browser is truth** — verify in real rendering, not just code review
|
|
84
|
+
7. **Diverge before converge** — explore creatively first, then implement methodically
|
|
85
|
+
</invariants>
|
|
86
|
+
|
|
84
87
|
<self_iteration>
|
|
85
|
-
|
|
88
|
+
Applies to: **S_SURVEY, S_AUDIT, S_DIVERGE, S_GENERALIZE**. Logic in base.
|
|
86
89
|
</self_iteration>
|
|
87
90
|
|
|
88
91
|
<state_machine>
|
|
89
92
|
|
|
90
93
|
<states>
|
|
91
|
-
S_INTAKE
|
|
92
|
-
S_SURVEY — Visual landscape: design tokens, pattern inventory PERSIST: evidence.ndjson (survey) + understanding.md §2
|
|
93
|
-
S_AUDIT — 6-dimension parallel review PERSIST: evidence.ndjson (audit) + understanding.md §3
|
|
94
|
-
S_DIVERGE — Divergent creative exploration: polish + delight PERSIST: evidence.ndjson (diverge) + understanding.md §4
|
|
95
|
-
S_FIX — Implement improvements (skip if --skip-fix) PERSIST: code changes + evidence.ndjson (fix)
|
|
96
|
-
S_VERIFY — Visual verification + test (skip if --skip-fix) PERSIST: session.json.confirmation + understanding.md §5
|
|
97
|
-
S_GENERALIZE — Pattern extraction + 4-agent scan (skip if --skip-gen) PERSIST: session.json.patterns + understanding.md §6
|
|
98
|
-
S_DISCOVER — Classify hits, create issues (skip if --skip-gen) PERSIST: evidence.ndjson (discovery|decision) + understanding.md §7
|
|
99
|
-
S_RECORD — Design knowledge persistence + final report PERSIST: understanding.md §8 + spec entries
|
|
94
|
+
S_INTAKE → S_SURVEY → S_AUDIT → S_DIVERGE → S_FIX → S_VERIFY → S_GENERALIZE → S_DISCOVER → S_RECORD → END
|
|
100
95
|
</states>
|
|
101
96
|
|
|
102
97
|
<transitions>
|
|
103
|
-
S_INTAKE:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
S_DIVERGE:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
S_VERIFY:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
S_DISCOVER → S_FIX : fixable sibling, !skip_fix → cross_phase_loops++
|
|
128
|
-
S_DISCOVER → S_RECORD : remaining_actionable == 0 OR loops >= max_loops (MUST log each unfixed item)
|
|
129
|
-
|
|
130
|
-
S_RECORD → END DO A_RECORD
|
|
98
|
+
S_INTAKE → S_INTAKE : -c + session found → A_RESUME
|
|
99
|
+
S_INTAKE → S_SURVEY : target resolved → A_INTAKE
|
|
100
|
+
S_INTAKE → S_INTAKE : no target → ask_question
|
|
101
|
+
|
|
102
|
+
S_SURVEY → S_AUDIT : complete
|
|
103
|
+
S_AUDIT → S_DIVERGE : complete
|
|
104
|
+
|
|
105
|
+
S_DIVERGE → S_FIX : !skip_fix AND actionable findings/ideas
|
|
106
|
+
S_DIVERGE → S_GENERALIZE : (skip_fix OR no actionable) AND !skip_generalize
|
|
107
|
+
S_DIVERGE → S_RECORD : (skip_fix OR no actionable) AND skip_generalize
|
|
108
|
+
|
|
109
|
+
S_FIX → S_VERIFY : fix implemented
|
|
110
|
+
S_VERIFY → S_GENERALIZE : verified, !skip_generalize
|
|
111
|
+
S_VERIFY → S_RECORD : verified, skip_generalize
|
|
112
|
+
S_VERIFY → S_FIX : needs_rework
|
|
113
|
+
|
|
114
|
+
S_GENERALIZE → S_DISCOVER : similar code found
|
|
115
|
+
S_GENERALIZE → S_RECORD : no similar code
|
|
116
|
+
|
|
117
|
+
S_DISCOVER → S_AUDIT : new component to audit → cross_phase_loops++
|
|
118
|
+
S_DISCOVER → S_FIX : fixable sibling, !skip_fix → cross_phase_loops++
|
|
119
|
+
S_DISCOVER → S_RECORD : remaining_actionable == 0 OR loops >= max_loops → log per-item reasons
|
|
120
|
+
|
|
121
|
+
S_RECORD → END : complete
|
|
131
122
|
</transitions>
|
|
132
123
|
|
|
133
124
|
<actions>
|
|
134
125
|
|
|
135
126
|
### A_INTAKE
|
|
136
127
|
1. Parse arguments: target, flags, `--dimensions` subset
|
|
137
|
-
2. Generate slug, create
|
|
138
|
-
3.
|
|
139
|
-
4. Derive `phase_goals[]` from flags
|
|
140
|
-
5. Write `session.json` + `understanding.md`
|
|
141
|
-
|
|
142
|
-
|
|
128
|
+
2. Generate slug, create SESSION_DIR
|
|
129
|
+
3. `maestro search` + Glob prior sessions + ARCHITECTURE.md + spec load ui/coding
|
|
130
|
+
4. Derive `phase_goals[]` from flags
|
|
131
|
+
5. Write `session.json` + `understanding.md` section 1, emit Goal Prompt
|
|
132
|
+
|
|
133
|
+
Commit: `"odyssey-ui({slug}): INTAKE — parse target and load context"`
|
|
143
134
|
|
|
144
135
|
### A_RESUME
|
|
145
|
-
|
|
136
|
+
Glob latest session → read `session.json` → jump to `current_state`.
|
|
146
137
|
|
|
147
138
|
### A_SURVEY
|
|
148
139
|
1. **Design system inventory**: Scan for design tokens, CSS variables, theme imports
|
|
149
140
|
2. **Current state analysis**: Styling patterns, layout strategy, component hierarchy
|
|
150
|
-
3. **CLI-assisted
|
|
151
|
-
4. Append evidence
|
|
152
|
-
|
|
141
|
+
3. **CLI-assisted**: `maestro delegate --role analyze` — survey tokens, spacing, typography, hierarchy, consistency
|
|
142
|
+
4. Append evidence phase=survey. Update section 2. Mark G1.
|
|
143
|
+
|
|
144
|
+
Commit: `"odyssey-ui({slug}): SURVEY — design token inventory"`
|
|
153
145
|
|
|
154
146
|
### A_AUDIT
|
|
155
147
|
Spawn 6 parallel Agents (one per dimension, or `--dimensions` subset):
|
|
@@ -164,8 +156,9 @@ Spawn 6 parallel Agents (one per dimension, or `--dimensions` subset):
|
|
|
164
156
|
| edge_cases | Long text truncation, empty data, error states, extreme values, i18n, RTL |
|
|
165
157
|
|
|
166
158
|
Each returns `[{title, severity, file, line, description, suggestion, dimension}]`.
|
|
167
|
-
Merge → evidence
|
|
168
|
-
|
|
159
|
+
Merge → evidence phase=audit. Write `audit_result`. Update section 3 with severity matrix. Mark G2.
|
|
160
|
+
|
|
161
|
+
Commit: `"odyssey-ui({slug}): AUDIT — 6-dimension review"`
|
|
169
162
|
|
|
170
163
|
### A_DIVERGE
|
|
171
164
|
Goes beyond defect fixing — "what would make this delightful?"
|
|
@@ -176,80 +169,67 @@ Goes beyond defect fixing — "what would make this delightful?"
|
|
|
176
169
|
|
|
177
170
|
Each returns `[{idea, category (polish|delight), impact, effort, description, inspiration}]`
|
|
178
171
|
|
|
179
|
-
**Step 2 — CLI-assisted
|
|
172
|
+
**Step 2 — CLI-assisted**: `maestro delegate --role analyze` — polish opportunities, micro-interactions, visual rhythm, delight moments
|
|
180
173
|
|
|
181
174
|
**Step 3 — Consolidate**: Merge audit findings + divergent ideas → prioritized list (severity x impact x effort).
|
|
182
|
-
Append evidence
|
|
183
|
-
|
|
175
|
+
Append evidence phase=diverge. Update section 4. Mark G3.
|
|
176
|
+
|
|
177
|
+
Commit: `"odyssey-ui({slug}): DIVERGE — creative exploration"`
|
|
184
178
|
|
|
185
179
|
### A_FIX
|
|
186
180
|
Skip if `--skip-fix`.
|
|
187
|
-
1.
|
|
188
|
-
2. Each fix → evidence
|
|
189
|
-
3.
|
|
190
|
-
|
|
181
|
+
1. **Exhaustive fix**: ALL findings/ideas by priority tier (critical → high → medium → low + high-impact ideas). After each tier, re-review — new findings append.
|
|
182
|
+
2. Each fix → evidence phase=fix
|
|
183
|
+
3. Normal: ask_question per-fix | `-y`: auto-proceed, record `deferred`
|
|
184
|
+
|
|
185
|
+
Commit: `"odyssey-ui({slug}): FIX — implement improvements"`
|
|
191
186
|
|
|
192
187
|
### A_VERIFY
|
|
193
188
|
1. Run tests (lint, unit, visual regression)
|
|
194
|
-
2.
|
|
195
|
-
3. `needs_rework` → S_FIX. `verified` → mark G4
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
### A_RECORD
|
|
207
|
-
1. Finalize §8: 按 Knowledge Persistence 表分类记录,completion summary 列出建议的 `/spec-add` 命令
|
|
208
|
-
2. Pending decisions: **Normal** → ask_question. **`-y`** → skip, show deferred count
|
|
209
|
-
3. Goal audit: all confirmed → `phase_goals_all_done = true`. **Normal** → ask_question | **`-y`** → auto accept
|
|
210
|
-
4. Mark G7 done. Emit completion summary:
|
|
189
|
+
2. `maestro delegate --role review` — visual correctness, interaction states, accessibility, responsive
|
|
190
|
+
3. `needs_rework` → S_FIX. `verified` → mark G4. Update section 5, write `confirmation`.
|
|
191
|
+
|
|
192
|
+
Commit: `"odyssey-ui({slug}): VERIFY — visual verification"`
|
|
193
|
+
|
|
194
|
+
### A_GENERALIZE, A_DISCOVER, A_RECORD
|
|
195
|
+
Base shared_actions. UI overrides:
|
|
196
|
+
- **A_GENERALIZE** pattern source: audit findings + diverge ideas (severity >= medium OR impact = high)
|
|
197
|
+
- **A_RECORD** learnings per Knowledge Persistence table
|
|
198
|
+
|
|
199
|
+
**Completion summary:**
|
|
211
200
|
```
|
|
212
201
|
--- UI ODYSSEY COMPLETE ---
|
|
213
|
-
Target:
|
|
214
|
-
Findings:
|
|
215
|
-
Fix:
|
|
216
|
-
Patterns:
|
|
217
|
-
|
|
218
|
-
|
|
202
|
+
Target: {target} | Dimensions: {dimensions_audited}
|
|
203
|
+
Findings: {C}C {H}H {M}M {L}L | Diverge: {improvements} polish + {creative} delight
|
|
204
|
+
Fix: {fixed_count} applied, verified={yes|skipped}
|
|
205
|
+
Patterns: {extracted} ({by_layer})
|
|
206
|
+
Scan hits: {total} ({cross_layer} cross-layer)
|
|
207
|
+
Issues: {N} created
|
|
208
|
+
Decisions: {N} resolved, {M} pending, {K} deferred
|
|
209
|
+
Learnings: {N} persisted
|
|
210
|
+
Self-iter: {N} rounds
|
|
211
|
+
Goals: {done}/{total} ({skipped} skipped)
|
|
219
212
|
---
|
|
220
213
|
```
|
|
221
|
-
📌 `git commit -m "odyssey-ui({slug}): RECORD — 会话总结"`
|
|
222
214
|
|
|
223
215
|
</actions>
|
|
224
216
|
|
|
225
217
|
<appendix>
|
|
226
218
|
|
|
227
|
-
###
|
|
228
|
-
**⚠️ 仅在 A_INTAKE 完成后显示一次。A_RECORD 完成时禁止重新显示。**
|
|
219
|
+
### `-y` ui-specific points
|
|
229
220
|
|
|
230
|
-
```
|
|
231
|
-
📋 UI Odyssey 会话已创建。可随时复制以下 /goal 设定终止条件:
|
|
232
|
-
|
|
233
|
-
/goal 完成以下目标:
|
|
234
|
-
{for each G in phase_goals where status != "skipped":}
|
|
235
|
-
- {G.id}: {G.goal} — 完成条件: {G.done_when}
|
|
236
|
-
{end for}
|
|
237
|
-
穷尽迭代:直到 audit + diverge findings 均已处理(fix/issue/decision)
|
|
238
|
-
且 phase_goals_all_done=true 才停。修复按 impact×severity 逐轮迭代。
|
|
239
|
-
每轮修复后重审修改区域,新发现追加继续修。
|
|
240
|
-
遇到 phase=decision 的 pending 必须 ask_question。不允许"只报告不处理"。
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
### `-y` Auto-Confirm (5 decision points)
|
|
244
221
|
| Decision Point | Normal | `-y` |
|
|
245
|
-
|
|
246
|
-
| A_FIX improvement confirmation | ask_question | auto-proceed,
|
|
247
|
-
| A_DISCOVER hit routing | ask_question | auto create issue, `deferred` |
|
|
248
|
-
| A_DISCOVER ambiguous items | ask_question | all `deferred` |
|
|
249
|
-
| A_RECORD pending decisions | ask_question | skip, show deferred count |
|
|
250
|
-
| A_RECORD goal audit | ask_question | auto accept |
|
|
222
|
+
|---------------|--------|------|
|
|
223
|
+
| A_FIX improvement confirmation | ask_question | auto-proceed, deferred |
|
|
251
224
|
|
|
252
|
-
|
|
225
|
+
### Goal Prompt convergence rules
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
Stop when audit + diverge findings all addressed (fix/issue/decision),
|
|
229
|
+
phase_goals_all_done=true. Fix by impact x severity per tier.
|
|
230
|
+
Re-review after each tier — new findings append and continue.
|
|
231
|
+
Pending decisions must ask_question — no self-resolve.
|
|
232
|
+
```
|
|
253
233
|
|
|
254
234
|
</appendix>
|
|
255
235
|
|
|
@@ -269,15 +249,15 @@ Learnings: {N} entries | Self-iter: {N} rounds | Goals: {done}/{total} ({skipped
|
|
|
269
249
|
- [ ] Improvements implemented and verified (unless --skip-fix)
|
|
270
250
|
- [ ] Multi-layer generalization + discoveries classified (unless --skip-generalize)
|
|
271
251
|
- [ ] Every unfixed finding has individual classification and reason
|
|
272
|
-
- [ ] understanding.md
|
|
252
|
+
- [ ] understanding.md section 8 finalized; phase_goals G1-G7 tracked; `-y` no blocking prompts
|
|
273
253
|
</success_criteria>
|
|
274
254
|
|
|
275
255
|
<next_step_routing>
|
|
276
|
-
| Condition | Next
|
|
277
|
-
|
|
256
|
+
| Condition | Next |
|
|
257
|
+
|-----------|------|
|
|
278
258
|
| Finding needs deeper debug | `/odyssey-debug "<finding>"` |
|
|
279
|
-
| Issues
|
|
280
|
-
| Design pattern
|
|
281
|
-
|
|
|
259
|
+
| Issues from discoveries | `/manage-issue list --source ui-odyssey` |
|
|
260
|
+
| Design pattern to document | `/spec-add ui "..."` |
|
|
261
|
+
| Full review of changes | `/odyssey-review-test-fix <changed-files>` |
|
|
282
262
|
| Sibling components to polish | `/odyssey-ui "<sibling>"` |
|
|
283
263
|
</next_step_routing>
|