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,7 +1,5 @@
|
|
|
1
1
|
# Maestro for Antigravity CLI
|
|
2
2
|
|
|
3
|
-
Workflow orchestration CLI with MCP endpoint support and extensible architecture, adapted for Antigravity CLI tooling.
|
|
4
|
-
|
|
5
3
|
- **Coding Philosophy**: @~/.maestro/workflows/coding-philosophy.md
|
|
6
4
|
|
|
7
5
|
## Delegate & CLI
|
|
@@ -11,8 +9,6 @@ Workflow orchestration CLI with MCP endpoint support and extensible architecture
|
|
|
11
9
|
|
|
12
10
|
**Strictly follow the cli-tools.json configuration**
|
|
13
11
|
|
|
14
|
-
Available CLI endpoints are dynamically defined by the config file. Use `maestro delegate --to agy` to dispatch tasks to the Antigravity CLI.
|
|
15
|
-
|
|
16
12
|
## Antigravity Tool Priority
|
|
17
13
|
|
|
18
14
|
When choosing between equivalent tools, prefer the agy native primitives over shell fallbacks:
|
package/workflows/analyze.md
CHANGED
|
@@ -163,11 +163,13 @@ Parse $ARGUMENTS to determine mode and flags:
|
|
|
163
163
|
- `constraints[status=open]` → prioritize for analysis
|
|
164
164
|
- `open_questions[]` → seed discussion topics
|
|
165
165
|
6. Load project specs: `specs_content = maestro spec load --category arch`
|
|
166
|
+
7. Load domain glossary: read `.workflow/domain/glossary.yaml`(如存在)— 分析过程中使用 canonical term names 保持术语一致性;新发现的术语候选记入 `context-package.json#domain.terminology[]`
|
|
166
167
|
|
|
167
168
|
**Load prior context** (adhoc/standalone scope):
|
|
168
169
|
1. Read `.workflow/project.md` (if exists) — project vision, Validated requirements, Active requirements, Key Decisions
|
|
169
170
|
2. Read `.workflow/state.json` (if exists) → `accumulated_context` (key_decisions, deferred, blockers)
|
|
170
171
|
3. Load project specs: `specs_content = maestro spec load --category arch`
|
|
172
|
+
4. Load domain glossary: read `.workflow/domain/glossary.yaml`(如存在)
|
|
171
173
|
|
|
172
174
|
**Quick mode routing**: If QUICK_MODE, skip to Step 8 (Decision Extraction) after loading context.
|
|
173
175
|
|
|
@@ -525,8 +527,6 @@ Implementer's choice. Research suggests: {relevant finding from researchContext}
|
|
|
525
527
|
(e.g., "Standard Stack recommends React Query for server state. Common pitfall: avoid mixing with Redux for async.")
|
|
526
528
|
```
|
|
527
529
|
|
|
528
|
-
This makes research findings visible to the planner through context.md without imposing hard constraints.
|
|
529
|
-
|
|
530
530
|
**8.5: Write context.md**
|
|
531
531
|
|
|
532
532
|
Write to `OUTPUT_DIR/context.md`:
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Boundary Grill — Embedded Mini-Review Protocol
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## Conflict Types
|
|
5
|
+
|
|
6
|
+
| ID | Signal | Example |
|
|
7
|
+
|----|--------|---------|
|
|
8
|
+
| `RSC` | Decision outside command's scope guard | analyze outputs task-level details (plan scope) |
|
|
9
|
+
| `MOD` | Changes cross 2+ module boundaries | task touches `commands/` and `hooks/` without declaring cross-module |
|
|
10
|
+
| `DEC` | Upstream locked decision contradicts code | locked "use EventEmitter" but code uses Subject at `file:line` |
|
|
11
|
+
|
|
12
|
+
## Trigger
|
|
13
|
+
|
|
14
|
+
Run boundary grill when ANY of:
|
|
15
|
+
- **RSC**: produced decision matches another command's scope guard keywords
|
|
16
|
+
- **MOD**: `ARCHITECTURE.md` exists AND changes touch 2+ top-level modules
|
|
17
|
+
- **DEC**: upstream Locked decisions AND code grep shows contradicting patterns
|
|
18
|
+
|
|
19
|
+
Priority when >3 conflicts: DEC > RSC > MOD.
|
|
20
|
+
|
|
21
|
+
## Protocol
|
|
22
|
+
|
|
23
|
+
Per conflict (max 3 conflicts × 3 questions = 9 total):
|
|
24
|
+
1. State the conflict with `file:line` evidence
|
|
25
|
+
2. Ask 2-3 adversarial questions via AskUserQuestion — challenge with code reality
|
|
26
|
+
3. Resolve: RESOLVED (evidence-based) / DEFERRED (needs escalation) / ACCEPTED_RISK
|
|
27
|
+
|
|
28
|
+
**Auto mode (`-y`)**: skip questions, resolve via code evidence weighting:
|
|
29
|
+
- RSC → defer to target scope
|
|
30
|
+
- MOD → follow existing cross-module pattern (or flag as risk)
|
|
31
|
+
- DEC → code wins (current code = ground truth)
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
|
|
35
|
+
Append to calling command's primary output:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
## Boundary Grill Results
|
|
39
|
+
|
|
40
|
+
| # | Type | Conflict | Resolution | Evidence |
|
|
41
|
+
|---|------|----------|------------|----------|
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Feed into `context.md`: resolved DEC → amend Locked; unresolved → Deferred with `boundary_grill: true`.
|
|
45
|
+
|
|
46
|
+
## Constraints
|
|
47
|
+
|
|
48
|
+
- Non-blocking — warnings + resolutions, never hard stops
|
|
49
|
+
- Evidence MUST include `file:line` — generic assertions invalid
|
|
50
|
+
- Results visible in command output — no silent swallowing
|
package/workflows/brainstorm.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Workflow: Brainstorm
|
|
2
2
|
|
|
3
|
-
Dual-mode brainstorming: auto pipeline (full multi-role analysis) or single role analysis.
|
|
4
|
-
|
|
5
3
|
## Architecture
|
|
6
4
|
|
|
7
5
|
```
|
|
@@ -202,9 +200,12 @@ Pass into Steps 2 and 3.
|
|
|
202
200
|
|
|
203
201
|
### Step 2: Terminology & Boundary Definition (Auto Mode)
|
|
204
202
|
|
|
205
|
-
1.
|
|
206
|
-
2.
|
|
207
|
-
3.
|
|
203
|
+
1. Load existing domain terms: read `.workflow/domain/glossary.yaml` 中已注册术语,避免重复定义
|
|
204
|
+
2. Extract 5-10 core domain terms (merge upstream locked terms + existing glossary terms)
|
|
205
|
+
3. AskUserQuestion for Non-Goals (multiSelect, include "其他" option)
|
|
206
|
+
4. Store terminology + non_goals to session
|
|
207
|
+
|
|
208
|
+
新候选术语仅存入 `context-package.json#domain.terminology[]`,不直接写 glossary.yaml。由 chain 末尾 `manage-harvest --auto` 触发 finish-work Step 3.5 统一提升为正式术语。
|
|
208
209
|
|
|
209
210
|
**Skip if**: `--yes` (auto-generate terms, empty non-goals)
|
|
210
211
|
|
|
@@ -5,18 +5,45 @@
|
|
|
5
5
|
## Delegate & CLI
|
|
6
6
|
|
|
7
7
|
- **Delegate Usage**: @~/.maestro/workflows/delegate-usage.md
|
|
8
|
+
- **Explore Usage**: @~/.maestro/workflows/explore-usage.md
|
|
8
9
|
- **CLI Endpoints Config**: @~/.maestro/cli-tools.json
|
|
9
10
|
|
|
10
11
|
**Strictly follow the cli-tools.json configuration**
|
|
11
12
|
|
|
13
|
+
## Explore Priority
|
|
14
|
+
|
|
15
|
+
Commands with codebase exploration/search steps should prefer `maestro explore` over inline Grep/Read:
|
|
16
|
+
- **odyssey-\*** (archaeology, explore, discover phases)
|
|
17
|
+
- **analyze, blueprint, grill** (discovery/scan phases)
|
|
18
|
+
- **learn-investigate** (evidence gathering)
|
|
19
|
+
- **issue-discover** (multi-perspective scan)
|
|
20
|
+
- **impeccable teach/explore** (codebase scan)
|
|
21
|
+
|
|
22
|
+
Use structured prompt format (`FIND/SCOPE/EXCLUDE/ATTENTION/EXPECTED`) for targeted searches. Multi-prompt parallel for multi-angle scans.
|
|
23
|
+
|
|
12
24
|
## Knowledge System
|
|
13
25
|
|
|
14
|
-
**Gate rule: On any coding/modification/debugging task,
|
|
26
|
+
**Gate rule: On any coding/modification/debugging task, run `maestro search` BEFORE reading code or editing files. Use targeted queries — multiple short searches beat one long one.**
|
|
15
27
|
|
|
16
28
|
### Required search (every task, no exceptions)
|
|
17
29
|
|
|
18
30
|
```bash
|
|
19
|
-
maestro search "<
|
|
31
|
+
maestro search "<1-3 word topic phrase>"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Query rules:**
|
|
35
|
+
- Use **1-3 core keywords** per query — never dump all context into one search
|
|
36
|
+
- Separate concepts from symbols: `maestro search "topology layout"` then `maestro search "DetailedTopologySVG" --code`
|
|
37
|
+
- Run multiple targeted searches rather than one broad query
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# ❌ Bad: keyword dump (5+ unrelated terms → diluted BM25 scores)
|
|
41
|
+
maestro search "topology display frontend DetailedTopologySVG elk"
|
|
42
|
+
|
|
43
|
+
# ✅ Good: targeted multi-search
|
|
44
|
+
maestro search "topology layout"
|
|
45
|
+
maestro search "DetailedTopologySVG" --code
|
|
46
|
+
maestro search "elk layout" --type knowhow
|
|
20
47
|
```
|
|
21
48
|
|
|
22
49
|
Then add follow-up searches based on results:
|
|
@@ -204,7 +204,6 @@ Uses the native `maestro kg index` command (`src/graph/analyzers/fs-analyzer.ts`
|
|
|
204
204
|
maestro kg index --src "$PROJECT_ROOT/src"
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
This single command performs:
|
|
208
207
|
- File system scan and code entity extraction (nodes, edges)
|
|
209
208
|
- Import/call graph analysis and test pairing (tested_by edges)
|
|
210
209
|
- Layer classification and topological tour generation
|
|
@@ -1,34 +1,117 @@
|
|
|
1
1
|
# Codex Code Guidelines
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
|
|
4
4
|
- **Delegate Usage**: @~/.maestro/workflows/delegate-usage.md
|
|
5
|
+
- **Explore Usage**: @~/.maestro/workflows/explore-usage.md
|
|
5
6
|
- **CLI Endpoints Config**: @~/.maestro/cli-tools.json
|
|
6
7
|
|
|
7
8
|
**Strictly follow the cli-tools.json configuration**
|
|
8
9
|
|
|
9
|
-
##
|
|
10
|
+
## Explore Priority
|
|
11
|
+
|
|
12
|
+
Commands with codebase exploration/search steps should prefer `maestro explore` over inline Grep/Read:
|
|
13
|
+
- **odyssey-\*** (archaeology, explore, discover phases)
|
|
14
|
+
- **analyze, blueprint, grill** (discovery/scan phases)
|
|
15
|
+
- **learn-investigate** (evidence gathering)
|
|
16
|
+
- **issue-discover** (multi-perspective scan)
|
|
17
|
+
- **impeccable teach/explore** (codebase scan)
|
|
18
|
+
|
|
19
|
+
Use structured prompt format (`FIND/SCOPE/EXCLUDE/ATTENTION/EXPECTED`) for targeted searches. Multi-prompt parallel for multi-angle scans.
|
|
20
|
+
|
|
21
|
+
# Coding Philosophy
|
|
22
|
+
|
|
23
|
+
## Core Beliefs
|
|
24
|
+
|
|
25
|
+
- **Pursue good taste** - Eliminate edge cases to make code logic natural and elegant
|
|
26
|
+
- **Embrace extreme simplicity** - Complexity is the root of all evil
|
|
27
|
+
- **Be pragmatic** - Code must solve real-world problems, not hypothetical ones
|
|
28
|
+
- **Data structures first** - Bad programmers worry about code; good programmers worry about data structures
|
|
29
|
+
- **Never break backward compatibility** - Existing functionality is sacred and inviolable
|
|
30
|
+
- **Incremental progress over big bangs** - Small changes that compile and pass tests
|
|
31
|
+
- **Learning from existing code** - Study and plan before implementing
|
|
32
|
+
- **Clear intent over clever code** - Be boring and obvious
|
|
33
|
+
- **Follow existing code style** - Match import patterns, naming conventions, and formatting of existing codebase
|
|
34
|
+
- **Minimize changes** - Only modify what's directly required; avoid refactoring, adding features, or "improving" code beyond the request
|
|
35
|
+
- **No unsolicited documentation** - NEVER generate reports, documentation files, or summaries without explicit user request. If required, save to .workflow/.scratchpad/
|
|
36
|
+
|
|
37
|
+
## Simplicity Means
|
|
38
|
+
|
|
39
|
+
- Single responsibility per function/class
|
|
40
|
+
- Avoid premature abstractions
|
|
41
|
+
- No clever tricks - choose the boring solution
|
|
42
|
+
- If you need to explain it, it's too complex
|
|
43
|
+
|
|
44
|
+
## Fix, Don't Hide
|
|
45
|
+
|
|
46
|
+
**Solve problems, don't silence symptoms** - Skipped tests, `@ts-ignore`, empty catch, `as any`, excessive timeouts = hiding bugs, not fixing them
|
|
47
|
+
|
|
48
|
+
**NEVER**:
|
|
49
|
+
- Make assumptions - verify with existing code
|
|
50
|
+
- Generate reports, summaries, or documentation files without explicit user request
|
|
51
|
+
- Use suppression mechanisms (`skip`, `ignore`, `disable`) without fixing root cause
|
|
10
52
|
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
53
|
+
**ALWAYS**:
|
|
54
|
+
- Plan complex tasks thoroughly before implementation
|
|
55
|
+
- Generate task decomposition for multi-module work (>3 modules or >5 subtasks)
|
|
56
|
+
- Track progress using TODO checklists for complex tasks
|
|
57
|
+
- Validate planning documents before starting development
|
|
58
|
+
- Commit working code incrementally
|
|
59
|
+
- Update plan documentation and progress tracking as you go
|
|
60
|
+
- Learn from existing implementations
|
|
61
|
+
- Stop after 3 failed attempts and reassess
|
|
62
|
+
- **Edit fallback**: When Edit tool fails 2+ times on same file, try Bash sed/awk first, then Write to recreate if still failing
|
|
16
63
|
|
|
17
|
-
|
|
18
|
-
- Only stage/commit files produced by current task
|
|
19
|
-
- Use `git add <specific-files>` instead of `git add .`
|
|
64
|
+
## Learning the Codebase
|
|
20
65
|
|
|
21
|
-
|
|
22
|
-
-
|
|
66
|
+
- Find 3 similar features/components
|
|
67
|
+
- Identify common patterns and conventions
|
|
68
|
+
- Use same libraries/utilities when possible
|
|
69
|
+
- Follow existing test patterns
|
|
70
|
+
|
|
71
|
+
## Tooling
|
|
72
|
+
|
|
73
|
+
- Use project's existing build system
|
|
74
|
+
- Use project's test framework
|
|
75
|
+
- Use project's formatter/linter settings
|
|
76
|
+
- Don't introduce new tools without strong justification
|
|
77
|
+
|
|
78
|
+
## Content Uniqueness Rules
|
|
79
|
+
|
|
80
|
+
- **Each layer owns its abstraction level** - no content sharing between layers
|
|
81
|
+
- **Reference, don't duplicate** - point to other layers, never copy content
|
|
82
|
+
- **Maintain perspective** - each layer sees the system at its appropriate scale
|
|
83
|
+
- **Avoid implementation creep** - higher layers stay architectural
|
|
84
|
+
|
|
85
|
+
# Context Requirements
|
|
86
|
+
|
|
87
|
+
Before implementation, always:
|
|
88
|
+
- Identify 3+ existing similar patterns
|
|
89
|
+
- Map dependencies and integration points
|
|
90
|
+
- Understand testing framework and coding conventions
|
|
23
91
|
|
|
24
92
|
## Knowledge System
|
|
25
93
|
|
|
26
|
-
**Gate rule: On any coding/modification/debugging task,
|
|
94
|
+
**Gate rule: On any coding/modification/debugging task, run `maestro search` BEFORE reading code or editing files. Use targeted queries — multiple short searches beat one long one.**
|
|
27
95
|
|
|
28
96
|
### Required search (every task, no exceptions)
|
|
29
97
|
|
|
30
98
|
```bash
|
|
31
|
-
maestro search "<
|
|
99
|
+
maestro search "<1-3 word topic phrase>"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Query rules:**
|
|
103
|
+
- Use **1-3 core keywords** per query — never dump all context into one search
|
|
104
|
+
- Separate concepts from symbols: `maestro search "topology layout"` then `maestro search "DetailedTopologySVG" --code`
|
|
105
|
+
- Run multiple targeted searches rather than one broad query
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# ❌ Bad: keyword dump (5+ unrelated terms → diluted BM25 scores)
|
|
109
|
+
maestro search "topology display frontend DetailedTopologySVG elk"
|
|
110
|
+
|
|
111
|
+
# ✅ Good: targeted multi-search
|
|
112
|
+
maestro search "topology layout"
|
|
113
|
+
maestro search "DetailedTopologySVG" --code
|
|
114
|
+
maestro search "elk layout" --type knowhow
|
|
32
115
|
```
|
|
33
116
|
|
|
34
117
|
Then add follow-up searches based on results:
|
|
@@ -526,7 +526,7 @@ The two styles are complementary: FSM orchestrators invoke pipeline commands; pi
|
|
|
526
526
|
| Style | Commands |
|
|
527
527
|
|-------|----------|
|
|
528
528
|
| **Pipeline** | init, analyze, plan, execute, verify, brainstorm, grill, blueprint, roadmap, milestone-audit, milestone-complete, milestone-release |
|
|
529
|
-
| **FSM** | ralph, ralph-execute
|
|
529
|
+
| **FSM** | ralph, ralph-execute |
|
|
530
530
|
| **Needs evaluation** | coordinate (multi-role handoff may need FSM) |
|
|
531
531
|
|
|
532
532
|
---
|
package/workflows/debug.md
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Debug Workflow
|
|
2
2
|
|
|
3
|
-
Scientific method debugging with subagent isolation. Three modes: **Standalone** (user describes issue), **From UAT** (`--from-uat`, pre-filled symptoms), **Parallel** (`--parallel`, concurrent agents per gap cluster).
|
|
4
|
-
|
|
5
|
-
Output: `understanding.md` + `evidence.ndjson` per investigation.
|
|
6
|
-
|
|
7
3
|
---
|
|
8
4
|
|
|
9
5
|
## Iron Law
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: domain-add
|
|
3
|
+
alias: domain-add
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Workflow: domain-add
|
|
7
|
+
|
|
8
|
+
Register a domain term into `.workflow/domain/glossary.yaml`.
|
|
9
|
+
|
|
10
|
+
## Arguments
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
$ARGUMENTS: "<canonical> <definition>"
|
|
14
|
+
|
|
15
|
+
canonical -- kebab-case term name (e.g. "auth-token", "event-bus")
|
|
16
|
+
definition -- one-line definition (≤200 chars)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Prerequisites
|
|
20
|
+
|
|
21
|
+
- `.workflow/domain/` directory must exist (run `maestro domain init` if missing)
|
|
22
|
+
|
|
23
|
+
## Execution Steps
|
|
24
|
+
|
|
25
|
+
### Step 1: Parse Arguments
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Parse $ARGUMENTS:
|
|
29
|
+
1. canonical = first token (kebab-case, e.g. "auth-token")
|
|
30
|
+
2. definition = remaining text
|
|
31
|
+
Validate:
|
|
32
|
+
- canonical is non-empty, kebab-case (lowercase, hyphens only)
|
|
33
|
+
- definition is non-empty, ≤200 chars
|
|
34
|
+
On failure: show usage `domain-add <canonical> "<definition>"`, exit
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Step 2: Check Glossary State
|
|
38
|
+
|
|
39
|
+
Verify `.workflow/domain/glossary.yaml` exists. If not, create via `maestro domain init`.
|
|
40
|
+
|
|
41
|
+
Read existing glossary and check for:
|
|
42
|
+
- **Exact duplicate**: same canonical name already registered → report existing entry, exit
|
|
43
|
+
- **Near match**: Levenshtein distance ≤ 2 or alias overlap → warn, ask to confirm or merge
|
|
44
|
+
|
|
45
|
+
### Step 3: Extract Metadata
|
|
46
|
+
|
|
47
|
+
Auto-derive from the definition and codebase context:
|
|
48
|
+
|
|
49
|
+
- **aliases** (1-3): common abbreviations, Chinese translations, or alternate forms the term is known by
|
|
50
|
+
- **keywords** (3-5): search terms for discovery
|
|
51
|
+
- **tier**: `core` (fundamental project concept) | `extended` (secondary) | `peripheral` (rarely referenced)
|
|
52
|
+
- **relationships**: scan existing glossary for related terms (semantic overlap or dependency)
|
|
53
|
+
|
|
54
|
+
### Step 4: Register Term
|
|
55
|
+
|
|
56
|
+
Write via `maestro domain add`:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
maestro domain add "<canonical>" "<definition>" --tier <tier>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
If aliases or relationships identified, update immediately:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
maestro domain update "<canonical>" --aliases "alias1,alias2" --keywords "kw1,kw2,kw3" --relationships "related-term-1,related-term-2"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Records `source.kind = 'manual'`, `source.registered_at = now`.
|
|
69
|
+
|
|
70
|
+
### Step 5: Verify Injection
|
|
71
|
+
|
|
72
|
+
Confirm the term is injectable by checking:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
maestro domain show "<canonical>"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Display: canonical name, definition, aliases, tier, relationships, and verify command:
|
|
79
|
+
```
|
|
80
|
+
maestro domain list
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Step 6: Report
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
=== DOMAIN TERM REGISTERED ===
|
|
87
|
+
Term: {canonical}
|
|
88
|
+
Definition: {definition}
|
|
89
|
+
Aliases: {alias1, alias2}
|
|
90
|
+
Tier: {tier}
|
|
91
|
+
Related: {rel1, rel2}
|
|
92
|
+
Injection: domain-compact (always) + domain-expanded (on keyword match)
|
|
93
|
+
Next: maestro domain list | maestro domain discover (find more candidates)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Auto-Discovery Alternative
|
|
97
|
+
|
|
98
|
+
For batch registration from codebase scanning:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
maestro domain discover # scan codebase for term candidates
|
|
102
|
+
maestro domain import # batch import from external source
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Domain Term Lifecycle
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
discover/manual → register → active → (optional) deprecated → removed
|
|
109
|
+
↑
|
|
110
|
+
update aliases/keywords/relationships
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Output
|
|
114
|
+
|
|
115
|
+
One domain term entry added to `.workflow/domain/glossary.yaml`.
|
package/workflows/execute.md
CHANGED
|
@@ -589,6 +589,13 @@ Append unique entries to .workflow/specs/learnings.md using <spec-entry> closed-
|
|
|
589
589
|
category="learning", keywords (3-5 terms), date, source="execute"
|
|
590
590
|
|
|
591
591
|
Mark artifact.harvested = true; write state.json (atomic)
|
|
592
|
+
|
|
593
|
+
// Domain knowledge note:
|
|
594
|
+
// E5 仅提取 incremental learnings (spec category=learning)。
|
|
595
|
+
// 完整的知识提取(constraints → spec, decisions → knowhow, terminology → domain glossary)
|
|
596
|
+
// 由 chain 末尾的 manage-harvest --auto 触发 finish-work 统一处理。
|
|
597
|
+
// Domain compact/expanded 注入是 hook 自动行为,execute 期间无需手动加载——
|
|
598
|
+
// 已注册术语通过 keyword-spec-injector 自动注入到 agent context 中。
|
|
592
599
|
```
|
|
593
600
|
|
|
594
601
|
---
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Explore Usage
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
maestro explore "<PROMPT>" [more prompts...] [options]
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
| Scenario | Example |
|
|
10
|
+
|----------|---------|
|
|
11
|
+
| Multi-angle codebase scan | 3 prompts scanning DB/API/error patterns in parallel |
|
|
12
|
+
| Quick code lookup | Single prompt, foreground |
|
|
13
|
+
| Per-prompt endpoint routing | JSON file with different endpoints per prompt |
|
|
14
|
+
| Lightweight read-only analysis | Where delegate is overkill (no session, no history) |
|
|
15
|
+
|
|
16
|
+
**Not for**: write-mode tasks, long sessions, interactive follow-ups — use `delegate` instead.
|
|
17
|
+
|
|
18
|
+
## Options
|
|
19
|
+
|
|
20
|
+
| Option | Description | Default |
|
|
21
|
+
|--------|-------------|---------|
|
|
22
|
+
| `-e, --endpoint <names>` | Endpoint name(s), comma-separated | First available |
|
|
23
|
+
| `--all` | Fan out each prompt to all endpoints | — |
|
|
24
|
+
| `--parallel <n>` | Max concurrent endpoint queues | Config or `4` |
|
|
25
|
+
| `--ep-concurrency <n>` | Max concurrent jobs per endpoint | `1` (serial) |
|
|
26
|
+
| `--max-turns <n>` | Max agent turns per job | Config or `6` |
|
|
27
|
+
| `-f, --file <path>` | Load prompts from JSON or text file | — |
|
|
28
|
+
| `--cd <dir>` | Working directory | Current |
|
|
29
|
+
| `-o, --output-dir <dir>` | Custom session save directory | `.workflow/explore/` |
|
|
30
|
+
| `--no-save` | Skip session save | — |
|
|
31
|
+
| `--json` | Output results as JSON | — |
|
|
32
|
+
|
|
33
|
+
**1 prompt = 1 agent**. Endpoint resolution: `--endpoint` > `--all` > first available.
|
|
34
|
+
|
|
35
|
+
## Prompt Template
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
FIND: [what to search for — the core query]
|
|
39
|
+
SCOPE: [file patterns, directories, or modules]
|
|
40
|
+
EXCLUDE: [what to skip — files, patterns, false positives]
|
|
41
|
+
ATTENTION: [caveats, edge cases, things to watch for]
|
|
42
|
+
EXPECTED: [output format — evidence list, summary, JSON]
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Only `FIND` required. Plain text (no `FIND:` prefix) also works.
|
|
46
|
+
|
|
47
|
+
| Field | Role | Example |
|
|
48
|
+
|-------|------|---------|
|
|
49
|
+
| `FIND` | What to search for | `All database query patterns that could cause N+1` |
|
|
50
|
+
| `SCOPE` | Where to look | `src/db/**/*.ts`, `src/api/` |
|
|
51
|
+
| `EXCLUDE` | What to skip | `test files, generated code, node_modules` |
|
|
52
|
+
| `ATTENTION` | What to watch for | `ORM lazy-loading traps, raw SQL in service layer` |
|
|
53
|
+
| `EXPECTED` | Output format | `file:line evidence list with severity` |
|
|
54
|
+
|
|
55
|
+
## Execution Model
|
|
56
|
+
|
|
57
|
+
**Serial within endpoint, parallel across endpoints.**
|
|
58
|
+
|
|
59
|
+
Same API → jobs queue and run one-by-one (avoids rate limits).
|
|
60
|
+
Different APIs → queues run concurrently.
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Endpoint A: [job1] → [job2] → [job3] (serial)
|
|
64
|
+
Endpoint B: [job4] → [job5] (serial)
|
|
65
|
+
↑ parallel ↑
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Raise per-endpoint parallelism with `--ep-concurrency 2` when the API allows it.
|
|
69
|
+
|
|
70
|
+
## Multi-Prompt Input
|
|
71
|
+
|
|
72
|
+
**Inline**: `maestro explore "prompt1" "prompt2" "prompt3"`
|
|
73
|
+
|
|
74
|
+
**JSON file** (`-f prompts.json`):
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
[
|
|
78
|
+
"simple string prompt",
|
|
79
|
+
{ "prompt": "FIND: auth bypass\nSCOPE: src/api/", "endpoint": "deepseek" }
|
|
80
|
+
]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Per-prompt `endpoint` overrides global `--endpoint`.
|
|
84
|
+
|
|
85
|
+
**Text file** (`-f prompts.txt`): paragraphs separated by blank lines.
|
|
86
|
+
|
|
87
|
+
**Mixed**: `maestro explore "inline" -f file.json`
|
|
88
|
+
|
|
89
|
+
## Session
|
|
90
|
+
|
|
91
|
+
Results auto-save to `.workflow/explore/{session-id}.json` per workspace.
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
maestro explore show # list sessions
|
|
95
|
+
maestro explore output <id> # view session results
|
|
96
|
+
maestro explore output <id> --json # JSON output
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Endpoint Config
|
|
100
|
+
|
|
101
|
+
File: `~/.maestro/api-explore.json`
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"endpoints": {
|
|
106
|
+
"qwen": { "baseUrl": "https://...", "apiKey": "sk-xxx", "model": "Qwen/Qwen3-8B" },
|
|
107
|
+
"deepseek": { "baseUrl": "https://...", "apiKey": "sk-yyy", "model": "deepseek-chat" }
|
|
108
|
+
},
|
|
109
|
+
"maxTurns": 6,
|
|
110
|
+
"concurrency": 4
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Proxy auto-inherited from `~/.maestro/cli-tools.json`. Legacy single-endpoint and env vars also supported.
|
|
115
|
+
|
|
116
|
+
## Execution Rules
|
|
117
|
+
|
|
118
|
+
Multi-prompt — **background**:
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Bash({ command: "maestro explore \"p1\" \"p2\" --json", run_in_background: true })
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Single quick lookup — foreground is fine:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
Bash({ command: "maestro explore \"Where is X defined?\"" })
|
|
128
|
+
```
|
package/workflows/finish-work.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Workflow: finish-work
|
|
2
2
|
|
|
3
|
-
Last step of session commands. Inline-extracts spec/knowhow from this single session, then writes `archive.json` so the session enters `wiki search` (strategy 2: only sealed/archived sessions are indexed).
|
|
4
|
-
|
|
5
3
|
## Inputs
|
|
6
4
|
|
|
7
5
|
Caller passes: `SESSION_DIR`, `SESSION_TYPE` (grill | brainstorm | analyze | blueprint | plan | execute | verify), `SESSION_ID`, `LINKED_MILESTONE` (optional).
|
|
@@ -78,10 +76,10 @@ Source priority:
|
|
|
78
76
|
|
|
79
77
|
Process:
|
|
80
78
|
1. 从 session 产物中收集术语候选
|
|
81
|
-
2. 过滤已注册的 `glossary.
|
|
79
|
+
2. 过滤已注册的 `glossary.yaml` terms
|
|
82
80
|
3. 0 个新候选 → 跳过(静默)
|
|
83
81
|
4. ≥ 1 个新候选 → 交互确认(domain 注册始终需要用户确认,`-y` 对 domain 无效)
|
|
84
|
-
5. 确认的术语写入 `glossary.
|
|
82
|
+
5. 确认的术语写入 `glossary.yaml` via `maestro domain add`
|
|
85
83
|
6. 记录到 `archive.json` 的 `extraction.domain_ids[]`
|
|
86
84
|
|
|
87
85
|
Skip conditions:
|
|
@@ -130,8 +128,6 @@ Next: /maestro-milestone-complete will flip lifecycle.status → archived and pr
|
|
|
130
128
|
|
|
131
129
|
## Idempotency
|
|
132
130
|
|
|
133
|
-
Re-running on same session: archive.json overwritten with fresh timestamps. Steps 2-3 skipped when existing `archive.json.extraction.harvested == true` (avoids duplicate spec/knowhow). Force re-extract: delete `archive.json` first.
|
|
134
|
-
|
|
135
131
|
## Boundary
|
|
136
132
|
|
|
137
133
|
- Does NOT flip `archived_at` or move files — that is milestone-complete Step 2.3.
|
package/workflows/fork.md
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Workflow: fork
|
|
2
2
|
|
|
3
|
-
Create a git worktree for an entire milestone, enabling inter-milestone parallel development. Copies `.workflow/` context into the worktree since `.workflow/` is gitignored.
|
|
4
|
-
|
|
5
|
-
Worktrees operate at the **milestone level** — all phases within a milestone are owned by one worktree and executed sequentially inside it. Per-phase parallelism within a milestone is not supported.
|
|
6
|
-
|
|
7
3
|
---
|
|
8
4
|
|
|
9
5
|
## Step 1: Parse Arguments and Flags
|
package/workflows/grill.md
CHANGED
|
@@ -451,7 +451,20 @@ Write `{output_dir}/context-package.json`:
|
|
|
451
451
|
}
|
|
452
452
|
```
|
|
453
453
|
|
|
454
|
-
### 7.2:
|
|
454
|
+
### 7.2: Domain Knowledge Flow
|
|
455
|
+
|
|
456
|
+
Grill 产出的领域术语通过以下路径沉淀到项目知识库:
|
|
457
|
+
|
|
458
|
+
```
|
|
459
|
+
terminology.md (locked terms) ──→ finish-work Step 3.5 ──→ .workflow/domain/glossary.yaml
|
|
460
|
+
context-package.json#domain.terminology[] ──→ finish-work Step 3.5 ──→ glossary.yaml
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
- Grill 期间**不应**直接调用 `maestro domain add` — 术语在 grilling 过程中可能被修改或推翻
|
|
464
|
+
- 所有术语经 Step 5 synthesis 锁定后,由 chain 末尾的 `manage-harvest --auto` 自动触发 finish-work 提取
|
|
465
|
+
- finish-work Step 3.5 的 domain extraction 始终交互确认(`-y` 对 domain 注册无效)
|
|
466
|
+
|
|
467
|
+
### 7.3: Completion Report
|
|
455
468
|
|
|
456
469
|
```
|
|
457
470
|
Grill session {artifact_id} completed.
|
package/workflows/harvest.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# Harvest Workflow
|
|
2
2
|
|
|
3
|
-
Extract knowledge from **any workflow artifact** (analysis, brainstorm, debug, lite-plan/fix, scratchpad, sessions) and route into wiki / spec / issue stores.
|
|
4
3
|
|
|
5
4
|
---
|
|
6
5
|
|
|
@@ -260,8 +259,6 @@ For each routed item, record in `.workflow/harvest/harvest-log.jsonl`:
|
|
|
260
259
|
}
|
|
261
260
|
```
|
|
262
261
|
|
|
263
|
-
This log prevents duplicate harvesting in future runs.
|
|
264
|
-
|
|
265
262
|
---
|
|
266
263
|
|
|
267
264
|
## Stage 7: dedup_check
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
Run systematic **technical** quality checks and generate a comprehensive report. Don't fix issues; document them for other commands to address.
|
|
2
2
|
|
|
3
|
-
This is a code-level audit, not a design critique. Check what's measurable and verifiable in the implementation.
|
|
4
|
-
|
|
5
3
|
## Diagnostic Scan
|
|
6
4
|
|
|
7
5
|
Run comprehensive checks across 5 dimensions. Score each dimension 0-4 using the criteria below.
|