maestro-flow 0.3.43 → 0.3.44
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/.claude/commands/learn-decompose.md +10 -15
- package/.claude/commands/learn-follow.md +11 -16
- package/.claude/commands/learn-investigate.md +18 -22
- package/.claude/commands/learn-retro.md +23 -26
- package/.claude/commands/learn-second-opinion.md +11 -16
- package/.claude/commands/maestro-analyze.md +8 -0
- package/.claude/commands/maestro-brainstorm.md +8 -0
- package/.claude/commands/maestro-execute.md +11 -3
- package/.claude/commands/maestro-learn.md +4 -4
- package/.claude/commands/maestro-milestone-complete.md +6 -6
- package/.claude/commands/maestro-plan.md +8 -0
- package/.claude/commands/maestro-ralph-execute.md +1 -2
- package/.claude/commands/maestro-tools-execute.md +117 -0
- package/.claude/commands/maestro-tools-register.md +137 -0
- package/.claude/commands/maestro-ui-codify.md +67 -0
- package/.claude/commands/manage-harvest.md +1 -1
- package/.claude/commands/manage-learn.md +5 -7
- package/.claude/commands/manage-wiki.md +1 -1
- package/.claude/commands/quality-auto-test.md +1 -1
- package/.claude/commands/quality-debug.md +8 -0
- package/.claude/commands/quality-retrospective.md +4 -5
- package/.claude/commands/quality-review.md +8 -0
- package/.claude/commands/spec-add.md +25 -4
- package/.claude/commands/spec-load.md +26 -6
- package/.claude/commands/spec-setup.md +2 -2
- package/.claude/commands/wiki-connect.md +1 -1
- package/.claude/commands/wiki-digest.md +5 -6
- package/.claude/skills/codify-to-knowhow/SKILL.md +167 -0
- package/.claude/skills/codify-to-knowhow/phases/01-load-manifest.md +101 -0
- package/.claude/skills/codify-to-knowhow/phases/02-generate-knowhow.md +97 -0
- package/.claude/skills/codify-to-knowhow/phases/03-generate-specs.md +92 -0
- package/.claude/skills/codify-to-knowhow/phases/04-index-verify.md +119 -0
- package/.codex/skills/codify-to-knowhow/SKILL.md +427 -0
- package/.codex/skills/learn-decompose/SKILL.md +8 -8
- package/.codex/skills/learn-follow/SKILL.md +6 -6
- package/.codex/skills/learn-investigate/SKILL.md +4 -4
- package/.codex/skills/learn-retro/SKILL.md +7 -7
- package/.codex/skills/learn-second-opinion/SKILL.md +6 -6
- package/.codex/skills/maestro-analyze/SKILL.md +491 -491
- package/.codex/skills/maestro-collab/SKILL.md +1 -1
- package/.codex/skills/maestro-learn/SKILL.md +1 -1
- package/.codex/skills/maestro-milestone-complete/SKILL.md +122 -122
- package/.codex/skills/maestro-plan/SKILL.md +485 -485
- package/.codex/skills/maestro-tools-execute/SKILL.md +105 -0
- package/.codex/skills/maestro-tools-register/SKILL.md +144 -0
- package/.codex/skills/maestro-ui-codify/SKILL.md +398 -0
- package/.codex/skills/maestro-verify/SKILL.md +486 -486
- package/.codex/skills/manage-harvest/SKILL.md +3 -3
- package/.codex/skills/manage-issue-discover/SKILL.md +431 -431
- package/.codex/skills/manage-learn/SKILL.md +13 -13
- package/.codex/skills/manage-wiki/SKILL.md +1 -1
- package/.codex/skills/quality-auto-test/SKILL.md +553 -553
- package/.codex/skills/quality-refactor/SKILL.md +151 -151
- package/.codex/skills/quality-retrospective/SKILL.md +6 -6
- package/.codex/skills/spec-add/SKILL.md +17 -4
- package/.codex/skills/spec-load/SKILL.md +24 -28
- package/.codex/skills/team-quality-assurance/roles/executor/role.md +1 -1
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.codex/skills/team-testing/roles/executor/role.md +1 -1
- package/.codex/skills/team-testing/roles/generator/role.md +1 -1
- package/.codex/skills/wiki-connect/SKILL.md +5 -5
- package/.codex/skills/wiki-digest/SKILL.md +8 -8
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +7 -3
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +47 -15
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.d.ts +1 -2
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +3 -52
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +67 -21
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +6 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +1 -11
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +7 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +27 -12
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-entry-parser.d.ts +10 -2
- package/dashboard/dist-server/src/tools/spec-entry-parser.js +46 -12
- package/dashboard/dist-server/src/tools/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-loader.d.ts +6 -2
- package/dashboard/dist-server/src/tools/spec-loader.js +119 -23
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts.map +1 -1
- package/dist/src/commands/knowhow.js +21 -2
- package/dist/src/commands/knowhow.js.map +1 -1
- package/dist/src/commands/spec.d.ts +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +78 -4
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/commands/wiki.d.ts.map +1 -1
- package/dist/src/commands/wiki.js +51 -3
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.js +1 -1
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +11 -11
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts +1 -0
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +55 -22
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/wiki-role-loader.d.ts +18 -0
- package/dist/src/hooks/wiki-role-loader.d.ts.map +1 -0
- package/dist/src/hooks/wiki-role-loader.js +43 -0
- package/dist/src/hooks/wiki-role-loader.js.map +1 -0
- package/dist/src/tools/spec-entry-parser.d.ts +10 -2
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +46 -12
- package/dist/src/tools/spec-entry-parser.js.map +1 -1
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +19 -0
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts +6 -2
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +119 -23
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-writer.d.ts +6 -1
- package/dist/src/tools/spec-writer.d.ts.map +1 -1
- package/dist/src/tools/spec-writer.js +29 -2
- package/dist/src/tools/spec-writer.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts.map +1 -1
- package/dist/src/tools/store-knowhow.js +56 -27
- package/dist/src/tools/store-knowhow.js.map +1 -1
- package/package.json +1 -1
- package/workflows/analyze.md +2 -2
- package/workflows/auto-test.md +2 -2
- package/workflows/brainstorm.md +1 -1
- package/workflows/codebase-rebuild.md +1 -1
- package/workflows/codebase-refresh.md +1 -1
- package/workflows/debug.md +1 -1
- package/workflows/execute.md +3 -3
- package/workflows/harvest.md +13 -13
- package/workflows/integration-test.md +2 -2
- package/workflows/issue-discover.md +1 -1
- package/workflows/knowhow.md +72 -11
- package/workflows/learn.md +70 -58
- package/workflows/map.md +1 -1
- package/workflows/milestone-complete.md +2 -2
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +1 -1
- package/workflows/refactor.md +1 -1
- package/workflows/retrospective.md +51 -57
- package/workflows/review.md +1 -1
- package/workflows/roadmap-common.md +1 -1
- package/workflows/specs-add.md +11 -2
- package/workflows/specs-load.md +17 -15
- package/workflows/test-gen.md +1 -1
- package/workflows/tools-spec.md +98 -0
- package/workflows/ui-codify-extract.md +373 -0
- package/workflows/ui-codify-knowhow.md +258 -0
- package/workflows/ui-codify-package.md +161 -0
- package/workflows/ui-codify.md +225 -0
- package/workflows/verify.md +1 -1
- package/workflows/wiki-connect.md +7 -7
- package/workflows/wiki-digest.md +13 -13
- package/workflows/wiki-manage.md +1 -1
|
@@ -31,16 +31,15 @@ Arguments: $ARGUMENTS
|
|
|
31
31
|
- `--save-wiki` — Create wiki note entries per pattern group via `maestro wiki create --type note`
|
|
32
32
|
|
|
33
33
|
**Storage written:**
|
|
34
|
-
- `.workflow/
|
|
35
|
-
- `.workflow/
|
|
36
|
-
- `.workflow/learning/learning-index.json` — Updated index
|
|
34
|
+
- `.workflow/knowhow/KNW-decompose-{slug}-{YYYY-MM-DD}.md` — Pattern decomposition report
|
|
35
|
+
- `.workflow/specs/learnings.md` — One `<spec-entry>` per discovered pattern (source: "decompose")
|
|
37
36
|
- If `--save-spec`: entries appended to `.workflow/specs/coding-conventions.md`
|
|
38
37
|
- If `--save-wiki`: new wiki note entries
|
|
39
38
|
|
|
40
39
|
**Storage read:**
|
|
41
40
|
- Source files at target path
|
|
42
41
|
- `.workflow/specs/coding-conventions.md` — Existing documented patterns (for dedup)
|
|
43
|
-
- `.workflow/
|
|
42
|
+
- `.workflow/specs/learnings.md` — Previously identified patterns (for dedup)
|
|
44
43
|
</context>
|
|
45
44
|
|
|
46
45
|
<execution>
|
|
@@ -53,7 +52,7 @@ Arguments: $ARGUMENTS
|
|
|
53
52
|
|
|
54
53
|
### Stage 2: Load Existing Patterns
|
|
55
54
|
- Read `.workflow/specs/coding-conventions.md` — extract documented patterns
|
|
56
|
-
- Search `
|
|
55
|
+
- Search `specs/learnings.md` for `<spec-entry>` blocks with `roles="implement"` — previously discovered
|
|
57
56
|
- Build dedup set: pattern names already known
|
|
58
57
|
|
|
59
58
|
### Stage 3: Parallel Agent Analysis (4 dimensions)
|
|
@@ -104,7 +103,7 @@ If `--patterns` specified, instruct agents to focus only on named patterns.
|
|
|
104
103
|
|
|
105
104
|
### Stage 4: Cross-Reference & Dedup
|
|
106
105
|
- Match agent findings against existing pattern set from Stage 2
|
|
107
|
-
- Mark each finding: `documented` (already in specs), `known` (in
|
|
106
|
+
- Mark each finding: `documented` (already in specs), `known` (in knowhow), or `new`
|
|
108
107
|
- Flag contradictions: finding conflicts with documented convention
|
|
109
108
|
- Merge duplicate findings across agents (same pattern found by multiple dimensions)
|
|
110
109
|
|
|
@@ -134,12 +133,9 @@ Build the decomposition report grouped by dimension:
|
|
|
134
133
|
```
|
|
135
134
|
|
|
136
135
|
### Stage 6: Persist
|
|
137
|
-
1. Write `.workflow/
|
|
138
|
-
2. Append each **new** pattern to `
|
|
139
|
-
- `source: "decompose"`, `category: "pattern"`, `confidence: <level>`
|
|
140
|
-
- Tags: `["decompose", "{dimension}", "{target-slug}"]`
|
|
136
|
+
1. Write `.workflow/knowhow/KNW-decompose-{slug}-{date}.md`
|
|
137
|
+
2. Append each **new** pattern as a `<spec-entry>` block to `specs/learnings.md` via `maestro spec add learning --roles implement --body "<content>" --keywords "decompose,pattern,{dimension},{target-slug}"`:
|
|
141
138
|
- Stable INS-id from `hash("decompose" + target + pattern_name)`
|
|
142
|
-
3. Update `learning-index.json`
|
|
143
139
|
4. If `--save-spec`: for each new pattern, invoke `Skill({ skill: "spec-add", args: "pattern {description}" })`
|
|
144
140
|
5. If `--save-wiki`: create wiki note per dimension group via `maestro wiki create --type note --slug decompose-{dimension}-{slug}`
|
|
145
141
|
6. Display summary with counts and next steps
|
|
@@ -166,11 +162,10 @@ Build the decomposition report grouped by dimension:
|
|
|
166
162
|
- [ ] All 4 dimension agents spawned in parallel
|
|
167
163
|
- [ ] Each finding has: name, dimension, confidence, anchors, description, tradeoffs
|
|
168
164
|
- [ ] Cross-reference performed (documented / known / new status assigned)
|
|
169
|
-
- [ ] Pattern catalog written to `decompose-{slug}-{date}.md`
|
|
170
|
-
- [ ] New patterns appended to `
|
|
171
|
-
- [ ] `learning-index.json` updated
|
|
165
|
+
- [ ] Pattern catalog written to `KNW-decompose-{slug}-{date}.md`
|
|
166
|
+
- [ ] New patterns appended to `specs/learnings.md` as `<spec-entry>` blocks with stable INS-ids
|
|
172
167
|
- [ ] If --save-spec: spec entries created for new patterns
|
|
173
168
|
- [ ] If --save-wiki: wiki notes created per dimension group
|
|
174
|
-
- [ ] No files modified outside `.workflow/
|
|
169
|
+
- [ ] No files modified outside `.workflow/knowhow/` (and optionally specs/wiki)
|
|
175
170
|
- [ ] Summary displayed with pattern counts and next-step routing
|
|
176
171
|
</success_criteria>
|
|
@@ -14,7 +14,7 @@ allowed-tools:
|
|
|
14
14
|
<purpose>
|
|
15
15
|
Guided reading experience for code files, wiki entries, or topics. Instead of just reading code, this command walks through content section by section using forcing questions (inspired by gstack `/office-hours` brainstorming) to extract patterns, identify assumptions, and build a structured understanding map.
|
|
16
16
|
|
|
17
|
-
Outputs reading notes with extracted patterns, open questions, and connection points. Insights persist to `
|
|
17
|
+
Outputs reading notes with extracted patterns, open questions, and connection points. Insights persist to `specs/learnings.md` as `<spec-entry>` blocks and optionally become wiki note entries for the knowledge graph.
|
|
18
18
|
</purpose>
|
|
19
19
|
|
|
20
20
|
<context>
|
|
@@ -31,16 +31,15 @@ Arguments: $ARGUMENTS
|
|
|
31
31
|
- `--save-wiki` — Create a wiki note entry with the reading notes via `maestro wiki create --type note`
|
|
32
32
|
|
|
33
33
|
**Storage written:**
|
|
34
|
-
- `.workflow/
|
|
35
|
-
- `.workflow/
|
|
36
|
-
- `.workflow/learning/learning-index.json` — Updated index
|
|
34
|
+
- `.workflow/knowhow/KNW-follow-{slug}-{YYYY-MM-DD}.md` — Reading notes with understanding map
|
|
35
|
+
- `.workflow/knowhow/specs/learnings.md` — Appended pattern/technique `<spec-entry>` blocks
|
|
37
36
|
- If `--save-wiki`: new wiki note entry
|
|
38
37
|
|
|
39
38
|
**Storage read:**
|
|
40
39
|
- Target source file or wiki entry
|
|
41
40
|
- `maestro wiki backlinks <id>` / `maestro wiki forward <id>` — Relationship context
|
|
42
41
|
- `.workflow/specs/coding-conventions.md` — Convention reference for pattern matching
|
|
43
|
-
- `.workflow/
|
|
42
|
+
- `.workflow/knowhow/specs/learnings.md` — Prior insights for dedup and cross-reference
|
|
44
43
|
</context>
|
|
45
44
|
|
|
46
45
|
<execution>
|
|
@@ -120,17 +119,14 @@ Build a structured summary document:
|
|
|
120
119
|
## Connections
|
|
121
120
|
- Links to: {forward link entries}
|
|
122
121
|
- Referenced by: {backlink entries}
|
|
123
|
-
- Related
|
|
122
|
+
- Related insights: {matching specs/learnings.md entries}
|
|
124
123
|
```
|
|
125
124
|
|
|
126
125
|
### Stage 7: Persist
|
|
127
|
-
1. Write `.workflow/
|
|
128
|
-
2. Append each new pattern/technique as
|
|
129
|
-
- `source: "follow"`, `category: "pattern"` or `"technique"`
|
|
130
|
-
- Tags: `["follow", "{target-slug}"]`
|
|
126
|
+
1. Write `.workflow/knowhow/KNW-follow-{slug}-{date}.md` with the understanding map
|
|
127
|
+
2. Append each new pattern/technique as a `<spec-entry>` block to `specs/learnings.md` via `maestro spec add learning --roles implement --body "<content>" --keywords "follow,{target-slug}"`:
|
|
131
128
|
- Stable INS-id from `hash("follow" + target + pattern_name)`
|
|
132
|
-
3.
|
|
133
|
-
4. If `--save-wiki`: run `maestro wiki create --type note --slug follow-{slug} --title "Follow-Along: {target}" --body-file .workflow/learning/follow-{slug}-{date}.md`
|
|
129
|
+
3. If `--save-wiki`: run `maestro wiki create --type note --slug follow-{slug} --title "Follow-Along: {target}" --body-file .workflow/knowhow/KNW-follow-{slug}-{date}.md`
|
|
134
130
|
5. Display summary with key findings and next steps
|
|
135
131
|
|
|
136
132
|
**Next-step routing:**
|
|
@@ -158,10 +154,9 @@ Build a structured summary document:
|
|
|
158
154
|
- [ ] Patterns extracted with file:line anchors
|
|
159
155
|
- [ ] Convention comparison performed against coding-conventions.md
|
|
160
156
|
- [ ] Understanding map produced with: concepts, patterns, assumptions, questions, connections
|
|
161
|
-
- [ ] `follow-{slug}-{date}.md` written
|
|
162
|
-
- [ ] `
|
|
163
|
-
- [ ] `learning-index.json` updated
|
|
157
|
+
- [ ] `KNW-follow-{slug}-{date}.md` written
|
|
158
|
+
- [ ] `specs/learnings.md` appended with discovered patterns as `<spec-entry>` blocks (stable INS-ids)
|
|
164
159
|
- [ ] If --save-wiki: wiki note entry created
|
|
165
|
-
- [ ] No files modified outside `.workflow/
|
|
160
|
+
- [ ] No files modified outside `.workflow/knowhow/` (and optionally wiki)
|
|
166
161
|
- [ ] Summary displayed with next-step routing
|
|
167
162
|
</success_criteria>
|
|
@@ -27,16 +27,15 @@ Arguments: $ARGUMENTS
|
|
|
27
27
|
- `--max-hypotheses N` — Maximum hypotheses to test before escalating (default: 3)
|
|
28
28
|
|
|
29
29
|
**Storage written:**
|
|
30
|
-
- `.workflow/
|
|
31
|
-
- `.workflow/
|
|
32
|
-
- `.workflow/
|
|
33
|
-
- `.workflow/
|
|
34
|
-
- `.workflow/learning/learning-index.json` — Updated index
|
|
30
|
+
- `.workflow/knowhow/KNW-investigate-{slug}/evidence.ndjson` — Structured evidence log (one JSON line per evidence)
|
|
31
|
+
- `.workflow/knowhow/KNW-investigate-{slug}/understanding.md` — Evolving understanding document
|
|
32
|
+
- `.workflow/knowhow/KNW-investigate-{slug}/report.md` — Final investigation report
|
|
33
|
+
- `.workflow/knowhow/specs/learnings.md` — Investigation findings as `<spec-entry>` blocks (source: "investigate")
|
|
35
34
|
|
|
36
35
|
**Storage read:**
|
|
37
36
|
- Source files within scope
|
|
38
37
|
- `maestro wiki search "<question>"` — Prior knowledge about the topic
|
|
39
|
-
- `.workflow/
|
|
38
|
+
- `.workflow/knowhow/specs/learnings.md` — Prior related investigations
|
|
40
39
|
- `.workflow/specs/debug-notes.md` — Known gotchas and patterns
|
|
41
40
|
- `.workflow/codebase/architecture.md` — Structural context (if exists)
|
|
42
41
|
</context>
|
|
@@ -47,17 +46,17 @@ Arguments: $ARGUMENTS
|
|
|
47
46
|
- Parse question from arguments
|
|
48
47
|
- Determine scope (--scope or full project)
|
|
49
48
|
- Generate investigation slug from question keywords
|
|
50
|
-
- Create `.workflow/
|
|
49
|
+
- Create `.workflow/knowhow/KNW-investigate-{slug}/` directory
|
|
51
50
|
- Search prior knowledge:
|
|
52
51
|
- `maestro wiki search "<question>"` for related entries
|
|
53
|
-
-
|
|
52
|
+
- Search `specs/learnings.md` for related insights
|
|
54
53
|
- Read `debug-notes.md` for known gotchas
|
|
55
54
|
|
|
56
55
|
Write initial `understanding.md`:
|
|
57
56
|
```markdown
|
|
58
57
|
# Investigation: {question}
|
|
59
58
|
## Initial Understanding
|
|
60
|
-
- Prior knowledge: {summary of wiki/
|
|
59
|
+
- Prior knowledge: {summary of wiki/knowhow findings}
|
|
61
60
|
- Scope: {path or "full project"}
|
|
62
61
|
- Started: {timestamp}
|
|
63
62
|
```
|
|
@@ -78,7 +77,7 @@ For each piece of evidence, append to `evidence.ndjson`:
|
|
|
78
77
|
### Stage 3: Pattern Matching
|
|
79
78
|
Compare collected evidence against known patterns:
|
|
80
79
|
- Check `debug-notes.md` entries for matching situations
|
|
81
|
-
- Check `
|
|
80
|
+
- Check `specs/learnings.md` for related technique/pattern/gotcha entries
|
|
82
81
|
- Identify: does this match a documented pattern, or is it novel?
|
|
83
82
|
|
|
84
83
|
Update `understanding.md` with pattern analysis section.
|
|
@@ -179,12 +178,10 @@ Write final `report.md`:
|
|
|
179
178
|
```
|
|
180
179
|
|
|
181
180
|
### Stage 8: Persist
|
|
182
|
-
1. Append findings to `
|
|
183
|
-
- Confirmed hypotheses → `
|
|
184
|
-
- Disproved hypotheses → `
|
|
185
|
-
- `source: "investigate"`, tags: `["investigate", "{question-slug}"]`
|
|
181
|
+
1. Append findings as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --roles implement --body "<content>" --keywords "investigate,{question-slug}"`:
|
|
182
|
+
- Confirmed hypotheses → `roles="implement"` (merge "technique"/"pattern" into keywords)
|
|
183
|
+
- Disproved hypotheses → `roles="analyze"` (merge "gotcha" into keywords)
|
|
186
184
|
- Stable INS-id from `hash("investigate" + question + finding_title)`
|
|
187
|
-
2. Update `learning-index.json`
|
|
188
185
|
3. Display summary with answer and next steps
|
|
189
186
|
|
|
190
187
|
**Next-step routing:**
|
|
@@ -199,23 +196,22 @@ Write final `report.md`:
|
|
|
199
196
|
|------|----------|-----------|----------|
|
|
200
197
|
| E001 | error | No question provided | Provide a question as the first argument |
|
|
201
198
|
| E002 | error | Scope path does not exist | Check --scope path is valid |
|
|
202
|
-
| W001 | warning | No prior knowledge found in wiki/
|
|
199
|
+
| W001 | warning | No prior knowledge found in wiki/knowhow | Proceed with fresh investigation |
|
|
203
200
|
| W002 | warning | Evidence collection found very few matches (<3) | Broaden search terms or expand scope |
|
|
204
201
|
| W003 | warning | All hypotheses inconclusive — escalating | Investigation marked INCONCLUSIVE |
|
|
205
202
|
</error_codes>
|
|
206
203
|
|
|
207
204
|
<success_criteria>
|
|
208
205
|
- [ ] Question parsed and investigation slug generated
|
|
209
|
-
- [ ] Investigation directory created under `.workflow/
|
|
210
|
-
- [ ] Prior knowledge loaded from wiki and
|
|
206
|
+
- [ ] Investigation directory created under `.workflow/knowhow/`
|
|
207
|
+
- [ ] Prior knowledge loaded from wiki and knowhow
|
|
211
208
|
- [ ] Evidence collected and logged to `evidence.ndjson` (structured NDJSON)
|
|
212
|
-
- [ ] Pattern matching performed against debug-notes and
|
|
209
|
+
- [ ] Pattern matching performed against debug-notes and knowhow insights
|
|
213
210
|
- [ ] At least 1 hypothesis formed and tested
|
|
214
211
|
- [ ] `understanding.md` tracks evolving understanding with timestamps
|
|
215
212
|
- [ ] `report.md` written with answer, evidence trail, hypothesis results
|
|
216
|
-
- [ ] Findings appended to `
|
|
217
|
-
- [ ] `learning-index.json` updated
|
|
213
|
+
- [ ] Findings appended to `specs/learnings.md` as `<spec-entry>` blocks with stable INS-ids
|
|
218
214
|
- [ ] 3-strike escalation triggered if all hypotheses fail
|
|
219
|
-
- [ ] No files modified outside `.workflow/
|
|
215
|
+
- [ ] No files modified outside `.workflow/knowhow/`
|
|
220
216
|
- [ ] Summary displayed with answer and next-step routing
|
|
221
217
|
</success_criteria>
|
|
@@ -18,7 +18,7 @@ Two lenses, usable independently or together:
|
|
|
18
18
|
- **git**: Commit metrics, session detection, per-author breakdown, file hotspots, trend tracking
|
|
19
19
|
- **decision**: Decision tracing across wiki/specs/git, multi-perspective evaluation, lifecycle classification
|
|
20
20
|
|
|
21
|
-
All insights persist to `.workflow/
|
|
21
|
+
All insights persist to `.workflow/knowhow/specs/learnings.md` as `<spec-entry>` blocks for cross-session queryability via `manage-learn`.
|
|
22
22
|
</purpose>
|
|
23
23
|
|
|
24
24
|
<context>
|
|
@@ -38,18 +38,17 @@ Arguments: $ARGUMENTS
|
|
|
38
38
|
**Decision lens flags:**
|
|
39
39
|
- `--phase N` — Decisions from phase N's context and related specs
|
|
40
40
|
- `--tag <tag>` — Decisions tagged with specific tag in wiki/specs
|
|
41
|
-
- `--id <id>` — Single decision by wiki ID or
|
|
41
|
+
- `--id <id>` — Single decision by wiki ID or specs/learnings.md INS-id
|
|
42
42
|
|
|
43
43
|
**Storage written:**
|
|
44
|
-
- `.workflow/
|
|
45
|
-
- `.workflow/
|
|
46
|
-
- `.workflow/
|
|
47
|
-
- `.workflow/learning/learning-index.json` — Updated index
|
|
44
|
+
- `.workflow/knowhow/KNW-retro-{YYYY-MM-DD}.md` — Unified human-readable report
|
|
45
|
+
- `.workflow/knowhow/KNW-retro-{YYYY-MM-DD}.json` — Structured metrics (machine-readable)
|
|
46
|
+
- `.workflow/knowhow/specs/learnings.md` — Appended `<spec-entry>` blocks (source: "retro-git" or "retro-decision")
|
|
48
47
|
|
|
49
48
|
**Storage read:**
|
|
50
49
|
- `.workflow/state.json` — Current phase context (optional)
|
|
51
|
-
- `.workflow/
|
|
52
|
-
- `.workflow/
|
|
50
|
+
- `.workflow/knowhow/KNW-retro-*.json` — Prior retro for trend comparison
|
|
51
|
+
- `.workflow/knowhow/specs/learnings.md` — Existing insights for dedup
|
|
53
52
|
- `maestro wiki list --type spec --json` — Spec entries (decision lens)
|
|
54
53
|
- `.workflow/specs/architecture-constraints.md` — Documented architectural decisions (decision lens)
|
|
55
54
|
- Phase context with Locked/Free/Deferred decisions (decision lens) — resolve via `state.json.artifacts[]` scratch paths
|
|
@@ -60,7 +59,7 @@ Arguments: $ARGUMENTS
|
|
|
60
59
|
### Stage 1: Parse Arguments & Select Lenses
|
|
61
60
|
- Parse `--lens` flag: `git`, `decision`, or `all` (default: `all`)
|
|
62
61
|
- Extract lens-specific flags
|
|
63
|
-
- Check `.workflow/
|
|
62
|
+
- Check `.workflow/knowhow/` exists; bootstrap if missing
|
|
64
63
|
|
|
65
64
|
Display banner:
|
|
66
65
|
```
|
|
@@ -121,7 +120,7 @@ For each author:
|
|
|
121
120
|
- Session count and patterns
|
|
122
121
|
|
|
123
122
|
#### 2e: Trend Comparison (if --compare or prior report exists)
|
|
124
|
-
- Find most recent `.workflow/
|
|
123
|
+
- Find most recent `.workflow/knowhow/KNW-retro-*.json`
|
|
125
124
|
- Compute deltas: commits, LOC, test ratio, churn rate, session count
|
|
126
125
|
- Flag significant changes (>20% delta) as trend highlights
|
|
127
126
|
|
|
@@ -145,9 +144,9 @@ git log --oneline --all --grep="decision\|chose\|decided\|architecture" -20
|
|
|
145
144
|
```
|
|
146
145
|
|
|
147
146
|
Also read:
|
|
148
|
-
- `.workflow/specs/architecture-constraints.md` — grep for `<spec-entry
|
|
147
|
+
- `.workflow/specs/architecture-constraints.md` — grep for `<spec-entry` blocks with `roles="plan"`
|
|
149
148
|
- Phase context files — resolve via `state.json.artifacts[]` scratch paths — scan for "Locked:", "Deferred:" sections
|
|
150
|
-
- `.workflow/
|
|
149
|
+
- `.workflow/knowhow/specs/learnings.md` — filter entries with `keywords` containing "decision"
|
|
151
150
|
|
|
152
151
|
Apply scope filter (--phase, --tag, --id).
|
|
153
152
|
|
|
@@ -157,7 +156,7 @@ Per decision:
|
|
|
157
156
|
{
|
|
158
157
|
"id": "source id",
|
|
159
158
|
"title": "what was decided",
|
|
160
|
-
"source": "wiki|spec|phase-context|
|
|
159
|
+
"source": "wiki|spec|phase-context|knowhow|git",
|
|
161
160
|
"date": "when decided",
|
|
162
161
|
"rationale": "why",
|
|
163
162
|
"alternatives": "what was considered",
|
|
@@ -203,7 +202,7 @@ Spawn 3 Agents in a single message:
|
|
|
203
202
|
|
|
204
203
|
### Stage 4: Unified Report
|
|
205
204
|
|
|
206
|
-
Write `.workflow/
|
|
205
|
+
Write `.workflow/knowhow/KNW-retro-{date}.md`:
|
|
207
206
|
|
|
208
207
|
```markdown
|
|
209
208
|
# Retrospective: {date}
|
|
@@ -243,17 +242,16 @@ Write `.workflow/learning/retro-{date}.md`:
|
|
|
243
242
|
1. {action}: {reason}
|
|
244
243
|
```
|
|
245
244
|
|
|
246
|
-
Write `.workflow/
|
|
245
|
+
Write `.workflow/knowhow/KNW-retro-{date}.json` with structured data.
|
|
247
246
|
|
|
248
247
|
---
|
|
249
248
|
|
|
250
249
|
### Stage 5: Persist
|
|
251
250
|
1. Write report files
|
|
252
|
-
2. Append insights to `
|
|
253
|
-
- Git insights:
|
|
254
|
-
- Decision insights:
|
|
251
|
+
2. Append insights as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --roles implement --body "<content>" --keywords "<kw>"`:
|
|
252
|
+
- Git insights: source="retro-git", roles per insight type
|
|
253
|
+
- Decision insights: source="retro-decision", roles="plan" (merge "decision" into keywords)
|
|
255
254
|
- Stable INS-id from `hash(lens + metric_or_decision + date)`
|
|
256
|
-
3. Update `learning-index.json`
|
|
257
255
|
4. Display summary
|
|
258
256
|
|
|
259
257
|
**Next-step routing:**
|
|
@@ -271,8 +269,8 @@ Write `.workflow/learning/retro-{date}.json` with structured data.
|
|
|
271
269
|
| E001 | error | Not inside a git repository (git lens) | Navigate to a git repo directory |
|
|
272
270
|
| E002 | error | No commits found in time window (git lens) | Increase --days or check filters |
|
|
273
271
|
| E003 | error | No decisions found in any source (decision lens) | Check wiki/specs content, or provide --id |
|
|
274
|
-
| E004 | error | --id not found in wiki or
|
|
275
|
-
| W001 | warning | `.workflow/
|
|
272
|
+
| E004 | error | --id not found in wiki or knowhow (decision lens) | Verify the decision ID exists |
|
|
273
|
+
| W001 | warning | `.workflow/knowhow/` not found, bootstrapping | Auto-created; proceed normally |
|
|
276
274
|
| W002 | warning | No prior retro report for comparison | Skip trend section; first retro establishes baseline |
|
|
277
275
|
| W003 | warning | One perspective agent failed — partial evaluation (decision lens) | Proceed with available perspectives |
|
|
278
276
|
| W004 | warning | No git implementation evidence for a decision | Evaluation is theoretical only |
|
|
@@ -294,10 +292,9 @@ Write `.workflow/learning/retro-{date}.json` with structured data.
|
|
|
294
292
|
- [ ] 3 perspective agents spawned in parallel
|
|
295
293
|
- [ ] Each decision classified by lifecycle status
|
|
296
294
|
- [ ] Recommendations generated for non-Validated decisions
|
|
297
|
-
- [ ] Unified report written to `retro-{date}.md`
|
|
298
|
-
- [ ] Structured data written to `retro-{date}.json`
|
|
299
|
-
- [ ] `
|
|
300
|
-
- [ ]
|
|
301
|
-
- [ ] No files modified outside `.workflow/learning/`
|
|
295
|
+
- [ ] Unified report written to `KNW-retro-{date}.md`
|
|
296
|
+
- [ ] Structured data written to `KNW-retro-{date}.json`
|
|
297
|
+
- [ ] `specs/learnings.md` appended with `<spec-entry>` blocks (stable INS-ids)
|
|
298
|
+
- [ ] No files modified outside `.workflow/knowhow/`
|
|
302
299
|
- [ ] Summary displayed with next-step routing
|
|
303
300
|
</success_criteria>
|
|
@@ -18,7 +18,7 @@ Structured second-opinion workflow for code, decisions, or plans. Three modes in
|
|
|
18
18
|
- **challenge**: single adversarial agent that tries to break the approach, find hidden assumptions, and propose alternatives
|
|
19
19
|
- **consult**: interactive Q&A mode where the agent studies the target and answers your questions
|
|
20
20
|
|
|
21
|
-
Decoupled from the phase/execution lifecycle — can be invoked on any piece of code or knowledge at any time. Findings persist to `
|
|
21
|
+
Decoupled from the phase/execution lifecycle — can be invoked on any piece of code or knowledge at any time. Findings persist to `specs/learnings.md` as `<spec-entry>` blocks.
|
|
22
22
|
</purpose>
|
|
23
23
|
|
|
24
24
|
<context>
|
|
@@ -36,15 +36,14 @@ Arguments: $ARGUMENTS
|
|
|
36
36
|
- `--mode consult` — Interactive Q&A session
|
|
37
37
|
|
|
38
38
|
**Storage written:**
|
|
39
|
-
- `.workflow/
|
|
40
|
-
- `.workflow/
|
|
41
|
-
- `.workflow/learning/learning-index.json` — Updated index
|
|
39
|
+
- `.workflow/knowhow/KNW-opinion-{slug}-{YYYY-MM-DD}.md` — Opinion report
|
|
40
|
+
- `.workflow/knowhow/specs/learnings.md` — New `<spec-entry>` blocks from analysis (source: "second-opinion")
|
|
42
41
|
|
|
43
42
|
**Storage read:**
|
|
44
43
|
- Target content (file, wiki entry, diff, or plan)
|
|
45
44
|
- `.workflow/specs/` — Project conventions for context
|
|
46
45
|
- `maestro wiki search` — Related knowledge entries
|
|
47
|
-
- `.workflow/
|
|
46
|
+
- `.workflow/knowhow/specs/learnings.md` — Prior insights about the topic
|
|
48
47
|
</context>
|
|
49
48
|
|
|
50
49
|
<execution>
|
|
@@ -60,7 +59,7 @@ Arguments: $ARGUMENTS
|
|
|
60
59
|
### Stage 2: Load Context
|
|
61
60
|
- Read relevant specs: `Skill({ skill: "spec-load" })` silently to get project conventions
|
|
62
61
|
- Search wiki: `maestro wiki search "<target topic>"` for related entries (top 5)
|
|
63
|
-
- Search
|
|
62
|
+
- Search insights: search `specs/learnings.md` for entries related to the target area
|
|
64
63
|
- Build context brief: target content + conventions + related knowledge
|
|
65
64
|
|
|
66
65
|
### Stage 3: Execute Mode
|
|
@@ -124,15 +123,12 @@ Across all perspectives (or from single agent in challenge/consult):
|
|
|
124
123
|
- **Top 3 recommendations**: prioritized by impact
|
|
125
124
|
|
|
126
125
|
### Stage 5: Persist & Report
|
|
127
|
-
1. Write `.workflow/
|
|
126
|
+
1. Write `.workflow/knowhow/KNW-opinion-{slug}-{date}.md`:
|
|
128
127
|
- Target summary
|
|
129
128
|
- Per-persona findings (review) / adversarial analysis (challenge) / Q&A transcript (consult)
|
|
130
129
|
- Synthesis: agreements, disagreements, verdict
|
|
131
130
|
- Recommendations
|
|
132
|
-
2. Append non-trivial findings to `
|
|
133
|
-
- `source: "second-opinion"`, `category: "pattern"` or `"antipattern"` or `"decision"`
|
|
134
|
-
- Tags: `["second-opinion", "{mode}", "{target-slug}"]`
|
|
135
|
-
3. Update `learning-index.json`
|
|
131
|
+
2. Append non-trivial findings as `<spec-entry>` blocks to `specs/learnings.md` via `maestro spec add learning --roles implement --body "<content>" --keywords "second-opinion,{mode},{target-slug}"`
|
|
136
132
|
4. Display summary with verdict and recommendations
|
|
137
133
|
|
|
138
134
|
**Next-step routing:**
|
|
@@ -153,15 +149,14 @@ Across all perspectives (or from single agent in challenge/consult):
|
|
|
153
149
|
|
|
154
150
|
<success_criteria>
|
|
155
151
|
- [ ] Target resolved and content loaded
|
|
156
|
-
- [ ] Context gathered (specs, wiki,
|
|
152
|
+
- [ ] Context gathered (specs, wiki, knowhow)
|
|
157
153
|
- [ ] Mode executed correctly:
|
|
158
154
|
- review: 3 agents spawned in parallel, all returned findings
|
|
159
155
|
- challenge: adversarial analysis completed with forcing questions
|
|
160
156
|
- consult: interactive Q&A loop completed
|
|
161
157
|
- [ ] Synthesis produced with agreements, disagreements, verdict
|
|
162
|
-
- [ ] Report written to `opinion-{slug}-{date}.md`
|
|
163
|
-
- [ ] Non-trivial findings appended to `
|
|
164
|
-
- [ ]
|
|
165
|
-
- [ ] No files modified outside `.workflow/learning/`
|
|
158
|
+
- [ ] Report written to `KNW-opinion-{slug}-{date}.md`
|
|
159
|
+
- [ ] Non-trivial findings appended to `specs/learnings.md` as `<spec-entry>` blocks
|
|
160
|
+
- [ ] No files modified outside `.workflow/knowhow/`
|
|
166
161
|
- [ ] Summary displayed with verdict and next-step routing
|
|
167
162
|
</success_criteria>
|
|
@@ -41,6 +41,14 @@ $ARGUMENTS -- phase number for milestone-scoped, topic text for adhoc/standalone
|
|
|
41
41
|
- `--gaps [ISS-ID]`: Issue root cause analysis mode. If ISS-ID provided, analyze single issue. If omitted, analyze all open/registered issues from issues.jsonl.
|
|
42
42
|
|
|
43
43
|
Scope routing, output directory format, artifact registration schema, and output artifact listing are defined in workflow analyze.md (Scope Routing and Output Structure sections).
|
|
44
|
+
|
|
45
|
+
### Role Knowledge
|
|
46
|
+
1. Browse accumulated knowledge for this role:
|
|
47
|
+
`maestro wiki list --role analyze`
|
|
48
|
+
2. Analyze the index, identify entries relevant to the current task
|
|
49
|
+
3. Load selected documents:
|
|
50
|
+
`maestro wiki load <id1> [id2] [id3...]`
|
|
51
|
+
4. Review loaded knowledge before proceeding
|
|
44
52
|
</context>
|
|
45
53
|
|
|
46
54
|
<execution>
|
|
@@ -44,6 +44,14 @@ $ARGUMENTS -- topic text for auto mode, or role name for single role mode.
|
|
|
44
44
|
- `--skip-questions`: Skip context gathering questions
|
|
45
45
|
- `--include-questions`: Force context gathering even if analysis exists
|
|
46
46
|
- `--style-skill PKG`: Style package for ui-designer role
|
|
47
|
+
|
|
48
|
+
### Role Knowledge
|
|
49
|
+
1. Browse accumulated knowledge for this role:
|
|
50
|
+
`maestro wiki list --role brainstorm`
|
|
51
|
+
2. Analyze the index, identify entries relevant to the current task
|
|
52
|
+
3. Load selected documents:
|
|
53
|
+
`maestro wiki load <id1> [id2] [id3...]`
|
|
54
|
+
4. Review loaded knowledge before proceeding
|
|
47
55
|
</context>
|
|
48
56
|
|
|
49
57
|
<execution>
|
|
@@ -30,13 +30,21 @@ Invoked after /maestro-plan produces a confirmed plan. When called without args
|
|
|
30
30
|
<context>
|
|
31
31
|
$ARGUMENTS — phase number, or no args for milestone-wide execution, with optional flags.
|
|
32
32
|
|
|
33
|
-
Scope routing, flags, resolution logic, output directory format, artifact registration schema, and incremental
|
|
33
|
+
Scope routing, flags, resolution logic, output directory format, artifact registration schema, and incremental knowhow extraction are defined in workflow `execute.md`.
|
|
34
34
|
|
|
35
35
|
### Pre-load context (before task execution)
|
|
36
36
|
|
|
37
37
|
1. **Codebase docs**: If `.workflow/codebase/doc-index.json` exists, read `ARCHITECTURE.md` for module boundaries. Pass as shared context to executor agents.
|
|
38
38
|
2. **Wiki knowledge**: Run `maestro wiki search "<phase keywords>" --json 2>/dev/null`. If results found, extract top 5 entries as prior knowledge context for agents.
|
|
39
39
|
3. Both are optional — proceed without if unavailable (log warning).
|
|
40
|
+
|
|
41
|
+
### Role Knowledge
|
|
42
|
+
1. Browse accumulated knowledge for this role:
|
|
43
|
+
`maestro wiki list --role implement`
|
|
44
|
+
2. Analyze the index, identify entries relevant to the current task
|
|
45
|
+
3. Load selected documents:
|
|
46
|
+
`maestro wiki load <id1> [id2] [id3...]`
|
|
47
|
+
4. Review loaded knowledge before proceeding
|
|
40
48
|
</context>
|
|
41
49
|
|
|
42
50
|
<execution>
|
|
@@ -61,7 +69,7 @@ After each task completes, evaluate inquiry triggers:
|
|
|
61
69
|
→ Ask: "TASK-{NNN} succeeded after {N} retries. Should this fix pattern be documented? (`/spec-add debug`)"
|
|
62
70
|
|
|
63
71
|
3. **Implicit knowledge**: If task summary contains design rationale ("chose X because", "rejected Y due to"):
|
|
64
|
-
→ Ask: "Design decision detected. Should it be recorded as
|
|
72
|
+
→ Ask: "Design decision detected. Should it be recorded as knowhow? (`/spec-add learning`)"
|
|
65
73
|
|
|
66
74
|
If user confirms, invoke `Skill({ skill: "spec-add", args: "<category> <content>" })` with extracted content.
|
|
67
75
|
|
|
@@ -115,6 +123,6 @@ If failed tasks exist, suggest /quality-debug for investigation.
|
|
|
115
123
|
- [ ] `.summaries/TASK-{NNN}-summary.md` written for each completed task
|
|
116
124
|
- [ ] `.task/TASK-{NNN}.json` statuses updated (completed|blocked)
|
|
117
125
|
- [ ] EXC artifact registered in state.json for each plan executed
|
|
118
|
-
- [ ] Incremental
|
|
126
|
+
- [ ] Incremental knowhow extracted to specs/learnings.md
|
|
119
127
|
- [ ] state.json updated with execution progress
|
|
120
128
|
</success_criteria>
|
|
@@ -46,8 +46,8 @@ $ARGUMENTS — user learning intent text, or flags.
|
|
|
46
46
|
| `pattern-catalog` | decompose --save-spec --save-wiki → second-opinion --mode review | Full pattern extraction + review |
|
|
47
47
|
|
|
48
48
|
**Storage:**
|
|
49
|
-
- `.workflow/
|
|
50
|
-
- All learn command outputs go to `.workflow/
|
|
49
|
+
- `.workflow/knowhow/.maestro-learn/{session_id}/status.json` — Session tracking
|
|
50
|
+
- All learn command outputs go to `.workflow/knowhow/`
|
|
51
51
|
</context>
|
|
52
52
|
|
|
53
53
|
<execution>
|
|
@@ -108,7 +108,7 @@ pattern-catalog → [learn-decompose --save-spec --save-wiki, learn-second-opini
|
|
|
108
108
|
**If not `-y`:** show plan, ask for confirmation.
|
|
109
109
|
|
|
110
110
|
**Execute:**
|
|
111
|
-
1. Create session dir: `.workflow/
|
|
111
|
+
1. Create session dir: `.workflow/knowhow/.maestro-learn/learn-{timestamp}/`
|
|
112
112
|
2. Write `status.json` with chain steps
|
|
113
113
|
3. Execute each step via `Skill()`:
|
|
114
114
|
- On success: mark completed, continue
|
|
@@ -136,5 +136,5 @@ pattern-catalog → [learn-decompose --save-spec --save-wiki, learn-second-opini
|
|
|
136
136
|
- [ ] All chain steps executed via Skill()
|
|
137
137
|
- [ ] Error handling: retry/skip/abort per step
|
|
138
138
|
- [ ] Session summary displayed with next-step routing
|
|
139
|
-
- [ ] No files modified outside `.workflow/
|
|
139
|
+
- [ ] No files modified outside `.workflow/knowhow/`
|
|
140
140
|
</success_criteria>
|
|
@@ -13,7 +13,7 @@ allowed-tools:
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
<purpose>
|
|
16
|
-
Mark a milestone as complete after its audit has passed. Archives all scratch artifacts to `milestones/{M}/artifacts/`, moves artifact entries from `state.json.artifacts[]` to `milestone_history`, extracts final
|
|
16
|
+
Mark a milestone as complete after its audit has passed. Archives all scratch artifacts to `milestones/{M}/artifacts/`, moves artifact entries from `state.json.artifacts[]` to `milestone_history`, extracts final knowhow, and advances to the next milestone.
|
|
17
17
|
</purpose>
|
|
18
18
|
|
|
19
19
|
<required_reading>
|
|
@@ -34,14 +34,14 @@ Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json
|
|
|
34
34
|
<execution>
|
|
35
35
|
Follow '~/.maestro/workflows/milestone-complete.md' completely.
|
|
36
36
|
|
|
37
|
-
Archive flow steps (validation, directory archival, artifact history,
|
|
37
|
+
Archive flow steps (validation, directory archival, artifact history, knowhow extraction, state advancement, cleanup) are defined in workflow `milestone-complete.md`.
|
|
38
38
|
|
|
39
39
|
### Knowledge Promotion Inquiry
|
|
40
40
|
|
|
41
|
-
After
|
|
41
|
+
After knowhow extraction (step 4), scan `learnings.md` for promotion candidates:
|
|
42
42
|
|
|
43
|
-
1. **High-frequency pattern detection**: Scan all `<spec-entry
|
|
44
|
-
→ Ask: "Keyword '{keyword}' appears in {N}
|
|
43
|
+
1. **High-frequency pattern detection**: Scan all `<spec-entry>` entries with `roles="implement"` for keyword overlap (≥2 entries sharing keywords):
|
|
44
|
+
→ Ask: "Keyword '{keyword}' appears in {N} knowhow entries. Should this be promoted to a formal coding convention? (`/spec-add coding`)"
|
|
45
45
|
|
|
46
46
|
2. **Convention drift detection**: Compare executed task summaries against `coding-conventions.md` and `architecture-constraints.md`:
|
|
47
47
|
→ Ask: "Were any established conventions bypassed during this milestone? Should conventions be updated?"
|
|
@@ -68,7 +68,7 @@ If user confirms promotion, invoke `Skill({ skill: "spec-add", args: "<category>
|
|
|
68
68
|
- [ ] Audit report verified as PASS
|
|
69
69
|
- [ ] Scratch artifacts moved to milestones/{M}/artifacts/
|
|
70
70
|
- [ ] Artifact entries archived to milestone_history
|
|
71
|
-
- [ ]
|
|
71
|
+
- [ ] Knowhow extracted to specs/learnings.md
|
|
72
72
|
- [ ] state.json updated: next milestone as current, artifacts[] cleared
|
|
73
73
|
- [ ] Roadmap snapshot saved
|
|
74
74
|
- [ ] project.md Context updated with milestone summary
|
|
@@ -45,6 +45,14 @@ Scope routing, base flags (`--collab`, `--spec`, `-y`, `--gaps`, `--dir`), outpu
|
|
|
45
45
|
**Upstream context:**
|
|
46
46
|
- Reads `context.md` from prior analyze artifact (auto-discovered from state.json or via --dir)
|
|
47
47
|
- Reads `conclusions.json` if available (implementation_scope seeds task generation)
|
|
48
|
+
|
|
49
|
+
### Role Knowledge
|
|
50
|
+
1. Browse accumulated knowledge for this role:
|
|
51
|
+
`maestro wiki list --role plan`
|
|
52
|
+
2. Analyze the index, identify entries relevant to the current task
|
|
53
|
+
3. Load selected documents:
|
|
54
|
+
`maestro wiki load <id1> [id2] [id3...]`
|
|
55
|
+
4. Review loaded knowledge before proceeding
|
|
48
56
|
</context>
|
|
49
57
|
|
|
50
58
|
<execution>
|
|
@@ -170,8 +170,7 @@ flag = auto_flag_map[next.skill] || "-y"
|
|
|
170
170
|
effective_args = `${next.args} ${flag}`
|
|
171
171
|
|
|
172
172
|
Bash({
|
|
173
|
-
command: `maestro delegate "
|
|
174
|
-
Do NOT reimplement — invoke the skill command directly." --to claude --mode write`,
|
|
173
|
+
command: `maestro delegate "/${next.skill} ${effective_args}" --to claude --mode write`,
|
|
175
174
|
run_in_background: true,
|
|
176
175
|
timeout: 600000
|
|
177
176
|
})
|