maestro-flow 0.5.34 → 0.5.36
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/cli-explore-agent.md +71 -68
- package/.agents/agents/workflow-analyzer.md +1 -0
- package/.agents/agents/workflow-collab-planner.md +1 -0
- package/.agents/agents/workflow-debugger.md +1 -0
- package/.agents/agents/workflow-executor.md +1 -0
- package/.agents/agents/workflow-planner.md +2 -0
- package/.agents/skills/domain-add/SKILL.md +71 -0
- package/.agents/skills/maestro/SKILL.md +7 -6
- package/.agents/skills/maestro-amend/SKILL.md +0 -2
- package/.agents/skills/maestro-analyze/SKILL.md +9 -0
- package/.agents/skills/maestro-brainstorm/SKILL.md +10 -1
- package/.agents/skills/maestro-collab/SKILL.md +14 -1
- package/.agents/skills/maestro-help/SKILL.md +1 -1
- package/.agents/skills/maestro-help/index/catalog.json +0 -1
- package/.agents/skills/maestro-help/phases/01-parse-intent.md +1 -1
- package/.agents/skills/maestro-next/SKILL.md +15 -4
- package/.agents/skills/maestro-overlay/SKILL.md +4 -3
- package/.agents/skills/maestro-plan/SKILL.md +15 -4
- package/.agents/skills/maestro-ralph/SKILL.md +135 -31
- package/.agents/skills/maestro-ralph-execute/SKILL.md +51 -10
- package/.agents/skills/maestro-tools-register/SKILL.md +0 -6
- package/.agents/skills/maestro-ui-codify/SKILL.md +0 -2
- package/.agents/skills/manage-kg-extractors/SKILL.md +0 -2
- package/.agents/skills/quality-test/SKILL.md +25 -1
- package/.agents/skills/spec-load/SKILL.md +0 -1
- package/.agents/skills/spec-setup/SKILL.md +0 -1
- package/.agents/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
- package/.agents/skills/team-quality-assurance/roles/scout/role.md +15 -11
- package/.agents/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.agents/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
- package/.agy/agents/cli-explore-agent.md +71 -68
- package/.agy/agents/workflow-analyzer.md +1 -0
- package/.agy/agents/workflow-collab-planner.md +1 -0
- package/.agy/agents/workflow-debugger.md +1 -0
- package/.agy/agents/workflow-executor.md +1 -0
- package/.agy/agents/workflow-planner.md +2 -0
- package/.agy/skills/domain-add/SKILL.md +68 -0
- package/.agy/skills/maestro/SKILL.md +7 -6
- package/.agy/skills/maestro-amend/SKILL.md +0 -2
- package/.agy/skills/maestro-analyze/SKILL.md +9 -0
- package/.agy/skills/maestro-brainstorm/SKILL.md +10 -1
- package/.agy/skills/maestro-collab/SKILL.md +14 -1
- package/.agy/skills/maestro-help/SKILL.md +1 -1
- package/.agy/skills/maestro-help/index/catalog.json +0 -1
- package/.agy/skills/maestro-help/phases/01-parse-intent.md +1 -1
- package/.agy/skills/maestro-next/SKILL.md +15 -4
- package/.agy/skills/maestro-overlay/SKILL.md +4 -3
- package/.agy/skills/maestro-plan/SKILL.md +15 -4
- package/.agy/skills/maestro-ralph/SKILL.md +135 -31
- package/.agy/skills/maestro-ralph-execute/SKILL.md +51 -10
- package/.agy/skills/maestro-tools-register/SKILL.md +0 -6
- package/.agy/skills/maestro-ui-codify/SKILL.md +0 -2
- package/.agy/skills/manage-kg-extractors/SKILL.md +0 -2
- package/.agy/skills/quality-test/SKILL.md +25 -1
- package/.agy/skills/spec-load/SKILL.md +0 -1
- package/.agy/skills/spec-setup/SKILL.md +0 -1
- package/.agy/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
- package/.agy/skills/team-quality-assurance/roles/scout/role.md +15 -11
- package/.agy/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.agy/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
- package/.claude/agents/cli-explore-agent.md +71 -68
- package/.claude/agents/workflow-analyzer.md +1 -0
- package/.claude/agents/workflow-collab-planner.md +1 -0
- package/.claude/agents/workflow-debugger.md +1 -0
- package/.claude/agents/workflow-executor.md +1 -0
- package/.claude/agents/workflow-planner.md +2 -0
- package/.claude/commands/domain-add.md +69 -0
- package/.claude/commands/maestro-amend.md +0 -2
- package/.claude/commands/maestro-analyze.md +9 -0
- package/.claude/commands/maestro-brainstorm.md +10 -1
- package/.claude/commands/maestro-collab.md +14 -1
- package/.claude/commands/maestro-next.md +15 -4
- package/.claude/commands/maestro-overlay.md +4 -3
- package/.claude/commands/maestro-plan.md +15 -4
- package/.claude/commands/maestro-ralph-execute.md +51 -10
- package/.claude/commands/maestro-ralph.md +135 -31
- package/.claude/commands/maestro-tools-register.md +0 -6
- package/.claude/commands/maestro-ui-codify.md +0 -2
- package/.claude/commands/maestro.md +7 -6
- package/.claude/commands/manage-kg-extractors.md +0 -2
- package/.claude/commands/quality-test.md +25 -1
- package/.claude/commands/spec-load.md +0 -1
- package/.claude/commands/spec-setup.md +0 -1
- package/.claude/skills/maestro-help/SKILL.md +1 -1
- package/.claude/skills/maestro-help/index/catalog.json +0 -1
- package/.claude/skills/maestro-help/phases/01-parse-intent.md +1 -1
- package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
- package/.claude/skills/team-quality-assurance/roles/scout/role.md +15 -11
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
- package/.codex/skills/domain-add/SKILL.md +79 -0
- package/.codex/skills/domain-discover/SKILL.md +43 -0
- package/.codex/skills/domain-list/SKILL.md +38 -0
- package/.codex/skills/learn-follow/SKILL.md +0 -3
- package/.codex/skills/learn-investigate/SKILL.md +0 -3
- package/.codex/skills/learn-retro/SKILL.md +0 -2
- package/.codex/skills/maestro/SKILL.md +34 -13
- package/.codex/skills/maestro-amend/SKILL.md +0 -2
- package/.codex/skills/maestro-analyze/SKILL.md +36 -6
- package/.codex/skills/maestro-blueprint/SKILL.md +0 -4
- package/.codex/skills/maestro-brainstorm/SKILL.md +46 -6
- package/.codex/skills/maestro-collab/SKILL.md +14 -1
- package/.codex/skills/maestro-companion/SKILL.md +0 -2
- package/.codex/skills/maestro-execute/SKILL.md +25 -3
- package/.codex/skills/maestro-fork/SKILL.md +0 -2
- package/.codex/skills/maestro-grill/SKILL.md +9 -1
- package/.codex/skills/maestro-next/SKILL.md +12 -5
- package/.codex/skills/maestro-plan/SKILL.md +43 -5
- package/.codex/skills/maestro-ralph/SKILL.md +10 -3
- package/.codex/skills/maestro-ralph-execute/SKILL.md +51 -10
- package/.codex/skills/maestro-roadmap/SKILL.md +30 -3
- package/.codex/skills/manage-wiki/SKILL.md +0 -2
- package/.codex/skills/odyssey-debug/SKILL.md +0 -2
- package/.codex/skills/odyssey-improve/SKILL.md +0 -6
- package/.codex/skills/odyssey-review-test-fix/SKILL.md +0 -3
- package/.codex/skills/odyssey-ui/SKILL.md +0 -3
- package/.codex/skills/quality-review/SKILL.md +9 -0
- package/.codex/skills/spec-setup/SKILL.md +0 -2
- package/.codex/skills/team-coordinate/SKILL.md +0 -3
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +0 -2
- package/README.md +28 -5
- package/README.zh-CN.md +28 -5
- package/chains/_intent-map.json +36 -0
- package/chains/blueprint-driven.json +49 -0
- package/chains/grill-driven.json +51 -0
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js +4 -0
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.d.ts +6 -0
- package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js +36 -0
- package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.d.ts +82 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js +444 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +47 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js +426 -19
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +16 -0
- 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 +11 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +492 -1
- 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.d.ts +18 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +192 -9
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +42 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +1 -1
- package/dashboard/dist-server/src/commands/hooks.d.ts +3 -0
- package/dashboard/dist-server/src/commands/hooks.js +60 -9
- package/dashboard/dist-server/src/commands/hooks.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.js +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js +4 -2
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js +6 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js +2 -6
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js.map +1 -1
- package/dashboard/dist-server/src/hooks/session-context.js +37 -1
- package/dashboard/dist-server/src/hooks/session-context.js.map +1 -1
- package/dashboard/dist-server/src/search/daemon.d.ts +42 -0
- package/dashboard/dist-server/src/search/daemon.js +180 -0
- package/dashboard/dist-server/src/search/daemon.js.map +1 -0
- package/dashboard/dist-server/src/tools/domain-loader.d.ts +4 -1
- package/dashboard/dist-server/src/tools/domain-loader.js +56 -25
- package/dashboard/dist-server/src/tools/domain-loader.js.map +1 -1
- package/dashboard/dist-server/src/tools/domain-schema.d.ts +1 -1
- package/dashboard/dist-server/src/tools/domain-schema.js +1 -1
- package/dist/shared/agent-types.d.ts +1 -1
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/agents/api-explore/agent-loop.d.ts +14 -0
- package/dist/src/agents/api-explore/agent-loop.d.ts.map +1 -0
- package/dist/src/agents/api-explore/agent-loop.js +86 -0
- package/dist/src/agents/api-explore/agent-loop.js.map +1 -0
- package/dist/src/agents/api-explore/config.d.ts +42 -0
- package/dist/src/agents/api-explore/config.d.ts.map +1 -0
- package/dist/src/agents/api-explore/config.js +99 -0
- package/dist/src/agents/api-explore/config.js.map +1 -0
- package/dist/src/agents/api-explore/index.d.ts +2 -0
- package/dist/src/agents/api-explore/index.d.ts.map +1 -0
- package/dist/src/agents/api-explore/index.js +102 -0
- package/dist/src/agents/api-explore/index.js.map +1 -0
- package/dist/src/agents/api-explore/llm.d.ts +28 -0
- package/dist/src/agents/api-explore/llm.d.ts.map +1 -0
- package/dist/src/agents/api-explore/llm.js +48 -0
- package/dist/src/agents/api-explore/llm.js.map +1 -0
- package/dist/src/agents/api-explore/prompt-parser.d.ts +23 -0
- package/dist/src/agents/api-explore/prompt-parser.d.ts.map +1 -0
- package/dist/src/agents/api-explore/prompt-parser.js +73 -0
- package/dist/src/agents/api-explore/prompt-parser.js.map +1 -0
- package/dist/src/agents/api-explore/runner.d.ts +65 -0
- package/dist/src/agents/api-explore/runner.d.ts.map +1 -0
- package/dist/src/agents/api-explore/runner.js +196 -0
- package/dist/src/agents/api-explore/runner.js.map +1 -0
- package/dist/src/agents/api-explore/session.d.ts +23 -0
- package/dist/src/agents/api-explore/session.d.ts.map +1 -0
- package/dist/src/agents/api-explore/session.js +57 -0
- package/dist/src/agents/api-explore/session.js.map +1 -0
- package/dist/src/agents/api-explore/stream-json-emitter.d.ts +10 -0
- package/dist/src/agents/api-explore/stream-json-emitter.d.ts.map +1 -0
- package/dist/src/agents/api-explore/stream-json-emitter.js +19 -0
- package/dist/src/agents/api-explore/stream-json-emitter.js.map +1 -0
- package/dist/src/agents/api-explore/system-prompt.d.ts +2 -0
- package/dist/src/agents/api-explore/system-prompt.d.ts.map +1 -0
- package/dist/src/agents/api-explore/system-prompt.js +31 -0
- package/dist/src/agents/api-explore/system-prompt.js.map +1 -0
- package/dist/src/agents/api-explore/tools.d.ts +11 -0
- package/dist/src/agents/api-explore/tools.d.ts.map +1 -0
- package/dist/src/agents/api-explore/tools.js +168 -0
- package/dist/src/agents/api-explore/tools.js.map +1 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +3 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/cli.js +4 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/domain.d.ts.map +1 -1
- package/dist/src/commands/domain.js +5 -4
- package/dist/src/commands/domain.js.map +1 -1
- package/dist/src/commands/explore.d.ts +7 -0
- package/dist/src/commands/explore.d.ts.map +1 -0
- package/dist/src/commands/explore.js +201 -0
- package/dist/src/commands/explore.js.map +1 -0
- package/dist/src/commands/hooks.d.ts +3 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +60 -9
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +42 -9
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/search.d.ts +26 -4
- package/dist/src/commands/search.d.ts.map +1 -1
- package/dist/src/commands/search.js +359 -93
- package/dist/src/commands/search.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +37 -21
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/workspace.d.ts.map +1 -1
- package/dist/src/commands/workspace.js +9 -3
- package/dist/src/commands/workspace.js.map +1 -1
- package/dist/src/config/cli-tools-defaults.json +2 -1
- package/dist/src/core/install-executor.d.ts.map +1 -1
- package/dist/src/core/install-executor.js +6 -3
- package/dist/src/core/install-executor.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/code-extractor.js +1 -1
- package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js +4 -2
- package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js +6 -1
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -1
- package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/orchestrator.js +2 -6
- package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
- package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
- package/dist/src/graph/kg/surface/cli.js +5 -2
- package/dist/src/graph/kg/surface/cli.js.map +1 -1
- package/dist/src/hooks/session-context.d.ts.map +1 -1
- package/dist/src/hooks/session-context.js +37 -1
- package/dist/src/hooks/session-context.js.map +1 -1
- package/dist/src/ralph/cmd-next.d.ts.map +1 -1
- package/dist/src/ralph/cmd-next.js +66 -4
- package/dist/src/ralph/cmd-next.js.map +1 -1
- package/dist/src/ralph/status-schema.d.ts +1 -0
- package/dist/src/ralph/status-schema.d.ts.map +1 -1
- package/dist/src/search/daemon.d.ts +43 -0
- package/dist/src/search/daemon.d.ts.map +1 -0
- package/dist/src/search/daemon.js +180 -0
- package/dist/src/search/daemon.js.map +1 -0
- package/dist/src/tools/__tests__/domain-search-debug.js +3 -1
- package/dist/src/tools/__tests__/domain-search-debug.js.map +1 -1
- package/dist/src/tools/domain-loader.d.ts +4 -1
- package/dist/src/tools/domain-loader.d.ts.map +1 -1
- package/dist/src/tools/domain-loader.js +56 -25
- package/dist/src/tools/domain-loader.js.map +1 -1
- package/dist/src/tools/domain-schema.d.ts +1 -1
- package/dist/src/tools/domain-schema.js +1 -1
- package/dist/src/utils/update-notices.js +12 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +5 -1
- package/shared/agent-types.ts +1 -1
- package/templates/search-tools.md +22 -6
- package/workflows/agy-instructions.md +0 -4
- package/workflows/analyze.md +2 -2
- package/workflows/boundary-grill.md +50 -0
- package/workflows/brainstorm.md +6 -5
- package/workflows/claude-instructions.md +29 -2
- package/workflows/codebase-rebuild.md +0 -1
- package/workflows/codex-instructions.md +97 -14
- package/workflows/command-authoring.md +1 -1
- package/workflows/debug.md +0 -4
- package/workflows/domain-add.md +115 -0
- package/workflows/execute.md +7 -0
- package/workflows/explore-usage.md +128 -0
- package/workflows/finish-work.md +2 -6
- package/workflows/fork.md +0 -4
- package/workflows/grill.md +14 -1
- package/workflows/harvest.md +0 -3
- package/workflows/impeccable/audit.md +0 -2
- package/workflows/impeccable/codex.md +0 -4
- package/workflows/init.md +9 -0
- package/workflows/interview-mechanics.md +3 -2
- package/workflows/issue-analyze.md +0 -5
- package/workflows/issue-gaps-analyze.codex.md +0 -6
- package/workflows/knowledge-audit.md +0 -4
- package/workflows/learn.md +0 -6
- package/workflows/maestro.codex.md +0 -4
- package/workflows/maestro.md +31 -18
- package/workflows/merge.md +0 -4
- package/workflows/milestone-complete.md +0 -4
- package/workflows/overlays.md +0 -10
- package/workflows/plan.md +2 -3
- package/workflows/roadmap-common.md +0 -4
- package/workflows/tdd.md +0 -2
- package/workflows/tools-spec.md +1 -7
- package/workflows/ui-codify-extract.md +0 -2
- package/workflows/ui-codify-package.md +0 -2
- package/.agents/skills/maestro-ralph-beta/SKILL.md +0 -882
- package/.agy/skills/maestro-ralph-beta/SKILL.md +0 -878
- package/.claude/commands/maestro-ralph-beta.md +0 -880
- package/.codex/skills/maestro-ralph-beta/SKILL.md +0 -883
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Codex: Visual Direction & Asset Production
|
|
2
2
|
|
|
3
|
-
This file is loaded by `/maestro-impeccable craft` when the harness has native image generation (currently Codex via `image_gen`). Other harnesses skip it. It covers the two craft steps that depend on real image generation: landing the visual direction, and producing the raster assets the implementation will compose.
|
|
4
|
-
|
|
5
|
-
Read this *before* generating any images. The order matters, and the per-step user pauses are what keep generated imagery from drifting away from the brief.
|
|
6
|
-
|
|
7
3
|
### Four stop points before code
|
|
8
4
|
|
|
9
5
|
Steps A through D each end with the user. Do not advance past any of them on your own read of the situation.
|
package/workflows/init.md
CHANGED
|
@@ -113,6 +113,14 @@ If `.workflow/specs/` does not exist:
|
|
|
113
113
|
- Skip spec-setup (nothing to scan)
|
|
114
114
|
- Note: Specs will be progressively populated as pipeline stages produce knowledge
|
|
115
115
|
|
|
116
|
+
## Step 2.5: Domain Init (first-run only)
|
|
117
|
+
|
|
118
|
+
If `.workflow/domain/` does not exist:
|
|
119
|
+
|
|
120
|
+
1. Run `Bash("maestro domain init")` — creates `.workflow/domain/glossary.yaml` with empty terms array
|
|
121
|
+
2. If brownfield project (has source files): run `maestro domain discover --auto` to scan codebase for initial term candidates, present top 5 for confirmation
|
|
122
|
+
3. If greenfield project: skip discovery (no codebase to scan); domain terms will be populated by grill/brainstorm sessions via finish-work extraction
|
|
123
|
+
|
|
116
124
|
|
|
117
125
|
---
|
|
118
126
|
|
|
@@ -126,6 +134,7 @@ Verify all required directories and files exist:
|
|
|
126
134
|
state.json ✓
|
|
127
135
|
config.json ✓
|
|
128
136
|
specs/ ✓
|
|
137
|
+
domain/ ✓ (glossary.yaml)
|
|
129
138
|
research/ ✓ (if research enabled)
|
|
130
139
|
scratch/ ✓ (create empty)
|
|
131
140
|
milestones/ ✓ (create empty)
|
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
- **One decision per turn** via AskUserQuestion, 2-4 options, first marked `(Recommended)`. User can redirect via `Other`.
|
|
4
4
|
- **Search-first**: resolve via state.json → session artifacts → `maestro spec/wiki` → Glob/Grep/Read → Agent(Explore) / delegate. Never ask what code can answer.
|
|
5
5
|
- **Writeback**: each decision **immediately written to disk** before the next question. No batching.
|
|
6
|
-
- **Skip**: auto mode (`-y`)
|
|
7
|
-
- **Decision table**: `| # | Decision | Choice | Source (user / code / default) |`
|
|
6
|
+
- **Skip**: auto mode (`-y`) → 逐问题 Search-first 代答(不跳过整段 interview);仅当代码给出高置信答案时跳过该问题。**例外**:broad intent 的边界澄清永不跳过(即使 `-y`);phase 歧义永不跳过。resume (`-c`) → 跳过已答问题。unambiguous 单一答案输入 → 仅跳过该问题。
|
|
7
|
+
- **Decision table**: `| # | Decision | Choice | Source (user / code / default) | Confidence (high / medium / LOW) |`
|
|
8
|
+
- `code` source:Search-first 派生(state.json / spec / Glob / Grep)。`code` + 非 broad → 可自动定;`code` + broad → 标 `LOW CONFIDENCE` 需用户确认;`default` source → 一律标 `LOW CONFIDENCE`。
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
> **DEPRECATED**: Superseded by `issue-gaps-analyze.md` which adds batch support and context.md output.
|
|
4
4
|
> Use `maestro-analyze --gaps [ISS-ID]` instead.
|
|
5
5
|
|
|
6
|
-
This workflow's executable steps have been removed to prevent divergent implementations.
|
|
7
|
-
|
|
8
6
|
## Migration
|
|
9
7
|
|
|
10
8
|
| Old usage | New usage |
|
|
@@ -20,6 +18,3 @@ This workflow's executable steps have been removed to prevent divergent implemen
|
|
|
20
18
|
- `issue-execute.md` — downstream execution after planning
|
|
21
19
|
|
|
22
20
|
## Notes
|
|
23
|
-
|
|
24
|
-
- Issue records analyzed by the new pipeline still write to `.workflow/issues/issues.jsonl` with `analysis` field (root_cause, impact, related_files, confidence, suggested_approach, analyzed_at, analyzed_by).
|
|
25
|
-
- Status is unchanged by analysis (non-destructive enrichment).
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
# Workflow: Issue Gaps Analysis (Codex — CSV Wave)
|
|
2
2
|
|
|
3
|
-
Root cause analysis for issues via `spawn_agents_on_csv` wave execution.
|
|
4
|
-
Supports single issue (ISS-ID) or batch with classification and parallel analysis.
|
|
5
|
-
Produces analysis records in issues.jsonl and context.md for downstream `plan --gaps`.
|
|
6
|
-
|
|
7
|
-
**Invoked by**: `maestro-analyze --gaps [ISS-ID]` (codex SKILL.md)
|
|
8
|
-
|
|
9
3
|
## Pipeline
|
|
10
4
|
|
|
11
5
|
```
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Knowledge Audit Workflow
|
|
2
2
|
|
|
3
|
-
审查 spec / knowhow / artifact 三大知识存储,识别矛盾、失效、老化、孤儿,通过 keep/deprecate/delete 三态决策淘汰。
|
|
4
|
-
|
|
5
|
-
与 `harvest.md` 对称:harvest 写入知识 → knowledge-audit 清理知识。与 `harvest --prune`(Stage 9)的区别:prune 做物理 GC(孤儿指针、格式损坏),audit 做语义审查(逻辑矛盾、生命周期决策)。
|
|
6
|
-
|
|
7
3
|
---
|
|
8
4
|
|
|
9
5
|
## Prerequisites
|
package/workflows/learn.md
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
# Learn Workflow
|
|
2
2
|
|
|
3
|
-
Atomic insight capture, search, and retrieval. Lightweight gstack-style "eureka moment" log that complements the retrospective workflow: where retrospective extracts insights from completed phases in bulk, `manage-learn` captures one insight at a time during active work.
|
|
4
|
-
|
|
5
3
|
Storage:
|
|
6
4
|
- `.workflow/specs/learnings.md` — append-only container of `<spec-entry>` sub-entries (shared with retrospective output)
|
|
7
5
|
- Auto-indexed by WikiIndexer (no manual index required)
|
|
8
6
|
|
|
9
|
-
**Shared store rationale:** Manual captures (`source: "manual"`), tips (`source: "tip"`), retrospective-distilled insights (`source: "retrospective"`, `lens: <name>` from `quality-retrospective`), and learn-retro insights (`source: "retro-git"` or `source: "retro-decision"` from `learn-retro`) all live in the same store so search and list see the entire knowledge corpus. The `source` field disambiguates origin.
|
|
10
|
-
|
|
11
|
-
This workflow does NOT spawn sub-agents; it may invoke maestro CLI utilities (e.g. `maestro wiki search`, `maestro wiki list`) for list/search subcommands. The core capture flow is a thin file operation: parse → infer → append → confirm.
|
|
12
|
-
|
|
13
7
|
---
|
|
14
8
|
|
|
15
9
|
## Prerequisites
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Workflow: Maestro (Codex Edition)
|
|
2
2
|
|
|
3
|
-
CSV wave coordinator version of the intelligent coordinator. Replaces `spawn_agent / wait / close_agent` loop with `spawn_agents_on_csv` (max_workers=1) for sequential pipeline execution. Each chain step is a CSV row with `skill_call` column; agents read prior results from session directory for context propagation.
|
|
4
|
-
|
|
5
|
-
> Referenced by: `~/.codex/skills/maestro/SKILL.md`
|
|
6
|
-
|
|
7
3
|
---
|
|
8
4
|
|
|
9
5
|
## Step 1: Parse Arguments
|
package/workflows/maestro.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# Workflow: maestro
|
|
2
2
|
|
|
3
3
|
Intelligent coordinator that routes user intent to optimal command chain based on project state.
|
|
4
|
-
|
|
5
|
-
Default `auto` mode selects type based on step complexity. All execution dispatched to unified executor (`maestro-ralph-execute`).
|
|
4
|
+
Builds a `ralph_protocol_version: "1"` session: every executable step carries `skill,args,stage,scope,command_scope,command_path`; every cross-step gate is a `step.decision` node. All execution dispatched to unified executor (`maestro-ralph-execute`); the command body (`.claude/commands/maestro.md`) owns session build + dispatch. `--exec` is legacy input only — recorded to `legacy_options.exec_mode`, never changes execution. This brain is consumed for **classification only** (intent → task_type → chain); it does NOT prescribe execution semantics.
|
|
6
5
|
|
|
7
6
|
**Prerequisites:**
|
|
8
7
|
- None for initial invocation (can bootstrap)
|
|
@@ -110,6 +109,9 @@ Directly match user intent to the best `task_type` (maps to chain in chainMap).
|
|
|
110
109
|
| `overlay` | Create/edit command overlays |
|
|
111
110
|
| `update` | Update maestro itself |
|
|
112
111
|
| `harvest` | Extract knowledge from artifacts |
|
|
112
|
+
| `domain_add` | Register a domain term into glossary |
|
|
113
|
+
| `domain_list` | List registered domain terms |
|
|
114
|
+
| `domain_discover` | Discover domain term candidates from codebase |
|
|
113
115
|
| `wiki` | Manage wiki graph |
|
|
114
116
|
| `knowhow` | Manage knowhow entries |
|
|
115
117
|
| `impeccable_chain` | UI design — explore, general |
|
|
@@ -127,6 +129,9 @@ Directly match user intent to the best `task_type` (maps to chain in chainMap).
|
|
|
127
129
|
| `team_tech_debt` | Team tech debt remediation |
|
|
128
130
|
| `team_lifecycle` | Team full lifecycle (plan+dev+test+review) |
|
|
129
131
|
| `full-lifecycle` | Complete phase: plan→execute→review→test→audit |
|
|
132
|
+
| `grill` | Stress-test a plan/idea against codebase reality (Socratic; `-y` → Auto mode code-answers, stage NOT skipped) |
|
|
133
|
+
| `blueprint` | Formal spec package — 7-phase spec-generate |
|
|
134
|
+
| `analyze-macro` | Broad/medium intent, no numeric phase — produces scope_verdict for ralph `post-analyze-scope` |
|
|
130
135
|
| `brainstorm-driven` | Start from exploration/brainstorm |
|
|
131
136
|
| `spec-driven` | From spec/requirements (heavy, with init) |
|
|
132
137
|
| `roadmap-driven` | From requirements (light, with init) |
|
|
@@ -170,7 +175,7 @@ Display intent analysis: action, object, scope, issue_id, phase_ref, task_type,
|
|
|
170
175
|
|
|
171
176
|
**Resolution order:**
|
|
172
177
|
1. `state_continue` → `detectNextAction(projectState)` → `{ chain, argsOverride? }`. Apply argsOverride before template substitution.
|
|
173
|
-
2. Task-type aliases → named chain: `spec_generate`→`spec-driven`, `brainstorm`→`brainstorm-driven`, `issue_execute`→`issue-full`
|
|
178
|
+
2. Task-type aliases → named chain: `spec_generate`→`spec-driven`, `brainstorm`→`brainstorm-driven`, `grill`→`grill-driven`, `blueprint`→`blueprint-driven`, `analyze_macro`→`analyze-plan-execute`, `issue_execute`→`issue-full`
|
|
174
179
|
3. `chainMap[taskType]` → direct lookup
|
|
175
180
|
|
|
176
181
|
Full `chainMap` and `detectNextAction` are in the [Reference Data](#reference-data) section.
|
|
@@ -210,9 +215,9 @@ When executing issue chains, replace `{issue_id}` in step args with resolved ID.
|
|
|
210
215
|
**If not `autoYes`:** Confirm with user — show numbered steps, offer: Execute / Execute from step N / Cancel.
|
|
211
216
|
If user chooses "Execute from step N": set `$START_STEP = N` (used in 3f to set `current_step`).
|
|
212
217
|
|
|
213
|
-
### 3e: Step-level
|
|
218
|
+
### 3e: Step-level command resolution (v1)
|
|
214
219
|
|
|
215
|
-
|
|
220
|
+
> **Superseded by `ralph_protocol_version: "1"`.** The command body resolves `command_scope`/`command_path` per execution step via `maestro ralph skills --platform claude --json --quiet`; cross-step gates carry `step.decision`. Do NOT write a per-step `type` field (legacy skill/cli). `--exec` is recorded to `legacy_options.exec_mode` only — it never changes execution. FSM owns step ordering + decision evaluation (control-plane precedence, see command-body invariant 15).
|
|
216
221
|
|
|
217
222
|
```
|
|
218
223
|
If execMode is 'cli' or 'internal' → force that type for all steps ("cli" or "skill").
|
|
@@ -287,7 +292,7 @@ status.json already created in Step 3g, TodoWrite initialized in Step 3h.
|
|
|
287
292
|
Skill({ skill: "maestro-ralph-execute" })
|
|
288
293
|
```
|
|
289
294
|
|
|
290
|
-
The unified executor discovers the latest running session from `.workflow/.maestro/*/status.json` and executes steps
|
|
295
|
+
The unified executor discovers the latest running session from `.workflow/.maestro/*/status.json` and executes steps in order. maestro sessions (source: "maestro") are `ralph_protocol_version: "1"`: execution steps load via `maestro ralph next`; any `step.decision` node hands off to `Skill("maestro-ralph")` for evaluation (same mechanism as ralph sessions). Decision nodes ARE supported in maestro sessions.
|
|
291
296
|
|
|
292
297
|
---
|
|
293
298
|
|
|
@@ -300,6 +305,9 @@ const chainMap = {
|
|
|
300
305
|
// ── Single-step ──
|
|
301
306
|
'status': [{ cmd: 'manage-status' }],
|
|
302
307
|
'init': [{ cmd: 'maestro-init' }],
|
|
308
|
+
'grill': [{ cmd: 'maestro-grill', args: '"{description}"' }],
|
|
309
|
+
'blueprint': [{ cmd: 'maestro-blueprint', args: '"{description}"' }],
|
|
310
|
+
'analyze-macro': [{ cmd: 'maestro-analyze', args: '"{description}"' }],
|
|
303
311
|
'analyze': [{ cmd: 'maestro-analyze', args: '{phase}' }],
|
|
304
312
|
'analyze-quick': [{ cmd: 'maestro-analyze', args: '{phase} -q' }],
|
|
305
313
|
'ui_design': [{ cmd: 'maestro-impeccable', args: '"{description}" --chain build' }],
|
|
@@ -327,6 +335,9 @@ const chainMap = {
|
|
|
327
335
|
'spec_add': [{ cmd: 'spec-add', args: '"{description}"' }],
|
|
328
336
|
'spec_load': [{ cmd: 'spec-load' }],
|
|
329
337
|
'spec_map': [{ cmd: 'manage-codebase-rebuild' }],
|
|
338
|
+
'domain_add': [{ cmd: 'domain-add', args: '"{description}"' }],
|
|
339
|
+
'domain_list': [{ cmd: 'domain-list' }],
|
|
340
|
+
'domain_discover': [{ cmd: 'domain-discover' }],
|
|
330
341
|
'knowhow_capture': [{ cmd: 'manage-knowhow-capture', args: '"{description}"' }],
|
|
331
342
|
'issue': [{ cmd: 'manage-issue', args: '"{description}"' }],
|
|
332
343
|
'issue_discover': [{ cmd: 'manage-issue-discover', args: '"{description}"' }],
|
|
@@ -349,20 +360,22 @@ const chainMap = {
|
|
|
349
360
|
'team_tech_debt': [{ cmd: 'team-tech-debt', args: '"{description}"' }],
|
|
350
361
|
|
|
351
362
|
// ── Multi-step chains ──
|
|
352
|
-
'full-lifecycle': [{ cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'quality-review', args: '{phase}' }, { cmd: 'quality-test', args: '{phase}' }, { cmd: 'maestro-milestone-audit' }],
|
|
353
|
-
'spec-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-roadmap', args: '--mode full "{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
354
|
-
'roadmap-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-roadmap', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
355
|
-
'
|
|
363
|
+
'full-lifecycle': [{ cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'quality-review', args: '{phase}' }, { cmd: 'quality-test', args: '{phase}' }, { cmd: 'maestro-milestone-audit' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
364
|
+
'spec-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-roadmap', args: '--mode full "{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
365
|
+
'roadmap-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-roadmap', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
366
|
+
'grill-driven': [{ cmd: 'maestro-grill', args: '"{description}"' }, { cmd: 'maestro-brainstorm', args: '"{description}" --from grill:{grill_id}' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
367
|
+
'blueprint-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-blueprint', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
368
|
+
'brainstorm-driven': [{ cmd: 'maestro-brainstorm', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
356
369
|
'brainstorm_visualize': [{ cmd: 'brainstorm-visualize', args: '"{description}"' }],
|
|
357
370
|
'impeccable-build': [{ cmd: 'maestro-impeccable', args: '"{description}" --chain build' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
358
371
|
'impeccable-driven': [{ cmd: 'maestro-impeccable', args: '"{description}" --chain build' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
359
|
-
'analyze-plan-execute': [{ cmd: 'maestro-analyze', args: '"{description}" -q' }, { cmd: 'maestro-plan', args: '--dir {scratch_dir}' }, { cmd: 'maestro-execute', args: '--dir {scratch_dir}' }],
|
|
372
|
+
'analyze-plan-execute': [{ cmd: 'maestro-analyze', args: '"{description}" -q' }, { cmd: 'maestro-plan', args: '--dir {scratch_dir}' }, { cmd: 'maestro-execute', args: '--dir {scratch_dir}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
360
373
|
'quality-loop': [{ cmd: 'quality-review', args: '{phase}' }, { cmd: 'quality-auto-test', args: '{phase}' }, { cmd: 'quality-test', args: '{phase}' }, { cmd: 'quality-debug', args: '--from-uat {phase}' }, { cmd: 'maestro-plan', args: '{phase} --gaps' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
361
374
|
'milestone-close': [{ cmd: 'maestro-milestone-audit' }, { cmd: 'maestro-milestone-complete' }],
|
|
362
375
|
'next-milestone': [{ cmd: 'maestro-roadmap', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
363
376
|
'review-fix': [{ cmd: 'maestro-plan', args: '{phase} --gaps' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'quality-review', args: '{phase}' }],
|
|
364
377
|
'quality-loop-partial': [{ cmd: 'maestro-plan', args: '{phase} --gaps' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
365
|
-
'issue-full': [{ cmd: 'maestro-analyze', args: '--gaps {issue_id}' }, { cmd: 'maestro-plan', args: '--gaps' }, { cmd: 'maestro-execute', args: '' }, { cmd: 'quality-review', args: '{phase}' }, { cmd: 'manage-issue', args: 'close {issue_id} --resolution fixed' }],
|
|
378
|
+
'issue-full': [{ cmd: 'maestro-analyze', args: '--gaps {issue_id}' }, { cmd: 'maestro-plan', args: '--gaps' }, { cmd: 'maestro-execute', args: '' }, { cmd: 'quality-review', args: '{phase}' }, { cmd: 'manage-issue', args: 'close {issue_id} --resolution fixed' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
366
379
|
'issue-quick': [{ cmd: 'maestro-plan', args: '--gaps' }, { cmd: 'maestro-execute', args: '' }, { cmd: 'manage-issue', args: 'close {issue_id} --resolution fixed' }],
|
|
367
380
|
'milestone-release': [{ cmd: 'maestro-milestone-audit' }, { cmd: 'maestro-milestone-release' }],
|
|
368
381
|
|
|
@@ -417,19 +430,19 @@ detectNextAction(state):
|
|
|
417
430
|
|
|
418
431
|
| Chain | Steps | Use Case |
|
|
419
432
|
|-------|-------|----------|
|
|
420
|
-
| `full-lifecycle` | plan → execute → review → test → audit | Full milestone completion |
|
|
421
|
-
| `blueprint-driven` | init → blueprint → plan → execute | From idea/requirements (heavy) |
|
|
422
|
-
| `roadmap-driven` | init → roadmap → plan → execute | From requirements (light) |
|
|
423
|
-
| `brainstorm-driven` | brainstorm → plan → execute | From exploration |
|
|
433
|
+
| `full-lifecycle` | plan → execute → review → test → audit → harvest | Full milestone completion |
|
|
434
|
+
| `blueprint-driven` | init → blueprint → plan → execute → harvest | From idea/requirements (heavy) |
|
|
435
|
+
| `roadmap-driven` | init → roadmap → plan → execute → harvest | From requirements (light) |
|
|
436
|
+
| `brainstorm-driven` | brainstorm → plan → execute → harvest | From exploration |
|
|
424
437
|
| `impeccable-build` | impeccable --chain build → plan → execute | From design system generation |
|
|
425
|
-
| `analyze-plan-execute` | analyze -q → plan --dir → execute --dir | Fast track (scratch mode) |
|
|
438
|
+
| `analyze-plan-execute` | analyze -q → plan --dir → execute --dir → harvest | Fast track (scratch mode) |
|
|
426
439
|
| `review-fix` | plan --gaps → execute → review | Fix review-blocked issues |
|
|
427
440
|
| `quality-loop` | review → test-gen → test → debug → plan --gaps → execute | Fix quality issues |
|
|
428
441
|
| `quality-loop-partial` | plan --gaps → execute | Partial quality fix cycle |
|
|
429
442
|
| `milestone-close` | audit → complete | Close a milestone |
|
|
430
443
|
| `milestone-release` | audit → release | Release with version tag |
|
|
431
444
|
| `next-milestone` | roadmap → plan → execute | Next milestone (auto-loads deferred) |
|
|
432
|
-
| `issue-full` | analyze → plan → execute → review → close | Issue with quality gate |
|
|
445
|
+
| `issue-full` | analyze → plan → execute → review → close → harvest | Issue with quality gate |
|
|
433
446
|
| `issue-quick` | plan → execute → close | Issue fast path |
|
|
434
447
|
|
|
435
448
|
### Pipeline Examples
|
package/workflows/merge.md
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Workflow: merge
|
|
2
2
|
|
|
3
|
-
Two-phase merge of a completed milestone worktree branch back into main. Phase 1: git merge (source code). Phase 2: artifact sync (workflow state). Artifact sync only proceeds after successful git merge.
|
|
4
|
-
|
|
5
|
-
Merges operate at the **milestone level** — one worktree per milestone, all phases merged together.
|
|
6
|
-
|
|
7
3
|
---
|
|
8
4
|
|
|
9
5
|
## Step 1: Parse Arguments and Flags
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Workflow: milestone-complete
|
|
2
2
|
|
|
3
|
-
Archive completed milestone, move artifacts to history, and prepare for next.
|
|
4
|
-
|
|
5
3
|
---
|
|
6
4
|
|
|
7
5
|
## Step 1: Validation
|
|
@@ -167,5 +165,3 @@ Next steps:
|
|
|
167
165
|
/maestro-analyze -- Start next milestone (standard only)
|
|
168
166
|
/manage-status -- View project state
|
|
169
167
|
```
|
|
170
|
-
|
|
171
|
-
**Adhoc milestone note:** When completing an adhoc milestone, the "Next steps" section omits "Start next milestone" since adhoc milestones have no successor in a roadmap chain.
|
package/workflows/overlays.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Command Overlays — Format & Contract
|
|
2
2
|
|
|
3
|
-
Overlays are non-invasive patches for `.claude/commands/*.md` files. They let users and operators inject additional steps, reading requirements, or gating rules into any slash command without editing the pristine source files shipped by the `maestro` package. Every `maestro install` run reapplies them automatically.
|
|
4
|
-
|
|
5
3
|
## File format
|
|
6
4
|
|
|
7
5
|
Each overlay is a JSON file at `~/.maestro/overlays/<name>.json`:
|
|
@@ -83,10 +81,6 @@ On apply, each patch's `content` is wrapped in hashed markers:
|
|
|
83
81
|
2. Restore `.md.disabled` state from the prior install
|
|
84
82
|
3. **Apply overlays** — reads `~/.maestro/overlays/*.json`, applies each enabled one to the just-installed commands, writes `~/.maestro/manifests/overlays-<scope>.json`
|
|
85
83
|
|
|
86
|
-
Because step 1 always overwrites commands with pristine content, the apply in step 3 is always clean — no drift, no stacking across reinstalls.
|
|
87
|
-
|
|
88
|
-
Users can also run `maestro overlay apply` standalone between installs — it's idempotent and safe to call any number of times.
|
|
89
|
-
|
|
90
84
|
## CLI reference
|
|
91
85
|
|
|
92
86
|
```bash
|
|
@@ -96,10 +90,6 @@ maestro overlay add <file.json> # validate, install, apply
|
|
|
96
90
|
maestro overlay remove <name> # strip markers, delete overlay file
|
|
97
91
|
```
|
|
98
92
|
|
|
99
|
-
## Authoring via the `/maestro-overlay` skill
|
|
100
|
-
|
|
101
|
-
Users rarely write overlay JSON by hand. The `/maestro-overlay` skill takes natural-language intent, reads the pristine target command to find the right section, drafts the overlay JSON, and runs `maestro overlay add` for you. See `.claude/commands/maestro-overlay.md`.
|
|
102
|
-
|
|
103
93
|
## Edge cases
|
|
104
94
|
|
|
105
95
|
- **Disabled targets** (`.md.disabled`) are skipped silently.
|
package/workflows/plan.md
CHANGED
|
@@ -76,8 +76,6 @@ When plan resolves to `scope == "standalone"` AND `state.json.current_milestone
|
|
|
76
76
|
5. Use this milestone ID for artifact registration (P5 Step 4)
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
This ensures downstream commands (verify, milestone-audit, milestone-complete) have a valid milestone context without requiring roadmap.
|
|
80
|
-
|
|
81
79
|
**Backward compatibility:** If `state.json.milestones[]` already has entries with `current_milestone != null`, skip creation (existing milestone takes precedence). Missing `type` field on legacy milestones defaults to `"standard"`.
|
|
82
80
|
|
|
83
81
|
---
|
|
@@ -261,6 +259,7 @@ Output: `plan.json` (summary, approach, task_ids[], task_count, complexity, wave
|
|
|
261
259
|
- Group simple unrelated changes into a batch task to minimize agent spawns
|
|
262
260
|
- depends_on only for genuine output dependencies; most tasks should be parallel
|
|
263
261
|
- Each task must be substantial (15-60 min); sub-5-min changes must be merged
|
|
262
|
+
- **Vertical slice for UI**: a user-facing feature is ONE end-to-end task/wave (backend endpoint + frontend wiring + integration); never split into backend-only/frontend-only. Each UI delivery wave needs ≥1 task carrying a `[UI-observable]` convergence criterion (verifiable user flow; runtime-checked by ralph frontend-verify gate)
|
|
264
263
|
|
|
265
264
|
### Deep Work Rules (MANDATORY for all modes)
|
|
266
265
|
|
|
@@ -322,7 +321,7 @@ Bidirectional linking (main flow, post-planner): update matching issues in `.wor
|
|
|
322
321
|
|
|
323
322
|
1. **Spawn workflow-plan-checker agent**
|
|
324
323
|
- Input: plan.json + all .task/TASK-*.json + index.json (success_criteria)
|
|
325
|
-
- Check dimensions: requirements coverage, feasibility, dependency correctness (no circular deps), convergence criteria quality (grep-verifiable, no subjective language), read_first completeness, action concreteness (no vague references), wave structure (no conflicting files), completeness (no orphan tasks)
|
|
324
|
+
- Check dimensions: requirements coverage, feasibility, dependency correctness (no circular deps), convergence criteria quality (grep-verifiable, no subjective language), read_first completeness, action concreteness (no vague references), wave structure (no conflicting files), completeness (no orphan tasks), UI-observable coverage (when plan touches UI: each delivery wave has ≥1 `[UI-observable]` criterion)
|
|
326
325
|
|
|
327
326
|
2. **Revision loop** (max 3 rounds)
|
|
328
327
|
- Critical issues → re-spawn planner with issues, revise, re-check
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Workflow: Roadmap Common
|
|
2
2
|
|
|
3
|
-
Shared logic for roadmap generation — used by roadmap.md.
|
|
4
|
-
|
|
5
3
|
---
|
|
6
4
|
|
|
7
5
|
## Worktree Guard
|
|
@@ -18,8 +16,6 @@ Block if `.workflow/worktree-scope.json` exists — must run from main worktree.
|
|
|
18
16
|
specs_content = maestro spec load --category arch
|
|
19
17
|
```
|
|
20
18
|
|
|
21
|
-
Ensure phases respect architectural constraints.
|
|
22
|
-
|
|
23
19
|
### Load Project History (if `.workflow/` exists)
|
|
24
20
|
|
|
25
21
|
Read project artifacts to understand what has already been built:
|
package/workflows/tdd.md
CHANGED
package/workflows/tools-spec.md
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
# Tool Spec Reference
|
|
2
2
|
|
|
3
|
-
<reference>
|
|
4
|
-
Tool specs are a **subtype of knowhow** (`tool: true` frontmatter on knowhow documents). For the full knowhow data model, lifecycle, and management commands, see `knowhow.md`. This file documents only the tool-specific subset.
|
|
5
|
-
</reference>
|
|
6
|
-
|
|
7
|
-
Shared reference for tool spec registration and execution commands.
|
|
8
|
-
|
|
9
3
|
## Storage
|
|
10
4
|
|
|
11
|
-
|
|
5
|
+
Path: `.workflow/knowhow/` with `tool: true` in YAML frontmatter.
|
|
12
6
|
|
|
13
7
|
## Entry Format
|
|
14
8
|
|