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
|
@@ -1,86 +1,73 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: odyssey-ui
|
|
3
|
-
description: "Long-running UI optimization cycle — visual survey, multi-dimensional audit, divergent exploration, fix, verify, generalize, and design knowledge persistence"
|
|
3
|
+
description: "Long-running UI optimization cycle — visual survey, multi-dimensional audit, divergent exploration, fix, verify, generalize, discover, and design knowledge persistence"
|
|
4
4
|
argument-hint: '"<target>" [--dimensions <list>] [--skip-fix] [--skip-generalize] [--auto] [-y] [-c] [--heartbeat]'
|
|
5
5
|
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
<base>@~/.maestro/workflows/odyssey-base.md</base>
|
|
8
|
+
<base>@~/.maestro/workflows/odyssey-base-codex.md</base>
|
|
9
9
|
|
|
10
10
|
<purpose>
|
|
11
|
-
|
|
12
|
-
fix
|
|
13
|
-
|
|
14
|
-
Core philosophy:
|
|
15
|
-
- **Every pixel tells a story** — subtle details create the experience
|
|
16
|
-
- **Diverge before converge** — explore creatively, then implement methodically
|
|
17
|
-
- **Find one, polish all** — a single improvement reveals a class of opportunities
|
|
18
|
-
- **Browser is truth** — verify in real rendering, not just code
|
|
19
|
-
|
|
20
|
-
**三句哲学约束(穷尽迭代):**
|
|
21
|
-
1. **零遗留** — 每个 finding/idea 必须是 action item(修复 / issue / 决策),不允许只报告不处理
|
|
22
|
-
2. **穷尽迭代** — 按 impact×severity 递降逐轮修复,直到 0 remaining actionable 才退出 fix loop
|
|
23
|
-
3. **改进即标准** — 每次修复后重审同区域,发现新视觉问题继续修,直到该区域无可改善
|
|
11
|
+
survey -> 6-dimension audit -> divergent creative exploration ->
|
|
12
|
+
fix -> verify -> generalize -> discover -> persist.
|
|
13
|
+
Exhaustive iteration until all findings addressed or deferred.
|
|
24
14
|
</purpose>
|
|
25
15
|
|
|
26
16
|
<boundary>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
17
|
+
**In scope:** Target component/page visual experience optimization -- audit 6 dimensions -> divergent exploration -> fix -> generalize to sibling components.
|
|
18
|
+
**Out of scope:** Backend logic / data model / API design -> `$odyssey-planex` | Deep bug investigation -> `$odyssey-debug` | Code quality review -> `$odyssey-review-test-fix`
|
|
19
|
+
|
|
20
|
+
**Exploration freedom:** Maximum freedom within boundary -- S_DIVERGE encourages divergent thinking with no creative ceiling. Audit + diverge may discover any visual/interaction/accessibility detail.
|
|
21
|
+
**Zero-residual:** Every finding/idea MUST have a concrete action (fix / issue / decision). "Pre-existing design debt" is not a valid skip reason.
|
|
22
|
+
|
|
23
|
+
**Decision gate** -- ONLY these qualify as decisions (not fixes):
|
|
24
|
+
- Brand/style direction requiring human creative judgment
|
|
25
|
+
- Layout restructuring that changes user flow significantly
|
|
26
|
+
- Requires new design tokens or breaking component API
|
|
36
27
|
</boundary>
|
|
37
28
|
|
|
38
29
|
<context>
|
|
39
|
-
$ARGUMENTS
|
|
30
|
+
$ARGUMENTS
|
|
40
31
|
|
|
41
|
-
**Target resolution:** Component path
|
|
32
|
+
**Target resolution:** Component path -> audit component | Page/route -> audit page | `staged`/`HEAD` -> diff UI changes | Feature area -> resolve to components/pages
|
|
42
33
|
|
|
43
|
-
**Flags:**
|
|
44
|
-
| Flag | Effect | Default |
|
|
45
|
-
|------|--------|---------|
|
|
46
|
-
| `--dimensions <list>` | Comma-separated subset of 6 dimensions | all 6 |
|
|
47
|
-
| `--fix-threshold <severity>` | 修复到哪个 severity 为止 | all |
|
|
48
|
-
| `--skip-fix` | Audit + diverge only, no code changes | false |
|
|
49
|
-
| `--skip-generalize` | Skip S_GENERALIZE and S_DISCOVER | false |
|
|
50
|
-
| `--auto` | CLI delegates without confirmation | false |
|
|
51
|
-
| `-y` | Auto-confirm all decisions (see appendix) | false |
|
|
52
|
-
| `-c` | Resume most recent session | — |
|
|
53
|
-
| `--heartbeat` | Enable heartbeat progress reporting | false |
|
|
34
|
+
**Flags:** `--dimensions <list>` subset of 6 dims | `--fix-threshold <severity>` | `--skip-fix` audit+diverge only | `--skip-generalize` skip S_GENERALIZE+S_DISCOVER | `--auto` no delegate confirmation | `-y` auto-confirm | `-c` resume | `--heartbeat` /loop heartbeat
|
|
54
35
|
|
|
55
|
-
**Session**:
|
|
36
|
+
**Session**: `.workflow/scratch/{YYYYMMDD}-ui-odyssey-{slug}/`
|
|
37
|
+
**Output**: `session.json` | `evidence.ndjson` | `understanding.md`
|
|
56
38
|
|
|
57
|
-
**
|
|
39
|
+
**session.json -- ui-specific fields:**
|
|
40
|
+
```json
|
|
41
|
+
{ "target": "", "dimensions": [], "audit_result": null, "diverge_result": null,
|
|
42
|
+
"patterns": [], "confirmation": null, "generalization_stats": null }
|
|
43
|
+
```
|
|
58
44
|
|
|
59
|
-
**
|
|
45
|
+
**evidence.ndjson phases:** `survey|audit|diverge|fix|discovery|decision|self-iteration`
|
|
60
46
|
|
|
61
47
|
**phase_goals[]:**
|
|
48
|
+
|
|
62
49
|
| ID | Goal | Phase | skip_when |
|
|
63
50
|
|----|------|-------|-----------|
|
|
64
|
-
| G1 | Survey completed | S_SURVEY |
|
|
65
|
-
| G2 | Audit completed | S_AUDIT |
|
|
66
|
-
| G3 | Divergent exploration done | S_DIVERGE |
|
|
51
|
+
| G1 | Survey completed | S_SURVEY | -- |
|
|
52
|
+
| G2 | Audit completed | S_AUDIT | -- |
|
|
53
|
+
| G3 | Divergent exploration done | S_DIVERGE | -- |
|
|
67
54
|
| G4 | Zero remaining: all findings/ideas fixed and verified | S_VERIFY | skip_fix |
|
|
68
55
|
| G5 | Pattern generalized | S_GENERALIZE | skip_generalize |
|
|
69
56
|
| G6 | Discoveries triaged | S_DISCOVER | skip_generalize |
|
|
70
|
-
| G7 | Learnings persisted | S_RECORD |
|
|
57
|
+
| G7 | Learnings persisted | S_RECORD | -- |
|
|
71
58
|
|
|
72
|
-
**understanding.md
|
|
59
|
+
**understanding.md -- 8 sections:**
|
|
60
|
+
1. Target & Design Context <- S_INTAKE | 2. Survey <- S_SURVEY | 3. Audit <- S_AUDIT | 4. Diverge <- S_DIVERGE
|
|
61
|
+
5. Verify <- S_VERIFY | 6. Generalize <- S_GENERALIZE | 7. Discover <- S_DISCOVER | 8. Learnings <- S_RECORD
|
|
73
62
|
|
|
74
|
-
|
|
75
|
-
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
|
|
63
|
+
**Knowledge Persistence (S_RECORD writes understanding.md section 8):**
|
|
76
64
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
| 可复用泛化 pattern | pattern 签名 + 应用范围 | `/spec-add coding "..."` |
|
|
65
|
+
| Category | Content | Follow-up |
|
|
66
|
+
|----------|---------|-----------|
|
|
67
|
+
| Design pattern | Component pattern + applicable scenarios + token references | `/spec-add ui "..."` |
|
|
68
|
+
| Interaction spec | State definitions + transition rules + feedback patterns | `/spec-add ui "..."` |
|
|
69
|
+
| Accessibility rules | WCAG requirements + implementation approach | `/spec-add ui "..."` |
|
|
70
|
+
| Reusable generalization pattern | Pattern signature + application scope | `/spec-add coding "..."` |
|
|
84
71
|
</context>
|
|
85
72
|
|
|
86
73
|
<csv_schema>
|
|
@@ -116,68 +103,62 @@ id,title,description,task_type,dimension,deps,wave,status,findings,evidence,erro
|
|
|
116
103
|
| 4 | Generalization (syntax-grep, semantic-scan, structural-match, historical-grep) | 4 agents |
|
|
117
104
|
</csv_schema>
|
|
118
105
|
|
|
106
|
+
<invariants>
|
|
107
|
+
1-5: See base (evidence append-only, session is state, phase goal tracking, auto-commit, zero silent drops).
|
|
108
|
+
6. **Browser is truth** -- verify in real rendering, not just code review
|
|
109
|
+
7. **Diverge before converge** -- explore creatively first, then implement methodically
|
|
110
|
+
</invariants>
|
|
111
|
+
|
|
119
112
|
<self_iteration>
|
|
120
|
-
|
|
113
|
+
Applies to: **S_SURVEY, S_AUDIT, S_DIVERGE, S_GENERALIZE**. Logic in base.
|
|
121
114
|
</self_iteration>
|
|
122
115
|
|
|
123
116
|
<state_machine>
|
|
124
117
|
|
|
125
118
|
<states>
|
|
126
|
-
S_INTAKE
|
|
127
|
-
S_SURVEY — Visual landscape: design tokens, pattern inventory PERSIST: evidence.ndjson (survey) + understanding.md §2
|
|
128
|
-
S_AUDIT — 6-dimension parallel review PERSIST: evidence.ndjson (audit) + understanding.md §3
|
|
129
|
-
S_DIVERGE — Divergent creative exploration: polish + delight PERSIST: evidence.ndjson (diverge) + understanding.md §4
|
|
130
|
-
S_FIX — Implement improvements (skip if --skip-fix) PERSIST: code changes + evidence.ndjson (fix)
|
|
131
|
-
S_VERIFY — Visual verification + test (skip if --skip-fix) PERSIST: session.json.confirmation + understanding.md §5
|
|
132
|
-
S_GENERALIZE — Pattern extraction + 4-agent scan (skip if --skip-gen) PERSIST: session.json.patterns + understanding.md §6
|
|
133
|
-
S_DISCOVER — Classify hits, create issues (skip if --skip-gen) PERSIST: evidence.ndjson (discovery|decision) + understanding.md §7
|
|
134
|
-
S_RECORD — Design knowledge persistence + final report PERSIST: understanding.md §8 + spec entries
|
|
119
|
+
S_INTAKE -> S_SURVEY -> S_AUDIT -> S_DIVERGE -> S_FIX -> S_VERIFY -> S_GENERALIZE -> S_DISCOVER -> S_RECORD -> END
|
|
135
120
|
</states>
|
|
136
121
|
|
|
137
122
|
<transitions>
|
|
138
|
-
S_INTAKE:
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
S_DIVERGE:
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
S_VERIFY:
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
S_DISCOVER → S_FIX : fixable sibling, !skip_fix → cross_phase_loops++
|
|
163
|
-
S_DISCOVER → S_RECORD : remaining_actionable == 0 OR loops >= max_loops (MUST log each unfixed item)
|
|
164
|
-
|
|
165
|
-
S_RECORD → END DO A_RECORD
|
|
123
|
+
S_INTAKE -> S_INTAKE : -c + session found -> A_RESUME
|
|
124
|
+
S_INTAKE -> S_SURVEY : target resolved -> A_INTAKE
|
|
125
|
+
S_INTAKE -> S_INTAKE : no target -> request_user_input
|
|
126
|
+
|
|
127
|
+
S_SURVEY -> S_AUDIT : complete
|
|
128
|
+
S_AUDIT -> S_DIVERGE : complete
|
|
129
|
+
|
|
130
|
+
S_DIVERGE -> S_FIX : !skip_fix AND actionable findings/ideas
|
|
131
|
+
S_DIVERGE -> S_GENERALIZE : (skip_fix OR no actionable) AND !skip_gen
|
|
132
|
+
S_DIVERGE -> S_RECORD : (skip_fix OR no actionable) AND skip_gen
|
|
133
|
+
|
|
134
|
+
S_FIX -> S_VERIFY : fix implemented
|
|
135
|
+
S_VERIFY -> S_GENERALIZE : verified AND !skip_gen
|
|
136
|
+
S_VERIFY -> S_RECORD : verified AND skip_gen
|
|
137
|
+
S_VERIFY -> S_FIX : needs_rework
|
|
138
|
+
|
|
139
|
+
S_GENERALIZE -> S_DISCOVER : hits found
|
|
140
|
+
S_GENERALIZE -> S_RECORD : no hits
|
|
141
|
+
|
|
142
|
+
S_DISCOVER -> S_AUDIT : new component to audit -> cross_phase_loops++
|
|
143
|
+
S_DISCOVER -> S_FIX : fixable sibling, !skip_fix -> cross_phase_loops++
|
|
144
|
+
S_DISCOVER -> S_RECORD : remaining_actionable == 0 OR loops >= max_loops (log per-item reasons)
|
|
145
|
+
|
|
146
|
+
S_RECORD -> END : complete
|
|
166
147
|
</transitions>
|
|
167
148
|
|
|
168
149
|
<actions>
|
|
169
150
|
|
|
170
151
|
### A_INTAKE
|
|
171
152
|
1. Parse arguments: target, flags, `--dimensions` subset
|
|
172
|
-
2. Generate slug, create
|
|
173
|
-
3.
|
|
153
|
+
2. Generate slug, create SESSION_DIR
|
|
154
|
+
3. `maestro search` + Glob prior sessions + ARCHITECTURE.md + spec load ui/coding
|
|
174
155
|
4. Derive `phase_goals[]` from flags (apply `skip_when`)
|
|
175
|
-
5. Write `session.json` + `understanding.md`
|
|
176
|
-
|
|
177
|
-
|
|
156
|
+
5. Write `session.json` + `understanding.md` section 1, emit Goal Prompt
|
|
157
|
+
|
|
158
|
+
Commit: `"odyssey-ui({slug}): INTAKE -- target parsed"`
|
|
178
159
|
|
|
179
160
|
### A_RESUME
|
|
180
|
-
|
|
161
|
+
Glob latest session -> read `session.json` -> jump to `current_state`.
|
|
181
162
|
|
|
182
163
|
### A_SURVEY
|
|
183
164
|
**spawn_agents_on_csv (Wave 1):**
|
|
@@ -189,11 +170,11 @@ Write `tasks.csv` with Wave 1 rows:
|
|
|
189
170
|
```
|
|
190
171
|
`spawn_agents_on_csv({ csv_path:"tasks.csv", max_concurrency:2, max_runtime_seconds:300, output_csv_path:"wave-1-results.csv", output_schema:SHARED_OUTPUT_SCHEMA })`
|
|
191
172
|
|
|
192
|
-
Merge
|
|
193
|
-
|
|
173
|
+
Merge -> evidence (phase: "survey"). Update section 2. Mark G1 done.
|
|
174
|
+
Commit: `"odyssey-ui({slug}): SURVEY -- visual landscape"`
|
|
194
175
|
|
|
195
176
|
### A_AUDIT
|
|
196
|
-
**spawn_agents_on_csv (Wave 2)**
|
|
177
|
+
**spawn_agents_on_csv (Wave 2)** -- 6 agents (one per dimension, or `--dimensions` subset):
|
|
197
178
|
|
|
198
179
|
Append Wave 2 rows to `tasks.csv`:
|
|
199
180
|
```csv
|
|
@@ -207,11 +188,11 @@ Append Wave 2 rows to `tasks.csv`:
|
|
|
207
188
|
`spawn_agents_on_csv({ csv_path:"tasks.csv", max_concurrency:6, max_runtime_seconds:600, output_csv_path:"wave-2-results.csv", output_schema:SHARED_OUTPUT_SCHEMA })`
|
|
208
189
|
|
|
209
190
|
Each returns `[{title, severity, file, line, description, suggestion, dimension}]`.
|
|
210
|
-
Merge
|
|
211
|
-
|
|
191
|
+
Merge -> evidence (phase: "audit"). Write `audit_result` with dimensions, finding count, severity distribution. Update section 3 (severity matrix). Mark G2 done.
|
|
192
|
+
Commit: `"odyssey-ui({slug}): AUDIT -- 6-dimension review"`
|
|
212
193
|
|
|
213
194
|
### A_DIVERGE
|
|
214
|
-
**spawn_agents_on_csv (Wave 3)**
|
|
195
|
+
**spawn_agents_on_csv (Wave 3)** -- 2 agents:
|
|
215
196
|
|
|
216
197
|
Append Wave 3 rows to `tasks.csv`:
|
|
217
198
|
```csv
|
|
@@ -231,36 +212,28 @@ CONSTRAINTS: User-perceptible improvements only
|
|
|
231
212
|
```
|
|
232
213
|
Execute with `run_in_background: true`, then wait for callback.
|
|
233
214
|
|
|
234
|
-
Consolidate: audit findings + divergent ideas
|
|
235
|
-
|
|
215
|
+
Consolidate: audit findings + divergent ideas -> prioritized improvement list (impact/effort matrix). Write `diverge_result`. Append evidence (phase: "diverge"). Update section 4. Mark G3 done.
|
|
216
|
+
Commit: `"odyssey-ui({slug}): DIVERGE -- creative exploration"`
|
|
236
217
|
|
|
237
218
|
### A_FIX
|
|
238
219
|
Skip if `--skip-fix`.
|
|
239
|
-
1.
|
|
240
|
-
2. Each fix
|
|
241
|
-
3.
|
|
242
|
-
|
|
220
|
+
1. **Exhaustive fix**: ALL findings/ideas by priority tier (critical->high->medium->low + high-impact ideas). After each tier, re-review -- new findings append.
|
|
221
|
+
2. Each fix -> evidence (phase: "fix")
|
|
222
|
+
3. Normal: request_user_input per-fix. `-y`: auto-proceed, record `deferred`.
|
|
223
|
+
|
|
224
|
+
Commit: `"odyssey-ui({slug}): FIX -- improvements applied"`
|
|
243
225
|
|
|
244
226
|
### A_VERIFY
|
|
245
227
|
1. Run tests (lint, unit, visual regression)
|
|
246
|
-
2.
|
|
247
|
-
3. `needs_rework`
|
|
248
|
-
📌 `git commit -m "odyssey-ui({slug}): VERIFY — 验证"`
|
|
228
|
+
2. CLI-assisted: `maestro delegate --role review` -- visual correctness, interaction states, accessibility, responsive
|
|
229
|
+
3. `needs_rework` -> S_FIX. `verified` -> mark G4 done. Update section 5, write `confirmation`.
|
|
249
230
|
|
|
250
|
-
|
|
251
|
-
Skip if `--skip-generalize`. Pattern 来源: audit findings + diverge ideas (severity >= medium OR impact = high)。
|
|
252
|
-
|
|
253
|
-
**Step 1 — Multi-layer pattern extraction:**
|
|
231
|
+
Commit: `"odyssey-ui({slug}): VERIFY -- visual verification"`
|
|
254
232
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
| Syntax | Regex patterns (direct Grep) | Missing `focus-visible`, hardcoded colors, `!important` |
|
|
258
|
-
| Semantic | Agent anti-pattern scan | Missing hover state on interactive element, no empty state |
|
|
259
|
-
| Structural | File/module similarity | Same component structure missing accessibility attrs |
|
|
260
|
-
|
|
261
|
-
Write `session.json.patterns[]`: `[{id, source_finding, layer, signature, description, risk, fix_template}]`
|
|
233
|
+
### A_GENERALIZE
|
|
234
|
+
Skip if `--skip-generalize`. Pattern source: audit findings + diverge ideas (severity >= medium OR impact = high).
|
|
262
235
|
|
|
263
|
-
**
|
|
236
|
+
**Wave 4 -- 4-agent scan (spawn_agents_on_csv):**
|
|
264
237
|
|
|
265
238
|
Append Wave 4 rows to `tasks.csv`:
|
|
266
239
|
```csv
|
|
@@ -271,66 +244,48 @@ Append Wave 4 rows to `tasks.csv`:
|
|
|
271
244
|
```
|
|
272
245
|
`spawn_agents_on_csv({ csv_path:"tasks.csv", max_concurrency:4, max_runtime_seconds:600, output_csv_path:"wave-4-results.csv", output_schema:SHARED_OUTPUT_SCHEMA })`
|
|
273
246
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
**Step 4 — Iterative deepening**: module ≥3 hits → targeted deep scan. Max 1 round.
|
|
277
|
-
|
|
278
|
-
**Step 5 — Quality Gate** (self-iteration).
|
|
279
|
-
|
|
280
|
-
**Step 6:** Write `generalization_stats`. Update §6. Mark G5 done.
|
|
281
|
-
📌 `git commit -m "odyssey-ui({slug}): GENERALIZE — 泛化扫描"`
|
|
247
|
+
Cross-layer dedup + iterative deepening per base. Update section 6. Mark G5 done.
|
|
248
|
+
Commit: `"odyssey-ui({slug}): GENERALIZE -- pattern scan"`
|
|
282
249
|
|
|
283
|
-
### A_DISCOVER
|
|
284
|
-
|
|
285
|
-
|
|
250
|
+
### A_DISCOVER, A_RECORD
|
|
251
|
+
Base shared_actions. UI overrides:
|
|
252
|
+
- **A_DISCOVER** routing per base triage logic
|
|
253
|
+
- **A_RECORD** learnings per Knowledge Persistence table
|
|
286
254
|
|
|
287
|
-
|
|
288
|
-
1. Finalize §8: 按 Knowledge Persistence 表分类记录,completion summary 列出建议的 `/spec-add` 命令
|
|
289
|
-
2. Pending decisions: **Normal** → request_user_input. **`-y`** → skip, show deferred count
|
|
290
|
-
3. Goal audit: all confirmed → `phase_goals_all_done = true`. **Normal** → request_user_input | **`-y`** → auto accept
|
|
291
|
-
4. Mark G7 done. Emit completion summary:
|
|
255
|
+
**Completion summary:**
|
|
292
256
|
```
|
|
293
257
|
--- UI ODYSSEY COMPLETE ---
|
|
294
|
-
Target:
|
|
295
|
-
Findings:
|
|
296
|
-
Fix:
|
|
297
|
-
Patterns:
|
|
298
|
-
|
|
299
|
-
|
|
258
|
+
Target: {target} | Dimensions: {dimensions_audited}
|
|
259
|
+
Findings: {C}C {H}H {M}M {L}L | Diverge: {improvements} polish + {creative} delight
|
|
260
|
+
Fix: {fixed_count} applied, verified={yes|skipped}
|
|
261
|
+
Patterns: {extracted} ({by_layer})
|
|
262
|
+
Scan hits: {total} ({cross_layer} cross-layer)
|
|
263
|
+
Issues: {N} created
|
|
264
|
+
Decisions: {N} resolved, {M} pending, {K} deferred
|
|
265
|
+
Learnings: {N} entries
|
|
266
|
+
Self-iter: {N} rounds
|
|
267
|
+
Goals: {done}/{total} ({skipped} skipped)
|
|
300
268
|
---
|
|
301
269
|
```
|
|
302
|
-
📌 `git commit -m "odyssey-ui({slug}): RECORD — 会话总结"`
|
|
303
270
|
|
|
304
271
|
</actions>
|
|
305
272
|
|
|
306
273
|
<appendix>
|
|
307
274
|
|
|
308
|
-
###
|
|
309
|
-
**⚠️ 仅在 A_INTAKE 完成后显示一次。A_RECORD 完成时禁止重新显示。**
|
|
275
|
+
### `-y` ui-specific points
|
|
310
276
|
|
|
311
|
-
```
|
|
312
|
-
📋 UI Odyssey 会话已创建。可随时复制以下 /goal 设定终止条件:
|
|
313
|
-
|
|
314
|
-
/goal 完成以下目标:
|
|
315
|
-
{for each G in phase_goals where status != "skipped":}
|
|
316
|
-
- {G.id}: {G.goal} — 完成条件: {G.done_when}
|
|
317
|
-
{end for}
|
|
318
|
-
穷尽迭代:直到 audit + diverge findings 均已处理(fix/issue/decision)
|
|
319
|
-
且 phase_goals_all_done=true 才停。修复按 impact×severity 逐轮迭代。
|
|
320
|
-
每轮修复后重审修改区域,新发现追加继续修。
|
|
321
|
-
遇到 phase=decision 的 pending 必须 request_user_input。不允许"只报告不处理"。
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
### `-y` Auto-Confirm (5 decision points)
|
|
325
277
|
| Decision Point | Normal | `-y` |
|
|
326
278
|
|----------------|--------|------|
|
|
327
279
|
| A_FIX improvement confirmation | request_user_input | auto-proceed, `deferred` |
|
|
328
|
-
| A_DISCOVER hit routing | request_user_input | auto create issue, `deferred` |
|
|
329
|
-
| A_DISCOVER ambiguous items | request_user_input | all `deferred` |
|
|
330
|
-
| A_RECORD pending decisions | request_user_input | skip, show deferred count |
|
|
331
|
-
| A_RECORD goal audit | request_user_input | auto accept |
|
|
332
280
|
|
|
333
|
-
|
|
281
|
+
### Goal Prompt convergence rules
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
Exhaustive iteration: process all audit + diverge findings (fix/issue/decision)
|
|
285
|
+
until phase_goals_all_done=true. Fix by impact x severity per tier.
|
|
286
|
+
Re-review modified areas after each fix round -- new findings appended.
|
|
287
|
+
phase=decision pending items MUST request_user_input. No report-only items.
|
|
288
|
+
```
|
|
334
289
|
|
|
335
290
|
</appendix>
|
|
336
291
|
|
|
@@ -350,15 +305,15 @@ Learnings: {N} entries | Self-iter: {N} rounds | Goals: {done}/{total} ({skipped
|
|
|
350
305
|
- [ ] Improvements implemented and verified (unless --skip-fix)
|
|
351
306
|
- [ ] Multi-layer generalization + discoveries classified (unless --skip-generalize)
|
|
352
307
|
- [ ] Every unfixed finding has individual classification and reason
|
|
353
|
-
- [ ] understanding.md
|
|
308
|
+
- [ ] understanding.md section 8 finalized; phase_goals G1-G7 tracked; `-y` no blocking prompts
|
|
354
309
|
</success_criteria>
|
|
355
310
|
|
|
356
311
|
<next_step_routing>
|
|
357
|
-
| Condition | Next
|
|
358
|
-
|
|
312
|
+
| Condition | Next |
|
|
313
|
+
|-----------|------|
|
|
359
314
|
| Finding needs deeper debug | `$odyssey-debug "<finding>"` |
|
|
360
315
|
| Issues created from discoveries | `/manage-issue list --source ui-odyssey` |
|
|
361
316
|
| Design pattern worth documenting | `/spec-add ui "..."` |
|
|
362
|
-
|
|
|
317
|
+
| Full review of changes | `$odyssey-review-test-fix <changed-files>` |
|
|
363
318
|
| Sibling components to polish | `$odyssey-ui "<sibling>"` |
|
|
364
319
|
</next_step_routing>
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { readFileSync, existsSync, readdirSync, mkdirSync, writeFileSync, appendFileSync } from 'node:fs';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
|
-
import { parseSpecEntries, formatSpecEntries } from './spec-entry-parser.js';
|
|
10
|
+
import { parseSpecEntries, formatSpecEntries, VALID_CATEGORIES } from './spec-entry-parser.js';
|
|
11
11
|
import { paths } from '../config/paths.js';
|
|
12
12
|
import { SPEC_SEED_DOCS, formatSeedFrontmatter, hasFrontmatter, renderSeedContent, } from './spec-seeds.js';
|
|
13
|
-
import { stripFrontmatter } from '../utils/frontmatter.js';
|
|
13
|
+
import { stripFrontmatter, parseFrontmatter } from '../utils/frontmatter.js';
|
|
14
14
|
// ============================================================================
|
|
15
15
|
// Filename → Category mapping (single source of truth)
|
|
16
16
|
// ============================================================================
|
|
@@ -158,9 +158,10 @@ function loadFromDir(specsDir, category, keyword, options) {
|
|
|
158
158
|
const sections = [];
|
|
159
159
|
const matched = [];
|
|
160
160
|
for (const file of files) {
|
|
161
|
-
if (!shouldInclude(file, category, options?.extraSpecFiles))
|
|
162
|
-
continue;
|
|
163
161
|
const filePath = join(specsDir, file);
|
|
162
|
+
const resolvedCat = resolveFileCategory(file, filePath);
|
|
163
|
+
if (!shouldInclude(file, category, resolvedCat, options?.extraSpecFiles))
|
|
164
|
+
continue;
|
|
164
165
|
let raw;
|
|
165
166
|
try {
|
|
166
167
|
raw = readFileSync(filePath, 'utf-8');
|
|
@@ -171,9 +172,7 @@ function loadFromDir(specsDir, category, keyword, options) {
|
|
|
171
172
|
const body = stripFrontmatter(raw).trim();
|
|
172
173
|
if (!body)
|
|
173
174
|
continue;
|
|
174
|
-
|
|
175
|
-
const fileCategory = CATEGORY_MAP[file];
|
|
176
|
-
const isPrimaryDoc = category && (fileCategory === category || options?.extraSpecFiles?.includes(file));
|
|
175
|
+
const isPrimaryDoc = category && (resolvedCat === category || options?.extraSpecFiles?.includes(file));
|
|
177
176
|
const workflowRoot = join(specsDir, '..');
|
|
178
177
|
const formatted = formatFileContent(body, keyword, isPrimaryDoc ? undefined : category, workflowRoot, options);
|
|
179
178
|
if (formatted) {
|
|
@@ -186,22 +185,31 @@ function loadFromDir(specsDir, category, keyword, options) {
|
|
|
186
185
|
// ============================================================================
|
|
187
186
|
// Internal
|
|
188
187
|
// ============================================================================
|
|
189
|
-
|
|
188
|
+
/** Resolve category for a file: static CATEGORY_MAP first, frontmatter fallback. */
|
|
189
|
+
function resolveFileCategory(filename, filePath) {
|
|
190
|
+
const mapped = CATEGORY_MAP[filename];
|
|
191
|
+
if (mapped)
|
|
192
|
+
return mapped;
|
|
193
|
+
try {
|
|
194
|
+
const raw = readFileSync(filePath, 'utf-8');
|
|
195
|
+
const { data } = parseFrontmatter(raw);
|
|
196
|
+
const cat = data.category;
|
|
197
|
+
if (cat && VALID_CATEGORIES.includes(cat)) {
|
|
198
|
+
return cat;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
// fall through
|
|
203
|
+
}
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
function shouldInclude(filename, category, resolvedCat, extraSpecFiles) {
|
|
190
207
|
if (!category)
|
|
191
|
-
return true;
|
|
192
|
-
// Extra spec files for this category → always include as primary
|
|
208
|
+
return true;
|
|
193
209
|
if (extraSpecFiles?.includes(filename))
|
|
194
210
|
return true;
|
|
195
|
-
|
|
196
|
-
const cat = CATEGORY_MAP[filename];
|
|
197
|
-
if (!cat) {
|
|
198
|
-
console.warn(`[spec] file not in category map, skipped: ${filename}`);
|
|
211
|
+
if (!resolvedCat)
|
|
199
212
|
return false;
|
|
200
|
-
}
|
|
201
|
-
// Primary category doc → always include (full load)
|
|
202
|
-
if (cat === category)
|
|
203
|
-
return true;
|
|
204
|
-
// Other category files → include for keyword-based cross-category matching
|
|
205
213
|
return true;
|
|
206
214
|
}
|
|
207
215
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-loader.js","sourceRoot":"","sources":["../../../../src/tools/spec-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec-loader.js","sourceRoot":"","sources":["../../../../src/tools/spec-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,3 +30,11 @@ export declare function renderSeedContent(doc: SpecSeedDoc): string;
|
|
|
30
30
|
export declare function hasFrontmatter(raw: string): boolean;
|
|
31
31
|
/** Look up a seed by filename (e.g. 'coding-conventions.md'). */
|
|
32
32
|
export declare function findSeedByFilename(filename: string): SpecSeedDoc | undefined;
|
|
33
|
+
export interface SpecPreset {
|
|
34
|
+
name: string;
|
|
35
|
+
description: string;
|
|
36
|
+
seeds: SpecSeedDoc[];
|
|
37
|
+
}
|
|
38
|
+
export declare const SPEC_PRESETS: Record<string, SpecPreset>;
|
|
39
|
+
export declare function getPresetSeeds(preset: string): SpecSeedDoc[];
|
|
40
|
+
export declare function listPresets(): SpecPreset[];
|