maestro-flow 0.5.42 → 0.5.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/domain-add/SKILL.md +3 -0
- package/.agents/skills/learn-decompose/SKILL.md +7 -4
- package/.agents/skills/learn-follow/SKILL.md +4 -2
- package/.agents/skills/learn-investigate/SKILL.md +8 -6
- package/.agents/skills/learn-second-opinion/SKILL.md +6 -3
- package/.agents/skills/maestro/SKILL.md +1 -1
- package/.agents/skills/maestro-amend/SKILL.md +1 -1
- package/.agents/skills/maestro-analyze/SKILL.md +1 -1
- package/.agents/skills/maestro-blueprint/SKILL.md +1 -1
- package/.agents/skills/maestro-brainstorm/SKILL.md +4 -1
- package/.agents/skills/maestro-collab/SKILL.md +6 -2
- package/.agents/skills/maestro-companion/SKILL.md +4 -1
- package/.agents/skills/maestro-composer/SKILL.md +4 -2
- package/.agents/skills/maestro-execute/SKILL.md +26 -8
- package/.agents/skills/maestro-fork/SKILL.md +4 -3
- package/.agents/skills/maestro-grill/SKILL.md +1 -1
- package/.agents/skills/maestro-guard/SKILL.md +2 -2
- package/.agents/skills/maestro-impeccable/SKILL.md +2 -1
- package/.agents/skills/maestro-init/SKILL.md +1 -1
- package/.agents/skills/maestro-merge/SKILL.md +12 -1
- package/.agents/skills/maestro-milestone-audit/SKILL.md +1 -0
- package/.agents/skills/maestro-milestone-complete/SKILL.md +8 -3
- package/.agents/skills/maestro-milestone-release/SKILL.md +8 -4
- package/.agents/skills/maestro-overlay/SKILL.md +9 -0
- package/.agents/skills/maestro-plan/SKILL.md +1 -0
- package/.agents/skills/maestro-player/SKILL.md +2 -2
- package/.agents/skills/maestro-quick/SKILL.md +5 -3
- package/.agents/skills/maestro-ralph/SKILL.md +8 -8
- package/.agents/skills/maestro-ralph-agent/SKILL.md +697 -0
- package/.agents/skills/maestro-ralph-agent-execute/SKILL.md +461 -0
- package/.agents/skills/maestro-ralph-cli/SKILL.md +665 -0
- package/.agents/skills/maestro-ralph-cli-execute/SKILL.md +239 -0
- package/.agents/skills/maestro-ralph-execute/SKILL.md +127 -11
- package/.agents/skills/maestro-roadmap/SKILL.md +1 -1
- package/.agents/skills/maestro-swarm-workflow/SKILL.md +16 -14
- package/.agents/skills/maestro-tools-register/SKILL.md +16 -1
- package/.agents/skills/maestro-ui-codify/SKILL.md +11 -1
- package/.agents/skills/maestro-universal-workflow/SKILL.md +28 -5
- package/.agents/skills/maestro-update/SKILL.md +10 -7
- package/.agents/skills/manage-codebase-rebuild/SKILL.md +5 -1
- package/.agents/skills/manage-drift-realign/SKILL.md +6 -2
- package/.agents/skills/manage-harvest/SKILL.md +4 -1
- package/.agents/skills/manage-issue-discover/SKILL.md +1 -0
- package/.agents/skills/manage-kg-extractors/SKILL.md +5 -1
- package/.agents/skills/manage-knowhow-capture/SKILL.md +1 -0
- package/.agents/skills/manage-knowledge-audit/SKILL.md +3 -0
- package/.agents/skills/manage-wiki/SKILL.md +1 -0
- package/.agents/skills/odyssey-debug/SKILL.md +2 -1
- package/.agents/skills/odyssey-improve/SKILL.md +2 -2
- package/.agents/skills/odyssey-planex/SKILL.md +8 -7
- package/.agents/skills/odyssey-review-test-fix/SKILL.md +4 -1
- package/.agents/skills/odyssey-ui/SKILL.md +4 -4
- package/.agents/skills/quality-auto-test/SKILL.md +11 -1
- package/.agents/skills/quality-debug/SKILL.md +16 -2
- package/.agents/skills/quality-retrospective/SKILL.md +9 -1
- package/.agents/skills/quality-review/SKILL.md +8 -0
- package/.agents/skills/quality-sync/SKILL.md +2 -2
- package/.agents/skills/quality-test/SKILL.md +9 -1
- package/.agents/skills/security-audit/SKILL.md +14 -4
- package/.agents/skills/spec-add/SKILL.md +5 -2
- package/.agents/skills/spec-load/SKILL.md +1 -1
- package/.agents/skills/spec-remove/SKILL.md +1 -1
- package/.agents/skills/spec-setup/SKILL.md +3 -0
- package/.agy/skills/domain-add/SKILL.md +3 -0
- package/.agy/skills/learn-decompose/SKILL.md +7 -4
- package/.agy/skills/learn-follow/SKILL.md +4 -2
- package/.agy/skills/learn-investigate/SKILL.md +8 -6
- package/.agy/skills/learn-second-opinion/SKILL.md +6 -3
- package/.agy/skills/maestro/SKILL.md +1 -1
- package/.agy/skills/maestro-amend/SKILL.md +1 -1
- package/.agy/skills/maestro-analyze/SKILL.md +1 -1
- package/.agy/skills/maestro-blueprint/SKILL.md +1 -1
- package/.agy/skills/maestro-brainstorm/SKILL.md +4 -1
- package/.agy/skills/maestro-collab/SKILL.md +6 -2
- package/.agy/skills/maestro-companion/SKILL.md +4 -1
- package/.agy/skills/maestro-composer/SKILL.md +4 -2
- package/.agy/skills/maestro-execute/SKILL.md +26 -8
- package/.agy/skills/maestro-fork/SKILL.md +4 -3
- package/.agy/skills/maestro-grill/SKILL.md +1 -1
- package/.agy/skills/maestro-guard/SKILL.md +2 -2
- package/.agy/skills/maestro-impeccable/SKILL.md +2 -1
- package/.agy/skills/maestro-init/SKILL.md +1 -1
- package/.agy/skills/maestro-merge/SKILL.md +12 -1
- package/.agy/skills/maestro-milestone-audit/SKILL.md +1 -0
- package/.agy/skills/maestro-milestone-complete/SKILL.md +8 -3
- package/.agy/skills/maestro-milestone-release/SKILL.md +8 -4
- package/.agy/skills/maestro-overlay/SKILL.md +9 -0
- package/.agy/skills/maestro-plan/SKILL.md +1 -0
- package/.agy/skills/maestro-player/SKILL.md +2 -2
- package/.agy/skills/maestro-quick/SKILL.md +5 -3
- package/.agy/skills/maestro-ralph/SKILL.md +8 -8
- package/.agy/skills/maestro-ralph-agent/SKILL.md +696 -0
- package/.agy/skills/maestro-ralph-agent-execute/SKILL.md +457 -0
- package/.agy/skills/maestro-ralph-cli/SKILL.md +661 -0
- package/.agy/skills/maestro-ralph-cli-execute/SKILL.md +235 -0
- package/.agy/skills/maestro-ralph-execute/SKILL.md +127 -11
- package/.agy/skills/maestro-roadmap/SKILL.md +1 -1
- package/.agy/skills/maestro-swarm-workflow/SKILL.md +16 -14
- package/.agy/skills/maestro-tools-register/SKILL.md +16 -1
- package/.agy/skills/maestro-ui-codify/SKILL.md +11 -1
- package/.agy/skills/maestro-universal-workflow/SKILL.md +28 -5
- package/.agy/skills/maestro-update/SKILL.md +10 -7
- package/.agy/skills/manage-codebase-rebuild/SKILL.md +5 -1
- package/.agy/skills/manage-drift-realign/SKILL.md +6 -2
- package/.agy/skills/manage-harvest/SKILL.md +4 -1
- package/.agy/skills/manage-issue-discover/SKILL.md +1 -0
- package/.agy/skills/manage-kg-extractors/SKILL.md +5 -1
- package/.agy/skills/manage-knowhow-capture/SKILL.md +1 -0
- package/.agy/skills/manage-knowledge-audit/SKILL.md +3 -0
- package/.agy/skills/manage-wiki/SKILL.md +1 -0
- package/.agy/skills/odyssey-debug/SKILL.md +2 -1
- package/.agy/skills/odyssey-improve/SKILL.md +2 -2
- package/.agy/skills/odyssey-planex/SKILL.md +8 -7
- package/.agy/skills/odyssey-review-test-fix/SKILL.md +4 -1
- package/.agy/skills/odyssey-ui/SKILL.md +4 -4
- package/.agy/skills/quality-auto-test/SKILL.md +11 -1
- package/.agy/skills/quality-debug/SKILL.md +16 -2
- package/.agy/skills/quality-retrospective/SKILL.md +9 -1
- package/.agy/skills/quality-review/SKILL.md +8 -0
- package/.agy/skills/quality-sync/SKILL.md +2 -2
- package/.agy/skills/quality-test/SKILL.md +9 -1
- package/.agy/skills/security-audit/SKILL.md +14 -4
- package/.agy/skills/spec-add/SKILL.md +5 -2
- package/.agy/skills/spec-load/SKILL.md +1 -1
- package/.agy/skills/spec-remove/SKILL.md +1 -1
- package/.agy/skills/spec-setup/SKILL.md +3 -0
- package/.claude/commands/domain-add.md +3 -0
- package/.claude/commands/learn-decompose.md +7 -4
- package/.claude/commands/learn-follow.md +4 -2
- package/.claude/commands/learn-investigate.md +8 -6
- package/.claude/commands/learn-second-opinion.md +6 -3
- package/.claude/commands/maestro-amend.md +1 -1
- package/.claude/commands/maestro-analyze.md +1 -1
- package/.claude/commands/maestro-blueprint.md +1 -1
- package/.claude/commands/maestro-brainstorm.md +4 -1
- package/.claude/commands/maestro-collab.md +6 -2
- package/.claude/commands/maestro-companion.md +4 -1
- package/.claude/commands/maestro-composer.md +4 -2
- package/.claude/commands/maestro-execute.md +26 -8
- package/.claude/commands/maestro-fork.md +4 -3
- package/.claude/commands/maestro-grill.md +1 -1
- package/.claude/commands/maestro-guard.md +2 -2
- package/.claude/commands/maestro-impeccable.md +2 -1
- package/.claude/commands/maestro-init.md +1 -1
- package/.claude/commands/maestro-merge.md +12 -1
- package/.claude/commands/maestro-milestone-audit.md +1 -0
- package/.claude/commands/maestro-milestone-complete.md +8 -3
- package/.claude/commands/maestro-milestone-release.md +8 -4
- package/.claude/commands/maestro-overlay.md +9 -0
- package/.claude/commands/maestro-plan.md +1 -0
- package/.claude/commands/maestro-player.md +2 -2
- package/.claude/commands/maestro-quick.md +5 -3
- package/.claude/commands/maestro-ralph-agent-execute.md +459 -0
- package/.claude/commands/maestro-ralph-agent.md +695 -0
- package/.claude/commands/maestro-ralph-cli-execute.md +237 -0
- package/.claude/commands/maestro-ralph-cli.md +663 -0
- package/.claude/commands/maestro-ralph-execute.md +127 -11
- package/.claude/commands/maestro-ralph.md +8 -8
- package/.claude/commands/maestro-roadmap.md +1 -1
- package/.claude/commands/maestro-swarm-workflow.md +16 -14
- package/.claude/commands/maestro-tools-register.md +16 -1
- package/.claude/commands/maestro-ui-codify.md +11 -1
- package/.claude/commands/maestro-universal-workflow.md +28 -5
- package/.claude/commands/maestro-update.md +10 -7
- package/.claude/commands/maestro.md +1 -1
- package/.claude/commands/manage-codebase-rebuild.md +5 -1
- package/.claude/commands/manage-drift-realign.md +6 -2
- package/.claude/commands/manage-harvest.md +4 -1
- package/.claude/commands/manage-issue-discover.md +1 -0
- package/.claude/commands/manage-kg-extractors.md +5 -1
- package/.claude/commands/manage-knowhow-capture.md +1 -0
- package/.claude/commands/manage-knowledge-audit.md +3 -0
- package/.claude/commands/manage-wiki.md +1 -0
- package/.claude/commands/odyssey-debug.md +2 -1
- package/.claude/commands/odyssey-improve.md +2 -2
- package/.claude/commands/odyssey-planex.md +8 -7
- package/.claude/commands/odyssey-review-test-fix.md +4 -1
- package/.claude/commands/odyssey-ui.md +4 -4
- package/.claude/commands/quality-auto-test.md +11 -1
- package/.claude/commands/quality-debug.md +16 -2
- package/.claude/commands/quality-retrospective.md +9 -1
- package/.claude/commands/quality-review.md +8 -0
- package/.claude/commands/quality-sync.md +2 -2
- package/.claude/commands/quality-test.md +9 -1
- package/.claude/commands/security-audit.md +14 -4
- package/.claude/commands/spec-add.md +5 -2
- package/.claude/commands/spec-load.md +1 -1
- package/.claude/commands/spec-remove.md +1 -1
- package/.claude/commands/spec-setup.md +3 -0
- package/.codex/skills/codify-to-knowhow/SKILL.md +27 -15
- package/.codex/skills/domain-add/SKILL.md +5 -3
- package/.codex/skills/learn-decompose/SKILL.md +22 -4
- package/.codex/skills/learn-follow/SKILL.md +12 -6
- package/.codex/skills/learn-investigate/SKILL.md +11 -6
- package/.codex/skills/learn-retro/SKILL.md +12 -6
- package/.codex/skills/learn-second-opinion/SKILL.md +11 -3
- package/.codex/skills/maestro/SKILL.md +19 -13
- package/.codex/skills/maestro-amend/SKILL.md +10 -2
- package/.codex/skills/maestro-analyze/SKILL.md +7 -1
- package/.codex/skills/maestro-blueprint/SKILL.md +1 -1
- package/.codex/skills/maestro-brainstorm/SKILL.md +11 -8
- package/.codex/skills/maestro-collab/SKILL.md +5 -5
- package/.codex/skills/maestro-companion/SKILL.md +4 -1
- package/.codex/skills/maestro-composer/SKILL.md +6 -3
- package/.codex/skills/maestro-execute/SKILL.md +11 -8
- package/.codex/skills/maestro-fork/SKILL.md +4 -3
- package/.codex/skills/maestro-grill/SKILL.md +1 -1
- package/.codex/skills/maestro-guard/SKILL.md +1 -1
- package/.codex/skills/maestro-impeccable/SKILL.md +5 -5
- package/.codex/skills/maestro-init/SKILL.md +3 -2
- package/.codex/skills/maestro-milestone-audit/SKILL.md +21 -9
- package/.codex/skills/maestro-milestone-complete/SKILL.md +3 -3
- package/.codex/skills/maestro-milestone-release/SKILL.md +18 -1
- package/.codex/skills/maestro-next/SKILL.md +11 -10
- package/.codex/skills/maestro-overlay/SKILL.md +16 -6
- package/.codex/skills/maestro-player/SKILL.md +11 -5
- package/.codex/skills/maestro-quick/SKILL.md +2 -2
- package/.codex/skills/maestro-ralph/SKILL.md +44 -31
- package/.codex/skills/maestro-ralph-cli/SKILL.md +394 -0
- package/.codex/skills/maestro-ralph-cli-execute/SKILL.md +146 -0
- package/.codex/skills/maestro-ralph-execute/SKILL.md +105 -24
- package/.codex/skills/maestro-roadmap/SKILL.md +8 -2
- package/.codex/skills/maestro-tools-execute/SKILL.md +8 -4
- package/.codex/skills/maestro-tools-register/SKILL.md +10 -6
- package/.codex/skills/maestro-ui-codify/SKILL.md +14 -9
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +36 -14
- package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
- package/.codex/skills/manage-drift-realign/SKILL.md +15 -12
- package/.codex/skills/manage-harvest/SKILL.md +1 -1
- package/.codex/skills/manage-issue/SKILL.md +8 -4
- package/.codex/skills/manage-issue-discover/SKILL.md +15 -14
- package/.codex/skills/manage-knowhow/SKILL.md +3 -2
- package/.codex/skills/manage-knowhow-capture/SKILL.md +4 -3
- package/.codex/skills/manage-learn/SKILL.md +2 -2
- package/.codex/skills/odyssey-debug/SKILL.md +12 -7
- package/.codex/skills/odyssey-improve/SKILL.md +11 -6
- package/.codex/skills/odyssey-planex/SKILL.md +14 -8
- package/.codex/skills/odyssey-review-test-fix/SKILL.md +12 -7
- package/.codex/skills/odyssey-ui/SKILL.md +10 -5
- package/.codex/skills/quality-auto-test/SKILL.md +13 -5
- package/.codex/skills/quality-debug/SKILL.md +18 -11
- package/.codex/skills/quality-refactor/SKILL.md +4 -4
- package/.codex/skills/quality-retrospective/SKILL.md +5 -6
- package/.codex/skills/quality-review/SKILL.md +18 -11
- package/.codex/skills/quality-sync/SKILL.md +2 -2
- package/.codex/skills/quality-test/SKILL.md +7 -5
- package/.codex/skills/security-audit/SKILL.md +7 -5
- package/.codex/skills/spec-add/SKILL.md +9 -7
- package/.codex/skills/spec-load/SKILL.md +3 -2
- package/.codex/skills/spec-map/SKILL.md +10 -1
- package/.codex/skills/spec-remove/SKILL.md +3 -2
- package/.codex/skills/team-coordinate/SKILL.md +10 -4
- package/.codex/skills/team-lifecycle-v4/SKILL.md +33 -26
- package/.codex/skills/team-quality-assurance/SKILL.md +43 -0
- package/.codex/skills/team-review/SKILL.md +50 -6
- package/.codex/skills/team-tech-debt/SKILL.md +53 -7
- package/.codex/skills/team-testing/SKILL.md +50 -2
- package/.codex/skills/wiki-connect/SKILL.md +3 -1
- package/.codex/skills/wiki-digest/SKILL.md +6 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.d.ts +16 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js +419 -44
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +48 -10
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/credibility.d.ts +2 -2
- package/dashboard/dist-server/src/graph/kg/credibility.js +10 -5
- package/dashboard/dist-server/src/graph/kg/credibility.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/db/connection.d.ts +3 -2
- package/dashboard/dist-server/src/graph/kg/db/connection.js +28 -16
- package/dashboard/dist-server/src/graph/kg/db/connection.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/db/queries.js +4 -4
- package/dashboard/dist-server/src/graph/kg/db/queries.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/db/types.d.ts +3 -0
- package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.d.ts +46 -0
- package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js +329 -0
- package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/embedding/index.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/embedding/index.js +3 -0
- package/dashboard/dist-server/src/graph/kg/embedding/index.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/engine.d.ts +20 -2
- package/dashboard/dist-server/src/graph/kg/engine.js +71 -1
- package/dashboard/dist-server/src/graph/kg/engine.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.d.ts +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js +8 -4
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/query/scoring.d.ts +5 -0
- package/dashboard/dist-server/src/graph/kg/query/scoring.js +85 -1
- package/dashboard/dist-server/src/graph/kg/query/scoring.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/query/search.d.ts +7 -0
- package/dashboard/dist-server/src/graph/kg/query/search.js +117 -1
- package/dashboard/dist-server/src/graph/kg/query/search.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/resolution/knowledge-resolver.d.ts +3 -3
- package/dashboard/dist-server/src/graph/kg/resolution/knowledge-resolver.js +3 -2
- package/dashboard/dist-server/src/graph/kg/resolution/knowledge-resolver.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/surface/hook-injector.js +2 -4
- package/dashboard/dist-server/src/graph/kg/surface/hook-injector.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.js +49 -0
- package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.js.map +1 -1
- package/dashboard/dist-server/src/hooks/kg-sync-hook.js +3 -0
- package/dashboard/dist-server/src/hooks/kg-sync-hook.js.map +1 -1
- package/dashboard/dist-server/src/search/daemon-client.d.ts +3 -25
- package/dashboard/dist-server/src/search/daemon-client.js +3 -25
- package/dashboard/dist-server/src/search/daemon-client.js.map +1 -1
- package/dashboard/dist-server/src/search/daemon-types.d.ts +29 -0
- package/dashboard/dist-server/src/search/daemon-types.js +31 -0
- package/dashboard/dist-server/src/search/daemon-types.js.map +1 -0
- package/dist/src/agents/api-explore/agent-loop.d.ts +1 -1
- package/dist/src/agents/api-explore/agent-loop.d.ts.map +1 -1
- package/dist/src/agents/api-explore/agent-loop.js +32 -17
- package/dist/src/agents/api-explore/agent-loop.js.map +1 -1
- package/dist/src/agents/api-explore/prompt-parser.js +5 -5
- package/dist/src/agents/api-explore/prompt-parser.js.map +1 -1
- package/dist/src/agents/api-explore/runner.d.ts.map +1 -1
- package/dist/src/agents/api-explore/runner.js +0 -2
- package/dist/src/agents/api-explore/runner.js.map +1 -1
- package/dist/src/agents/api-explore/system-prompt.d.ts.map +1 -1
- package/dist/src/agents/api-explore/system-prompt.js +30 -22
- package/dist/src/agents/api-explore/system-prompt.js.map +1 -1
- package/dist/src/agents/api-explore/tools.d.ts +1 -0
- package/dist/src/agents/api-explore/tools.d.ts.map +1 -1
- package/dist/src/agents/api-explore/tools.js +219 -50
- package/dist/src/agents/api-explore/tools.js.map +1 -1
- package/dist/src/commands/search.d.ts.map +1 -1
- package/dist/src/commands/search.js +10 -4
- 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 +89 -21
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/core/plugin-bridge.d.ts.map +1 -1
- package/dist/src/core/plugin-bridge.js +17 -0
- package/dist/src/core/plugin-bridge.js.map +1 -1
- package/dist/src/graph/db/connection.d.ts +3 -2
- package/dist/src/graph/db/connection.d.ts.map +1 -1
- package/dist/src/graph/db/connection.js +28 -16
- package/dist/src/graph/db/connection.js.map +1 -1
- package/dist/src/graph/db/queries.d.ts.map +1 -1
- package/dist/src/graph/db/queries.js.map +1 -1
- package/dist/src/graph/kg/credibility.d.ts +2 -2
- package/dist/src/graph/kg/credibility.d.ts.map +1 -1
- package/dist/src/graph/kg/credibility.js +10 -5
- package/dist/src/graph/kg/credibility.js.map +1 -1
- package/dist/src/graph/kg/db/connection.d.ts +3 -2
- package/dist/src/graph/kg/db/connection.d.ts.map +1 -1
- package/dist/src/graph/kg/db/connection.js +28 -16
- package/dist/src/graph/kg/db/connection.js.map +1 -1
- package/dist/src/graph/kg/db/queries.js +4 -4
- package/dist/src/graph/kg/db/queries.js.map +1 -1
- package/dist/src/graph/kg/db/types.d.ts +3 -0
- package/dist/src/graph/kg/db/types.d.ts.map +1 -1
- package/dist/src/graph/kg/embedding/code-embedding.d.ts +47 -0
- package/dist/src/graph/kg/embedding/code-embedding.d.ts.map +1 -0
- package/dist/src/graph/kg/embedding/code-embedding.js +329 -0
- package/dist/src/graph/kg/embedding/code-embedding.js.map +1 -0
- package/dist/src/graph/kg/embedding/index.d.ts +3 -0
- package/dist/src/graph/kg/embedding/index.d.ts.map +1 -0
- package/dist/src/graph/kg/embedding/index.js +3 -0
- package/dist/src/graph/kg/embedding/index.js.map +1 -0
- package/dist/src/graph/kg/engine.d.ts +20 -2
- package/dist/src/graph/kg/engine.d.ts.map +1 -1
- package/dist/src/graph/kg/engine.js +71 -1
- package/dist/src/graph/kg/engine.js.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts +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 +8 -4
- package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
- package/dist/src/graph/kg/query/scoring.d.ts +5 -0
- package/dist/src/graph/kg/query/scoring.d.ts.map +1 -1
- package/dist/src/graph/kg/query/scoring.js +85 -1
- package/dist/src/graph/kg/query/scoring.js.map +1 -1
- package/dist/src/graph/kg/query/search.d.ts +7 -0
- package/dist/src/graph/kg/query/search.d.ts.map +1 -1
- package/dist/src/graph/kg/query/search.js +117 -1
- package/dist/src/graph/kg/query/search.js.map +1 -1
- package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts +3 -3
- package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts.map +1 -1
- package/dist/src/graph/kg/resolution/knowledge-resolver.js +3 -2
- package/dist/src/graph/kg/resolution/knowledge-resolver.js.map +1 -1
- package/dist/src/graph/kg/surface/hook-injector.d.ts.map +1 -1
- package/dist/src/graph/kg/surface/hook-injector.js +2 -4
- package/dist/src/graph/kg/surface/hook-injector.js.map +1 -1
- package/dist/src/graph/kg/surface/mcp-tools.d.ts.map +1 -1
- package/dist/src/graph/kg/surface/mcp-tools.js +49 -0
- package/dist/src/graph/kg/surface/mcp-tools.js.map +1 -1
- package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
- package/dist/src/hooks/kg-sync-hook.js +3 -0
- package/dist/src/hooks/kg-sync-hook.js.map +1 -1
- package/dist/src/search/daemon-client.d.ts +3 -25
- package/dist/src/search/daemon-client.d.ts.map +1 -1
- package/dist/src/search/daemon-client.js +3 -25
- package/dist/src/search/daemon-client.js.map +1 -1
- package/dist/src/search/daemon-types.d.ts +30 -0
- package/dist/src/search/daemon-types.d.ts.map +1 -0
- package/dist/src/search/daemon-types.js +31 -0
- package/dist/src/search/daemon-types.js.map +1 -0
- package/dist/src/search/daemon.d.ts +2 -27
- package/dist/src/search/daemon.d.ts.map +1 -1
- package/dist/src/search/daemon.js +4 -60
- package/dist/src/search/daemon.js.map +1 -1
- package/dist/src/tools/code-semantic-search.d.ts +10 -0
- package/dist/src/tools/code-semantic-search.d.ts.map +1 -0
- package/dist/src/tools/code-semantic-search.js +81 -0
- package/dist/src/tools/code-semantic-search.js.map +1 -0
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +4 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/wiki-search.d.ts +13 -0
- package/dist/src/tools/wiki-search.d.ts.map +1 -0
- package/dist/src/tools/wiki-search.js +120 -0
- package/dist/src/tools/wiki-search.js.map +1 -0
- package/dist/src/utils/update-notices.js +24 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +4 -3
|
@@ -17,6 +17,7 @@ $ARGUMENTS — question text and optional flags.
|
|
|
17
17
|
**Flags:**
|
|
18
18
|
- `--scope <path>` — Restrict to files under this directory (default: entire project)
|
|
19
19
|
- `--max-hypotheses N` — Max hypotheses before escalating (default: 3)
|
|
20
|
+
- `--no-persist` — Skip writing to learnings.md (report.md still written locally)
|
|
20
21
|
|
|
21
22
|
**Output**: `.workflow/knowhow/KNW-investigate-{slug}/` (evidence.ndjson, understanding.md, report.md)
|
|
22
23
|
</context>
|
|
@@ -50,12 +51,15 @@ Generate ranked hypotheses from evidence. For each (in rank order):
|
|
|
50
51
|
### Stage 4: 3-Strike Escalation
|
|
51
52
|
If all hypotheses fail: broaden scope, search wiki with alt keywords, or mark INCONCLUSIVE.
|
|
52
53
|
|
|
53
|
-
### Stage 5: Synthesize + Persist
|
|
54
|
+
### Stage 5: Synthesize + Persist (confirmation-gated)
|
|
54
55
|
1. Write `report.md` with answer, evidence trail, hypothesis results
|
|
55
|
-
2.
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
56
|
+
2. If `--no-persist`: skip learnings append, display summary only
|
|
57
|
+
3. Otherwise: **Confirmation gate** — prompt user via `request_user_input`: "Persist findings to learnings.md? (y/n)"
|
|
58
|
+
- `y` → append to `.workflow/specs/learnings.md`:
|
|
59
|
+
- Confirmed → category: "technique" / "pattern"
|
|
60
|
+
- Disproved → category: "gotcha"
|
|
61
|
+
- `n` → skip learnings append
|
|
62
|
+
4. Display summary with next-step routing
|
|
59
63
|
|
|
60
64
|
**Next steps:** `$spec-add debug <finding>`, `$learn-follow <path>`, `$learn-decompose <module>`
|
|
61
65
|
</execution>
|
|
@@ -76,6 +80,7 @@ If all hypotheses fail: broaden scope, search wiki with alt keywords, or mark IN
|
|
|
76
80
|
- [ ] At least 1 hypothesis formed and tested
|
|
77
81
|
- [ ] understanding.md tracks evolving understanding
|
|
78
82
|
- [ ] report.md written with answer and evidence trail
|
|
79
|
-
- [ ]
|
|
83
|
+
- [ ] User confirmation obtained before learnings append (unless --no-persist)
|
|
84
|
+
- [ ] Findings appended to .workflow/specs/learnings.md with stable INS-ids (if confirmed)
|
|
80
85
|
- [ ] 3-strike escalation triggered if all hypotheses fail
|
|
81
86
|
</success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: learn-retro
|
|
3
3
|
description: Retrospective of git activity and decision quality
|
|
4
|
-
argument-hint: "[
|
|
4
|
+
argument-hint: "[--lens git|decision|all] [--days N] [--author <name>] [--area <path>] [--phase N] [--compare]"
|
|
5
5
|
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -42,7 +42,9 @@ $ARGUMENTS — lens selection and scope flags.
|
|
|
42
42
|
**3a: Collect decisions** from wiki, specs, git log, phase context, .workflow/specs/learnings.md.
|
|
43
43
|
**3b: Build decision registry** per decision (id, title, source, rationale, alternatives, evidence).
|
|
44
44
|
|
|
45
|
-
**3c: Multi-perspective evaluation** via
|
|
45
|
+
**3c: Multi-perspective evaluation** — **Confirmation gate**: prompt user via `request_user_input` before spawning wave: "Spawn 3 perspective agents for decision evaluation? (y/n)". On `n`, skip to Phase 4 with decisions listed but unevaluated.
|
|
46
|
+
|
|
47
|
+
Via spawn_agents_on_csv (3 parallel agents; filter `wave==1 AND status=="pending"`):
|
|
46
48
|
|
|
47
49
|
| id | perspective | focus |
|
|
48
50
|
|----|------------|-------|
|
|
@@ -85,8 +87,11 @@ Do NOT write to tasks.csv, wave-*.csv, results.csv. Do NOT call spawn_agents_on_
|
|
|
85
87
|
### Phase 4: Unified Report
|
|
86
88
|
Write `KNW-retro-{date}.md` + `KNW-retro-{date}.json` with metrics, sessions, hotspots, decision health, combined insights, recommended actions.
|
|
87
89
|
|
|
88
|
-
### Phase 5: Persist
|
|
89
|
-
Append insights to
|
|
90
|
+
### Phase 5: Persist (confirmation-gated)
|
|
91
|
+
**Confirmation gate**: prompt user via `request_user_input` — "Append retro insights to learnings.md? (y/n)"
|
|
92
|
+
- `y` → append insights to `.workflow/specs/learnings.md` (source: "retro-git" or "retro-decision")
|
|
93
|
+
- `n` → skip append, display summary only
|
|
94
|
+
Display summary.
|
|
90
95
|
|
|
91
96
|
**Next steps:** `$learn-follow <path>`, `$quality-auto-test <area>`, `$learn-investigate <question>`
|
|
92
97
|
</execution>
|
|
@@ -105,7 +110,8 @@ Append insights to `.workflow/specs/learnings.md` (source: "retro-git" or "retro
|
|
|
105
110
|
<success_criteria>
|
|
106
111
|
- [ ] Lens selection parsed correctly
|
|
107
112
|
- [ ] Git lens: metrics computed, sessions detected, hotspots identified
|
|
108
|
-
- [ ] Decision lens: decisions collected, 3 agents spawned in parallel, lifecycle classified
|
|
113
|
+
- [ ] Decision lens: decisions collected, user confirmed before wave spawn, 3 agents spawned in parallel (if confirmed), lifecycle classified
|
|
109
114
|
- [ ] Unified report written to KNW-retro-{date}.md + KNW-retro-{date}.json
|
|
110
|
-
- [ ]
|
|
115
|
+
- [ ] User confirmation obtained before learnings append
|
|
116
|
+
- [ ] .workflow/specs/learnings.md appended with insights (stable INS-ids, if confirmed)
|
|
111
117
|
</success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: learn-second-opinion
|
|
3
3
|
description: Get alternative perspectives -- review, challenge, or consult
|
|
4
|
-
argument-hint: "
|
|
4
|
+
argument-hint: "<target> [--mode review|challenge|consult]"
|
|
5
5
|
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -47,7 +47,14 @@ Resolve target to content. Load specs, `maestro search`, prior lessons for conte
|
|
|
47
47
|
| 3 | strategist | Scalability, extensibility, architecture alignment | coupling, cohesion |
|
|
48
48
|
| 4 | synthesis | Merge verdicts → agreements, disagreements, top 3 recommendations | combined verdict |
|
|
49
49
|
|
|
50
|
-
Wave 1: 3 persona agents in parallel (filter `wave==1 AND status=="pending"`).
|
|
50
|
+
Wave 1: 3 persona agents in parallel (filter `wave==1 AND status=="pending"`).
|
|
51
|
+
|
|
52
|
+
**Failed persona handling** (between Wave 1 and Wave 2):
|
|
53
|
+
- Exclude rows where `result_status == "failed"` from synthesis input
|
|
54
|
+
- If any persona failed, inject `gap_note` into synthesis prev_context listing missing perspectives
|
|
55
|
+
- If fewer than 2 personas completed, mark overall synthesis as `evidence_incomplete: true` in output
|
|
56
|
+
|
|
57
|
+
Wave 2: synthesis agent with completed wave 1 findings as prev_context (failed rows excluded).
|
|
51
58
|
|
|
52
59
|
**output_schema** (both waves):
|
|
53
60
|
|
|
@@ -103,13 +110,14 @@ Interactive loop via request_user_input. Agent studies target, answers questions
|
|
|
103
110
|
|------|----------|-----------|----------|
|
|
104
111
|
| E001 | error | Target not resolvable | Verify path/ID |
|
|
105
112
|
| E002 | error | Unknown --mode value | Use: review, challenge, consult |
|
|
106
|
-
| W001 | warning | Persona agent failed — partial perspectives |
|
|
113
|
+
| W001 | warning | Persona agent failed — partial perspectives | Exclude failed rows, inject gap_note, mark evidence_incomplete if <2 completed |
|
|
107
114
|
| W003 | warning | Git diff empty for HEAD/staged | Use file path instead |
|
|
108
115
|
</error_codes>
|
|
109
116
|
|
|
110
117
|
<success_criteria>
|
|
111
118
|
- [ ] Target resolved and context loaded
|
|
112
119
|
- [ ] Mode executed: review (3 parallel agents), challenge (adversarial), or consult (interactive)
|
|
120
|
+
- [ ] Failed persona rows excluded from synthesis input; gap_note injected if any failed; evidence_incomplete marked if <2 completed
|
|
113
121
|
- [ ] Synthesis produced with agreements, disagreements, verdict
|
|
114
122
|
- [ ] Report written to `KNW-opinion-{slug}-{date}.md`
|
|
115
123
|
- [ ] Non-trivial findings appended to `.workflow/specs/learnings.md`
|
|
@@ -2,18 +2,24 @@
|
|
|
2
2
|
name: maestro
|
|
3
3
|
description: Auto-route intent to optimal command chain
|
|
4
4
|
argument-hint: "\"intent text\" [-y] [-c|--continue] [--dry-run] [--super]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input, create_goal, update_plan, update_goal
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<purpose>
|
|
9
9
|
Sequential pipeline coordinator. Classify intent → decompose (broad lifecycle intents) →
|
|
10
10
|
resolve chain → **directly invoke each skill in-context, one at a time** → report.
|
|
11
11
|
|
|
12
|
+
### Notation
|
|
13
|
+
|
|
14
|
+
`Skill(name)` / `Skill(name, args)` = 加载 `~/.codex/skills/{name}/SKILL.md` 或 `.codex/skills/{name}/SKILL.md`(project 覆盖 global),args 填入目标 SKILL.md `<context>` 块的输入参数位。这是 skill 间的内部调用,**不是 CLI 命令**。严禁翻译为 `Bash("maestro {name} {args}")`。
|
|
15
|
+
|
|
16
|
+
合法 CLI 子命令仅限结构化操作:`maestro ralph next`、`maestro ralph complete`、`maestro delegate`、`maestro explore` 等。
|
|
17
|
+
|
|
12
18
|
Entry points:
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
19
|
+
- **`Skill(maestro, "intent")`** — Classify → decompose → chain → execute
|
|
20
|
+
- **`Skill(maestro, "--continue")`** — Resume from first pending step
|
|
21
|
+
- **`Skill(maestro, "--dry-run intent")`** — Show chain, no execution
|
|
22
|
+
- **`Skill(maestro, "--super intent")`** — Production-ready mode (read maestro-super.md)
|
|
17
23
|
|
|
18
24
|
Codex specifics (parity with maestro-ralph):
|
|
19
25
|
- **No agent spawning** — skills run directly in coordinator context, sequentially.
|
|
@@ -38,7 +44,7 @@ $ARGUMENTS — user intent text, or special flags.
|
|
|
38
44
|
</context>
|
|
39
45
|
|
|
40
46
|
<invariants>
|
|
41
|
-
1. **Skills invoked DIRECTLY in-context** — coordinator runs
|
|
47
|
+
1. **Skills invoked DIRECTLY in-context** — coordinator runs `Skill(skill_name, resolved_args)` itself, sequentially. NO spawn_agents_on_csv, NO wave/CSV/worker.
|
|
42
48
|
2. **Coordinator owns the loop** — classify → decompose → resolve chain → for each step: resolve args → invoke skill → read result → persist → next.
|
|
43
49
|
3. **Decomposition contract shared with maestro-ralph** — broad/lifecycle intents run S_DECOMPOSE producing the SAME additive block (`boundary_contract`, `execution_criteria`, `task_decomposition`). Reference maestro-ralph `A_DECOMPOSE_TASKS`
|
|
44
50
|
4. **Goal is tool-created** — `A_DECOMPOSE_TASKS` calls `create_goal` with sub-goal success criteria. `update_goal` on convergence; held while aborted/paused
|
|
@@ -49,7 +55,7 @@ $ARGUMENTS — user intent text, or special flags.
|
|
|
49
55
|
8. **schema 向后兼容** — decomposition 字段可选;`steps[]` 由 post-goal-audit 动态生长(goal_ref tagged);既有字段不删不改;`waves` 保留空数组
|
|
50
56
|
9. **Sequential execution** — one step at a time in index order; each step's result read before the next starts
|
|
51
57
|
10. **Abort on failure** — failed step → mark remaining skipped → report (goal stays bound for `--continue`)
|
|
52
|
-
11. **CLI ≠ Skill** — 本 skill 通过
|
|
58
|
+
11. **CLI ≠ Skill** — 本 skill 通过 `Skill(maestro, "intent")` 调用。`maestro` CLI 二进制不接受裸 intent(`Bash("maestro \"intent\"")` 会报错退出)。CLI 层只有结构化子命令:`ralph`、`delegate`、`explore`、`search` 等。
|
|
53
59
|
</invariants>
|
|
54
60
|
|
|
55
61
|
<state_machine>
|
|
@@ -279,7 +285,7 @@ Read `.workflow/state.json` and route by condition:
|
|
|
279
285
|
```
|
|
280
286
|
create_goal({ objective: "Maestro {chain}: {intent} — converge {N} sub-goals within boundary",
|
|
281
287
|
success_criteria: task_decomposition.map(g => `${g.id}: ${g.done_when}`),
|
|
282
|
-
constraints: [...execution_criteria, "stay within boundary_contract; resume via
|
|
288
|
+
constraints: [...execution_criteria, "stay within boundary_contract; resume via Skill(maestro, "--continue")"] })
|
|
283
289
|
```
|
|
284
290
|
|
|
285
291
|
### A_CREATE_SESSION
|
|
@@ -354,7 +360,7 @@ Direct in-context skill invocation — **replaces the old spawn/wave/CSV mechani
|
|
|
354
360
|
|
|
355
361
|
**--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`
|
|
356
362
|
2. Mark step `status="running"`, persist status.json + `update_plan` (this step → in_progress)
|
|
357
|
-
3. **Invoke the skill directly**: execute
|
|
363
|
+
3. **Invoke the skill directly**: execute `Skill(skill_name, resolved_args)` in coordinator context (NO spawn). Read its produced artifacts directly
|
|
358
364
|
4. On success: mark step `status="done"`. **Structured completion**: `Bash("maestro ralph complete {idx} --status DONE --summary \"...\" [--decisions \"...\"] [--caveats \"...\"] [--deferred \"...\"]")`(`--summary` MUST,动词开头 ≤100 字)。**Barrier-context update** (when step is a context-producing skill):
|
|
359
365
|
| Skill | Read | Context Updates |
|
|
360
366
|
|-------|------|-----------------|
|
|
@@ -379,7 +385,7 @@ S_DECISION_EVAL 入口;镜像 maestro-ralph `A_GOAL_AUDIT_EVALUATE`。Condense
|
|
|
379
385
|
|
|
380
386
|
### A_APPLY_GOAL_FIX
|
|
381
387
|
|
|
382
|
-
**Dynamic step-growth core** (mirrors maestro-ralph). For each unmet sub-goal (grouped by target_phase), insert before the post-goal-audit node a scoped mini-loop
|
|
388
|
+
**Dynamic step-growth core** (mirrors maestro-ralph). For each unmet sub-goal (grouped by target_phase), insert before the post-goal-audit node a scoped mini-loop `Skill(maestro-plan, "--gaps {phase} G{n}: {gap}") → Skill(maestro-execute, "{phase}")`, each tagged `goal_ref: "G{n}"`, type `"skill"`. Re-append `decision:post-goal-audit {retry+1}`. Reindex, increment retry, persist + `update_plan`. `steps[]` grew.
|
|
383
389
|
|
|
384
390
|
### A_APPLY_GOAL_DONE
|
|
385
391
|
|
|
@@ -562,13 +568,13 @@ Chain: {chain}
|
|
|
562
568
|
Steps: {completed}/{total} Sub-goals: {done}/{total}
|
|
563
569
|
|
|
564
570
|
STEP RESULTS:
|
|
565
|
-
[1]
|
|
566
|
-
[2]
|
|
571
|
+
[1] maestro-analyze --gaps → ✓ found 3 gaps
|
|
572
|
+
[2] maestro-plan --gaps → ✓ 12 tasks
|
|
567
573
|
[◆] post-goal-audit → ✓ all sub-goals met
|
|
568
574
|
...
|
|
569
575
|
|
|
570
576
|
State: .workflow/.maestro/{sessionId}/status.json
|
|
571
|
-
Resume:
|
|
577
|
+
Resume: Skill(maestro, "--continue")
|
|
572
578
|
```
|
|
573
579
|
|
|
574
580
|
</appendix>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-amend
|
|
3
3
|
description: Generate overlays to fix workflow command deficiencies
|
|
4
|
-
argument-hint: "[description] [--from-verify <dir>] [--from-review <dir>] [--from-session <id>] [--from-issues ISS-xxx,...] [--scan] [--dry-run]"
|
|
4
|
+
argument-hint: "[description] [--from-verify <dir>] [--from-review <dir>] [--from-session <id>] [--from-issues ISS-xxx,...] [--scan] [--dry-run] [-y]"
|
|
5
5
|
allowed-tools: Read, Write, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
<purpose>
|
|
@@ -33,6 +33,13 @@ Multiple combinable. No flags + no description → interactive (scan + request_u
|
|
|
33
33
|
|
|
34
34
|
**CLI targeting**: `"cli": "claude"` (default, patches .claude/commands/), `"codex"` (patches .codex/skills/), `"both"` (both paths)
|
|
35
35
|
|
|
36
|
+
**Source path mapping by CLI**:
|
|
37
|
+
| CLI | Pristine source path |
|
|
38
|
+
|-----|---------------------|
|
|
39
|
+
| `claude` | `$PKG_ROOT/.claude/commands/<name>.md` |
|
|
40
|
+
| `codex` | `.codex/skills/<name>/SKILL.md` |
|
|
41
|
+
| `both` | Both paths checked; overlay targets whichever exists |
|
|
42
|
+
|
|
36
43
|
**Output**: `~/.maestro/overlays/amend-{slug}.json` + optional `~/.maestro/overlays/docs/amend-{slug}.md`
|
|
37
44
|
</context>
|
|
38
45
|
|
|
@@ -62,6 +69,7 @@ S_GROUP:
|
|
|
62
69
|
→ S_PREVIEW DO: A_GROUP_OVERLAYS
|
|
63
70
|
|
|
64
71
|
S_PREVIEW:
|
|
72
|
+
→ S_DRAFT WHEN: `-y` flag set (skip confirmation, apply all)
|
|
65
73
|
→ S_DRAFT WHEN: user confirms "Apply all" or selects patches
|
|
66
74
|
→ S_PREVIEW WHEN: user selects "Edit" DO: modify signal target/section
|
|
67
75
|
→ END WHEN: user cancels
|
|
@@ -109,7 +117,7 @@ Per signal, determine:
|
|
|
109
117
|
| Scope/context gap | context | append |
|
|
110
118
|
| Entirely new concern | _(new section)_ | new-section |
|
|
111
119
|
|
|
112
|
-
Read pristine source
|
|
120
|
+
Read pristine source using CLI path mapping: `claude` → `$PKG_ROOT/.claude/commands/<name>.md`, `codex` → `.codex/skills/<name>/SKILL.md`. Confirm section exists in target.
|
|
113
121
|
Classify: command deficiency → proceed; code bug → skip (suggest $maestro-quick).
|
|
114
122
|
|
|
115
123
|
### A_GROUP_OVERLAYS
|
|
@@ -149,7 +149,11 @@ S_CSV_GEN:
|
|
|
149
149
|
S_WAVE_1:
|
|
150
150
|
-> S_WAVE_2 WHEN: full mode, 1+ completed DO: A_SPAWN_WAVE_1
|
|
151
151
|
-> S_WAVE_3 WHEN: gaps mode, 1+ completed DO: merge results
|
|
152
|
-
->
|
|
152
|
+
-> S_WAVE_1 (retry) WHEN: all failed, retry available DO: retry once
|
|
153
|
+
-> S_WAVE_2_DEGRADED WHEN: all failed, retry exhausted DO: flag ALL downstream LOW CONFIDENCE, record degradation_event in discoveries.ndjson
|
|
154
|
+
|
|
155
|
+
S_WAVE_2_DEGRADED:
|
|
156
|
+
-> S_WAVE_3 DO: A_SPAWN_WAVE_2 with degraded=true (scoring agents receive gap_note for all dimensions, outputs inherit LOW CONFIDENCE)
|
|
153
157
|
|
|
154
158
|
S_WAVE_2:
|
|
155
159
|
-> S_BOUNDARY_GRILL WHEN: 1+ completed DO: A_SPAWN_WAVE_2
|
|
@@ -234,6 +238,8 @@ Merge results -> master tasks.csv (map `result_status` → master `status`).
|
|
|
234
238
|
|
|
235
239
|
Filter `wave==3 AND status=="pending"` -> build prev_context from wave 2 scores (or project context for quick mode) -> spawn with `SYNTHESIS_INSTRUCTION + SHARED_TERMINATION_CONTRACT`.
|
|
236
240
|
|
|
241
|
+
**Failed-score exclusion**: when building prev_context, skip `context_from` IDs whose status is `failed`/`blocked`. Append a `gap_note` to the synthesis instruction listing which scoring dimensions are missing so the agent knows its evidence base is incomplete. When gaps exist, synthesis outputs MUST include a `confidence_penalty` and flag affected decisions as LOW CONFIDENCE.
|
|
242
|
+
|
|
237
243
|
**Synthesis agent**:
|
|
238
244
|
- Full mode: analysis.md (executive summary, per-dimension scores, risk matrix, Go/No-Go), context.md (Locked/Free/Deferred decisions), context-package.json, conclusions.json (with `scope_verdict` + `implementation_scope[]`)
|
|
239
245
|
- Quick mode: context.md + context-package.json + **minimal conclusions.json** (`scope_verdict` + `implementation_scope[]` only — seeds plan task generation per redesign §8.3)
|
|
@@ -50,7 +50,7 @@ maestro-analyze → maestro-roadmap → maestro-plan
|
|
|
50
50
|
</context>
|
|
51
51
|
|
|
52
52
|
<interview_protocol>
|
|
53
|
-
Interview the user relentlessly about every aspect of the spec until shared understanding is reached. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one; if a question can be answered by exploring the codebase, explore the codebase instead. Active only in interactive mode; skip when `-y/--yes
|
|
53
|
+
Interview the user relentlessly about every aspect of the spec until shared understanding is reached. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one; if a question can be answered by exploring the codebase, explore the codebase instead. Active only in interactive mode; skip ONLY when `-y/--yes` or `-c/--continue` is set.
|
|
54
54
|
|
|
55
55
|
- Ask one question per turn via request_user_input and wait for the user's feedback before continuing; every question must carry a recommended answer marked `(Recommended)`, 2–4 options total. The user controls termination — keep interviewing until convergence; they can interrupt naturally at any time.
|
|
56
56
|
- Search-first when uncertain: before asking, resolve via `state.json`, existing artifacts, `maestro load --type spec`, codebase exploration (`maestro explore` preferred, fallback Glob/Grep/Read). Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
|
|
@@ -173,9 +173,9 @@ INPUTS — read these files (do NOT modify):
|
|
|
173
173
|
- <ABS_SESSION>/guidance-specification.md
|
|
174
174
|
- <ABS_SESSION>/<role_1>/analysis.md
|
|
175
175
|
- <ABS_SESSION>/<role_2>/analysis.md
|
|
176
|
-
- ... (one per role from Wave 2)
|
|
176
|
+
- ... (one per COMPLETED role from Wave 2 — failed/blocked roles are excluded)
|
|
177
177
|
|
|
178
|
-
(Orchestrator MUST inject the actual absolute paths for
|
|
178
|
+
(Orchestrator MUST inject the actual absolute paths for completed Wave 2 rows ONLY. If any W2 roles failed, append a gap_note listing the missing roles so the reviewer can flag affected findings as LOW CONFIDENCE.)
|
|
179
179
|
|
|
180
180
|
TASK: Compare §2 Decision Digests across role analysis.md index files. Identify:
|
|
181
181
|
- Conflicts: contradictory stances between roles on the same feature/topic
|
|
@@ -306,8 +306,9 @@ S_CHECK_1 → S_WAVE_2 WHEN: (-y OR user "Proceed") AND ui-designer NOT in sel
|
|
|
306
306
|
S_CHECK_1 → S_CHECK_1 WHEN: user "Revise" DO: edit guidance-spec, re-display
|
|
307
307
|
S_CHECK_1 → END WHEN: user "Abort"
|
|
308
308
|
|
|
309
|
-
S_DESIGN → S_WAVE_2 WHEN: DESIGN.md exists
|
|
310
|
-
S_DESIGN → S_WAVE_2 WHEN:
|
|
309
|
+
S_DESIGN → S_WAVE_2 WHEN: DESIGN.md already exists (skip explore — visual direction locked)
|
|
310
|
+
S_DESIGN → S_WAVE_2 WHEN: user confirms explore AND explore completed DO: A_DESIGN_EXPLORE
|
|
311
|
+
S_DESIGN → S_WAVE_2 WHEN: user skips explore DO: set session.design_degraded=true, W2 ui-designer receives gap_note="DESIGN.md unavailable"
|
|
311
312
|
S_DESIGN → S_WAVE_2 WHEN: explore failed → W004 → retry once. If still fails: set session.design_degraded=true, record degradation_event in discoveries.ndjson, continue without. W2 ui-designer agent receives gap_note="DESIGN.md unavailable, design evidence incomplete" and outputs inherit LOW CONFIDENCE flag.
|
|
312
313
|
|
|
313
314
|
S_WAVE_2 → S_CHECK_2 WHEN: 1+ completed DO: spawn wave-2 (parallel), merge results — each agent writes {role}/analysis.md + sub-files
|
|
@@ -347,7 +348,7 @@ system-architect MUST include in §3: Data Model, State Machine, Error Handling,
|
|
|
347
348
|
|
|
348
349
|
The agent MUST write files. The agent MUST NOT return analysis as text.
|
|
349
350
|
|
|
350
|
-
**Cross-Role Review (W3, agent role `cross-role-reviewer`)**: Read
|
|
351
|
+
**Cross-Role Review (W3, agent role `cross-role-reviewer`)**: Read ONLY completed W2 role `{role}/analysis.md` files (§2 Decision Digests) + guidance-specification.md → emit structured report (NOT files). Failed/blocked W2 roles are excluded from W3 input; inject a `gap_note` listing which roles are missing so the reviewer knows its coverage is incomplete and flags affected cross-role findings as LOW CONFIDENCE:
|
|
351
352
|
|
|
352
353
|
```
|
|
353
354
|
## Conflicts (need user decision)
|
|
@@ -383,9 +384,11 @@ conflicts_count / gaps_count / synergies_count / review_confidence
|
|
|
383
384
|
|
|
384
385
|
When ui-designer is among selected roles, establish visual direction before Wave 2:
|
|
385
386
|
|
|
386
|
-
1. If `.workflow/impeccable/PRODUCT.md`
|
|
387
|
-
2.
|
|
388
|
-
|
|
387
|
+
1. If both `.workflow/impeccable/PRODUCT.md` and `.workflow/impeccable/DESIGN.md` already exist → skip (visual direction already locked).
|
|
388
|
+
2. Otherwise, **suggest** the missing steps to the user via `request_user_input` (skip gate when `-y/--yes`):
|
|
389
|
+
- If `PRODUCT.md` missing → suggest: "Run `maestro-impeccable teach` to establish product identity?" Options: `(Recommended) Yes` / `Skip`
|
|
390
|
+
- If `DESIGN.md` missing → suggest: "Run `maestro-impeccable explore` to establish visual direction?" Options: `(Recommended) Yes` / `Skip`
|
|
391
|
+
3. Only execute the impeccable commands if the user confirms (or `-y` auto mode). If the user skips, set `session.design_degraded=true` and continue — W2 ui-designer agent receives `gap_note="DESIGN.md unavailable"`.
|
|
389
392
|
|
|
390
393
|
explore generates multi-style HTML prototypes, visual comparison, user selection/mix, and produces DESIGN.md.
|
|
391
394
|
ui-designer agents in Wave 2 then focus on UX/visual design referencing DESIGN.md.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: maestro-collab
|
|
3
3
|
description: Use when a question needs cross-verification from multiple CLI tools or diverse analytical perspectives
|
|
4
4
|
argument-hint: "\"<requirement>\" [--tools agy,qwen,claude] [--mode analysis|write] [--rule <template>] [-y]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Glob, Grep, request_user_input
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<purpose>
|
|
@@ -68,7 +68,7 @@ $ARGUMENTS — requirement text and optional flags.
|
|
|
68
68
|
4. **NEVER fire-and-forget** — every shell_exec MUST complete before proceeding, result consumed before next step
|
|
69
69
|
5. **NEVER substitute internal reasoning** — if CLI fails, report failure; do NOT generate analysis yourself as replacement
|
|
70
70
|
6. **Indefinite wait** — shell_exec has NO max timeout; continue waiting until CLI returns regardless of elapsed time; NEVER abandon a running session
|
|
71
|
-
|
|
71
|
+
7. **Same prompt, different --to** — fan-out delegates all use identical base prompt, only `--to <tool>` differs
|
|
72
72
|
7. **Minimum 2 tools** — abort if fewer eligible
|
|
73
73
|
8. **Partial degradation** — 1 tool fails → continue with remaining (minimum 2 results for cross-verify)
|
|
74
74
|
</invariants>
|
|
@@ -142,8 +142,8 @@ Launch ALL delegate commands simultaneously in parallel:
|
|
|
142
142
|
|
|
143
143
|
```
|
|
144
144
|
// Parallel fan-out — one shell_exec per selected tool:
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
Bash(`maestro delegate "<shared_prompt>" --to agy --mode <mode> [--rule <rule>]`, { run_in_background: true })
|
|
146
|
+
Bash(`maestro delegate "<shared_prompt>" --to claude --mode <mode> [--rule <rule>]`, { run_in_background: true })
|
|
147
147
|
// ... one call per selected tool
|
|
148
148
|
// Execution mapping: @~/.maestro/workflows/shell-exec-protocol.md
|
|
149
149
|
```
|
|
@@ -241,7 +241,7 @@ Generate 3 output files from cross-verify results:
|
|
|
241
241
|
|
|
242
242
|
1. Copy outputs to scratchDir
|
|
243
243
|
2. Register CLB artifact in state.json (type: collab, scope: adhoc)
|
|
244
|
-
3. Spec enrichment: for each Locked decision
|
|
244
|
+
3. **Spec enrichment** (gated): for each Locked decision, display the proposed spec entry. Unless `-y/--yes`, `request_user_input` to confirm before writing. Only confirmed entries execute `maestro spec add arch "<title>" "<content>" --keywords <kw> --description "<summary>"`. Under `-y`, auto-write all Locked decisions.
|
|
245
245
|
4. `update_plan` all steps completed
|
|
246
246
|
5. Display summary:
|
|
247
247
|
```
|
|
@@ -34,7 +34,10 @@ $maestro-companion "route what should I do next"
|
|
|
34
34
|
**Mode detection priority:**
|
|
35
35
|
1. Explicit `before` / `note` / `after` / `route`
|
|
36
36
|
2. Intent text that is not a mode keyword → `route`
|
|
37
|
-
3. No arguments →
|
|
37
|
+
3. No arguments → show `git status` summary and ask user to choose mode via `request_user_input`:
|
|
38
|
+
- Options: `before` (start new task), `after` (review & promote), `route` (get next command suggestion)
|
|
39
|
+
- Display working tree status (clean/dirty, changed file count) as context for the choice
|
|
40
|
+
- NEVER auto-enter `after` mode based on dirty tree — let the user decide
|
|
38
41
|
|
|
39
42
|
**Flags:**
|
|
40
43
|
- `--task <description>` — Current task description (for targeted knowledge loading and doc title)
|
|
@@ -44,9 +44,12 @@ $ARGUMENTS — natural language workflow description, or flags.
|
|
|
44
44
|
|
|
45
45
|
| Detection | Condition | Handler |
|
|
46
46
|
|-----------|-----------|---------|
|
|
47
|
-
| Resume | `--resume`
|
|
47
|
+
| Resume | `--resume` flag explicitly set | Phase 0: Resume |
|
|
48
48
|
| Edit | `--edit <path>` | Phase 0: Load + Edit |
|
|
49
|
-
| New |
|
|
49
|
+
| New | Description text provided (non-empty args without flags) | Phase 1: Parse |
|
|
50
|
+
| Empty | No args, no flags | Phase 0: check for existing WFD drafts → if found, ask user via `request_user_input` whether to resume or start new; if none, Phase 1 |
|
|
51
|
+
|
|
52
|
+
**IMPORTANT**: An existing WFD draft does NOT auto-resume when new description text is provided. New intent always starts Phase 1 fresh. Auto-resume only triggers with explicit `--resume` or empty args with user confirmation.
|
|
50
53
|
|
|
51
54
|
**Node catalog**: Read `~/.maestro/templates/workflows/specs/node-catalog.md` at Phase 2 (deferred).
|
|
52
55
|
**Template schema**: Read `~/.maestro/templates/workflows/specs/template-schema.md` at Phase 5 (deferred).
|
|
@@ -121,7 +124,7 @@ If spec not found, use built-in fallback:
|
|
|
121
124
|
| `testing` | skill | `quality-test` |
|
|
122
125
|
| `review` | skill | `quality-review` |
|
|
123
126
|
| `brainstorm` | skill | `maestro-brainstorm` |
|
|
124
|
-
| `analysis` | cli | `maestro delegate --
|
|
127
|
+
| `analysis` | cli | `maestro delegate --to claude --mode analysis` |
|
|
125
128
|
| `refactor` | skill | `quality-refactor` |
|
|
126
129
|
| `debug` | skill | `quality-debug` |
|
|
127
130
|
| `spec` | skill | `maestro-blueprint` |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-execute
|
|
3
3
|
description: Use when a confirmed plan is ready for implementation
|
|
4
|
-
argument-hint: "[-y|--yes] [--concurrency N] [
|
|
4
|
+
argument-hint: "[-y|--yes] [--concurrency N] [--continue] \"<phase> [--auto-commit] [--method agent|cli] [--dir <path>]\""
|
|
5
5
|
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -67,7 +67,7 @@ All mean: **run convergence criteria check NOW**.
|
|
|
67
67
|
<context>
|
|
68
68
|
```bash
|
|
69
69
|
$maestro-execute "3"
|
|
70
|
-
$maestro-execute
|
|
70
|
+
$maestro-execute --concurrency 4 "3 --auto-commit"
|
|
71
71
|
$maestro-execute -y "3 --method cli"
|
|
72
72
|
$maestro-execute "3 --dir .workflow/scratch/quick-fix"
|
|
73
73
|
$maestro-execute --continue "20260318-execute-P3-phase3"
|
|
@@ -75,8 +75,8 @@ $maestro-execute --continue "20260318-execute-P3-phase3"
|
|
|
75
75
|
|
|
76
76
|
**Flags**:
|
|
77
77
|
- `-y, --yes`: Skip all confirmations (auto mode)
|
|
78
|
-
- `--concurrency N`: Max concurrent agents within each wave (default: 5)
|
|
79
|
-
-
|
|
78
|
+
- `--concurrency N`: Max concurrent agents within each wave (default: 5, no short flag)
|
|
79
|
+
- `--continue`: Resume existing session (no short flag)
|
|
80
80
|
|
|
81
81
|
**Inner flags** (passed inside quotes):
|
|
82
82
|
- `--auto-commit`: Atomic git commit after each task completion
|
|
@@ -178,7 +178,7 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column populated fr
|
|
|
178
178
|
Parse from $ARGUMENTS:
|
|
179
179
|
AUTO_YES ← --yes | -y
|
|
180
180
|
continueMode ← --continue
|
|
181
|
-
maxConcurrency ← --concurrency
|
|
181
|
+
maxConcurrency ← --concurrency N (default: 5)
|
|
182
182
|
autoCommit ← --auto-commit
|
|
183
183
|
executionMethod ← --method agent|cli (default: from config.json)
|
|
184
184
|
scratchDir ← --dir <path> (default: null)
|
|
@@ -352,7 +352,7 @@ Blocked/failed tasks cascade: mark all downstream dependents as `skipped` with e
|
|
|
352
352
|
3. **Write verification.json** to plan directory with per-task pass/fail and gap list
|
|
353
353
|
4. **Gate decision**:
|
|
354
354
|
- `overall_pass == true` → proceed to Phase 3
|
|
355
|
-
- Critical gaps (task criteria all failed) → log warning, mark affected tasks as `
|
|
355
|
+
- Critical gaps (task criteria all failed) → log warning, mark affected tasks as `failed` with error referencing verification gaps
|
|
356
356
|
- Non-critical gaps → record as `concerns` in verification.json, proceed
|
|
357
357
|
5. **Register VRF artifact**: `{ id: "VRF-{next}", type: "verify", scope, path: verification.json, depends_on: "EXC-{id}" }`
|
|
358
358
|
|
|
@@ -384,7 +384,11 @@ Skip Phase 2.5 when `--skip-verify` flag present or task count == 0.
|
|
|
384
384
|
- Root cause/workaround → `maestro spec add debug "<title>" "<content>" --keywords ... --description "<summary>"`
|
|
385
385
|
Mark artifact `harvested: true`
|
|
386
386
|
|
|
387
|
-
6. **Post-task Knowledge Inquiry**: After each task completes, evaluate inquiry triggers
|
|
387
|
+
6. **Post-task Knowledge Inquiry**: After each task completes, evaluate inquiry triggers.
|
|
388
|
+
|
|
389
|
+
**`-y` mode**: Skip all prompts. Instead, append triggered items to `context.md` under a "Suggested Knowledge Captures" section (suggest-only, no spec writes). This keeps `-y` fully non-interactive.
|
|
390
|
+
|
|
391
|
+
**Interactive mode**: Use `request_user_input` for each triggered item:
|
|
388
392
|
|
|
389
393
|
- **Execution deviation**: If task summary mentions approach change, dependency swap, or plan deviation:
|
|
390
394
|
→ Prompt: "TASK-{NNN} deviated from the plan. Record as architecture constraint?"
|
|
@@ -398,7 +402,6 @@ Skip Phase 2.5 when `--skip-verify` flag present or task count == 0.
|
|
|
398
402
|
→ Prompt: "Design decision detected. Record as a learning?"
|
|
399
403
|
→ On confirm: `maestro spec add learning "<decision>" "<rationale>" --keywords ... --description "<summary>" --source execute:{PLAN_DIR}`
|
|
400
404
|
|
|
401
|
-
Use `request_user_input` for prompts:
|
|
402
405
|
```json
|
|
403
406
|
{ "questions": [{ "id": "knowledge-capture", "header": "Knowledge Capture", "question": "...", "options": [{ "label": "Yes", "description": "Record to specs" }, { "label": "Skip", "description": "Continue without recording" }] }] }
|
|
404
407
|
```
|
|
@@ -58,7 +58,7 @@ Follow '~/.maestro/workflows/fork.md' completely.
|
|
|
58
58
|
**Fork flow:**
|
|
59
59
|
1. Validate: initialized, roadmap exists, not inside worktree, milestone not forked
|
|
60
60
|
2. Resolve milestone: `state.json.milestones[N-1]`
|
|
61
|
-
3. Create worktree: `git worktree add -b milestone/{slug} .worktrees/m{N}-{slug} HEAD`
|
|
61
|
+
3. Create worktree: `git worktree add -b milestone/{slug} .worktrees/m{N}-{slug} {base_branch}` (where `base_branch` = `--base` flag value or `HEAD` if not specified)
|
|
62
62
|
4. Copy `.workflow/`: shared files + milestone scratch artifacts
|
|
63
63
|
5. Write `worktree-scope.json` with milestone scope
|
|
64
64
|
6. Write scoped `state.json` (this milestone's artifacts only)
|
|
@@ -66,8 +66,9 @@ Follow '~/.maestro/workflows/fork.md' completely.
|
|
|
66
66
|
|
|
67
67
|
**Sync flow:**
|
|
68
68
|
1. Find worktree from `worktrees.json`
|
|
69
|
-
2. `
|
|
70
|
-
3.
|
|
69
|
+
2. Resolve sync source: use `--base <branch>` if provided, else use `base_branch` from `fork_sessions[]` entry, else default to `main`
|
|
70
|
+
3. `cd worktree && git merge {base_branch}`
|
|
71
|
+
4. Re-copy shared files (project.md, roadmap.md, config.json, specs/)
|
|
71
72
|
|
|
72
73
|
**Registry: `worktrees.json`** (`.workflow/worktrees.json` in main worktree):
|
|
73
74
|
|
|
@@ -11,7 +11,7 @@ Socratic stress-testing of a plan, idea, or requirement against codebase reality
|
|
|
11
11
|
Codex specifics:
|
|
12
12
|
- **No agent spawning** — codebase exploration via `maestro explore` (preferred, fallback Glob/Grep/Read).
|
|
13
13
|
- **request_user_input** replaces request_user_input for Socratic Q&A.
|
|
14
|
-
- **CLI delegation** for auto mode: `
|
|
14
|
+
- **CLI delegation** for auto mode: `Bash("maestro delegate ... --to claude --mode analysis")`.
|
|
15
15
|
</purpose>
|
|
16
16
|
|
|
17
17
|
<required_reading>
|
|
@@ -9,7 +9,7 @@ Configure directory-level write boundaries enforced by the workflow-guard PreToo
|
|
|
9
9
|
When enabled, Write and Edit tool calls targeting files outside allowed paths are blocked.
|
|
10
10
|
|
|
11
11
|
Subcommands:
|
|
12
|
-
- **on** -- Enable path guard (defaults to `src
|
|
12
|
+
- **on** -- Enable path guard (defaults to `["src/", "tests/", ".workflow/"]` if no paths configured)
|
|
13
13
|
- **off** -- Disable path guard (preserves path list)
|
|
14
14
|
- **status** -- Show current guard configuration
|
|
15
15
|
- **allow `<path>`** -- Add a directory to the allowed paths list
|
|
@@ -154,7 +154,7 @@ Layer 1+2 both did not match, but intent is to build/create a specific thing:
|
|
|
154
154
|
3. Interactive gates respected — teach, shape, craft retain user confirmation gates
|
|
155
155
|
4. status.json before chain steps — session created before any chain step runs
|
|
156
156
|
5. **Quality gate enforcement** — score MUST be parsed from critique/audit output (not assumed). P0 count MUST be extracted. Do NOT skip quality gate steps or mark as "passed" without parsing actual score.
|
|
157
|
-
6. **Chain completion verification** — all non-skipped steps MUST be executed (
|
|
157
|
+
6. **Chain completion verification** — all non-skipped steps MUST be executed (all tracked as completed in status.json). status.json MUST be updated with status: "completed" and final scores.
|
|
158
158
|
</invariants>
|
|
159
159
|
|
|
160
160
|
## Prerequisites
|
|
@@ -162,7 +162,7 @@ Layer 1+2 both did not match, but intent is to build/create a specific thing:
|
|
|
162
162
|
Before reading any command workflow:
|
|
163
163
|
|
|
164
164
|
1. **Context**: `maestro load --type spec --category ui` → if empty → `maestro impeccable load-context`
|
|
165
|
-
2. **PRODUCT.md**: missing/placeholder (<200 chars / `[TODO]`) →
|
|
165
|
+
2. **PRODUCT.md**: missing/placeholder (<200 chars / `[TODO]`) → prompt user via `request_user_input` to confirm running teach first ("PRODUCT.md is missing or incomplete. Run teach to set it up before proceeding?"). On confirm → execute teach, then resume original task. On decline → abort with message. When `-y` → auto-confirm and run teach without prompting.
|
|
166
166
|
3. **Register**: identify brand/product → Read `~/.maestro/workflows/impeccable/{brand|product}.md`
|
|
167
167
|
|
|
168
168
|
## Direct Execution
|
|
@@ -215,14 +215,14 @@ Before reading any command workflow:
|
|
|
215
215
|
- Read `~/.maestro/workflows/impeccable/{command}.md` → execute
|
|
216
216
|
- **Step start**: mark current step in_progress
|
|
217
217
|
- **Step done**: mark completed + update status.json (`current_step`, step `status`)
|
|
218
|
-
- **Step failed**: mark
|
|
218
|
+
- **Step failed**: mark as `failed` in status.json + record reason (do NOT mark completed)
|
|
219
219
|
6. **Quality gate** (critique/audit steps):
|
|
220
220
|
- Parse score: critique `**Total** | | **N/40**`, audit `**Total** | | **N/20**`
|
|
221
221
|
- Count `[P0]` / `[P1]` tags
|
|
222
222
|
- Pass: score ≥ threshold AND P0 == 0 → advance
|
|
223
223
|
- Fail: collect suggested commands from findings → execute → re-gate
|
|
224
|
-
- Max loops exceeded →
|
|
225
|
-
- Record gate result in current step notes (score, P0/P1 count, pass/fail)
|
|
224
|
+
- Max loops exceeded → mark step as `degraded` (not completed), record final score + unresolved P0s, log warning, advance to next step
|
|
225
|
+
- Record gate result in current step notes (score, P0/P1 count, pass/fail/degraded)
|
|
226
226
|
7. Final report: scores + trend + commands executed
|
|
227
227
|
|
|
228
228
|
## Resume
|
|
@@ -123,8 +123,9 @@ Write collected configuration to `.workflow/config.json`.
|
|
|
123
123
|
Run `Bash("maestro spec init")` to create empty seed files in `.workflow/specs/`.
|
|
124
124
|
|
|
125
125
|
If project state is **code** (existing source files detected in Step 2):
|
|
126
|
-
-
|
|
127
|
-
-
|
|
126
|
+
- Suggest `$spec-setup` to scan codebase and populate specs with detected conventions
|
|
127
|
+
- Ask user via `request_user_input`: "Source files detected. Run spec-setup to scan codebase conventions?" with options: "Yes, scan now (Recommended)" / "No, skip for now"
|
|
128
|
+
- Only run `$spec-setup` if user confirms
|
|
128
129
|
|
|
129
130
|
If project state is **empty** (greenfield, no source files found in Step 2):
|
|
130
131
|
- Skip spec-setup entirely — no code to scan
|