maestro-flow 0.4.12 → 0.4.14
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/agents/role-design-author.md +6 -4
- package/.agents/skills/learn-decompose/SKILL.md +6 -6
- package/.agents/skills/learn-follow/SKILL.md +4 -4
- package/.agents/skills/learn-investigate/SKILL.md +6 -6
- package/.agents/skills/learn-retro/SKILL.md +7 -7
- package/.agents/skills/learn-second-opinion/SKILL.md +4 -4
- package/.agents/skills/maestro-amend/SKILL.md +1 -0
- package/.agents/skills/maestro-analyze/SKILL.md +10 -3
- package/.agents/skills/maestro-blueprint/SKILL.md +4 -3
- package/.agents/skills/maestro-brainstorm/SKILL.md +6 -5
- package/.agents/skills/maestro-fork/SKILL.md +1 -1
- package/.agents/skills/maestro-guard/SKILL.md +3 -2
- package/.agents/skills/maestro-impeccable/SKILL.md +13 -11
- package/.agents/skills/maestro-milestone-release/SKILL.md +1 -1
- package/.agents/skills/maestro-plan/SKILL.md +3 -1
- package/.agents/skills/maestro-ralph/SKILL.md +21 -16
- package/.agents/skills/maestro-ralph-execute/SKILL.md +30 -11
- package/.agents/skills/maestro-roadmap/SKILL.md +4 -3
- package/.agents/skills/maestro-verify/SKILL.md +1 -1
- package/.agents/skills/manage-harvest/SKILL.md +1 -0
- package/.agents/skills/manage-issue-discover/SKILL.md +1 -1
- package/.agents/skills/manage-knowhow/SKILL.md +1 -1
- package/.agents/skills/manage-learn/SKILL.md +4 -4
- package/.agents/skills/quality-auto-test/SKILL.md +5 -5
- package/.agents/skills/quality-refactor/SKILL.md +1 -1
- package/.agents/skills/quality-retrospective/SKILL.md +2 -2
- package/.agents/skills/security-audit/SKILL.md +24 -0
- package/.agents/skills/spec-remove/SKILL.md +6 -2
- package/.agy/agents/role-design-author.md +6 -4
- package/.agy/skills/learn-decompose/SKILL.md +6 -6
- package/.agy/skills/learn-follow/SKILL.md +4 -4
- package/.agy/skills/learn-investigate/SKILL.md +6 -6
- package/.agy/skills/learn-retro/SKILL.md +7 -7
- package/.agy/skills/learn-second-opinion/SKILL.md +4 -4
- package/.agy/skills/maestro-amend/SKILL.md +1 -0
- package/.agy/skills/maestro-analyze/SKILL.md +10 -3
- package/.agy/skills/maestro-blueprint/SKILL.md +4 -3
- package/.agy/skills/maestro-brainstorm/SKILL.md +6 -5
- package/.agy/skills/maestro-fork/SKILL.md +1 -1
- package/.agy/skills/maestro-guard/SKILL.md +3 -2
- package/.agy/skills/maestro-impeccable/SKILL.md +13 -11
- package/.agy/skills/maestro-milestone-release/SKILL.md +1 -1
- package/.agy/skills/maestro-plan/SKILL.md +3 -1
- package/.agy/skills/maestro-ralph/SKILL.md +21 -16
- package/.agy/skills/maestro-ralph-execute/SKILL.md +30 -11
- package/.agy/skills/maestro-roadmap/SKILL.md +4 -3
- package/.agy/skills/maestro-verify/SKILL.md +1 -1
- package/.agy/skills/manage-harvest/SKILL.md +1 -0
- package/.agy/skills/manage-issue-discover/SKILL.md +1 -1
- package/.agy/skills/manage-knowhow/SKILL.md +1 -1
- package/.agy/skills/manage-learn/SKILL.md +4 -4
- package/.agy/skills/quality-auto-test/SKILL.md +5 -5
- package/.agy/skills/quality-refactor/SKILL.md +1 -1
- package/.agy/skills/quality-retrospective/SKILL.md +2 -2
- package/.agy/skills/security-audit/SKILL.md +24 -0
- package/.agy/skills/spec-remove/SKILL.md +6 -2
- package/.claude/agents/role-design-author.md +6 -4
- package/.claude/commands/learn-decompose.md +6 -6
- package/.claude/commands/learn-follow.md +4 -4
- package/.claude/commands/learn-investigate.md +6 -6
- package/.claude/commands/learn-retro.md +7 -7
- package/.claude/commands/learn-second-opinion.md +4 -4
- package/.claude/commands/maestro-amend.md +1 -0
- package/.claude/commands/maestro-analyze.md +10 -3
- package/.claude/commands/maestro-blueprint.md +4 -3
- package/.claude/commands/maestro-brainstorm.md +6 -5
- package/.claude/commands/maestro-fork.md +1 -1
- package/.claude/commands/maestro-guard.md +3 -2
- package/.claude/commands/maestro-impeccable.md +13 -11
- package/.claude/commands/maestro-milestone-release.md +1 -1
- package/.claude/commands/maestro-plan.md +3 -1
- package/.claude/commands/maestro-ralph-execute.md +30 -11
- package/.claude/commands/maestro-ralph.md +21 -16
- package/.claude/commands/maestro-roadmap.md +4 -3
- package/.claude/commands/maestro-verify.md +1 -1
- package/.claude/commands/manage-harvest.md +1 -0
- package/.claude/commands/manage-issue-discover.md +1 -1
- package/.claude/commands/manage-knowhow.md +1 -1
- package/.claude/commands/manage-learn.md +4 -4
- package/.claude/commands/quality-auto-test.md +5 -5
- package/.claude/commands/quality-refactor.md +1 -1
- package/.claude/commands/quality-retrospective.md +2 -2
- package/.claude/commands/security-audit.md +24 -0
- package/.claude/commands/spec-remove.md +6 -2
- package/.codex/skills/learn-decompose/SKILL.md +4 -4
- package/.codex/skills/learn-follow/SKILL.md +3 -3
- package/.codex/skills/learn-investigate/SKILL.md +3 -3
- package/.codex/skills/learn-retro/SKILL.md +3 -3
- package/.codex/skills/learn-second-opinion/SKILL.md +3 -3
- package/.codex/skills/maestro-analyze/SKILL.md +4 -3
- package/.codex/skills/maestro-blueprint/SKILL.md +4 -3
- package/.codex/skills/maestro-brainstorm/SKILL.md +148 -7
- package/.codex/skills/maestro-fork/SKILL.md +2 -0
- package/.codex/skills/maestro-guard/SKILL.md +3 -2
- package/.codex/skills/maestro-impeccable/SKILL.md +13 -11
- package/.codex/skills/maestro-ralph/SKILL.md +1 -1
- package/.codex/skills/maestro-roadmap/SKILL.md +4 -3
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +9 -5
- package/.codex/skills/manage-harvest/SKILL.md +1 -1
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/manage-knowhow/SKILL.md +1 -1
- package/.codex/skills/manage-learn/SKILL.md +3 -3
- package/.codex/skills/quality-refactor/SKILL.md +2 -2
- package/.codex/skills/quality-retrospective/SKILL.md +3 -3
- package/.codex/skills/security-audit/SKILL.md +24 -0
- package/.codex/skills/spec-remove/SKILL.md +8 -2
- package/package.json +1 -1
- package/workflows/agy-instructions.md +2 -0
- package/workflows/analyze.md +6 -6
- package/workflows/auto-test.md +6 -1
- package/workflows/brainstorm.md +26 -12
- package/workflows/claude-instructions.md +2 -0
- package/workflows/codex-instructions.md +16 -83
- package/workflows/debug.md +5 -5
- package/workflows/harvest.md +2 -2
- package/workflows/impeccable.md +2 -0
- package/workflows/init.md +1 -1
- package/workflows/issue-analyze.md +14 -100
- package/workflows/issue-discover.md +2 -3
- package/workflows/issue-execute.md +1 -1
- package/workflows/issue-gaps-analyze.md +2 -0
- package/workflows/learn.md +1 -1
- package/workflows/maestro-chain-execute.md +10 -228
- package/workflows/maestro.md +1 -0
- package/workflows/milestone-complete.md +3 -3
- package/workflows/milestone-release.md +82 -0
- package/workflows/plan.md +5 -5
- package/workflows/quick.md +4 -4
- package/workflows/refactor.md +3 -3
- package/workflows/retrospective.md +4 -4
- package/workflows/roadmap.md +1 -1
- package/workflows/spec-generate.md +2 -0
- package/workflows/specs-add.md +6 -1
- package/workflows/specs-load.md +6 -1
- package/workflows/specs-setup.md +6 -1
- package/workflows/sync.md +13 -0
- package/workflows/tools-spec.md +4 -0
- package/workflows/ui-design.md +4 -4
- package/workflows/ui-style.md +1 -1
- package/workflows/verify.md +1 -1
- package/workflows/wiki-manage.md +2 -0
|
@@ -53,7 +53,7 @@ Follow '~/.maestro/workflows/knowhow.md' Part A (KnowHow Management) completely.
|
|
|
53
53
|
<error_codes>
|
|
54
54
|
| Code | Severity | Description | Stage |
|
|
55
55
|
|------|----------|-------------|-------|
|
|
56
|
-
| E001 | error | No memory stores found — run `/manage-knowhow-capture
|
|
56
|
+
| E001 | error | No memory stores found — for workflow store run `/manage-knowhow-capture`; for system store create `~/.claude/projects/{project}/memory/MEMORY.md` manually | resolve_paths |
|
|
57
57
|
| E002 | error | Entry ID or filename not found | execute_view, execute_delete |
|
|
58
58
|
| E003 | error | Prune requires at least one filter (--tag, --type, --before, --after) | execute_prune |
|
|
59
59
|
| E004 | error | Cannot delete MEMORY.md — use `edit` subcommand instead | execute_delete |
|
|
@@ -30,7 +30,7 @@ Arguments: $ARGUMENTS
|
|
|
30
30
|
- `"<insight text>"` (or any non-keyword text) → insight capture mode
|
|
31
31
|
- `tip <text>` → tip capture mode (quick contextual note, auto-tagged `tip`)
|
|
32
32
|
- `list` → list recent entries (default 20)
|
|
33
|
-
- `search <query>` → `maestro spec load --category learning` or text search across
|
|
33
|
+
- `search <query>` → `maestro spec load --category learning` or text search across `.workflow/specs/learnings.md`
|
|
34
34
|
- `show <INS-id>` → full detail with phase context
|
|
35
35
|
- empty → AskUserQuestion to prompt for text
|
|
36
36
|
|
|
@@ -47,19 +47,19 @@ Follow `~/.maestro/workflows/learn.md` Stages 1–5 in order.
|
|
|
47
47
|
| E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
|
|
48
48
|
| E002 | error | Unknown `--category` value (allowed: pattern, antipattern, decision, tool, gotcha, technique, tip) | parse_input |
|
|
49
49
|
| E003 | error | `show` mode requires an INS-id argument | show |
|
|
50
|
-
| E004 | error | Insight id not found in
|
|
50
|
+
| E004 | error | Insight id not found in `.workflow/specs/learnings.md` | show |
|
|
51
51
|
| W001 | warning | Auto-phase detection found a current_phase but no matching artifact in registry; phase set to null | capture |
|
|
52
52
|
</error_codes>
|
|
53
53
|
|
|
54
54
|
<success_criteria>
|
|
55
55
|
- [ ] Mode correctly routed (capture / list / search / show)
|
|
56
|
-
- [ ] Capture: `<spec-entry>` block appended to
|
|
56
|
+
- [ ] Capture: `<spec-entry>` block appended to `.workflow/specs/learnings.md` with all required fields
|
|
57
57
|
- [ ] Capture: phase auto-link resolves correctly via artifact registry when `state.json` has `current_phase`
|
|
58
58
|
- [ ] Capture: category inference produces a sensible default when `--category` absent
|
|
59
59
|
- [ ] List: filters apply, output sorted newest-first, default limit 20
|
|
60
60
|
- [ ] Search: results ranked by title (3) > tags (2) > summary (1) match
|
|
61
61
|
- [ ] Show: full insight displayed with phase context and routed-artifact link if any
|
|
62
|
-
- [ ] No file modifications outside `.workflow/knowhow/`
|
|
62
|
+
- [ ] No file modifications outside `.workflow/specs/learnings.md` and `.workflow/knowhow/`
|
|
63
63
|
- [ ] Confirmation banner displayed with INS-id and next-step hints
|
|
64
64
|
- [ ] Next step: `/manage-learn list` to browse, or `/manage-learn search <query>` to find related insights
|
|
65
65
|
</success_criteria>
|
|
@@ -40,13 +40,13 @@ Phase or task: $ARGUMENTS (required — phase number)
|
|
|
40
40
|
|
|
41
41
|
**Intelligent routing** (auto-detected from project state):
|
|
42
42
|
|
|
43
|
-
| Priority | Condition | Route |
|
|
44
|
-
|
|
43
|
+
| Priority | Condition | Route | Reference skill |
|
|
44
|
+
|----------|-----------|-------|-----------------|
|
|
45
45
|
| 1 | Active session exists (state.json status=running) | Resume | — |
|
|
46
46
|
| 2 | --re-run flag + previous failures | Re-run | — |
|
|
47
|
-
| 3 | Spec package exists (REQ-*.md) | spec | quality-business-test |
|
|
48
|
-
| 4 | Nyquist gaps exist (verification.json) | gap | quality-test-gen |
|
|
49
|
-
| 5 | Default | code | quality-integration-test |
|
|
47
|
+
| 3 | Spec package exists (REQ-*.md) | spec | quality-business-test (separate skill) |
|
|
48
|
+
| 4 | Nyquist gaps exist (verification.json) | gap | quality-test-gen (separate skill) |
|
|
49
|
+
| 5 | Default | code | quality-integration-test (separate skill) |
|
|
50
50
|
|
|
51
51
|
Flags, artifact context resolution, and output formats defined in workflow auto-test.md.
|
|
52
52
|
|
|
@@ -46,7 +46,7 @@ After successful refactoring, ask user once: "Record refactoring pattern as codi
|
|
|
46
46
|
|
|
47
47
|
**Next-step routing on completion:**
|
|
48
48
|
- All tests pass → `/quality-sync` (update codebase docs)
|
|
49
|
-
- Test failures after refactor → `/quality-debug {scope}`
|
|
49
|
+
- Test failures after refactor → `/quality-debug "test failures after refactor in {scope}"`
|
|
50
50
|
- No test suite available → `/quality-auto-test {phase}`
|
|
51
51
|
</execution>
|
|
52
52
|
|
|
@@ -13,7 +13,7 @@ allowed-tools:
|
|
|
13
13
|
- AskUserQuestion
|
|
14
14
|
---
|
|
15
15
|
<purpose>
|
|
16
|
-
Post-execution multi-perspective retrospective (复盘) for completed phases. Consumes existing execution artifacts (verification.json, review.json, issues.jsonl, plan.json, .summaries/, uat.md, state.json) and runs four parallel lenses — technical, process, quality, decision — to distill reusable insights. Routes each insight into the appropriate store: spec stub for reusable patterns, memory tip for process notes, issue for recurring gaps. Auto-scans for unreviewed completed phases and reports the backlog. Every insight is also persisted to `.workflow/
|
|
16
|
+
Post-execution multi-perspective retrospective (复盘) for completed phases. Consumes existing execution artifacts (verification.json, review.json, issues.jsonl, plan.json, .summaries/, uat.md, state.json) and runs four parallel lenses — technical, process, quality, decision — to distill reusable insights. Routes each insight into the appropriate store: spec stub for reusable patterns, memory tip for process notes, issue for recurring gaps. Auto-scans for unreviewed completed phases and reports the backlog. Every insight is also persisted to `.workflow/specs/learnings.md` as `<spec-entry>` blocks for cross-phase queryability.
|
|
17
17
|
</purpose>
|
|
18
18
|
|
|
19
19
|
<required_reading>
|
|
@@ -70,7 +70,7 @@ Follow `~/.maestro/workflows/retrospective.md` Stages 1–8 in order. Key invari
|
|
|
70
70
|
- [ ] Spec entries (if any) appended as `<spec-entry>` to matching `.workflow/specs/{category-file}.md`
|
|
71
71
|
- [ ] Issue rows (if any) match canonical issues.jsonl schema (status "open", full issue_history, all required fields)
|
|
72
72
|
- [ ] Note tips (if any) created via `Skill({ skill: "manage-learn", args: "tip ..." })`
|
|
73
|
-
- [ ]
|
|
73
|
+
- [ ] `.workflow/specs/learnings.md` appended with one `<spec-entry>` per insight regardless of routing target
|
|
74
74
|
- [ ] No existing phase artifacts modified (verification.json, review.json, plan.json untouched)
|
|
75
75
|
- [ ] Confirmation banner displays routing counts and next-step suggestions
|
|
76
76
|
- [ ] Next step: `/manage-status` to review state, or `/manage-issue list --source retrospective` to triage created issues, or `/manage-learn list` to browse the knowhow library
|
|
@@ -16,6 +16,10 @@ Systematic security audit covering OWASP Top 10, dependency supply chain, secret
|
|
|
16
16
|
CI/CD pipeline review, and optional STRIDE threat modeling. Three tiers control depth vs speed.
|
|
17
17
|
</purpose>
|
|
18
18
|
|
|
19
|
+
<required_reading>
|
|
20
|
+
@~/.maestro/workflows/review.md
|
|
21
|
+
</required_reading>
|
|
22
|
+
|
|
19
23
|
<context>
|
|
20
24
|
$ARGUMENTS — Parse tier and scope:
|
|
21
25
|
- Tier: `quick` (default) | `standard` | `deep`
|
|
@@ -143,6 +147,26 @@ CONCERNS: {count} critical findings require immediate action
|
|
|
143
147
|
NEXT: /quality-review
|
|
144
148
|
--- END STATUS ---
|
|
145
149
|
```
|
|
150
|
+
|
|
151
|
+
**Register artifact on completion** (so retrospective/harvest can trace this audit):
|
|
152
|
+
```
|
|
153
|
+
Append to state.json.artifacts[]:
|
|
154
|
+
{
|
|
155
|
+
id: nextArtifactId(artifacts, "review"), // RVW-NNN (security-audit reuses review type)
|
|
156
|
+
type: "review",
|
|
157
|
+
subtype: "security-audit",
|
|
158
|
+
milestone: current_milestone || null,
|
|
159
|
+
phase: target_phase || null,
|
|
160
|
+
scope: target_phase ? "phase" : "standalone",
|
|
161
|
+
path: "scratch/{YYYYMMDD}-security-audit-{tier}-{slug}",
|
|
162
|
+
status: critical_count == 0 ? "completed" : "completed_with_concerns",
|
|
163
|
+
tier: tier, // quick|standard|deep
|
|
164
|
+
harvested: false,
|
|
165
|
+
created_at: start_time,
|
|
166
|
+
completed_at: now()
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
Write findings report to the same `path` (severity matrix, file:line refs, remediation).
|
|
146
170
|
</execution>
|
|
147
171
|
|
|
148
172
|
<success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-remove
|
|
3
3
|
description: Remove spec entry by ID
|
|
4
|
-
argument-hint: "<entry-id>"
|
|
4
|
+
argument-hint: "<entry-id> [--cascade]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -26,6 +26,9 @@ $ARGUMENTS -- expects `<entry-id>` (e.g., `spec-learnings-003`, `spec-coding-con
|
|
|
26
26
|
**Entry ID format**: `spec-{file-stem}-{NNN}` — the sub-node ID assigned by WikiIndexer when indexing `<spec-entry>` blocks.
|
|
27
27
|
|
|
28
28
|
**Discovery**: Use `maestro wiki list --type spec --json` or `/spec-load --keyword <term>` to find entry IDs.
|
|
29
|
+
|
|
30
|
+
**Flags:**
|
|
31
|
+
- `--cascade` — When the target spec is a ref-type entry (created via `spec-add --ref` and linked to a knowhow document), also delete the referenced knowhow file. Without this flag, ref-type removal leaves an orphan knowhow file.
|
|
29
32
|
</context>
|
|
30
33
|
|
|
31
34
|
<execution>
|
|
@@ -47,5 +50,6 @@ Follow '~/.maestro/workflows/specs-remove.md' completely.
|
|
|
47
50
|
- [ ] User confirmed removal (unless -y flag)
|
|
48
51
|
- [ ] Entry removed from container file via `maestro wiki remove-entry`
|
|
49
52
|
- [ ] Wiki index auto-updated
|
|
50
|
-
- [ ]
|
|
53
|
+
- [ ] If `--cascade` and entry has a `ref` attribute: referenced knowhow file deleted, orphan avoided
|
|
54
|
+
- [ ] Confirmation displayed with removed entry details (and cascaded knowhow path if applicable)
|
|
51
55
|
</success_criteria>
|
|
@@ -8,7 +8,7 @@ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUser
|
|
|
8
8
|
<purpose>
|
|
9
9
|
Systematic pattern extraction from code via CSV wave pipeline. 4 parallel dimension agents
|
|
10
10
|
scan a module, then a cross-reference agent deduplicates against existing patterns and
|
|
11
|
-
produces a catalog. Discovered patterns persist to
|
|
11
|
+
produces a catalog. Discovered patterns persist to `.workflow/specs/learnings.md` and optionally to
|
|
12
12
|
specs (via `spec-add`) and wiki.
|
|
13
13
|
|
|
14
14
|
```
|
|
@@ -50,7 +50,7 @@ $ARGUMENTS — target path/module and optional flags.
|
|
|
50
50
|
Parse flags from `$ARGUMENTS`: `-y`/`--yes`, `--patterns <list>`, `--save-spec`, `--save-wiki`, `--continue`, `-c N`.
|
|
51
51
|
Extract remaining text as target path/module.
|
|
52
52
|
|
|
53
|
-
Resolve target to file list. Load coding specs: `maestro spec load --category coding` for documented patterns and conventions. Load existing patterns from `coding-conventions.md` +
|
|
53
|
+
Resolve target to file list. Load coding specs: `maestro spec load --category coding` for documented patterns and conventions. Load existing patterns from `coding-conventions.md` + `.workflow/specs/learnings.md` for dedup set. Browse wiki: `maestro wiki list --category coding`, load relevant entries.
|
|
54
54
|
|
|
55
55
|
### Phase 2: Wave 1 — Parallel Dimension Scans
|
|
56
56
|
|
|
@@ -88,7 +88,7 @@ Single agent receives all wave 1 findings via `prev_context`. Tasks:
|
|
|
88
88
|
### Phase 4: Persist
|
|
89
89
|
|
|
90
90
|
1. Write `KNW-decompose-{slug}-{date}.md` with full catalog
|
|
91
|
-
2. Append each **new** pattern to
|
|
91
|
+
2. Append each **new** pattern to `.workflow/specs/learnings.md` (source: "decompose", category: "pattern")
|
|
92
92
|
3. If `--save-spec`: invoke `spec-add` per new pattern
|
|
93
93
|
4. If `--save-wiki`: create wiki note per dimension group
|
|
94
94
|
</execution>
|
|
@@ -108,6 +108,6 @@ Single agent receives all wave 1 findings via `prev_context`. Tasks:
|
|
|
108
108
|
- [ ] Each finding has: name, dimension, confidence, anchors, description
|
|
109
109
|
- [ ] Cross-reference performed (documented / known / new)
|
|
110
110
|
- [ ] Pattern catalog written to `KNW-decompose-{slug}-{date}.md`
|
|
111
|
-
- [ ] New patterns appended to
|
|
111
|
+
- [ ] New patterns appended to `.workflow/specs/learnings.md` with stable INS-ids
|
|
112
112
|
- [ ] If --save-spec / --save-wiki: entries created
|
|
113
113
|
</success_criteria>
|
|
@@ -8,7 +8,7 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
|
8
8
|
<purpose>
|
|
9
9
|
Guided reading experience for code files, wiki entries, or topics. Walks through content
|
|
10
10
|
section by section using 4 forcing questions to extract patterns, identify assumptions,
|
|
11
|
-
and build a structured understanding map. Insights persist to
|
|
11
|
+
and build a structured understanding map. Insights persist to `.workflow/specs/learnings.md`.
|
|
12
12
|
|
|
13
13
|
Unlike `learn-decompose` which is parallel pattern extraction, this is sequential
|
|
14
14
|
deep reading that builds understanding incrementally.
|
|
@@ -57,7 +57,7 @@ Cross-reference against `coding-conventions.md`: documented vs undocumented patt
|
|
|
57
57
|
|
|
58
58
|
### Stage 5: Persist
|
|
59
59
|
1. Write `KNW-follow-{slug}-{date}.md` with understanding map
|
|
60
|
-
2. Append new patterns to
|
|
60
|
+
2. Append new patterns to `.workflow/specs/learnings.md` (source: "follow", stable INS-ids)
|
|
61
61
|
3. If `--save-wiki`: create wiki note entry
|
|
62
62
|
|
|
63
63
|
**Next steps:** `/learn-decompose <path>`, `/spec-add coding ...`, `/learn-second-opinion <file>`
|
|
@@ -79,5 +79,5 @@ Cross-reference against `coding-conventions.md`: documented vs undocumented patt
|
|
|
79
79
|
- [ ] Patterns extracted with file:line anchors
|
|
80
80
|
- [ ] Understanding map produced with concepts, patterns, assumptions, questions
|
|
81
81
|
- [ ] `KNW-follow-{slug}-{date}.md` written
|
|
82
|
-
- [ ]
|
|
82
|
+
- [ ] `.workflow/specs/learnings.md` appended with stable INS-ids
|
|
83
83
|
</success_criteria>
|
|
@@ -29,7 +29,7 @@ $ARGUMENTS — question text and optional flags.
|
|
|
29
29
|
### Stage 1: Frame the Question
|
|
30
30
|
- Parse question, generate slug, create investigation directory
|
|
31
31
|
- Load debug specs: `maestro spec load --category debug` for known issues and patterns
|
|
32
|
-
- Search prior knowledge: `maestro wiki list --category debug`, wiki search, grep specs/learnings.md
|
|
32
|
+
- Search prior knowledge: `maestro wiki list --category debug`, wiki search, grep .workflow/specs/learnings.md
|
|
33
33
|
- Write initial `understanding.md`
|
|
34
34
|
|
|
35
35
|
### Stage 2: Evidence Collection
|
|
@@ -55,7 +55,7 @@ If all hypotheses fail: broaden scope, search wiki with alt keywords, or mark IN
|
|
|
55
55
|
|
|
56
56
|
### Stage 5: Synthesize + Persist
|
|
57
57
|
1. Write `report.md` with answer, evidence trail, hypothesis results
|
|
58
|
-
2. Append to
|
|
58
|
+
2. Append to `.workflow/specs/learnings.md`:
|
|
59
59
|
- Confirmed → category: "technique" / "pattern"
|
|
60
60
|
- Disproved → category: "gotcha"
|
|
61
61
|
3. Display summary with next-step routing
|
|
@@ -79,6 +79,6 @@ If all hypotheses fail: broaden scope, search wiki with alt keywords, or mark IN
|
|
|
79
79
|
- [ ] At least 1 hypothesis formed and tested
|
|
80
80
|
- [ ] understanding.md tracks evolving understanding
|
|
81
81
|
- [ ] report.md written with answer and evidence trail
|
|
82
|
-
- [ ] Findings appended to specs/learnings.md with stable INS-ids
|
|
82
|
+
- [ ] Findings appended to .workflow/specs/learnings.md with stable INS-ids
|
|
83
83
|
- [ ] 3-strike escalation triggered if all hypotheses fail
|
|
84
84
|
</success_criteria>
|
|
@@ -41,7 +41,7 @@ $ARGUMENTS — lens selection and scope flags.
|
|
|
41
41
|
**Trend comparison** if prior `retro-*.json` exists.
|
|
42
42
|
|
|
43
43
|
### Phase 3: Decision Lens (skip if --lens git)
|
|
44
|
-
**3a: Collect decisions** from wiki, specs, git log, phase context, specs/learnings.md.
|
|
44
|
+
**3a: Collect decisions** from wiki, specs, git log, phase context, .workflow/specs/learnings.md.
|
|
45
45
|
**3b: Build decision registry** per decision (id, title, source, rationale, alternatives, evidence).
|
|
46
46
|
|
|
47
47
|
**3c: Multi-perspective evaluation** via spawn_agents_on_csv (3 parallel agents):
|
|
@@ -58,7 +58,7 @@ $ARGUMENTS — lens selection and scope flags.
|
|
|
58
58
|
Write `KNW-retro-{date}.md` + `KNW-retro-{date}.json` with metrics, sessions, hotspots, decision health, combined insights, recommended actions.
|
|
59
59
|
|
|
60
60
|
### Phase 5: Persist
|
|
61
|
-
Append insights to
|
|
61
|
+
Append insights to `.workflow/specs/learnings.md` (source: "retro-git" or "retro-decision"). Display summary.
|
|
62
62
|
|
|
63
63
|
**Next steps:** `/learn-follow <path>`, `/quality-auto-test <area>`, `/learn-investigate <question>`
|
|
64
64
|
</execution>
|
|
@@ -79,5 +79,5 @@ Append insights to `specs/learnings.md` (source: "retro-git" or "retro-decision"
|
|
|
79
79
|
- [ ] Git lens: metrics computed, sessions detected, hotspots identified
|
|
80
80
|
- [ ] Decision lens: decisions collected, 3 agents spawned in parallel, lifecycle classified
|
|
81
81
|
- [ ] Unified report written to KNW-retro-{date}.md + KNW-retro-{date}.json
|
|
82
|
-
- [ ] specs/learnings.md appended with insights (stable INS-ids)
|
|
82
|
+
- [ ] .workflow/specs/learnings.md appended with insights (stable INS-ids)
|
|
83
83
|
</success_criteria>
|
|
@@ -11,7 +11,7 @@ Structured second-opinion for code, decisions, or plans. Three modes:
|
|
|
11
11
|
- **challenge**: single adversarial agent via spawn_agents_on_csv (1 worker)
|
|
12
12
|
- **consult**: interactive Q&A (no CSV wave — direct orchestration)
|
|
13
13
|
|
|
14
|
-
Findings persist to
|
|
14
|
+
Findings persist to `.workflow/specs/learnings.md`. Decoupled from phase lifecycle.
|
|
15
15
|
</purpose>
|
|
16
16
|
|
|
17
17
|
<context>
|
|
@@ -62,7 +62,7 @@ Interactive loop via AskUserQuestion. Agent studies target, answers questions wi
|
|
|
62
62
|
|
|
63
63
|
### Phase 3: Persist
|
|
64
64
|
1. Write `KNW-opinion-{slug}-{date}.md` with per-persona findings + synthesis
|
|
65
|
-
2. Append non-trivial findings to
|
|
65
|
+
2. Append non-trivial findings to `.workflow/specs/learnings.md` (source: "second-opinion")
|
|
66
66
|
3. Display summary with verdict and next steps
|
|
67
67
|
|
|
68
68
|
**Next steps:** `/manage-issue create`, `/learn-decompose <path>`, `/learn-follow <path>`
|
|
@@ -82,5 +82,5 @@ Interactive loop via AskUserQuestion. Agent studies target, answers questions wi
|
|
|
82
82
|
- [ ] Mode executed: review (3 parallel agents), challenge (adversarial), or consult (interactive)
|
|
83
83
|
- [ ] Synthesis produced with agreements, disagreements, verdict
|
|
84
84
|
- [ ] Report written to `KNW-opinion-{slug}-{date}.md`
|
|
85
|
-
- [ ] Non-trivial findings appended to
|
|
85
|
+
- [ ] Non-trivial findings appended to `.workflow/specs/learnings.md`
|
|
86
86
|
</success_criteria>
|
|
@@ -36,14 +36,15 @@ $ARGUMENTS -- phase number, topic text, and optional flags.
|
|
|
36
36
|
<interview_protocol>
|
|
37
37
|
Interview the user relentlessly until shared understanding is reached. Active only in interactive mode; skip when `-y/--yes`, `--continue`, or input is already specific (explicit phase number or unambiguous topic).
|
|
38
38
|
|
|
39
|
-
- One decision per turn via AskUserQuestion with 2–4 options + a (Recommended) default
|
|
40
|
-
-
|
|
39
|
+
- One decision per turn via AskUserQuestion with 2–4 options + a (Recommended) default. The user controls termination — keep interviewing until convergence; they can interrupt naturally at any time.
|
|
40
|
+
- Search-first when uncertain: before asking, resolve via `state.json`, `roadmap.md`, `issues.jsonl`, `maestro spec load`, `maestro wiki search`, Grep, Read, or — for open-ended multi-file scans — `maestro delegate ... --role explore`. Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
|
|
41
|
+
- Writeback cadence: each settled decision is immediately appended/updated in `context.md` "Interview Decisions" (and mirrored into `analysis.md` in full mode). Do NOT batch writeback to the end — partial decisions must already be on disk before the next question.
|
|
41
42
|
- Walk the decision dependency tree strictly: scope → depth → dimensions → Go/No-Go threshold. Do not open the next branch until the current one is settled.
|
|
42
43
|
- Scope guard: only ask about decisions owned by `analyze`. Do not prejudge plan/execute concerns.
|
|
43
44
|
|
|
44
45
|
Decision points: scope (phase / topic / milestone-wide / adhoc / --gaps) → depth (quick / standard / deep) → dimensions (which of the 6 to keep) → Go/No-Go threshold.
|
|
45
46
|
|
|
46
|
-
Exit:
|
|
47
|
+
Exit: when all decision points are settled (or user explicitly signals to proceed), finalize session metadata. The decision table (populated incrementally during interview) uses this schema:
|
|
47
48
|
`| # | Decision | Choice | Source (user / code / default) |`
|
|
48
49
|
</interview_protocol>
|
|
49
50
|
|
|
@@ -56,14 +56,15 @@ maestro-analyze → maestro-roadmap → maestro-plan
|
|
|
56
56
|
<interview_protocol>
|
|
57
57
|
Interview the user relentlessly about every aspect of the spec until shared understanding is reached. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one; if a question can be answered by exploring the codebase, explore the codebase instead. Active only in interactive mode; skip when `-y/--yes`, `-c/--continue`, or input is already specific (clear idea + scope).
|
|
58
58
|
|
|
59
|
-
- Ask one question per turn via request_user_input and wait for the user's feedback before continuing; every question must carry a recommended answer marked `(Recommended)`, 2–4 options total
|
|
60
|
-
-
|
|
59
|
+
- Ask one question per turn via request_user_input and wait for the user's feedback before continuing; every question must carry a recommended answer marked `(Recommended)`, 2–4 options total. The user controls termination — keep interviewing until convergence; they can interrupt naturally at any time.
|
|
60
|
+
- Search-first when uncertain: before asking, resolve via `state.json`, existing artifacts, `maestro spec load`, direct codebase exploration (Glob/Grep/Read), or — for open-ended multi-file scans — `maestro delegate ... --role explore`. Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
|
|
61
|
+
- Writeback cadence: each settled decision is immediately persisted into `blueprint-config.json` before the next question. Do NOT batch writeback to the end — partial decisions must already be on disk.
|
|
61
62
|
- Walk the decision dependency tree depth-first: scope → spec type → focus areas → requirement priorities. Do not open the next branch until the current one is settled.
|
|
62
63
|
- Scope guard: only decide the shape of the specification. Do not pre-resolve roadmap phases or plan tasks — those belong to downstream commands.
|
|
63
64
|
|
|
64
65
|
Decision points: scope (full product / feature set / single feature) → spec type (service / api / library / platform) → focus areas → whether to run codebase exploration.
|
|
65
66
|
|
|
66
|
-
Exit: on consensus or
|
|
67
|
+
Exit: on consensus or explicit user signal to proceed, finalize blueprint-config.json (decisions already written incrementally) and proceed to Phase 1.
|
|
67
68
|
</interview_protocol>
|
|
68
69
|
|
|
69
70
|
<execution>
|
|
@@ -39,28 +39,169 @@ $ARGUMENTS — topic text and optional flags.
|
|
|
39
39
|
<interview_protocol>
|
|
40
40
|
Interview the user relentlessly until shared understanding is reached. Active only in interactive mode; skip when `-y/--yes`, `--skip-questions`, `--continue` (existing session), or input is already specific.
|
|
41
41
|
|
|
42
|
-
- One decision per turn via request_user_input with 2–4 options + a (Recommended) default;
|
|
43
|
-
-
|
|
42
|
+
- One decision per turn via request_user_input with 2–4 options + a (Recommended) default. The user controls termination — keep interviewing until convergence; they can interrupt naturally at any time.
|
|
43
|
+
- Search-first when uncertain: before asking, resolve via `state.json`, the session directory, `maestro spec load`, `maestro wiki search`, Glob/Grep/Read, or — for open-ended multi-file scans — `maestro delegate ... --role explore`. Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
|
|
44
|
+
- Writeback cadence: each time a decision settles, immediately append/update its row in `guidance-specification.md` §11 (create the section if absent). Do NOT batch writeback to the end — partial decisions must already be on disk before the next question.
|
|
44
45
|
- Branch jumps allowed: the user may switch freely between mode / role / upstream / sub-pipeline branches; sequence is not enforced, but every decision point must end with a definite answer.
|
|
45
46
|
- Scope guard: only ask about decisions owned by `brainstorm`. Do not pre-resolve roadmap/plan choices.
|
|
46
47
|
|
|
47
48
|
Decision points: mode (auto / single-role / review-only) / role selection and `--count` / `--from` upstream source / whether to enable design-research and the DESIGN.md sub-pipeline.
|
|
48
49
|
|
|
49
|
-
Exit: on consensus or
|
|
50
|
+
Exit: on consensus or explicit user signal to proceed, finalize session metadata. The §11 table (already populated incrementally) uses this schema:
|
|
50
51
|
`| # | Decision | Choice | Source (user / code / default) |`
|
|
51
52
|
</interview_protocol>
|
|
52
53
|
|
|
53
54
|
<csv_schema>
|
|
54
55
|
```csv
|
|
55
56
|
id,title,description,role,topic,guidance_spec,deps,context_from,wave,status,findings,output_file,error
|
|
56
|
-
"1","Guidance Spec","
|
|
57
|
-
"2","System Architect","
|
|
58
|
-
"3","UI Designer","
|
|
59
|
-
"4","Cross-Role Review","
|
|
57
|
+
"1","Guidance Spec","<W1 prompt — see <agent_prompt_template>>","guidance-generator","<topic>","","","","1","","","",""
|
|
58
|
+
"2","System Architect","<W2 prompt — see <agent_prompt_template>>","system-architect","<topic>","","1","1","2","","","<ABS_SESSION>/system-architect/analysis.md",""
|
|
59
|
+
"3","UI Designer","<W2 prompt — see <agent_prompt_template>>","ui-designer","<topic>","","1","1","2","","","<ABS_SESSION>/ui-designer/analysis.md",""
|
|
60
|
+
"4","Cross-Role Review","<W3 prompt — see <agent_prompt_template>>","cross-role-reviewer","<topic>","","2;3","2;3","3","","","",""
|
|
60
61
|
```
|
|
62
|
+
|
|
63
|
+
**Column semantics (orchestrator MUST honor when generating tasks.csv)**:
|
|
64
|
+
- `description`: full agent prompt — orchestrator MUST inflate `<W1/W2/W3 prompt>` placeholders using the templates in `<agent_prompt_template>` below. Never leave it as `"..."` — the spawned agent reads ONLY this field as its task brief.
|
|
65
|
+
- `output_file`: **index file only** (single primary deliverable used by Wave 3 reviewer to locate the role). Wave 2 role agents write multiple files (`analysis.md` + per-feature + findings) under the same `{role}/` directory; the CSV only tracks the index path for dependency wiring.
|
|
66
|
+
- **All paths in CSV (`output_file`, any path referenced in `description`) MUST be absolute.** Orchestrator MUST resolve `<ABS_SESSION>` to the absolute session dir (e.g. `D:/proj/.workflow/.csv-wave/20260521-brainstorm-foo/`) before writing tasks.csv. Relative paths break agent Write calls.
|
|
67
|
+
|
|
61
68
|
Wave 1: 1 guidance row. Wave 2: N role rows (parallel) — each writes `{role}/analysis.md` + `{role}/analysis-F-*.md` + `{role}/findings-*.md`. Wave 3: 1 reviewer row (reads analysis.md §2 Decision Digests; emits structured findings consumed by orchestrator).
|
|
62
69
|
</csv_schema>
|
|
63
70
|
|
|
71
|
+
<agent_prompt_template>
|
|
72
|
+
The orchestrator MUST inflate the CSV `description` field per row using these templates before invoking `spawn_agents_on_csv`. Without inflation, spawned agents have no contract and will not write files.
|
|
73
|
+
|
|
74
|
+
### W1 prompt (role: guidance-generator)
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
You are the guidance generator for a brainstorm session on: <topic>.
|
|
78
|
+
|
|
79
|
+
OUTPUT: Write `<ABS_SESSION>/guidance-specification.md` using the Write tool. MUST be on disk; do NOT return as chat text.
|
|
80
|
+
|
|
81
|
+
CONTRACT — guidance-specification.md sections:
|
|
82
|
+
§1 Project Positioning & Goals
|
|
83
|
+
§2 Concepts & Terminology (5–10 core terms table)
|
|
84
|
+
§3 Non-Goals (Out of Scope) with rationale
|
|
85
|
+
§4–N Role Decisions with RFC 2119 keywords (MUST / SHOULD / MAY / MUST NOT / SHOULD NOT)
|
|
86
|
+
Cross-Role Integration
|
|
87
|
+
Risks & Constraints
|
|
88
|
+
§10 Feature Decomposition (max 8 features, F-{3-digit} id + slug, independently implementable)
|
|
89
|
+
§11 Decision Tracking appendix (incrementally populated during interview)
|
|
90
|
+
§12 Cross-Role Resolutions (initially empty — populated by Wave 3)
|
|
91
|
+
|
|
92
|
+
CONSTRAINTS:
|
|
93
|
+
- All behavioural statements MUST use RFC 2119 keywords.
|
|
94
|
+
- No interrogative sentences in the deliverable (all declarative).
|
|
95
|
+
- After write, verify with Glob; emit `TASK COMPLETE` only after file exists on disk.
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### W2 prompt (role: one of the 9 valid roles)
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
You are the <role> for a brainstorm session on: <topic>.
|
|
102
|
+
|
|
103
|
+
INPUTS:
|
|
104
|
+
- Read guidance-specification.md at: <ABS_SESSION>/guidance-specification.md
|
|
105
|
+
- Extract decisions belonging to your role (by ID prefix) and the §10 feature list.
|
|
106
|
+
- If <ABS_SESSION>/design-research.md exists, integrate it as evidence (cite by project name + section).
|
|
107
|
+
|
|
108
|
+
OUTPUT: Write multiple files under `<ABS_SESSION>/<role>/` using the Write tool. Files on disk are the ONLY valid deliverable — do NOT return analysis as chat text.
|
|
109
|
+
|
|
110
|
+
FILE LAYOUT (all under <ABS_SESSION>/<role>/):
|
|
111
|
+
analysis.md — INDEX (see structure below)
|
|
112
|
+
analysis-F-{id}-{slug}.md — one per feature in guidance §10 (< 2000 words each)
|
|
113
|
+
findings-{slug}.md — additional discoveries (0 or more, < 1000 words each)
|
|
114
|
+
|
|
115
|
+
analysis.md structure (MUST contain):
|
|
116
|
+
§1 Role Mandate (≤ 200 words: what you decide, what you defer, why you are here)
|
|
117
|
+
§2 Decision Digest — four tables:
|
|
118
|
+
Decisions | ID | Feature | Stance | Constraints (RFC 2119) |
|
|
119
|
+
Interfaces | Name | Contract | Consumers |
|
|
120
|
+
Cross-Cutting Positions | Topic | Stance |
|
|
121
|
+
Findings Summary | Slug | Title | Impact |
|
|
122
|
+
MUST have ≥ 1 Decisions row per feature in §10.
|
|
123
|
+
§3 Cross-Cutting Foundations — role-specific subsections (see role-specific addendum below).
|
|
124
|
+
§4 File Index — list every written file with its top-level headings.
|
|
125
|
+
§5 Outstanding TODOs
|
|
126
|
+
|
|
127
|
+
REFERENCE, DON'T DUPLICATE:
|
|
128
|
+
- Reference guidance decisions by ID (e.g., SA-03) — do NOT copy decision text.
|
|
129
|
+
- Cross-link sub-files with relative links: `see [F-002](analysis-F-002-skill-engine.md)`.
|
|
130
|
+
|
|
131
|
+
CONSTRAINTS:
|
|
132
|
+
- Aim for ≥ 5 RFC 2119 keyword occurrences across analysis.md.
|
|
133
|
+
- No interrogative sentences.
|
|
134
|
+
- After all writes, verify with Glob that analysis.md and every analysis-F-*.md exist. Only then emit `TASK COMPLETE`.
|
|
135
|
+
|
|
136
|
+
ROLE-SPECIFIC §3 ADDENDUM (use these as §3 subsection headings):
|
|
137
|
+
- system-architect: Data Model · State Machine · Error Handling · Observability · Configuration · Boundary Scenarios
|
|
138
|
+
- data-architect: Filesystem Layout · YAML Schemas · Indexer Algorithm · Ref Bridge · Lifecycle · Migration
|
|
139
|
+
- ux-expert: Information Architecture · Sigil/Input · Visual Choreography · Streaming · Confirmation · Interrupt · Accessibility
|
|
140
|
+
- subject-matter-expert: Pitfall Taxonomy · Pattern Fingerprints · Domain-Silence Decisions · Differentiation Thesis · Crosswalk
|
|
141
|
+
- test-strategist: Test Layers · Coverage Targets · Risk-Based Prioritization · Tooling
|
|
142
|
+
- product-manager: Personas · Success Metrics · Roadmap Shape · Prioritization Rationale
|
|
143
|
+
- product-owner: Backlog Decomposition · Acceptance Criteria · Done Definition
|
|
144
|
+
- scrum-master: Cadence · Ceremonies · Impediments · Flow Metrics
|
|
145
|
+
- ui-designer: Design Tokens · Component States · Visual Language · Animation
|
|
146
|
+
|
|
147
|
+
(Orchestrator inflates only the addendum line matching the current row's role.)
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### W3 prompt (role: cross-role-reviewer)
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
You are the cross-role reviewer for a brainstorm session on: <topic>.
|
|
154
|
+
|
|
155
|
+
INPUTS — read these files (do NOT modify):
|
|
156
|
+
- <ABS_SESSION>/guidance-specification.md
|
|
157
|
+
- <ABS_SESSION>/<role_1>/analysis.md
|
|
158
|
+
- <ABS_SESSION>/<role_2>/analysis.md
|
|
159
|
+
- ... (one per role from Wave 2)
|
|
160
|
+
|
|
161
|
+
(Orchestrator MUST inject the actual absolute paths for all completed Wave 2 rows.)
|
|
162
|
+
|
|
163
|
+
TASK: Compare §2 Decision Digests across role analysis.md index files. Identify:
|
|
164
|
+
- Conflicts: contradictory stances between roles on the same feature/topic
|
|
165
|
+
- Gaps: §2 Interfaces consumers referencing definitions that no role owns
|
|
166
|
+
- Synergies: §2 Findings Summary items that align across roles and should cross-reference
|
|
167
|
+
|
|
168
|
+
OUTPUT — return this structured markdown report as your final message (do NOT write files; the orchestrator parses your output and applies patches):
|
|
169
|
+
|
|
170
|
+
## Conflicts (need user decision)
|
|
171
|
+
### C-001: <one-line summary>
|
|
172
|
+
patch_targets:
|
|
173
|
+
- target_file: <ABS_SESSION>/<role-A>/analysis-F-{id}-{slug}.md (or <role-A>/analysis.md for cross-cutting)
|
|
174
|
+
target_heading: ## <exact heading text from §4 File Index>
|
|
175
|
+
edit_type: annotate_and_strikeout
|
|
176
|
+
edit_content: > **Cross-Role Resolution (C-001)**: <1-line resolution>
|
|
177
|
+
- target_file: <ABS_SESSION>/<role-B>/analysis-F-{id}-{slug}.md
|
|
178
|
+
target_heading: ## <exact heading text>
|
|
179
|
+
edit_type: annotate_and_strikeout
|
|
180
|
+
|
|
181
|
+
## Gaps
|
|
182
|
+
### G-001: ...
|
|
183
|
+
patch_targets:
|
|
184
|
+
- target_file: <ABS_SESSION>/<ref-role>/analysis.md edit_type: annotate_after_heading
|
|
185
|
+
target_heading: ### Interfaces
|
|
186
|
+
- target_file: <ABS_SESSION>/<owner-role>/analysis.md edit_type: append_to_section
|
|
187
|
+
target_heading: ### Decisions
|
|
188
|
+
|
|
189
|
+
## Synergy Opportunities
|
|
190
|
+
### S-001: ...
|
|
191
|
+
patch_targets:
|
|
192
|
+
- target_file: <ABS_SESSION>/<role-A>/analysis-F-{id}-{slug}.md edit_type: annotate_after_heading
|
|
193
|
+
- target_file: <ABS_SESSION>/<role-B>/analysis-F-{id}-{slug}.md edit_type: annotate_after_heading
|
|
194
|
+
|
|
195
|
+
## Summary
|
|
196
|
+
conflicts_count / gaps_count / synergies_count / review_confidence (0–1)
|
|
197
|
+
|
|
198
|
+
CONSTRAINTS:
|
|
199
|
+
- `edit_type` is a CLOSED vocabulary: only `annotate_after_heading` / `annotate_and_strikeout` / `append_to_section`.
|
|
200
|
+
- `target_heading` MUST match the heading text verbatim as it appears in the target file's §4 File Index (case + punctuation). Never invent.
|
|
201
|
+
- If zero conflicts/gaps/synergies detected, return a `## Summary` block with all counts = 0 and a one-line explanation. Do not fabricate findings.
|
|
202
|
+
```
|
|
203
|
+
</agent_prompt_template>
|
|
204
|
+
|
|
64
205
|
<invariants>
|
|
65
206
|
1. **Wave order sacred**: Guidance (W1) MUST complete before role design (W2); review (W3) MUST run only after all W2 rows complete.
|
|
66
207
|
2. **CSV source of truth**: Master tasks.csv holds all state.
|
|
@@ -12,6 +12,8 @@ the worktree. Since `.workflow/` is gitignored, this command explicitly copies p
|
|
|
12
12
|
and milestone scratch artifacts into the worktree.
|
|
13
13
|
|
|
14
14
|
Also supports `--sync` mode to pull latest main into an active worktree.
|
|
15
|
+
|
|
16
|
+
Produces `.workflow/worktrees.json` registry in the main worktree and `.workflow/worktree-scope.json` marker in the worktree, and writes a scoped `state.json` inside the worktree containing only the forked milestone's artifacts.
|
|
15
17
|
</purpose>
|
|
16
18
|
|
|
17
19
|
<required_reading>
|
|
@@ -73,10 +73,11 @@ Read `.workflow/config.json`. If file missing, initialize with empty guard secti
|
|
|
73
73
|
- Write config
|
|
74
74
|
|
|
75
75
|
**`deny <path>`:**
|
|
76
|
-
- Normalize path to forward slashes
|
|
76
|
+
- Normalize path to forward slashes, ensure trailing slash for directories
|
|
77
|
+
- If `guard.mode` is `allow`, switch to `deny` and clear paths with warning
|
|
77
78
|
- Set `guard.mode = "deny"`
|
|
78
79
|
- Add path to `guard.paths` (deduplicate)
|
|
79
|
-
- Set `guard.enabled = true` if not already
|
|
80
|
+
- Set `guard.enabled = true` if not already (symmetric with `allow`: adding a deny path auto-enables the guard)
|
|
80
81
|
- Write config
|
|
81
82
|
|
|
82
83
|
**Step 4: Confirm**
|
|
@@ -68,6 +68,8 @@ responsive-design.md, spatial-design.md, typography.md, ux-writing.md
|
|
|
68
68
|
|
|
69
69
|
## Chains
|
|
70
70
|
|
|
71
|
+
Chain step names below reuse Command Routing names but resolve through the chain runner. To avoid ambiguity with Direct command invocation, internal display, todo items, and session status records always tag chain steps with the `impeccable:` prefix (e.g. `impeccable:craft`, `impeccable:critique`). The bare names in this table refer to the workflow file at `~/.maestro/workflows/impeccable/{name}.md` that the chain step reads.
|
|
72
|
+
|
|
71
73
|
| Chain | Steps | Scenario |
|
|
72
74
|
|-------|-------|----------|
|
|
73
75
|
| build | teach? → explore? → shape → craft → critique → [refine] → audit → polish | New from scratch |
|
|
@@ -180,17 +182,17 @@ Before reading any command workflow:
|
|
|
180
182
|
## Chain Execution
|
|
181
183
|
|
|
182
184
|
1. Prerequisites ✓
|
|
183
|
-
2. **Display chain preview**: parse chain definition, output full step preview:
|
|
185
|
+
2. **Display chain preview**: parse chain definition, output full step preview (chain steps prefixed `impeccable:` to disambiguate from Direct commands):
|
|
184
186
|
```
|
|
185
187
|
── Chain: build ──────────────────────────
|
|
186
|
-
1. teach (conditional: PRODUCT.md missing)
|
|
187
|
-
2. explore (conditional: DESIGN.md missing)
|
|
188
|
-
3. shape
|
|
189
|
-
4. craft
|
|
190
|
-
5. critique ◆ quality gate (threshold: 26/40)
|
|
191
|
-
6. [refine] ↺ auto-fix loop (max: 3)
|
|
192
|
-
7. audit ◆ quality gate (threshold: 14/20)
|
|
193
|
-
8. polish
|
|
188
|
+
1. impeccable:teach (conditional: PRODUCT.md missing)
|
|
189
|
+
2. impeccable:explore (conditional: DESIGN.md missing)
|
|
190
|
+
3. impeccable:shape
|
|
191
|
+
4. impeccable:craft
|
|
192
|
+
5. impeccable:critique ◆ quality gate (threshold: 26/40)
|
|
193
|
+
6. impeccable:[refine] ↺ auto-fix loop (max: 3)
|
|
194
|
+
7. impeccable:audit ◆ quality gate (threshold: 14/20)
|
|
195
|
+
8. impeccable:polish
|
|
194
196
|
─────────────────────────────────────────
|
|
195
197
|
Target: {target}
|
|
196
198
|
```
|
|
@@ -204,9 +206,9 @@ Before reading any command workflow:
|
|
|
204
206
|
"gate_history": [], "loop_count": 0, "status": "running" }
|
|
205
207
|
```
|
|
206
208
|
4. **Init tracking**: create todo items for all chain steps
|
|
207
|
-
- One item per step, format: `[chain] step N: {command} — {description}`
|
|
209
|
+
- One item per step, format: `[chain] step N: impeccable:{command} — {description}` (use `impeccable:` prefix to disambiguate from Direct command items)
|
|
208
210
|
- If conditional step is skipped, immediately mark completed
|
|
209
|
-
- Quality gate steps include threshold: `[chain] step 5: critique ◆ gate ≥26/40`
|
|
211
|
+
- Quality gate steps include threshold: `[chain] step 5: impeccable:critique ◆ gate ≥26/40`
|
|
210
212
|
5. For each step:
|
|
211
213
|
- Read `~/.maestro/workflows/impeccable/{command}.md` → execute
|
|
212
214
|
- **Step start**: mark current step in_progress
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: maestro-ralph
|
|
3
3
|
description: Use when the optimal command sequence is unclear and needs automated state-based determination
|
|
4
4
|
argument-hint: "<intent> [-y] | status | continue"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Skill, request_user_input
|
|
6
6
|
---
|
|
7
7
|
<purpose>
|
|
8
8
|
Closed-loop decision engine for the maestro workflow lifecycle.
|