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
|
@@ -39,18 +39,22 @@ Scan codebase from multiple perspectives (bug, security, test-coverage, code-qua
|
|
|
39
39
|
|
|
40
40
|
**Low complexity**: Use `` for quick pattern-based scan.
|
|
41
41
|
|
|
42
|
-
**Medium/High complexity**:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
EXPECTED:
|
|
51
|
-
|
|
42
|
+
**Medium/High complexity**: Multi-prompt `maestro explore` (preferred for read-only scan):
|
|
43
|
+
|
|
44
|
+
Build one prompt per active perspective:
|
|
45
|
+
```bash
|
|
46
|
+
maestro explore \
|
|
47
|
+
"FIND: <perspective1> issues and anti-patterns
|
|
48
|
+
SCOPE: <scan-scope>
|
|
49
|
+
ATTENTION: common <perspective1> problems
|
|
50
|
+
EXPECTED: severity + file:line + description" \
|
|
51
|
+
"FIND: <perspective2> issues and anti-patterns
|
|
52
|
+
SCOPE: <scan-scope>
|
|
53
|
+
EXPECTED: severity + file:line + description" \
|
|
54
|
+
--max-turns 3 --json
|
|
52
55
|
```
|
|
53
|
-
|
|
56
|
+
|
|
57
|
+
**Fallback** (when deeper analysis needed per perspective): `maestro delegate "<prompt>" --role analyze --mode analysis`
|
|
54
58
|
|
|
55
59
|
After all perspectives complete:
|
|
56
60
|
- Parse CLI outputs into structured findings
|
|
@@ -56,7 +56,7 @@ Multi-dimension tech debt scanner. Scan codebase across 5 dimensions (code, arch
|
|
|
56
56
|
- Classify findings into dimensions
|
|
57
57
|
|
|
58
58
|
**Medium/High Complexity** (Fan-out):
|
|
59
|
-
- Fan-out A:
|
|
59
|
+
- Fan-out A: `maestro explore` multi-prompt parallel (structure, patterns, dependencies angles) — preferred over delegate for exploration
|
|
60
60
|
- Fan-out B: CLI dimension analysis (parallel per dimension -- code, architecture, testing, dependency, documentation) via `--role analyze`
|
|
61
61
|
- Fan-out C (High only): Multi-perspective analysis (security, performance, code-quality, architecture) via `--role analyze`
|
|
62
62
|
- Fan-in: Merge results, cross-deduplicate by file:line, boost severity for multi-source findings
|
|
@@ -41,24 +41,31 @@ Explore codebase structure through cli-explore-agent, collecting structured cont
|
|
|
41
41
|
|
|
42
42
|
## Phase 3: Codebase Exploration
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
44
|
+
**Primary: `maestro explore`** (structured multi-prompt):
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
maestro explore \
|
|
48
|
+
"FIND: <topic> patterns and implementations
|
|
49
|
+
SCOPE: src/
|
|
50
|
+
ATTENTION: <perspective>-specific concerns
|
|
51
|
+
EXPECTED: file:line evidence with relevance" \
|
|
52
|
+
"FIND: module boundaries and relationships for <topic>
|
|
53
|
+
SCOPE: src/
|
|
54
|
+
EXCLUDE: tests, generated code
|
|
55
|
+
EXPECTED: dependency pairs and architectural insights" \
|
|
56
|
+
--max-turns 3 --json
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
Parse JSON results → extract relevant_files, patterns, key_findings.
|
|
60
|
+
|
|
61
|
+
**Fallback: `maestro delegate`** (when explore results insufficient):
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
maestro delegate "PURPOSE: Explore codebase for <topic> from <perspective> perspective
|
|
65
|
+
TASK: Search for topic-related patterns | Identify key files and relationships | Extract architectural insights
|
|
66
|
+
EXPECTED: JSON with relevant_files, patterns, key_findings
|
|
67
|
+
CONSTRAINTS: Focus on <perspective> angle
|
|
68
|
+
" --tool gemini --mode analysis --rule analysis-analyze-code-patterns
|
|
62
69
|
```
|
|
63
70
|
|
|
64
71
|
## Phase 4: Result Validation
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: domain-add
|
|
3
|
+
description: Register a domain term into project glossary
|
|
4
|
+
argument-hint: "<canonical> <definition>"
|
|
5
|
+
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Register a domain term into `.workflow/domain/glossary.yaml`. Domain terms are automatically injected into agent context via hooks (domain-compact for all prompts, domain-expanded on keyword match).
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
$domain-add "auth-token" "Short-lived credential for API authentication"
|
|
13
|
+
$domain-add "event-bus" "Central pub-sub message broker for cross-module communication"
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**CLI alternative**: `maestro domain add "<canonical>" "<definition>" --tier core|extended|peripheral`. Used by finish-work for programmatic domain term extraction from session outputs.
|
|
17
|
+
</purpose>
|
|
18
|
+
|
|
19
|
+
<context>
|
|
20
|
+
$ARGUMENTS — `<canonical> <definition>` where canonical is a kebab-case term name.
|
|
21
|
+
|
|
22
|
+
**Prerequisites**: `.workflow/domain/` must exist (run `maestro domain init` if missing).
|
|
23
|
+
|
|
24
|
+
**Domain term lifecycle**: discover/manual → register → active → (optional) deprecated → removed
|
|
25
|
+
</context>
|
|
26
|
+
|
|
27
|
+
<execution>
|
|
28
|
+
|
|
29
|
+
### Step 1: Parse Input
|
|
30
|
+
|
|
31
|
+
Extract canonical (first token, kebab-case) and definition (remainder) from arguments.
|
|
32
|
+
- Validate canonical is non-empty, kebab-case (lowercase, hyphens only)
|
|
33
|
+
- Validate definition is non-empty, ≤200 chars (E001 if missing)
|
|
34
|
+
|
|
35
|
+
### Step 2: Validate Domain Directory
|
|
36
|
+
|
|
37
|
+
Verify `.workflow/domain/glossary.yaml` exists (E002). If not, run `maestro domain init`.
|
|
38
|
+
|
|
39
|
+
### Step 3: Check Duplicates
|
|
40
|
+
|
|
41
|
+
Read existing glossary and check for:
|
|
42
|
+
- Exact duplicate (same canonical name) → report existing entry, exit
|
|
43
|
+
- Near match (Levenshtein ≤ 2 or alias overlap) → warn, ask to confirm or merge
|
|
44
|
+
|
|
45
|
+
### Step 4: Extract Metadata
|
|
46
|
+
|
|
47
|
+
Auto-derive from the definition and codebase context:
|
|
48
|
+
- **aliases** (1-3): common abbreviations, Chinese translations, alternate forms
|
|
49
|
+
- **keywords** (3-5): search terms for discovery
|
|
50
|
+
- **tier**: `core` | `extended` | `peripheral`
|
|
51
|
+
- **relationships**: scan existing glossary for related terms
|
|
52
|
+
|
|
53
|
+
### Step 5: Register Term
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
maestro domain add "<canonical>" "<definition>" --tier <tier>
|
|
57
|
+
maestro domain update "<canonical>" --aliases "alias1,alias2" --keywords "kw1,kw2" --relationships "rel1,rel2"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Step 6: Confirm
|
|
61
|
+
|
|
62
|
+
Display: canonical name, definition, aliases, tier, relationships, and verify command `maestro domain list`.
|
|
63
|
+
</execution>
|
|
64
|
+
|
|
65
|
+
<error_codes>
|
|
66
|
+
| Code | Severity | Description |
|
|
67
|
+
|------|----------|-------------|
|
|
68
|
+
| E001 | fatal | Canonical name and definition are both required |
|
|
69
|
+
| E002 | fatal | `.workflow/domain/` not initialized — run `maestro domain init` first |
|
|
70
|
+
| E003 | fatal | Term already registered with same canonical name |
|
|
71
|
+
</error_codes>
|
|
72
|
+
|
|
73
|
+
<success_criteria>
|
|
74
|
+
- [ ] Canonical name and definition parsed and validated
|
|
75
|
+
- [ ] No duplicate term in glossary
|
|
76
|
+
- [ ] Aliases and keywords auto-extracted
|
|
77
|
+
- [ ] Term written to glossary.yaml with tier and relationships
|
|
78
|
+
- [ ] Confirmation displayed with verify command
|
|
79
|
+
</success_criteria>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: domain-discover
|
|
3
|
+
description: Discover domain term candidates from codebase
|
|
4
|
+
argument-hint: "[--auto]"
|
|
5
|
+
allowed-tools: Read, Bash, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Scan codebase for potential domain terms not yet in `.workflow/domain/glossary.yaml`. Presents candidates with confidence scores for interactive registration.
|
|
10
|
+
|
|
11
|
+
`--auto`: auto-register candidates with confidence ≥ 0.8 without prompting.
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<execution>
|
|
15
|
+
|
|
16
|
+
### Step 1: Scan Codebase
|
|
17
|
+
|
|
18
|
+
Run `maestro domain discover` to scan TypeScript interfaces, types, enums, const patterns, API routes, and README headings.
|
|
19
|
+
|
|
20
|
+
### Step 2: Filter Existing
|
|
21
|
+
|
|
22
|
+
Remove candidates already registered in glossary.yaml (by canonical name or alias match).
|
|
23
|
+
|
|
24
|
+
### Step 3: Present Candidates
|
|
25
|
+
|
|
26
|
+
Display ranked candidates with confidence scores:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
=== DOMAIN TERM CANDIDATES ({N} found) ===
|
|
30
|
+
|
|
31
|
+
0.92 session-context — Runtime state container for active workflow session
|
|
32
|
+
0.85 skill-resolver — Module that maps skill names to SKILL.md file paths
|
|
33
|
+
0.71 chain-graph — DAG definition for multi-step command sequences
|
|
34
|
+
...
|
|
35
|
+
|
|
36
|
+
Register? (all | select by number | skip)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Step 4: Register Selected
|
|
40
|
+
|
|
41
|
+
For each confirmed candidate, run `maestro domain add "<canonical>" "<definition>"`.
|
|
42
|
+
|
|
43
|
+
</execution>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: domain-list
|
|
3
|
+
description: List registered domain terms from glossary
|
|
4
|
+
argument-hint: "[--tier core|extended|peripheral]"
|
|
5
|
+
allowed-tools: Read, Bash, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
List all registered domain terms from `.workflow/domain/glossary.yaml`. Shows canonical name, definition, tier, aliases, and status.
|
|
10
|
+
</purpose>
|
|
11
|
+
|
|
12
|
+
<execution>
|
|
13
|
+
|
|
14
|
+
### Step 1: Load Glossary
|
|
15
|
+
|
|
16
|
+
Read `.workflow/domain/glossary.yaml`. If not exists, report "No domain glossary — run `maestro domain init`".
|
|
17
|
+
|
|
18
|
+
### Step 2: Filter and Display
|
|
19
|
+
|
|
20
|
+
Apply optional `--tier` filter. Display terms grouped by tier (core → extended → peripheral):
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
=== DOMAIN TERMS ({N} total) ===
|
|
24
|
+
|
|
25
|
+
[core]
|
|
26
|
+
auth-token — Short-lived credential for API authentication
|
|
27
|
+
aliases: 令牌, access-token | keywords: auth, credential, jwt
|
|
28
|
+
event-bus — Central pub-sub message broker
|
|
29
|
+
aliases: 事件总线 | keywords: pubsub, messaging
|
|
30
|
+
|
|
31
|
+
[extended]
|
|
32
|
+
...
|
|
33
|
+
|
|
34
|
+
[deprecated]
|
|
35
|
+
wikiindexer → search-engine (successor)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
</execution>
|
|
@@ -9,9 +9,6 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
|
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
11
|
and build a structured understanding map. Insights persist to `.workflow/specs/learnings.md`.
|
|
12
|
-
|
|
13
|
-
Unlike `learn-decompose` which is parallel pattern extraction, this is sequential
|
|
14
|
-
deep reading that builds understanding incrementally.
|
|
15
12
|
</purpose>
|
|
16
13
|
|
|
17
14
|
<context>
|
|
@@ -9,9 +9,6 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
|
9
9
|
Systematic investigation for understanding questions (not bug-fixing). 4-phase approach
|
|
10
10
|
with scope lock and 3-strike escalation. Produces structured evidence trails and
|
|
11
11
|
understanding documents that persist to the learning system.
|
|
12
|
-
|
|
13
|
-
Unlike `quality-debug` (fixing bugs during execution), this answers "how does X work?",
|
|
14
|
-
"why does Y happen?", "what would happen if Z?" questions.
|
|
15
12
|
</purpose>
|
|
16
13
|
|
|
17
14
|
<context>
|
|
@@ -10,8 +10,6 @@ Unified retrospective combining git activity analysis and decision quality evalu
|
|
|
10
10
|
Two lenses, usable independently or together:
|
|
11
11
|
- **git**: Commit metrics, session detection, per-author breakdown, file hotspots, trends
|
|
12
12
|
- **decision**: Decision tracing across wiki/specs/git, multi-perspective evaluation via 3 parallel agents
|
|
13
|
-
|
|
14
|
-
Works on raw git history and wiki/spec data — does not require completed phase artifacts.
|
|
15
13
|
</purpose>
|
|
16
14
|
|
|
17
15
|
<context>
|
|
@@ -180,6 +180,9 @@ Extract:
|
|
|
180
180
|
| `overlay` | Create/edit command overlays |
|
|
181
181
|
| `update` | Update maestro itself |
|
|
182
182
|
| `harvest` | Extract knowledge from artifacts |
|
|
183
|
+
| `domain_add` | Register a domain term into glossary |
|
|
184
|
+
| `domain_list` | List registered domain terms |
|
|
185
|
+
| `domain_discover` | Discover domain term candidates from codebase |
|
|
183
186
|
| `wiki` | Manage wiki graph |
|
|
184
187
|
| `knowhow` | Manage knowhow entries |
|
|
185
188
|
| `ui_design` | UI design, build new UI |
|
|
@@ -293,7 +296,7 @@ Read `.workflow/state.json` and route by condition:
|
|
|
293
296
|
"scope_verdict": null, "analyze_macro_id": null, "blueprint_id": null,
|
|
294
297
|
"auto_mode": false,
|
|
295
298
|
"context": { "issue_id": null, "scratch_dir": null, "plan_dir": null,
|
|
296
|
-
"analysis_dir": null, "brainstorm_dir": null, "blueprint_dir": null },
|
|
299
|
+
"analysis_dir": null, "brainstorm_dir": null, "blueprint_dir": null, "grill_id": null },
|
|
297
300
|
"steps": [{
|
|
298
301
|
"index": 0, "type": "skill|decision",
|
|
299
302
|
"skill": "", "args": "",
|
|
@@ -328,12 +331,27 @@ Read `.workflow/state.json` and route by condition:
|
|
|
328
331
|
|
|
329
332
|
Direct in-context skill invocation — **replaces the old spawn/wave/CSV mechanism**.
|
|
330
333
|
|
|
331
|
-
1. **buildSkillCall**: replace placeholders
|
|
334
|
+
1. **buildSkillCall**: replace placeholders + append auto-yes flag if `auto_mode` (see Appendix: Auto-Yes Flag Map):
|
|
335
|
+
|
|
336
|
+
| Placeholder | Source |
|
|
337
|
+
|-------------|--------|
|
|
338
|
+
| `{phase}` | session.phase |
|
|
339
|
+
| `{plan_dir}` | session.context.plan_dir |
|
|
340
|
+
| `{analysis_dir}` | session.context.analysis_dir |
|
|
341
|
+
| `{brainstorm_dir}` | session.context.brainstorm_dir |
|
|
342
|
+
| `{spec_session_id}` | session.context.spec_session_id |
|
|
343
|
+
| `{GRL}` | session.context.grill_id |
|
|
344
|
+
| `{ANL}` | session.analyze_macro_id |
|
|
345
|
+
| `{BLP}` | session.blueprint_id |
|
|
346
|
+
| `{intent}` | session.intent |
|
|
347
|
+
|
|
348
|
+
**--from auto-injection**: 当 step 是 `maestro-plan`,args 含 `{phase}` 但无 `--from` 且无 `--dir`,且 `session.context.analysis_dir` 已填充 → 查 state.json 同 phase+milestone 最新 completed analyze artifact → 注入 `--from analyze:{id}`,写 `step.source_artifact_ref`
|
|
332
349
|
2. Mark step `status="running"`, persist status.json + `update_plan` (this step → in_progress)
|
|
333
350
|
3. **Invoke the skill directly**: execute `$skill {resolved_args}` in coordinator context (NO spawn). Read its produced artifacts directly
|
|
334
351
|
4. On success: capture summary; mark step `status="done"`. **Barrier-context update** (when step is a context-producing skill):
|
|
335
352
|
| Skill | Read | Context Updates |
|
|
336
353
|
|-------|------|-----------------|
|
|
354
|
+
| maestro-grill | grill-report.md, state.json | grill_id |
|
|
337
355
|
| maestro-analyze | context.md, state.json | analysis_dir, gaps, phase |
|
|
338
356
|
| maestro-plan | plan.json, .task/TASK-*.json | plan_dir, task_count |
|
|
339
357
|
| maestro-brainstorm | .brainstorming/ | brainstorm_dir, features |
|
|
@@ -419,6 +437,9 @@ S_DECISION_EVAL 入口;镜像 maestro-ralph `A_GOAL_AUDIT_EVALUATE`。Condense
|
|
|
419
437
|
| `spec_load` | `spec-load` |
|
|
420
438
|
| `spec_map` | `manage-codebase-rebuild` |
|
|
421
439
|
| `spec_remove` | `spec-remove "{description}"` |
|
|
440
|
+
| `domain_add` | `domain-add "{description}"` |
|
|
441
|
+
| `domain_list` | `domain-list` |
|
|
442
|
+
| `domain_discover` | `domain-discover` |
|
|
422
443
|
| `knowhow_capture` | `manage-knowhow-capture "{description}"` |
|
|
423
444
|
| `knowhow` | `manage-knowhow "{description}"` |
|
|
424
445
|
| `issue` | `manage-issue "{description}"` |
|
|
@@ -444,26 +465,26 @@ S_DECISION_EVAL 入口;镜像 maestro-ralph `A_GOAL_AUDIT_EVALUATE`。Condense
|
|
|
444
465
|
|
|
445
466
|
| Chain | Steps (→ = sequential, [B] = context-producing barrier) |
|
|
446
467
|
|-------|---------------------------------------|
|
|
447
|
-
| `feature` | [B] maestro-plan → [B] maestro-execute → quality-review |
|
|
468
|
+
| `feature` | [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
|
|
448
469
|
| `quality-fix` | [B] maestro-analyze --gaps → [B] maestro-plan --gaps → [B] maestro-execute → quality-review |
|
|
449
470
|
| `deploy` | quality-review → maestro-milestone-release |
|
|
450
|
-
| `blueprint-driven` | maestro-init → [B] maestro-blueprint → [B] maestro-plan --from blueprint:{BLP} → [B] maestro-execute → quality-review |
|
|
451
|
-
| `analyze-macro-driven` | [B] maestro-analyze "{intent}" → ◆ post-analyze-scope → (large: [B] maestro-roadmap --from analyze:{ANL} → [B] maestro-analyze {phase} → [B] maestro-plan {phase}) / (medium\|small: [B] maestro-plan --from analyze:{ANL}) → [B] maestro-execute → quality-review |
|
|
452
|
-
| `grill-brainstorm` | [B] maestro-grill → [B] maestro-brainstorm --from grill:{GRL} → [B] maestro-plan → [B] maestro-execute → quality-review (**auto_mode: skip grill step, fall back to brainstorm-driven**) |
|
|
453
|
-
| `brainstorm-driven` | [B] maestro-brainstorm → [B] maestro-plan → [B] maestro-execute → quality-review |
|
|
454
|
-
| `ui-craft-build` | maestro-impeccable build → [B] maestro-plan → [B] maestro-execute → quality-review |
|
|
455
|
-
| `roadmap-driven` | maestro-init → [B] maestro-roadmap → [B] maestro-plan → [B] maestro-execute → quality-review |
|
|
456
|
-
| `next-milestone` | [B] maestro-roadmap → [B] maestro-plan → [B] maestro-execute → quality-review |
|
|
457
|
-
| `full-lifecycle` | [B] maestro-plan → [B] maestro-execute → quality-review → quality-test → maestro-milestone-audit → maestro-milestone-complete |
|
|
471
|
+
| `blueprint-driven` | maestro-init → [B] maestro-blueprint → [B] maestro-plan --from blueprint:{BLP} → [B] maestro-execute → quality-review → manage-harvest --auto |
|
|
472
|
+
| `analyze-macro-driven` | [B] maestro-analyze "{intent}" → ◆ post-analyze-scope → (large: [B] maestro-roadmap --from analyze:{ANL} → [B] maestro-analyze {phase} → [B] maestro-plan {phase}) / (medium\|small: [B] maestro-plan --from analyze:{ANL}) → [B] maestro-execute → quality-review → manage-harvest --auto |
|
|
473
|
+
| `grill-brainstorm` | [B] maestro-grill → [B] maestro-brainstorm --from grill:{GRL} → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto (**auto_mode: skip grill step, fall back to brainstorm-driven**) |
|
|
474
|
+
| `brainstorm-driven` | [B] maestro-brainstorm → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
|
|
475
|
+
| `ui-craft-build` | maestro-impeccable build → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
|
|
476
|
+
| `roadmap-driven` | maestro-init → [B] maestro-roadmap → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
|
|
477
|
+
| `next-milestone` | [B] maestro-roadmap → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
|
|
478
|
+
| `full-lifecycle` | [B] maestro-plan → [B] maestro-execute → quality-review → quality-test → maestro-milestone-audit → maestro-milestone-complete → manage-harvest --auto |
|
|
458
479
|
| `execute-review` | [B] maestro-execute → quality-review |
|
|
459
|
-
| `analyze-plan-execute` | [B] maestro-analyze -q → [B] maestro-plan --dir {scratch_dir} → [B] maestro-execute --dir {scratch_dir} |
|
|
480
|
+
| `analyze-plan-execute` | [B] maestro-analyze -q → [B] maestro-plan --dir {scratch_dir} → [B] maestro-execute --dir {scratch_dir} → manage-harvest --auto |
|
|
460
481
|
| `quality-loop` | quality-review → quality-test → quality-debug --from-uat → [B] maestro-plan --gaps → [B] maestro-execute |
|
|
461
482
|
| `quality-loop-partial` | [B] maestro-plan --gaps → [B] maestro-execute → quality-review |
|
|
462
483
|
| `review-fix` | [B] maestro-plan --gaps → [B] maestro-execute → quality-review |
|
|
463
484
|
| `milestone-close` | maestro-milestone-audit → maestro-milestone-complete |
|
|
464
485
|
| `milestone-release` | maestro-milestone-audit → maestro-milestone-release |
|
|
465
486
|
| `phase_transition` | maestro-milestone-audit → maestro-milestone-complete |
|
|
466
|
-
| `issue-full` | [B] maestro-analyze --gaps → [B] maestro-plan --gaps → [B] maestro-execute → quality-review → manage-issue close |
|
|
487
|
+
| `issue-full` | [B] maestro-analyze --gaps → [B] maestro-plan --gaps → [B] maestro-execute → quality-review → manage-issue close → manage-harvest --auto |
|
|
467
488
|
| `issue-quick` | [B] maestro-plan --gaps → [B] maestro-execute → quality-review → manage-issue close |
|
|
468
489
|
|
|
469
490
|
> When S_DECOMPOSE ran, a `decision:post-goal-audit` node is appended as the final node (after the last evidence-producing step; before milestone-complete/close-out if the chain ends with one). `[B]` now denotes a context-producing skill (artifacts read into `session.context`) — execution is still sequential (no parallelism; spawning removed).
|
|
@@ -6,8 +6,6 @@ allowed-tools: Read, Write, Bash, Glob, Grep, request_user_input
|
|
|
6
6
|
---
|
|
7
7
|
<purpose>
|
|
8
8
|
Signal-driven overlay generator — collect workflow deficiency signals from multiple sources, diagnose which commands need amendment, batch-generate targeted overlays. All amendments use overlay system (`~/.maestro/overlays/*.json`) — non-invasive, idempotent, survives reinstall.
|
|
9
|
-
|
|
10
|
-
Differs from `$maestro-overlay` (single explicit intent). This command **discovers** what needs amending by analyzing workflow artifacts.
|
|
11
9
|
</purpose>
|
|
12
10
|
|
|
13
11
|
<required_reading>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-analyze
|
|
3
3
|
description: Use when a topic needs structured multi-dimensional investigation before planning or decision-making
|
|
4
|
-
argument-hint: "[-y|--yes] [
|
|
4
|
+
argument-hint: "[-y|--yes] [--concurrency N] [-c|--continue] [--from <source>] \"<phase|topic> [-q|--quick] [--gaps [ISS-ID]]\""
|
|
5
5
|
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -14,8 +14,6 @@ Wave 1 (CLI exploration, parallel) -> Wave 2 (6-dimension scoring, parallel) ->
|
|
|
14
14
|
**Dual-layer scope (D-003)**:
|
|
15
15
|
- **Macro layer** (text argument, e.g. `analyze "auth refactor"`): broad impact exploration. Produces `scope_verdict ∈ {small, medium, large}` to drive downstream routing (roadmap vs plan).
|
|
16
16
|
- **Phase layer** (numeric argument, e.g. `analyze 1`): phase-scoped deep analysis under `current_milestone`. Milestone resolved via D-007 `phase_slugs` reverse lookup, NEVER direct `current_milestone` read.
|
|
17
|
-
|
|
18
|
-
Produces context-package.json (standardized cross-command context contract) in all modes.
|
|
19
17
|
</purpose>
|
|
20
18
|
|
|
21
19
|
<context>
|
|
@@ -23,14 +21,22 @@ $ARGUMENTS -- phase number, topic text, and optional flags.
|
|
|
23
21
|
|
|
24
22
|
**Flags**:
|
|
25
23
|
- `-y, --yes`: Skip all confirmations (auto mode)
|
|
26
|
-
-
|
|
24
|
+
- `--concurrency N`: Max concurrent agents per wave (default: 6)
|
|
25
|
+
- `-c, --continue`: Resume existing session
|
|
27
26
|
- `--continue`: Resume existing session
|
|
28
27
|
- `-q, --quick`: Skip exploration + scoring, Wave 3 only
|
|
29
28
|
- `--gaps [ISS-ID]`: Issue root cause analysis. If ISS-ID: single issue. If omitted: all open/registered from issues.jsonl.
|
|
30
|
-
- `--from <source>`: Load upstream context package (brainstorm:ID, analyze:ID, @file, or path). Resolves to context-package.json for
|
|
29
|
+
- `--from <source>`: Load upstream context package (grill:ID, brainstorm:ID, analyze:ID, blueprint:BLP-xxx, @file, or path). Resolves to context-package.json via state.json artifact lookup for typed references, or direct path for @file/path.
|
|
31
30
|
|
|
32
31
|
**Session**: `.workflow/.csv-wave/{YYYYMMDD}-analyze-{slug}/`
|
|
33
32
|
**Output**: tasks.csv, results.csv, discoveries.ndjson, context.md, context-package.json (all modes), analysis.md + conclusions.json (full mode AND quick mode; quick writes minimal conclusions.json with `scope_verdict` + `implementation_scope[]` only)
|
|
33
|
+
|
|
34
|
+
### Pre-load (runs unconditionally, including -y auto mode)
|
|
35
|
+
1. **Codebase docs**: IF `.workflow/codebase/doc-index.json` exists → Read ARCHITECTURE.md for module boundaries
|
|
36
|
+
2. **Specs**: `maestro spec load --category arch` — load architecture constraints
|
|
37
|
+
3. **Wiki search**: `maestro search "{topic keywords}" --json` → top 5-10 entries as prior knowledge
|
|
38
|
+
4. **Role Knowledge**: `maestro search --category debug` → select relevant → `maestro wiki load`
|
|
39
|
+
5. All optional — proceed without if unavailable (log warning)
|
|
34
40
|
</context>
|
|
35
41
|
|
|
36
42
|
<interview_protocol>
|
|
@@ -143,7 +149,12 @@ S_WAVE_1:
|
|
|
143
149
|
-> ERROR WHEN: all failed
|
|
144
150
|
|
|
145
151
|
S_WAVE_2:
|
|
146
|
-
->
|
|
152
|
+
-> S_BOUNDARY_GRILL DO: A_SPAWN_WAVE_2
|
|
153
|
+
|
|
154
|
+
S_BOUNDARY_GRILL:
|
|
155
|
+
-> S_WAVE_3 WHEN: no boundary conflicts detected DO: —
|
|
156
|
+
-> S_WAVE_3 WHEN: conflicts detected + resolved DO: A_BOUNDARY_GRILL
|
|
157
|
+
GUARD: max 3 conflicts × 3 questions; non-blocking (see boundary-grill.md)
|
|
147
158
|
|
|
148
159
|
S_WAVE_3:
|
|
149
160
|
-> S_AGGREGATE DO: A_SPAWN_WAVE_3
|
|
@@ -229,6 +240,14 @@ Write to `conclusions.json.scope_verdict` (all modes that produce conclusions);
|
|
|
229
240
|
|
|
230
241
|
Gray area detection: domain-aware (things users SEE/CALL/RUN/READ), phase-specific (skip prior decided areas).
|
|
231
242
|
|
|
243
|
+
### A_BOUNDARY_GRILL
|
|
244
|
+
|
|
245
|
+
Run boundary grill per `~/.maestro/workflows/boundary-grill.md` after Wave 2 scoring, before Wave 3 synthesis.
|
|
246
|
+
Input: Wave 1 exploration findings + Wave 2 dimension scores. Scope guard: "only analyze decisions; do not prejudge plan/execute concerns".
|
|
247
|
+
Detect RSC (scope violations), MOD (module boundary crossings), DEC (upstream locked vs code reality).
|
|
248
|
+
IF conflicts → results to `analysis.md` § Boundary Grill Results + update `context.md` Locked/Free/Deferred.
|
|
249
|
+
Non-blocking: conflicts produce warnings, pipeline continues.
|
|
250
|
+
|
|
232
251
|
### A_AGGREGATE_RESULTS
|
|
233
252
|
|
|
234
253
|
1. Export results.csv
|
|
@@ -302,6 +321,8 @@ Protocol: read before analysis, append-only, dedup by type+key.
|
|
|
302
321
|
- [ ] Decision Recording Protocol applied to all decisions
|
|
303
322
|
- [ ] Confidence scored per dimension with factor-based model (full mode)
|
|
304
323
|
- [ ] Readiness gate checked before synthesis (wave 3)
|
|
324
|
+
- [ ] Boundary grill executed between Wave 2 and Wave 3 (skip if no conflicts detected)
|
|
325
|
+
- [ ] Boundary grill results written to analysis.md § Boundary Grill Results (if conflicts found)
|
|
305
326
|
- [ ] Pressure pass completed ≥ 1 time on highest-risk dimension before synthesis
|
|
306
327
|
- [ ] Deferred items auto-created as issues
|
|
307
328
|
- [ ] Scope creep redirected to Deferred section
|
|
@@ -310,8 +331,17 @@ Protocol: read before analysis, append-only, dedup by type+key.
|
|
|
310
331
|
- [ ] discoveries.ndjson append-only throughout
|
|
311
332
|
- [ ] Next step routed (plan for Go, brainstorm for No-Go, plan --gaps for Gaps)
|
|
312
333
|
- [ ] Session sealed via finish-work (archive.json written, optional spec/knowhow extraction)
|
|
334
|
+
- [ ] Ralph-invoked: `maestro ralph complete <idx> --status {STATUS}` called with correct verdict
|
|
313
335
|
</success_criteria>
|
|
314
336
|
|
|
337
|
+
<ralph_completion>
|
|
338
|
+
When invoked as a ralph session step, end by calling the CLI (no standalone report):
|
|
339
|
+
```
|
|
340
|
+
maestro ralph complete <idx> --status {STATUS} [--evidence {path}]
|
|
341
|
+
```
|
|
342
|
+
Status verdicts: **DONE** (normal), **DONE_WITH_CONCERNS** (caveats; pass `--concerns`), **NEEDS_RETRY** (transient error), **BLOCKED** (hard blocker; pass `--reason`).
|
|
343
|
+
</ralph_completion>
|
|
344
|
+
|
|
315
345
|
<on_complete>
|
|
316
346
|
@~/.maestro/workflows/finish-work.md — SESSION_DIR=OUTPUT_DIR, SESSION_TYPE=analyze, SESSION_ID={artifact_id}, LINKED_MILESTONE={target_milestone or null}
|
|
317
347
|
</on_complete>
|
|
@@ -7,10 +7,6 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, spawn_agents_on_csv, request
|
|
|
7
7
|
<purpose>
|
|
8
8
|
Formal specification document chain producing a complete specification package through 7 sequential phases (P0–P6, plus P1.5 requirement expansion) with multi-CLI analysis and interactive refinement. Pure documentation — no code generation, no roadmap generation.
|
|
9
9
|
|
|
10
|
-
Parallel to `brainstorm` as an upstream origin command:
|
|
11
|
-
- **brainstorm** = divergent exploration (lightweight, multi-role creative)
|
|
12
|
-
- **blueprint** = convergent documentation (heavyweight, 7-phase formal spec chain)
|
|
13
|
-
|
|
14
10
|
Output: `.workflow/blueprint/BLP-{slug}-{date}/` containing Product Brief, PRD, Architecture, and Epics.
|
|
15
11
|
</purpose>
|
|
16
12
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-brainstorm
|
|
3
3
|
description: Use when exploring ideas, evaluating approaches, or needing multi-perspective analysis before implementation
|
|
4
|
-
argument-hint: "[topic] [-y|--yes] [
|
|
4
|
+
argument-hint: "[topic] [-y|--yes] [--concurrency N] [-c|--continue] [--count N] [--skip-questions] [--review-only]"
|
|
5
5
|
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -15,14 +15,31 @@ Wave 3 compares Decision Digests from each role's `analysis.md` §2 and patches
|
|
|
15
15
|
<context>
|
|
16
16
|
$ARGUMENTS — topic text and optional flags.
|
|
17
17
|
|
|
18
|
-
**Flags**: `-y` (auto),
|
|
18
|
+
**Flags**: `-y` (auto), `--concurrency N` (default 6), `-c`/`--continue` (resume), `--count N` (roles, default 3 max 9), `--skip-questions`, `--review-only` (skip Wave 1/2; run Wave 3 only against existing */analysis.md), `--from <source>` (load upstream context package)
|
|
19
|
+
|
|
20
|
+
**--from resolution** (upstream context loading):
|
|
21
|
+
```
|
|
22
|
+
--from grill:ID → state.json.artifacts[type=grill, id=ID].context_package → load context-package.json
|
|
23
|
+
--from blueprint:ID → state.json.artifacts[type=blueprint, id=ID].context_package → load
|
|
24
|
+
--from @file → load file directly as context-package.json
|
|
25
|
+
--from path/ → load path/context-package.json
|
|
26
|
+
```
|
|
27
|
+
When loaded, pre-seed guidance-specification.md with:
|
|
28
|
+
- `constraints[status=locked]` → §4 locked decisions (skip in interview)
|
|
29
|
+
- `domain.terminology[]` → §2 Concepts & Terminology (seed)
|
|
30
|
+
- `non_goals[]` → §3 Non-Goals (seed)
|
|
31
|
+
- `open_questions[]` → interview priority topics
|
|
32
|
+
- `insights[]` → W2 role analysis context
|
|
33
|
+
|
|
34
|
+
When `--from` is absent, auto-discover from state.json: latest `type=grill` artifact in same milestone → load its `context_package` if available. No match → proceed without upstream context.
|
|
19
35
|
|
|
20
36
|
**9 valid roles**: data-architect, product-manager, product-owner, scrum-master, subject-matter-expert, system-architect, test-strategist, ui-designer, ux-expert
|
|
21
37
|
|
|
22
|
-
### Pre-load
|
|
38
|
+
### Pre-load
|
|
23
39
|
1. **Architecture specs**: `maestro spec load --category arch` — load architecture constraints as context for multi-role design (roles respect documented decisions).
|
|
24
40
|
2. **Role Knowledge**: `maestro search --category arch` → identify relevant entries → `maestro wiki load <id1> [id2...]`
|
|
25
|
-
3.
|
|
41
|
+
3. **Project context**: Read `.workflow/project.md` (if exists) → Validated requirements (already shipped) as constraints, Active requirements as current scope. Read `state.json.accumulated_context` → deferred items as brainstorming seeds, key_decisions as locked constraints.
|
|
42
|
+
4. All optional — proceed without if unavailable.
|
|
26
43
|
|
|
27
44
|
**Session**: `.workflow/.csv-wave/{YYYYMMDD}-brainstorm-{slug}/`
|
|
28
45
|
|
|
@@ -299,8 +316,13 @@ S_WAVE_2 → S_AGGREGATE WHEN: all failed DO: skip review
|
|
|
299
316
|
S_CHECK_2 → S_WAVE_3 WHEN: -y OR user "Proceed"
|
|
300
317
|
S_CHECK_2 → S_WAVE_2 WHEN: user "Add Roles" DO: add new role rows, spawn only new
|
|
301
318
|
|
|
302
|
-
S_WAVE_3 →
|
|
303
|
-
S_WAVE_3 → S_AGGREGATE
|
|
319
|
+
S_WAVE_3 → S_BOUNDARY_GRILL DO: spawn wave-3, capture review_findings (conflicts/gaps/synergies with patch_targets)
|
|
320
|
+
S_WAVE_3 → S_AGGREGATE WHEN: zero findings DO: log "No cross-role issues detected", skip resolve
|
|
321
|
+
|
|
322
|
+
S_BOUNDARY_GRILL:
|
|
323
|
+
→ S_RESOLVE WHEN: no boundary conflicts detected DO: —
|
|
324
|
+
→ S_RESOLVE WHEN: conflicts detected + resolved DO: A_BOUNDARY_GRILL
|
|
325
|
+
GUARD: max 3 conflicts × 3 questions; non-blocking (see boundary-grill.md)
|
|
304
326
|
|
|
305
327
|
S_RESOLVE → S_AGGREGATE DO: A_APPLY_RESOLUTIONS (orchestrator iterates patch_targets and applies Edits)
|
|
306
328
|
|
|
@@ -365,6 +387,13 @@ When ui-designer is among selected roles, establish visual direction before Wave
|
|
|
365
387
|
explore generates multi-style HTML prototypes, visual comparison, user selection/mix, and produces DESIGN.md.
|
|
366
388
|
ui-designer agents in Wave 2 then focus on UX/visual design referencing DESIGN.md.
|
|
367
389
|
|
|
390
|
+
### A_BOUNDARY_GRILL
|
|
391
|
+
|
|
392
|
+
Run boundary grill per `~/.maestro/workflows/boundary-grill.md` after cross-role review, before resolution application.
|
|
393
|
+
Input: reviewer findings + role Decision Digests. Scope guard: "only brainstorm decisions; do not pre-resolve roadmap/plan choices".
|
|
394
|
+
IF conflicts → results to `guidance-specification.md` §12.5 Boundary Grill Results + feed into S_RESOLVE.
|
|
395
|
+
Non-blocking: conflicts produce warnings, pipeline continues.
|
|
396
|
+
|
|
368
397
|
### A_APPLY_RESOLUTIONS
|
|
369
398
|
|
|
370
399
|
For each finding in `review_findings`:
|
|
@@ -425,6 +454,8 @@ Protocol: read before analysis, append-only, dedup by type+key.
|
|
|
425
454
|
- [ ] system-architect/analysis.md §3 includes Data Model + State Machine when system-architect selected
|
|
426
455
|
- [ ] Each {role}/analysis.md §2 Decisions table has ≥ 1 row per feature
|
|
427
456
|
- [ ] Cross-role review (W3) executed; reviewer output includes `patch_targets[]` for every finding
|
|
457
|
+
- [ ] Boundary grill executed after cross-role review (skip if no conflicts detected)
|
|
458
|
+
- [ ] Boundary grill results written to guidance-specification.md §12.5 (if conflicts found)
|
|
428
459
|
- [ ] If findings: resolutions applied via Edit AND logged in guidance §12 "Cross-Role Resolutions"
|
|
429
460
|
- [ ] If zero findings: final report explicitly notes "No cross-role issues detected"; guidance §12 unchanged
|
|
430
461
|
- [ ] Heading-drift patch failures surfaced (not silently dropped)
|
|
@@ -432,8 +463,17 @@ Protocol: read before analysis, append-only, dedup by type+key.
|
|
|
432
463
|
- [ ] discoveries.ndjson append-only throughout
|
|
433
464
|
- [ ] context.md aggregates session results with next-step routing
|
|
434
465
|
- [ ] Session sealed via finish-work (auto mode only)
|
|
466
|
+
- [ ] Ralph-invoked: `maestro ralph complete <idx> --status {STATUS}` called with correct verdict
|
|
435
467
|
</success_criteria>
|
|
436
468
|
|
|
469
|
+
<ralph_completion>
|
|
470
|
+
When invoked as a ralph session step, end by calling the CLI (no standalone report):
|
|
471
|
+
```
|
|
472
|
+
maestro ralph complete <idx> --status {STATUS} [--evidence {path}]
|
|
473
|
+
```
|
|
474
|
+
Status verdicts: **DONE** (normal), **DONE_WITH_CONCERNS** (caveats; pass `--concerns`), **NEEDS_RETRY** (transient error), **BLOCKED** (hard blocker; pass `--reason`).
|
|
475
|
+
</ralph_completion>
|
|
476
|
+
|
|
437
477
|
<on_complete>
|
|
438
478
|
@~/.maestro/workflows/finish-work.md — SESSION_DIR={output_dir}, SESSION_TYPE=brainstorm, SESSION_ID={artifact_id}, LINKED_MILESTONE=null
|
|
439
479
|
</on_complete>
|
|
@@ -100,7 +100,12 @@ S_FAN_OUT:
|
|
|
100
100
|
→ ERROR(E004) WHEN: all failed OR fewer than 2 completed
|
|
101
101
|
|
|
102
102
|
S_CROSS_VERIFY:
|
|
103
|
-
→
|
|
103
|
+
→ S_BOUNDARY_GRILL DO: A_CROSS_VERIFY
|
|
104
|
+
|
|
105
|
+
S_BOUNDARY_GRILL:
|
|
106
|
+
→ S_SYNTHESIZE WHEN: no boundary conflicts detected DO: —
|
|
107
|
+
→ S_SYNTHESIZE WHEN: conflicts detected + resolved DO: A_BOUNDARY_GRILL
|
|
108
|
+
GUARD: max 3 conflicts × 3 questions; non-blocking (see boundary-grill.md)
|
|
104
109
|
|
|
105
110
|
S_SYNTHESIZE:
|
|
106
111
|
→ S_AGGREGATE DO: A_SYNTHESIZE
|
|
@@ -229,6 +234,12 @@ Compute: `consensus_level = consensus_count / total_findings * 100`
|
|
|
229
234
|
|
|
230
235
|
Write results to `{scratchDir}/cross-verify.md`.
|
|
231
236
|
|
|
237
|
+
### A_BOUNDARY_GRILL
|
|
238
|
+
|
|
239
|
+
Run boundary grill per `~/.maestro/workflows/boundary-grill.md` after cross-verification.
|
|
240
|
+
Input: classified CONFLICT findings + per-tool outputs. Check upstream scope if `--from` used.
|
|
241
|
+
IF conflicts → tag with resolution, feed into A_SYNTHESIZE. No conflicts → pass through.
|
|
242
|
+
|
|
232
243
|
### A_SYNTHESIZE
|
|
233
244
|
|
|
234
245
|
Generate 3 output files from cross-verify results:
|
|
@@ -313,6 +324,8 @@ Generate 3 output files from cross-verify results:
|
|
|
313
324
|
- [ ] Blocking poll loop ran until pending_sessions empty — no early exit
|
|
314
325
|
- [ ] Per-tool raw outputs saved to {scratchDir}/per-tool/
|
|
315
326
|
- [ ] Cross-verify: CONSENSUS/CONFLICT/UNIQUE classified, consensus_level computed
|
|
327
|
+
- [ ] Boundary grill executed on CONFLICT items (skip if no boundary conflicts detected)
|
|
328
|
+
- [ ] Boundary grill results written to collab-report.md § Boundary Grill Results (if conflicts found)
|
|
316
329
|
- [ ] collab-report.md + context.md + conclusions.json produced
|
|
317
330
|
- [ ] CLB artifact registered in state.json
|
|
318
331
|
- [ ] Partial degradation: continued if 2+ tools succeeded
|