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