maestro-flow 0.5.37 → 0.5.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/maestro/SKILL.md +11 -5
- package/.agents/skills/maestro-ralph/SKILL.md +80 -12
- package/.agents/skills/maestro-ralph-execute/SKILL.md +17 -6
- package/.agents/skills/manage-drift-realign/SKILL.md +153 -0
- package/.agy/skills/maestro/SKILL.md +11 -5
- package/.agy/skills/maestro-ralph/SKILL.md +80 -12
- package/.agy/skills/maestro-ralph-execute/SKILL.md +17 -6
- package/.agy/skills/manage-drift-realign/SKILL.md +153 -0
- package/.claude/commands/maestro-ralph-execute.md +17 -6
- package/.claude/commands/maestro-ralph.md +80 -12
- package/.claude/commands/maestro.md +11 -5
- package/.claude/commands/manage-drift-realign.md +151 -0
- package/.codex/skills/maestro/SKILL.md +16 -8
- package/.codex/skills/maestro-ralph/SKILL.md +138 -11
- package/.codex/skills/maestro-ralph-execute/SKILL.md +17 -6
- package/.codex/skills/manage-drift-realign/SKILL.md +471 -0
- package/README.md +25 -8
- package/README.zh-CN.md +6 -6
- package/dashboard/dist-server/src/commands/install-backend.d.ts +10 -0
- package/dashboard/dist-server/src/commands/install-backend.js +69 -0
- package/dashboard/dist-server/src/commands/install-backend.js.map +1 -1
- package/dashboard/dist-server/src/core/component-defs.d.ts +11 -0
- package/dashboard/dist-server/src/core/component-defs.js +34 -2
- package/dashboard/dist-server/src/core/component-defs.js.map +1 -1
- package/dist/src/cli.js +3 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +10 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +69 -0
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install.js +1 -0
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/ralph.d.ts.map +1 -1
- package/dist/src/commands/ralph.js +8 -0
- package/dist/src/commands/ralph.js.map +1 -1
- package/dist/src/commands/timeline.d.ts +14 -0
- package/dist/src/commands/timeline.d.ts.map +1 -0
- package/dist/src/commands/timeline.js +377 -0
- package/dist/src/commands/timeline.js.map +1 -0
- package/dist/src/core/component-defs.d.ts +11 -0
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +34 -2
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/core/install-executor.d.ts.map +1 -1
- package/dist/src/core/install-executor.js +11 -1
- package/dist/src/core/install-executor.js.map +1 -1
- package/dist/src/core/install-profile.d.ts.map +1 -1
- package/dist/src/core/install-profile.js +52 -17
- package/dist/src/core/install-profile.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +4 -1
- package/dist/src/i18n/locales/en.js.map +1 -1
- package/dist/src/i18n/locales/zh.d.ts.map +1 -1
- package/dist/src/i18n/locales/zh.js +4 -1
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +3 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/ralph/cmd-complete.d.ts +4 -0
- package/dist/src/ralph/cmd-complete.d.ts.map +1 -1
- package/dist/src/ralph/cmd-complete.js +8 -0
- package/dist/src/ralph/cmd-complete.js.map +1 -1
- package/dist/src/ralph/cmd-next.js +58 -8
- package/dist/src/ralph/cmd-next.js.map +1 -1
- package/dist/src/ralph/status-schema.d.ts +29 -2
- package/dist/src/ralph/status-schema.d.ts.map +1 -1
- package/dist/src/ralph/status-schema.js +1 -1
- package/dist/src/tui/install-ui/ComponentGrid.d.ts.map +1 -1
- package/dist/src/tui/install-ui/ComponentGrid.js +71 -38
- package/dist/src/tui/install-ui/ComponentGrid.js.map +1 -1
- package/dist/src/tui/install-ui/ComponentGrid.logic.d.ts +12 -3
- package/dist/src/tui/install-ui/ComponentGrid.logic.d.ts.map +1 -1
- package/dist/src/tui/install-ui/ComponentGrid.logic.js +21 -4
- package/dist/src/tui/install-ui/ComponentGrid.logic.js.map +1 -1
- package/dist/src/tui/install-ui/CyberItem.d.ts +3 -1
- package/dist/src/tui/install-ui/CyberItem.d.ts.map +1 -1
- package/dist/src/tui/install-ui/CyberItem.js +6 -5
- package/dist/src/tui/install-ui/CyberItem.js.map +1 -1
- package/dist/src/tui/install-ui/GroupedHub.d.ts +9 -0
- package/dist/src/tui/install-ui/GroupedHub.d.ts.map +1 -1
- package/dist/src/tui/install-ui/GroupedHub.js +54 -47
- package/dist/src/tui/install-ui/GroupedHub.js.map +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.js +54 -5
- package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/tui/install-ui/types.d.ts +1 -0
- package/dist/src/tui/install-ui/types.d.ts.map +1 -1
- package/dist/src/tui/install-ui/types.js.map +1 -1
- package/dist/src/tui/install-ui/useInstallFlowState.d.ts +8 -2
- package/dist/src/tui/install-ui/useInstallFlowState.d.ts.map +1 -1
- package/dist/src/tui/install-ui/useInstallFlowState.js +145 -15
- package/dist/src/tui/install-ui/useInstallFlowState.js.map +1 -1
- package/dist/src/utils/update-notices.js +12 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +1 -1
- package/workflows/agy-instructions.md +127 -88
- package/workflows/analyze.md +2 -2
- package/workflows/auto-test.md +7 -1
- package/workflows/blueprint.md +22 -19
- package/workflows/brainstorm.md +11 -3
- package/workflows/business-test.md +4 -0
- package/workflows/codebase-rebuild.md +8 -1
- package/workflows/codebase-refresh.md +7 -1
- package/workflows/codex-instructions.md +1 -1
- package/workflows/debug.md +5 -2
- package/workflows/domain-add.md +6 -0
- package/workflows/drift-realign.md +396 -0
- package/workflows/execute.md +5 -4
- package/workflows/explore-usage.md +2 -2
- package/workflows/finish-work.md +6 -6
- package/workflows/fork.md +2 -2
- package/workflows/grill.md +6 -5
- package/workflows/harvest.md +2 -2
- package/workflows/impeccable.md +3 -2
- package/workflows/init.md +7 -7
- package/workflows/integration-test.md +1 -0
- package/workflows/issue-gaps-analyze.codex.md +2 -0
- package/workflows/issue-gaps-analyze.md +4 -4
- package/workflows/issue-plan.md +1 -1
- package/workflows/knowhow.md +7 -1
- package/workflows/knowledge-audit.md +1 -1
- package/workflows/maestro-super.md +2 -2
- package/workflows/maestro.md +3 -3
- package/workflows/map.md +2 -2
- package/workflows/milestone-audit.md +1 -1
- package/workflows/milestone-complete.md +1 -1
- package/workflows/plan.md +7 -6
- package/workflows/quick.md +8 -6
- package/workflows/ralph-amend-goal.md +177 -0
- package/workflows/refactor.md +2 -0
- package/workflows/retrospective.md +7 -3
- package/workflows/review.md +6 -4
- package/workflows/roadmap-common.md +3 -3
- package/workflows/roadmap.md +8 -5
- package/workflows/spec-generate.md +23 -18
- package/workflows/specs-load.md +1 -1
- package/workflows/specs-setup.md +2 -0
- package/workflows/sync.md +4 -2
- package/workflows/test-gen.md +1 -1
- package/workflows/test.md +1 -1
- package/workflows/ui-codify-extract.md +1 -0
- package/workflows/ui-codify-knowhow.md +1 -1
- package/workflows/ui-codify-package.md +1 -1
- package/workflows/ui-codify.md +9 -7
- package/workflows/ui-design.md +9 -7
- package/workflows/ui-style.md +6 -4
- package/workflows/verify.md +4 -4
- package/workflows/wiki-connect.md +2 -0
- package/workflows/wiki-digest.md +5 -3
- package/workflows/wiki-manage.md +4 -0
- package/workflows/maestro.codex.md +0 -365
|
@@ -1,122 +1,161 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Codex Code Guidelines
|
|
2
2
|
|
|
3
|
-
- **Coding Philosophy**: @~/.maestro/workflows/coding-philosophy.md
|
|
4
|
-
|
|
5
|
-
## Delegate & CLI
|
|
6
3
|
|
|
7
4
|
- **Delegate Usage**: @~/.maestro/workflows/delegate-usage.md
|
|
5
|
+
- **Explore Usage**: @~/.maestro/workflows/explore-usage.md
|
|
8
6
|
- **CLI Endpoints Config**: @~/.maestro/cli-tools.json
|
|
9
7
|
|
|
10
8
|
**Strictly follow the cli-tools.json configuration**
|
|
11
9
|
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-
When choosing between equivalent tools, prefer the agy native primitives over shell fallbacks:
|
|
15
|
-
|
|
16
|
-
| Need | Prefer | Fallback |
|
|
17
|
-
|------|--------|----------|
|
|
18
|
-
| Read a file | `view_file(AbsolutePath, StartLine, EndLine)` | `run_command("Get-Content ...")` |
|
|
19
|
-
| Read external URL | `read_url_content(Url)` | `run_command("curl ...")` |
|
|
20
|
-
| Create / overwrite file | `write_to_file(TargetFile, CodeContent, Overwrite)` | n/a |
|
|
21
|
-
| Single-block edit | `replace_file_content(TargetFile, StartLine, EndLine, TargetContent, ReplacementContent)` | n/a |
|
|
22
|
-
| Multi-block edit on same file | `multi_replace_file_content(TargetFile, ReplacementChunks=[...])` | repeated `replace_file_content` |
|
|
23
|
-
| Search text | `grep_search(SearchPath, Query, IsRegex, Includes)` | `run_command("rg ...")` |
|
|
24
|
-
| List directory | `list_dir(DirectoryPath)` | `run_command("ls ...")` |
|
|
25
|
-
| Execute shell | `run_command(CommandLine, Cwd, WaitMsBeforeAsync)` | n/a |
|
|
26
|
-
| Web search | `search_web(query, domain)` | n/a |
|
|
27
|
-
| Ask user | `ask_question(questions=[{question, options, is_multi_select}])` | n/a |
|
|
28
|
-
|
|
29
|
-
Always pass `Cwd` to `run_command`; do not rely on inherited shell cwd. On Windows, set UTF-8 in PowerShell before chained commands:
|
|
30
|
-
|
|
31
|
-
```powershell
|
|
32
|
-
[Console]::InputEncoding = [Text.UTF8Encoding]::new($false)
|
|
33
|
-
[Console]::OutputEncoding = [Text.UTF8Encoding]::new($false)
|
|
34
|
-
chcp 65001 > $null
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Sub-Agent Orchestration (Two Phases)
|
|
10
|
+
## Explore Priority
|
|
38
11
|
|
|
39
|
-
|
|
12
|
+
`maestro explore` takes priority over Glob, Grep, and Read. When locating files or searching code patterns, call `maestro explore` first and stop to wait for results.
|
|
40
13
|
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
define_subagent(
|
|
44
|
-
name="team-worker",
|
|
45
|
-
description="Generic role-spec worker",
|
|
46
|
-
system_prompt="<contents of antigravity-cli/agents/team-worker.md>",
|
|
47
|
-
enable_write_tools=true,
|
|
48
|
-
enable_mcp_tools=true,
|
|
49
|
-
enable_subagent_tools=false
|
|
50
|
-
)
|
|
51
|
-
```
|
|
14
|
+
# Coding Philosophy
|
|
52
15
|
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
invoke_subagent([
|
|
56
|
-
{ TypeName: "team-worker",
|
|
57
|
-
Role: "<concrete role label>",
|
|
58
|
-
Prompt: "<task-specific instructions>",
|
|
59
|
-
Workspace: "inherit" # inherit | branch | share
|
|
60
|
-
}
|
|
61
|
-
])
|
|
62
|
-
```
|
|
16
|
+
## Core Beliefs
|
|
63
17
|
|
|
64
|
-
**
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
18
|
+
- **Pursue good taste** - Eliminate edge cases to make code logic natural and elegant
|
|
19
|
+
- **Embrace extreme simplicity** - Complexity is the root of all evil
|
|
20
|
+
- **Be pragmatic** - Code must solve real-world problems, not hypothetical ones
|
|
21
|
+
- **Data structures first** - Bad programmers worry about code; good programmers worry about data structures
|
|
22
|
+
- **Never break backward compatibility** - Existing functionality is sacred and inviolable
|
|
23
|
+
- **Incremental progress over big bangs** - Small changes that compile and pass tests
|
|
24
|
+
- **Learning from existing code** - Study and plan before implementing
|
|
25
|
+
- **Clear intent over clever code** - Be boring and obvious
|
|
26
|
+
- **Follow existing code style** - Match import patterns, naming conventions, and formatting of existing codebase
|
|
27
|
+
- **Minimize changes** - Only modify what's directly required; avoid refactoring, adding features, or "improving" code beyond the request
|
|
28
|
+
- **No unsolicited documentation** - NEVER generate reports, documentation files, or summaries without explicit user request. If required, save to .workflow/.scratchpad/
|
|
68
29
|
|
|
69
|
-
|
|
30
|
+
## Simplicity Means
|
|
70
31
|
|
|
71
|
-
|
|
32
|
+
- Single responsibility per function/class
|
|
33
|
+
- Avoid premature abstractions
|
|
34
|
+
- No clever tricks - choose the boring solution
|
|
35
|
+
- If you need to explain it, it's too complex
|
|
72
36
|
|
|
73
|
-
##
|
|
37
|
+
## Fix, Don't Hide
|
|
74
38
|
|
|
75
|
-
|
|
39
|
+
**Solve problems, don't silence symptoms** - Skipped tests, `@ts-ignore`, empty catch, `as any`, excessive timeouts = hiding bugs, not fixing them
|
|
76
40
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
41
|
+
**NEVER**:
|
|
42
|
+
- Make assumptions - verify with existing code
|
|
43
|
+
- Generate reports, summaries, or documentation files without explicit user request
|
|
44
|
+
- Use suppression mechanisms (`skip`, `ignore`, `disable`) without fixing root cause
|
|
80
45
|
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
46
|
+
**ALWAYS**:
|
|
47
|
+
- Plan complex tasks thoroughly before implementation
|
|
48
|
+
- Generate task decomposition for multi-module work (>3 modules or >5 subtasks)
|
|
49
|
+
- Track progress using TODO checklists for complex tasks
|
|
50
|
+
- Validate planning documents before starting development
|
|
51
|
+
- Commit working code incrementally
|
|
52
|
+
- Update plan documentation and progress tracking as you go
|
|
53
|
+
- Learn from existing implementations
|
|
54
|
+
- Stop after 3 failed attempts and reassess
|
|
55
|
+
- **Edit fallback**: When Edit tool fails 2+ times on same file, try Bash sed/awk first, then Write to recreate if still failing
|
|
84
56
|
|
|
85
|
-
|
|
57
|
+
## Learning the Codebase
|
|
86
58
|
|
|
87
|
-
|
|
59
|
+
- Find 3 similar features/components
|
|
60
|
+
- Identify common patterns and conventions
|
|
61
|
+
- Use same libraries/utilities when possible
|
|
62
|
+
- Follow existing test patterns
|
|
88
63
|
|
|
89
|
-
##
|
|
64
|
+
## Tooling
|
|
90
65
|
|
|
91
|
-
|
|
66
|
+
- Use project's existing build system
|
|
67
|
+
- Use project's test framework
|
|
68
|
+
- Use project's formatter/linter settings
|
|
69
|
+
- Don't introduce new tools without strong justification
|
|
92
70
|
|
|
93
|
-
|
|
94
|
-
- Read: `view_file(AbsolutePath=".workflow/.team/<session>/.msg/messages.jsonl")` then filter client-side
|
|
95
|
-
- Status snapshot: write `<session>/.msg/state.json` and read with `view_file`
|
|
71
|
+
## Content Uniqueness Rules
|
|
96
72
|
|
|
97
|
-
|
|
73
|
+
- **Each layer owns its abstraction level** - no content sharing between layers
|
|
74
|
+
- **Reference, don't duplicate** - point to other layers, never copy content
|
|
75
|
+
- **Maintain perspective** - each layer sees the system at its appropriate scale
|
|
76
|
+
- **Avoid implementation creep** - higher layers stay architectural
|
|
98
77
|
|
|
99
|
-
|
|
78
|
+
# Context Requirements
|
|
100
79
|
|
|
101
|
-
|
|
80
|
+
Before implementation, always:
|
|
81
|
+
- Identify 3+ existing similar patterns
|
|
82
|
+
- Map dependencies and integration points
|
|
83
|
+
- Understand testing framework and coding conventions
|
|
102
84
|
|
|
103
85
|
## Knowledge System
|
|
104
86
|
|
|
105
|
-
|
|
87
|
+
**Gate rule: On any coding/modification/debugging task, run `maestro search` + `maestro load` BEFORE reading code or editing files.**
|
|
88
|
+
|
|
89
|
+
### Required (every task, no exceptions)
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Search relevant knowledge (1-3 keywords, multiple short queries beat one long one)
|
|
93
|
+
maestro search "<topic phrase>"
|
|
94
|
+
|
|
95
|
+
# Load specs for the task type
|
|
96
|
+
maestro load --type spec --category coding # coding tasks
|
|
97
|
+
maestro load --type spec --category arch # architecture decisions
|
|
98
|
+
maestro load --type spec --category test # test writing
|
|
99
|
+
maestro load --type spec --category ui # UI work
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Query rules:**
|
|
103
|
+
- Use **1-3 core keywords** per query — never dump all context into one search
|
|
104
|
+
- Separate concepts from symbols: `maestro search "topology layout"` + `maestro search "DetailedTopologySVG" --code`
|
|
105
|
+
- Add as needed: `maestro search "query" --kg` (KG full-source), `maestro kg callers <fn>` (call chain), `maestro kg context <node>` (node context)
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# ❌ Bad: keyword dump
|
|
109
|
+
maestro search "topology display frontend DetailedTopologySVG elk"
|
|
106
110
|
|
|
107
|
-
|
|
111
|
+
# ✅ Good: targeted multi-search + spec load
|
|
112
|
+
maestro search "topology layout"
|
|
113
|
+
maestro search "DetailedTopologySVG" --code
|
|
114
|
+
maestro load --type spec --category coding
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Load & Search reference
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
maestro load --type <type> [--list] [--category <cat>] [--keyword <word>] [--id <id>]
|
|
121
|
+
maestro search "<query>" [--type <type>] [--category <cat>] [--code] [--kg] [--json]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**`--category` values** (for `--type spec`): `coding`, `arch`, `debug`, `test`, `review`, `learning`, `ui`
|
|
125
|
+
**`--keyword`**: free-text filter on title/body/tags — use to narrow within a category
|
|
126
|
+
|
|
127
|
+
**`--type` values**: `spec`, `knowhow`, `domain`, `issue`, `session`, `scratch`, `note`, `project`, `roadmap`
|
|
108
128
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
129
|
+
| Action | Command |
|
|
130
|
+
|--------|---------|
|
|
131
|
+
| Load coding specs | `maestro load --type spec --category coding` |
|
|
132
|
+
| Load arch specs with keyword | `maestro load --type spec --category arch --keyword auth` |
|
|
133
|
+
| List sessions | `maestro load --type session --list` |
|
|
134
|
+
| Load specific knowhow | `maestro load --type knowhow --id <id>` |
|
|
135
|
+
| Search sessions | `maestro search "query" --type session` |
|
|
136
|
+
| Code graph search | `maestro search "symbol" --code` |
|
|
137
|
+
| KG full-source search | `maestro search "query" --kg` |
|
|
114
138
|
|
|
115
|
-
### Record
|
|
139
|
+
### Record
|
|
116
140
|
|
|
117
|
-
|
|
141
|
+
| What | Command |
|
|
142
|
+
|------|---------|
|
|
143
|
+
| Spec | `/spec-add <category> "title" "content" --keywords kw1,kw2 --description "summary"` |
|
|
144
|
+
| Knowhow | `/manage-knowhow-capture` (`--spec-category <cat>` to bridge into agent injection) |
|
|
145
|
+
|
|
146
|
+
Category routing: decisions→`arch`, patterns→`coding`, pitfalls→`debug`/`learning`, rules→`review`, tests→`test`.
|
|
147
|
+
|
|
148
|
+
### Confidence & Conflict Marking
|
|
149
|
+
|
|
150
|
+
When search results conflict with current context, **mark the entry**:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
maestro spec conflict mark <file> <line> --note "<reason>"
|
|
154
|
+
maestro spec conflict list
|
|
155
|
+
```
|
|
118
156
|
|
|
119
|
-
|
|
120
|
-
- **Knowhow document** (detailed recipe/template/decision/reference) → `/manage-knowhow-capture`
|
|
157
|
+
Levels: `high` (verified) → `medium` (default) → `low` (stale) → `contested` (conflict detected).
|
|
121
158
|
|
|
122
|
-
|
|
159
|
+
- `contested` → sorted last during injection, labeled `[CONTESTED]` with conflict note
|
|
160
|
+
- `low` → labeled `[LOW CONFIDENCE]`
|
|
161
|
+
- Resolution handled by `/manage-knowledge-audit`
|
package/workflows/analyze.md
CHANGED
|
@@ -316,7 +316,7 @@ Append initial Intent Coverage Check to discussion.md.
|
|
|
316
316
|
|
|
317
317
|
**Step 4.6: Baseline Confidence Scoring**
|
|
318
318
|
|
|
319
|
-
Dimensions = the 6 analysis dimensions. Factors (weights): findings_depth(.30), evidence_strength(.25), coverage_breadth(.20), user_validation(.15), consistency(.10). Score each factor per dimension from Round 1 results. Append baseline confidence table to discussion.md. Thresholds: <60% 继续深入 | 60-80% 需用户确认收敛 | >80%
|
|
319
|
+
Dimensions = the 6 analysis dimensions. Factors (weights): findings_depth(.30), evidence_strength(.25), coverage_breadth(.20), user_validation(.15), consistency(.10). Score each factor per dimension from Round 1 results. Append baseline confidence table to discussion.md. Thresholds: <60% 继续深入 | 60-80% 需用户确认收敛 | >80% → proceed to synthesis (REQUIRED convergence threshold).
|
|
320
320
|
|
|
321
321
|
### Step 5: Interactive Discussion Loop
|
|
322
322
|
|
|
@@ -764,7 +764,7 @@ Replaceable blocks (overwritten each round):
|
|
|
764
764
|
| Error | Resolution |
|
|
765
765
|
|-------|------------|
|
|
766
766
|
| cli-explore-agent fails | Retry once. If still fails: log W001 warning in discussion.md, flag all subsequent decisions as LOW CONFIDENCE (evidence gap), continue with available context |
|
|
767
|
-
| CLI timeout | Retry with shorter prompt,
|
|
767
|
+
| CLI timeout | Retry with shorter prompt; if still fails, mark perspective [LOW CONFIDENCE] (evidence gap) in discussion.md and continue |
|
|
768
768
|
| Max rounds reached | Force synthesis, offer continuation |
|
|
769
769
|
| No relevant findings | Broaden search, ask user for clarification |
|
|
770
770
|
| Session folder conflict | Append timestamp suffix |
|
package/workflows/auto-test.md
CHANGED
|
@@ -26,6 +26,7 @@ Only Step 2 diverges (scenario source). Everything else is shared.
|
|
|
26
26
|
|
|
27
27
|
**Load specs:**
|
|
28
28
|
```
|
|
29
|
+
# MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
29
30
|
specs_test = maestro spec load --category test
|
|
30
31
|
specs_arch = maestro spec load --category arch
|
|
31
32
|
```
|
|
@@ -348,7 +349,7 @@ Build layer-L{N}-write.csv:
|
|
|
348
349
|
prev_context = findings from completed prior-layer scenarios (cross-layer propagation)
|
|
349
350
|
```
|
|
350
351
|
|
|
351
|
-
#### 5b. Parallel Test Writing via spawn_agents_on_csv
|
|
352
|
+
#### 5b. Parallel Test Writing via spawn_agents_on_csv — MANDATORY, NOT SUBSTITUTABLE
|
|
352
353
|
|
|
353
354
|
```javascript
|
|
354
355
|
spawn_agents_on_csv({
|
|
@@ -385,6 +386,8 @@ Merge write-results into master state. Delete temp CSV. Proceed to next layer or
|
|
|
385
386
|
|
|
386
387
|
**If `--max-iter 1`:** After all layers written and run once, jump directly to Step 8 (single-pass mode, replaces test-gen behavior). Skip Steps 6-7.
|
|
387
388
|
|
|
389
|
+
**GATE Step 5→6**: write-results merged into master state BEFORE execution; REQUIRED: `.tests/auto-test/.csv-session/layer-L*-write-results.csv` merged and temp CSV deleted; BLOCKED if write-results missing or unmerged.
|
|
390
|
+
|
|
388
391
|
---
|
|
389
392
|
|
|
390
393
|
### Step 6: Execute (Progressive Layers)
|
|
@@ -424,6 +427,7 @@ OUTER LOOP (max_iter iterations):
|
|
|
424
427
|
Build diagnosis-iter-{N}.csv:
|
|
425
428
|
Columns: id, scenario_id, layer, test_file, error_detail, expected, actual, target_file, source_context
|
|
426
429
|
|
|
430
|
+
# MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
427
431
|
spawn_agents_on_csv({
|
|
428
432
|
csv_path: `.tests/auto-test/.csv-session/diagnosis-iter-${iter}.csv`,
|
|
429
433
|
id_column: "id",
|
|
@@ -612,6 +616,8 @@ Scored after each REFLECT step. Dimensions (5): scenario_coverage, test_quality,
|
|
|
612
616
|
| `.tests/business/business-test-report.json` | `.tests/auto-test/report.json` (source_route: "spec") |
|
|
613
617
|
| `.tests/business/business-test-summary.md` | `.tests/auto-test/traceability.md` (conditional) |
|
|
614
618
|
|
|
619
|
+
**GATE Step 8→9**: Glob `.tests/auto-test/report.json` MUST exist before Step 9 post-processing; BLOCKED if missing.
|
|
620
|
+
|
|
615
621
|
---
|
|
616
622
|
|
|
617
623
|
### Step 9: Post-Processing & Routing
|
package/workflows/blueprint.md
CHANGED
|
@@ -14,6 +14,9 @@ brainstorm (parallel) → blueprint → analyze → plan
|
|
|
14
14
|
P0: Spec Study → P1: Discovery → P1.5: Req Expansion → P2: Product Brief → P3: PRD → P4: Architecture → P5: Epics → P6: Readiness Check
|
|
15
15
|
|
|
16
16
|
P6 gate: Pass (>=80%) → Handoff | Review (60-79%) → Handoff w/caveats | Fail (<60%) → P6.5 Auto-Fix (max 2 iter) → re-check
|
|
17
|
+
|
|
18
|
+
GATE P2→P3: REQUIRED `product-brief.md` written with ≥5 glossary terms in `glossary.json`; BLOCKED if `product-brief.md` missing or glossary < 5 terms.
|
|
19
|
+
GATE P3→P4: REQUIRED `requirements/_index.md` written with MoSCoW priority table; BLOCKED if `_index.md` missing or MoSCoW table absent.
|
|
17
20
|
```
|
|
18
21
|
|
|
19
22
|
## Arguments
|
|
@@ -103,7 +106,7 @@ Session ID: BLP-{slug}-{YYYY-MM-DD}
|
|
|
103
106
|
Output dir: .workflow/blueprint/{session_id}/
|
|
104
107
|
```
|
|
105
108
|
|
|
106
|
-
**Step 2.3: Seed Analysis via CLI**
|
|
109
|
+
**Step 2.3: Seed Analysis via CLI** — MANDATORY, NOT SUBSTITUTABLE
|
|
107
110
|
- Spawn CLI analysis to extract: problem_statement, target_users, domain, constraints, dimensions (3-5)
|
|
108
111
|
- Assess complexity: simple (1-2 components) / moderate (3-5) / complex (6+)
|
|
109
112
|
- For context-package input: enrich with feature decomposition data
|
|
@@ -160,7 +163,7 @@ Generate product brief through multi-perspective CLI analysis.
|
|
|
160
163
|
- Read discovery-context.json (if codebase detected)
|
|
161
164
|
- For context-package input: read context-package.json domain and requirements sections
|
|
162
165
|
|
|
163
|
-
**Step 4.2: Multi-CLI Parallel Analysis (3 perspectives)**
|
|
166
|
+
**Step 4.2: Multi-CLI Parallel Analysis (3 perspectives)** — MANDATORY, NOT SUBSTITUTABLE
|
|
164
167
|
|
|
165
168
|
| Perspective | Role | Focus |
|
|
166
169
|
|-------------|------|-------|
|
|
@@ -189,7 +192,7 @@ Generate product brief through multi-perspective CLI analysis.
|
|
|
189
192
|
|
|
190
193
|
Generate detailed PRD with functional/non-functional requirements.
|
|
191
194
|
|
|
192
|
-
**Step 5.1: Requirement Expansion via CLI**
|
|
195
|
+
**Step 5.1: Requirement Expansion via CLI** — MANDATORY, NOT SUBSTITUTABLE
|
|
193
196
|
- For each product brief goal, generate 3-7 functional requirements
|
|
194
197
|
- Each requirement: REQ-NNN ID, title, description, user story, 2-4 acceptance criteria
|
|
195
198
|
- Generate non-functional requirements: performance, security, scalability, usability
|
|
@@ -214,12 +217,12 @@ Generate detailed PRD with functional/non-functional requirements.
|
|
|
214
217
|
|
|
215
218
|
Generate architecture decisions, component design, and technology selections.
|
|
216
219
|
|
|
217
|
-
**Step 6.1: Architecture Analysis via CLI (role: review)**
|
|
220
|
+
**Step 6.1: Architecture Analysis via CLI (role: review)** — MANDATORY, NOT SUBSTITUTABLE
|
|
218
221
|
- System architecture style with justification
|
|
219
222
|
- Core components and responsibilities
|
|
220
223
|
- Component interaction diagram (Mermaid graph TD)
|
|
221
224
|
- Technology stack: languages, frameworks, databases, infrastructure
|
|
222
|
-
- 2-4 Architecture Decision Records (ADRs): context, decision, alternatives, consequences
|
|
225
|
+
- 2-4 Architecture Decision Records (ADRs): context, decision, alternatives, consequences, evidence_source
|
|
223
226
|
- Data model: entities and relationships (Mermaid erDiagram)
|
|
224
227
|
- Security architecture: auth, authorization, data protection
|
|
225
228
|
- **State machine**: ASCII diagram + transition table for lifecycle entities (service/platform type)
|
|
@@ -230,7 +233,7 @@ Generate architecture decisions, component design, and technology selections.
|
|
|
230
233
|
- Glossary injection for terminology consistency
|
|
231
234
|
- If `apiResearchContext` is set: inject as "External API Research" context
|
|
232
235
|
|
|
233
|
-
**Step 6.2: Architecture Review via CLI (role: review)**
|
|
236
|
+
**Step 6.2: Architecture Review via CLI (role: review)** — MANDATORY, NOT SUBSTITUTABLE
|
|
234
237
|
- Challenge each ADR, identify scalability bottlenecks
|
|
235
238
|
- Assess security gaps, evaluate technology choices
|
|
236
239
|
- Rate overall quality 1-5
|
|
@@ -252,7 +255,7 @@ Generate architecture decisions, component design, and technology selections.
|
|
|
252
255
|
|
|
253
256
|
Decompose specification into executable Epics and Stories.
|
|
254
257
|
|
|
255
|
-
**Step 7.1: Epic Decomposition via CLI**
|
|
258
|
+
**Step 7.1: Epic Decomposition via CLI** — MANDATORY, NOT SUBSTITUTABLE
|
|
256
259
|
- Group requirements into logical Epics (EPIC-NNN IDs). Epic count is unconstrained — downstream workflows will merge Epics into minimal phases via the minimum-phase principle.
|
|
257
260
|
- Tag MVP subset
|
|
258
261
|
- For each Epic: 2-5 Stories in "As a...I want...So that..." format
|
|
@@ -280,7 +283,7 @@ Decompose specification into executable Epics and Stories.
|
|
|
280
283
|
|
|
281
284
|
Validate specification package and provide execution handoff.
|
|
282
285
|
|
|
283
|
-
**Step 8.1: Cross-Document Validation via CLI**
|
|
286
|
+
**Step 8.1: Cross-Document Validation via CLI** — MANDATORY, NOT SUBSTITUTABLE
|
|
284
287
|
Score on 4 dimensions (25% each):
|
|
285
288
|
1. **Completeness**: all required sections present with substantive content
|
|
286
289
|
2. **Consistency**: terminology uniform (glossary compliance), scope containment, non-goals respected
|
|
@@ -390,14 +393,14 @@ Resume: `-c` reads blueprint-config.json, resumes from first incomplete phase.
|
|
|
390
393
|
| Phase | Error | Blocking? | Action |
|
|
391
394
|
|-------|-------|-----------|--------|
|
|
392
395
|
| Phase 1 | Empty input | Yes | Error and exit |
|
|
393
|
-
| Phase 1 | CLI analysis fails | No | Basic parsing fallback |
|
|
394
|
-
| Phase 1.5 | Gap analysis fails | No | Skip to basic prompts |
|
|
395
|
-
| Phase 2 | Single CLI fails | No | Continue with available |
|
|
396
|
-
| Phase 3 | Gemini fails | No | Codex fallback |
|
|
397
|
-
| Phase 4 | Review fails | No | Skip review |
|
|
398
|
-
| Phase 5 | Story generation fails | No | Generate epics only |
|
|
399
|
-
| Phase 6 | Validation fails | No | Partial report |
|
|
400
|
-
| Phase 6.5 | Max iterations (2) | No | Force handoff |
|
|
401
|
-
| Step 2.5 | External research fails | No | apiResearchContext = null, continue |
|
|
402
|
-
|
|
403
|
-
CLI Fallback Chain: Role-based resolution → degraded mode (local only)
|
|
396
|
+
| Phase 1 | CLI analysis fails | No | Basic parsing fallback; flag seed_analysis as [LOW CONFIDENCE] (CLI analysis unavailable) |
|
|
397
|
+
| Phase 1.5 | Gap analysis fails | No | Skip to basic prompts; flag refined-requirements.json as [LOW CONFIDENCE] (no gap analysis) |
|
|
398
|
+
| Phase 2 | Single CLI fails | No | Continue with available; flag product-brief.md as [LOW CONFIDENCE] (missing perspective) |
|
|
399
|
+
| Phase 3 | Gemini fails | No | Codex fallback; flag affected REQ-NNN.md as [LOW CONFIDENCE] (model fallback) |
|
|
400
|
+
| Phase 4 | Review fails | No | Skip review; flag ADR-NNN.md as [LOW CONFIDENCE] (no peer review) |
|
|
401
|
+
| Phase 5 | Story generation fails | No | Generate epics only; flag EPIC-NNN.md stories as [LOW CONFIDENCE] (stories incomplete) |
|
|
402
|
+
| Phase 6 | Validation fails | No | Partial report; flag readiness-report.md as [LOW CONFIDENCE] (validation incomplete) |
|
|
403
|
+
| Phase 6.5 | Max iterations (2) | No | Force handoff; flag readiness-report.md as [LOW CONFIDENCE] (auto-fix exhausted) |
|
|
404
|
+
| Step 2.5 | External research fails | No | apiResearchContext = null, continue; flag apiResearchContext as [LOW CONFIDENCE] (no external research) |
|
|
405
|
+
|
|
406
|
+
CLI Fallback Chain: Role-based resolution → degraded mode (local only); flag affected phase artifacts as [LOW CONFIDENCE] (CLI unavailable, local-only analysis)
|
package/workflows/brainstorm.md
CHANGED
|
@@ -131,7 +131,7 @@ Pre-seed from context-package:
|
|
|
131
131
|
- `insights[]` → Step 4 role agents
|
|
132
132
|
- `requirements[]` → Step 3 Phase 4.5
|
|
133
133
|
|
|
134
|
-
W007 if source not found: continue without upstream.
|
|
134
|
+
W007 if source not found: continue without upstream; flag guidance-specification.md as [LOW CONFIDENCE] (no upstream context).
|
|
135
135
|
|
|
136
136
|
---
|
|
137
137
|
|
|
@@ -148,7 +148,7 @@ specs_content = maestro spec load --category arch
|
|
|
148
148
|
**Trigger**: Always in auto mode. Skip if `--skip-questions` and no tech keywords.
|
|
149
149
|
|
|
150
150
|
```
|
|
151
|
-
// Step 1.7.1: Spawn external researcher for design routes
|
|
151
|
+
// Step 1.7.1: Spawn external researcher for design routes — MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
152
152
|
Agent(
|
|
153
153
|
subagent_type="workflow-external-researcher",
|
|
154
154
|
prompt="""
|
|
@@ -185,7 +185,7 @@ designResearchContext = agent_output
|
|
|
185
185
|
|
|
186
186
|
`designResearchContext` → Steps 2, 3, 4. Persisted to `{output_dir}/design-research.md`.
|
|
187
187
|
|
|
188
|
-
W005 on failure: continue without external context.
|
|
188
|
+
W005 on failure: continue without external context; flag role analyses as [LOW CONFIDENCE] (no design research).
|
|
189
189
|
|
|
190
190
|
---
|
|
191
191
|
|
|
@@ -271,6 +271,8 @@ Seven sub-phases producing guidance-specification.md:
|
|
|
271
271
|
|
|
272
272
|
**Output**: `{output_dir}/guidance-specification.md`, session metadata (workflow-session.json)
|
|
273
273
|
|
|
274
|
+
**GATE Step 3→4**: REQUIRED `guidance-specification.md` written with §10 Feature Decomposition list; BLOCKED if `guidance-specification.md` missing or §10 feature list absent.
|
|
275
|
+
|
|
274
276
|
### Step 3.5: Visual Style Foundation (Auto Mode, conditional)
|
|
275
277
|
|
|
276
278
|
**Condition**: `ui-designer` selected AND `.workflow/impeccable/DESIGN.md` does not exist. Skip with `--skip-design`.
|
|
@@ -286,6 +288,7 @@ Seven sub-phases producing guidance-specification.md:
|
|
|
286
288
|
Spawn `role-design-author` per role in parallel. ALWAYS use absolute paths. Pass `null` (literal string) for absent optional fields.
|
|
287
289
|
|
|
288
290
|
```
|
|
291
|
+
// MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
289
292
|
Agent({
|
|
290
293
|
subagent_type: "role-design-author",
|
|
291
294
|
prompt: """
|
|
@@ -323,11 +326,14 @@ Agent({
|
|
|
323
326
|
- §4: listed files exist on disk, feature coverage matches
|
|
324
327
|
- system-architect: §3 has "Data Model" and "State Machine" headings
|
|
325
328
|
|
|
329
|
+
**GATE Step 4→4.5**: REQUIRED all `{role}/analysis.md` verified on disk via Glob (per role in selected_roles); BLOCKED if any `analysis.md` missing.
|
|
330
|
+
|
|
326
331
|
### Step 4.5: Cross-Role Review (Auto Mode)
|
|
327
332
|
|
|
328
333
|
Spawn ONE `cross-role-reviewer` to compare Decision Digests across roles.
|
|
329
334
|
|
|
330
335
|
```
|
|
336
|
+
// MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
331
337
|
Agent({
|
|
332
338
|
subagent_type: "cross-role-reviewer",
|
|
333
339
|
prompt: """
|
|
@@ -498,3 +504,5 @@ Write `{output_dir}/context-package.json` by extracting from session artifacts:
|
|
|
498
504
|
Register artifact in state.json with additional field:
|
|
499
505
|
`context_package: "{output_dir}/context-package.json"` (relative to .workflow/)
|
|
500
506
|
|
|
507
|
+
**GATE Step 7.5→complete**: Glob `{output_dir}/context-package.json` MUST exist before workflow report; BLOCKED if missing.
|
|
508
|
+
|
|
@@ -232,6 +232,8 @@ Wait for user confirmation. If "edit": let user modify plan interactively.
|
|
|
232
232
|
|
|
233
233
|
---
|
|
234
234
|
|
|
235
|
+
**GATE Step 4→5**: REQUIRED `business-test-plan.json` written and user-confirmed before test generation; BLOCKED if plan missing or unconfirmed.
|
|
236
|
+
|
|
235
237
|
### Step 5: Generate Test Code (if --gen-code)
|
|
236
238
|
|
|
237
239
|
**Detect project tech stack:**
|
|
@@ -487,6 +489,8 @@ Update `index.json` with business_test section:
|
|
|
487
489
|
|
|
488
490
|
---
|
|
489
491
|
|
|
492
|
+
**GATE Step 8→9**: Glob `${PHASE_DIR}/.tests/business/business-test-report.json` MUST exist before Step 9 issue creation; BLOCKED if missing.
|
|
493
|
+
|
|
490
494
|
### Step 9: Feedback Loop
|
|
491
495
|
|
|
492
496
|
**Auto-create issues from failures:**
|
|
@@ -61,6 +61,7 @@ Build component entry:
|
|
|
61
61
|
### Step 2.5: Load Project Specs
|
|
62
62
|
|
|
63
63
|
```
|
|
64
|
+
# MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
64
65
|
specs_content = maestro spec load --category arch
|
|
65
66
|
```
|
|
66
67
|
|
|
@@ -115,7 +116,8 @@ map to components by keyword analysis. Build ADR entry:
|
|
|
115
116
|
"title": "{ADR title}",
|
|
116
117
|
"component_ids": ["TC-{NNN}"],
|
|
117
118
|
"decision": "{decision summary}",
|
|
118
|
-
"rationale": "{rationale summary}"
|
|
119
|
+
"rationale": "{rationale summary}",
|
|
120
|
+
"evidence_source": "{evidence source — ADR file ref or code anchor}"
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
If no ADRs: architecture_decisions = [].
|
|
@@ -141,6 +143,8 @@ Assemble the complete doc-index.json:
|
|
|
141
143
|
Write to: .workflow/codebase/doc-index.json
|
|
142
144
|
```
|
|
143
145
|
|
|
146
|
+
**GATE Step 6→7**: REQUIRED `doc-index.json` written and valid JSON before tech-registry generation; BLOCKED if `doc-index.json` missing or invalid.
|
|
147
|
+
|
|
144
148
|
### Step 7: Generate Tech Registry Docs
|
|
145
149
|
|
|
146
150
|
```
|
|
@@ -177,6 +181,8 @@ b. Update project.md Tech Stack (if exists):
|
|
|
177
181
|
If changes detected: update section + footer timestamp.
|
|
178
182
|
```
|
|
179
183
|
|
|
184
|
+
**GATE Step 8.5→9**: Glob `.workflow/codebase/doc-index.json` AND `.workflow/codebase/knowledge-graph.json` MUST exist before Step 9 report; BLOCKED if missing.
|
|
185
|
+
|
|
180
186
|
### Step 9: Report and Commit
|
|
181
187
|
|
|
182
188
|
```
|
|
@@ -201,6 +207,7 @@ Uses the native `maestro kg index` command (`src/graph/analyzers/fs-analyzer.ts`
|
|
|
201
207
|
### Step 10: Generate Knowledge Graph
|
|
202
208
|
|
|
203
209
|
```
|
|
210
|
+
# MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
204
211
|
maestro kg index --src "$PROJECT_ROOT/src"
|
|
205
212
|
```
|
|
206
213
|
|
|
@@ -52,6 +52,7 @@ Build affected sets:
|
|
|
52
52
|
### Step 3.5: Load Project Specs
|
|
53
53
|
|
|
54
54
|
```
|
|
55
|
+
# MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
55
56
|
specs_content = maestro spec load --category arch
|
|
56
57
|
```
|
|
57
58
|
|
|
@@ -61,6 +62,7 @@ Used in Step 4-5 to validate refreshed docs against architectural expectations.
|
|
|
61
62
|
|
|
62
63
|
```
|
|
63
64
|
If .workflow/codebase/knowledge-graph.json exists:
|
|
65
|
+
# MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep (when KG exists)
|
|
64
66
|
Run: maestro kg diff-wiki --json
|
|
65
67
|
Parse output for affectedWiki entries.
|
|
66
68
|
|
|
@@ -74,7 +76,7 @@ If .workflow/codebase/knowledge-graph.json exists:
|
|
|
74
76
|
{affectedWiki.length} wiki entries flagged"
|
|
75
77
|
|
|
76
78
|
If .workflow/codebase/knowledge-graph.json does not exist:
|
|
77
|
-
|
|
79
|
+
Log W0xx "KG not generated — KG impact analysis skipped" and continue; flag KG analysis as [LOW CONFIDENCE] (KG unavailable).
|
|
78
80
|
```
|
|
79
81
|
|
|
80
82
|
---
|
|
@@ -92,6 +94,8 @@ If --deep: follow reverse dependency chain to find additional affected component
|
|
|
92
94
|
Report new files matching component naming patterns (do not auto-add).
|
|
93
95
|
```
|
|
94
96
|
|
|
97
|
+
**GATE Step 4→5**: REQUIRED affected components re-scanned (symbols[] and last_updated refreshed) before relationship check; BLOCKED if affected components not re-scanned.
|
|
98
|
+
|
|
95
99
|
### Step 5: Check Relationship Changes
|
|
96
100
|
|
|
97
101
|
```
|
|
@@ -126,6 +130,8 @@ If entries changed: regenerate tech-registry/_index.md and feature-maps/_index.m
|
|
|
126
130
|
Update .workflow/state.json: set codebase_last_refreshed and last_updated timestamps.
|
|
127
131
|
```
|
|
128
132
|
|
|
133
|
+
**GATE Step 8→9**: Glob refreshed `tech-registry/{slug}.md` MUST exist before Step 9 report; BLOCKED if missing.
|
|
134
|
+
|
|
129
135
|
### Step 9: Report
|
|
130
136
|
|
|
131
137
|
```
|
|
@@ -141,7 +141,7 @@ maestro search "<query>" [--type <type>] [--category <cat>] [--code] [--kg] [--j
|
|
|
141
141
|
| What | Command |
|
|
142
142
|
|------|---------|
|
|
143
143
|
| Spec | `/spec-add <category> "title" "content" --keywords kw1,kw2 --description "summary"` |
|
|
144
|
-
| Knowhow |
|
|
144
|
+
| Knowhow | `/manage-knowhow-capture` (`--spec-category <cat>` to bridge into agent injection) |
|
|
145
145
|
|
|
146
146
|
Category routing: decisions→`arch`, patterns→`coding`, pitfalls→`debug`/`learning`, rules→`review`, tests→`test`.
|
|
147
147
|
|
package/workflows/debug.md
CHANGED
|
@@ -110,6 +110,7 @@ If resuming: load understanding.md + evidence.ndjson, spawn continuation agent.
|
|
|
110
110
|
### Step 1.5: Load Project Specs
|
|
111
111
|
|
|
112
112
|
```
|
|
113
|
+
# MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep
|
|
113
114
|
specs_content = maestro spec load --category debug
|
|
114
115
|
→ Pass to debug agents as prior knowledge
|
|
115
116
|
```
|
|
@@ -175,7 +176,7 @@ Create the directory.
|
|
|
175
176
|
|
|
176
177
|
---
|
|
177
178
|
|
|
178
|
-
### Step 5: Spawn Parallel Debug Agents
|
|
179
|
+
### Step 5: Spawn Parallel Debug Agents — MANDATORY, NOT SUBSTITUTABLE
|
|
179
180
|
|
|
180
181
|
For each cluster, spawn concurrently (`run_in_background: false`):
|
|
181
182
|
|
|
@@ -219,7 +220,7 @@ Pass cli_evidence as supplementary_context to debug agent prompts in Step 5/6
|
|
|
219
220
|
|
|
220
221
|
---
|
|
221
222
|
|
|
222
|
-
### Step 6: Spawn Single Debug Agent (sequential mode)
|
|
223
|
+
### Step 6: Spawn Single Debug Agent (sequential mode) — MANDATORY, NOT SUBSTITUTABLE
|
|
223
224
|
|
|
224
225
|
Spawn agent (`run_in_background: false`):
|
|
225
226
|
|
|
@@ -330,6 +331,8 @@ Load prior state (understanding.md + evidence.ndjson) + user checkpoint response
|
|
|
330
331
|
|
|
331
332
|
---
|
|
332
333
|
|
|
334
|
+
**GATE Step 12→13**: Glob `{$DEBUG_DIR}/understanding.md` AND `{$DEBUG_DIR}/evidence.ndjson` MUST exist before Step 13 report; BLOCKED if missing.
|
|
335
|
+
|
|
333
336
|
### Step 13: Report
|
|
334
337
|
|
|
335
338
|
```
|