maestro-flow 0.5.42 → 0.5.43
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-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-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-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 +43 -5
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.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 +19 -1
- 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/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/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/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/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 +19 -1
- 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/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/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/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 +114 -0
- package/dist/src/tools/wiki-search.js.map +1 -0
- package/dist/src/utils/update-notices.js +12 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +4 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-milestone-audit
|
|
3
3
|
description: Audit current milestone for cross-phase integration gaps
|
|
4
|
-
argument-hint: "[milestone, e.g., 'M1']"
|
|
5
|
-
allowed-tools: spawn_agents_on_csv, Read, Write, Bash, Glob, Grep
|
|
4
|
+
argument-hint: "[milestone, e.g., 'M1'] [-y]"
|
|
5
|
+
allowed-tools: spawn_agents_on_csv, Read, Write, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<purpose>
|
|
@@ -28,9 +28,9 @@ $maestro-milestone-audit "M1"
|
|
|
28
28
|
### tasks.csv (Master State)
|
|
29
29
|
|
|
30
30
|
```csv
|
|
31
|
-
id,title,description,scope,check_targets,deps,wave,status,findings,gaps_found,severity,error
|
|
32
|
-
"integ-1","Interface & dependency chains","Verify shared interfaces are consistent across phases: re-exports match, dependency chains unbroken, no circular imports between phase outputs","cross-phase imports, shared types, re-exports","grep for shared type names across phase output dirs; verify export/import consistency","","1","pending","","","",""
|
|
33
|
-
"integ-2","Data contracts & API consistency","Verify request/response schemas match across phases: API signatures consistent, error codes aligned, no contract drift","request/response schemas, API signatures, error codes","diff API type definitions across phases; check error code enum consistency","","1","pending","","","",""
|
|
31
|
+
id,title,description,scope,check_targets,deps,wave,status,audit_verdict,findings,gaps_found,severity,error
|
|
32
|
+
"integ-1","Interface & dependency chains","Verify shared interfaces are consistent across phases: re-exports match, dependency chains unbroken, no circular imports between phase outputs","cross-phase imports, shared types, re-exports","grep for shared type names across phase output dirs; verify export/import consistency","","1","pending","","","","",""
|
|
33
|
+
"integ-2","Data contracts & API consistency","Verify request/response schemas match across phases: API signatures consistent, error codes aligned, no contract drift","request/response schemas, API signatures, error codes","diff API type definitions across phases; check error code enum consistency","","1","pending","","","","",""
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
**Columns**:
|
|
@@ -45,6 +45,7 @@ id,title,description,scope,check_targets,deps,wave,status,findings,gaps_found,se
|
|
|
45
45
|
| `deps` | Input | Dependencies (empty — all wave 1) |
|
|
46
46
|
| `wave` | Computed | Wave number (always 1 — single parallel wave) |
|
|
47
47
|
| `status` | Lifecycle | `pending` (initial) → `completed`/`failed` (set by merge step from worker's `result_status`) |
|
|
48
|
+
| `audit_verdict` | Lifecycle | `pass` / `warning` / `fail` — audit check outcome per dimension (merged from worker output) |
|
|
48
49
|
| `findings` | Lifecycle | Detailed findings per dimension (max 500 chars; merged) |
|
|
49
50
|
| `gaps_found` | Lifecycle | Semicolon-separated list of integration gaps (merged) |
|
|
50
51
|
| `severity` | Lifecycle | `critical` / `warning` / `info` per gap (merged) |
|
|
@@ -90,7 +91,14 @@ For each phase: check for completed analyze (optional), plan (required), execute
|
|
|
90
91
|
|
|
91
92
|
Verify all adhoc-scoped artifacts completed. For each execute artifact, verify all tasks in plan dir completed.
|
|
92
93
|
|
|
93
|
-
### Step 5:
|
|
94
|
+
### Step 5: Confirmation Gate
|
|
95
|
+
|
|
96
|
+
Unless `-y` flag is set, display audit scope summary and ask user via `request_user_input`:
|
|
97
|
+
- Show: milestone name, phase count, artifact count, integration dimensions to check
|
|
98
|
+
- Options: "Proceed with audit" / "Cancel"
|
|
99
|
+
- If cancelled → END
|
|
100
|
+
|
|
101
|
+
### Step 6: Integration Check via CSV Wave
|
|
94
102
|
|
|
95
103
|
1. Create session folder: `.workflow/.csv-wave/{dateStr}-audit-{milestone}/`
|
|
96
104
|
2. Build `tasks.csv` from csv_schema — populate `scope` and `check_targets` columns using phase artifacts discovered in Step 2
|
|
@@ -162,12 +170,16 @@ CONSTRAINTS:
|
|
|
162
170
|
- Do NOT call spawn_agents_on_csv (no recursion).
|
|
163
171
|
```
|
|
164
172
|
5. Parse `gaps_found` from all workers — aggregate into `.workflow/milestones/{milestone}/audit-report.md`
|
|
165
|
-
6.
|
|
173
|
+
6. Verdict determination:
|
|
174
|
+
- Any worker with `result_status == "failed"` (worker error, no verdict produced) → milestone verdict = **INCOMPLETE** (audit cannot pass with missing dimensions; re-run required)
|
|
175
|
+
- Any worker with `audit_verdict == "fail"` and `severity == "critical"` → milestone verdict = **FAIL**
|
|
176
|
+
- All workers completed with `audit_verdict` in `["pass", "warning"]` → milestone verdict = **PASS**
|
|
166
177
|
|
|
167
|
-
### Step
|
|
178
|
+
### Step 7: Verdict
|
|
168
179
|
|
|
169
|
-
**PASS**: All phases have completed EXC artifacts, no critical integration gaps, all adhoc completed.
|
|
180
|
+
**PASS**: All phases have completed EXC artifacts, no critical integration gaps, all adhoc completed, all integration workers completed successfully.
|
|
170
181
|
**FAIL**: Missing EXC artifacts or critical integration gaps found.
|
|
182
|
+
**INCOMPLETE**: One or more integration check workers failed (result_status="failed") — audit cannot produce a reliable verdict. Fix worker errors and re-run.
|
|
171
183
|
|
|
172
184
|
Display structured audit report.
|
|
173
185
|
|
|
@@ -38,8 +38,8 @@ Read `.workflow/state.json` for `current_milestone`, `artifacts[]`, `milestones[
|
|
|
38
38
|
|
|
39
39
|
Validate audit report at `.workflow/milestones/{milestone}/audit-report.md`:
|
|
40
40
|
- Parse for `## Verdict` section (or `**Verdict:**` inline)
|
|
41
|
-
- PASS condition: verdict line
|
|
42
|
-
- Any other verdict (FAIL, PARTIAL, missing section) → E002 unless `--force`
|
|
41
|
+
- PASS condition: verdict line matches strict pattern `^PASS$` (case-insensitive, trimmed) — rejects partial matches like "PASS_WITH_WARNINGS", "BYPASS", or "COMPASS"
|
|
42
|
+
- Any other verdict (FAIL, INCOMPLETE, PARTIAL, missing section) → E002 unless `--force`
|
|
43
43
|
|
|
44
44
|
Verify all milestone artifacts completed (E003 unless `--force`).
|
|
45
45
|
|
|
@@ -91,7 +91,7 @@ Learning content here.
|
|
|
91
91
|
|
|
92
92
|
1. **High-frequency patterns**: Scan all `<spec-entry category="learning">` entries for keyword overlap. Trigger threshold: **>=2 entries sharing the same keyword**. For each triggered keyword, ask: "Keyword '{keyword}' appears in {N} learning entries. Promote to formal coding convention?"
|
|
93
93
|
2. **Convention drift**: Compare executed task summaries against `coding-conventions.md` and `architecture-constraints.md`. Trigger threshold: **any deviation found** (technique used but not documented, or documented convention not followed). Ask: "Convention '{convention}' was bypassed during this milestone. Update conventions?"
|
|
94
|
-
3. **Wiki island check**:
|
|
94
|
+
3. **Wiki island check**: Suggest `wiki-connect --fix` to link new knowledge. Ask user via `request_user_input`: "Run wiki-connect to link new knowledge entries?" with options: "Yes, link now" / "No, skip". Only run if user confirms (or `-y` is set).
|
|
95
95
|
|
|
96
96
|
If `-y`: auto-accept all promotions without asking.
|
|
97
97
|
If not `-y`: ask user for confirmation via `request_user_input`:
|
|
@@ -34,7 +34,23 @@ $ARGUMENTS — optional explicit version and flags.
|
|
|
34
34
|
Follow '~/.maestro/workflows/milestone-release.md' completely.
|
|
35
35
|
|
|
36
36
|
**Flow:** Validate preconditions → Resolve version → Collect changes → Generate CHANGELOG →
|
|
37
|
-
Bump manifest → Commit → Tag → Push
|
|
37
|
+
**Confirmation gate** → Bump manifest → Commit → Tag → Push
|
|
38
|
+
|
|
39
|
+
**Default behavior**: Without explicit `--no-dry-run` or user confirmation, the skill runs in dry-run mode (preview only). This prevents accidental commits, tags, and pushes.
|
|
40
|
+
|
|
41
|
+
**Confirmation gate** (before any git write operations):
|
|
42
|
+
Unless `-y` flag is set, display a summary and ask user via `request_user_input`:
|
|
43
|
+
```
|
|
44
|
+
Release preview:
|
|
45
|
+
Version: v{previous} → v{new}
|
|
46
|
+
Milestone: {name}
|
|
47
|
+
Changelog: {N} entries
|
|
48
|
+
Actions: commit + tag{" + push" unless --no-push}
|
|
49
|
+
```
|
|
50
|
+
Options: "Confirm release" / "Dry-run only (preview)" / "Cancel"
|
|
51
|
+
- "Confirm release" → proceed with commit, tag, push
|
|
52
|
+
- "Dry-run only" → display report without writing
|
|
53
|
+
- "Cancel" → abort
|
|
38
54
|
|
|
39
55
|
**Report:**
|
|
40
56
|
```
|
|
@@ -64,6 +80,7 @@ Changelog: {N} entries
|
|
|
64
80
|
|
|
65
81
|
<success_criteria>
|
|
66
82
|
- [ ] Preconditions validated
|
|
83
|
+
- [ ] Confirmation gate passed (user confirmed or `-y` set) before any git write operations
|
|
67
84
|
- [ ] Target version computed and greater than previous
|
|
68
85
|
- [ ] Version manifest(s) updated
|
|
69
86
|
- [ ] CHANGELOG.md entry with milestone summary + grouped changes
|
|
@@ -3,6 +3,7 @@ name: maestro-next
|
|
|
3
3
|
description: "Single-command recommendation — pick the best next skill from the pool and execute it in-context"
|
|
4
4
|
argument-hint: "\"<intent>\" [-y] [--dry-run] [--top N] [--list]"
|
|
5
5
|
allowed-tools: Read, Bash, Glob, Grep, request_user_input
|
|
6
|
+
invocation-note: "$skill {args}" in output is a suggest-only display format — the user or parent orchestrator decides whether to execute
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
<purpose>
|
|
@@ -42,7 +43,7 @@ $ARGUMENTS — 意图文本 + 可选 flags。
|
|
|
42
43
|
1. **不创建 session / 不写 status.json / 不调用 create_goal/update_plan** — 单次原子调用,产出由目标 skill 自行管理
|
|
43
44
|
2. **管线编排器不在候选池** — `maestro` / `maestro-ralph*` / `maestro-player` / `maestro-composer` 永远不会被推荐
|
|
44
45
|
3. **Skill 发现限定 codex 平台** — 通过 `maestro ralph skills --platform codex --json --quiet` 解析 `command_scope` + `command_path`(project 覆盖 global,限定 `.codex/skills/`);未命中即 E003
|
|
45
|
-
4. **空 intent 或 "continue/next/go/继续/下一步/接下来"** → 直接采用 lifecycle_position
|
|
46
|
+
4. **空 intent 或 "continue/next/go/继续/下一步/接下来"** → 直接采用 lifecycle_position 推断的自然下一步(无需 clarification,不进入 S_PARSE 的 clarify 回合)
|
|
46
47
|
5. **字面命中路由表优先** — lifecycle 仅作加分;命中失败时 lifecycle 上升为决定性信号
|
|
47
48
|
6. **In-context invocation** — top pick 以 `$skill-name {args}` 形式在协调器上下文直接调用,**禁止** spawn_agent / spawn_agents_on_csv / shell_exec 包装
|
|
48
49
|
7. **参数传递** — 默认 intent 原文作为第一个 arg;用户可在 S_CONFIRM 修改;`-y` 仅当用户传入时透传到 skill args
|
|
@@ -60,7 +61,7 @@ S_LIST — `--list` 模式:分组展示候选池 PERS
|
|
|
60
61
|
S_PRESENT — 显示 top pick + 备选 + 推荐理由 + 执行参数 PERSIST: —
|
|
61
62
|
S_CONFIRM — request_user_input 选择/修改参数(auto_mode 跳过) PERSIST: —
|
|
62
63
|
S_EXECUTE — 在协调器上下文以 `$skill {args}` 直调 PERSIST: —
|
|
63
|
-
S_FALLBACK —
|
|
64
|
+
S_FALLBACK — 候选池全部 missing(E003) PERSIST: —
|
|
64
65
|
</states>
|
|
65
66
|
|
|
66
67
|
<transitions>
|
|
@@ -69,8 +70,7 @@ S_PARSE:
|
|
|
69
70
|
→ S_LIST WHEN: --list flag
|
|
70
71
|
→ S_STATE WHEN: intent text present
|
|
71
72
|
→ S_STATE WHEN: keyword "continue"/"next"/"go"/"继续"/"下一步"/"接下来"
|
|
72
|
-
→
|
|
73
|
-
→ S_FALLBACK WHEN: clarification empty
|
|
73
|
+
→ S_STATE WHEN: empty intent (treat as lifecycle next step — no clarification)
|
|
74
74
|
|
|
75
75
|
S_STATE:
|
|
76
76
|
→ S_RANK DO: A_INFER_LIFECYCLE
|
|
@@ -99,7 +99,7 @@ S_EXECUTE:
|
|
|
99
99
|
→ END DO: A_INVOKE_SKILL → 输出 "✓ executed $<skill>"
|
|
100
100
|
|
|
101
101
|
S_FALLBACK:
|
|
102
|
-
→ END DO: raise
|
|
102
|
+
→ END DO: raise E003
|
|
103
103
|
|
|
104
104
|
</transitions>
|
|
105
105
|
|
|
@@ -167,7 +167,7 @@ brainstorm → blueprint → init → analyze-macro → roadmap
|
|
|
167
167
|
|
|
168
168
|
| Intent 模式 | top pick |
|
|
169
169
|
|------------|---------|
|
|
170
|
-
| 空 / "continue" / "next" / "go" / "继续" / "下一步" / "接下来" | lifecycle
|
|
170
|
+
| 空 / "continue" / "next" / "go" / "继续" / "下一步" / "接下来" | lifecycle 自然下一步(空 intent 直接进入 S_STATE,不做 clarification) |
|
|
171
171
|
| "status" / "状态" / "现在到哪了" | `manage-status` |
|
|
172
172
|
| 字面命中路由表 | 路由表优先(lifecycle 仅加分) |
|
|
173
173
|
| 无任何匹配 | lifecycle 下一步 + raise W002 |
|
|
@@ -234,14 +234,15 @@ brainstorm → blueprint → init → analyze-macro → roadmap
|
|
|
234
234
|
|
|
235
235
|
### A_INVOKE_SKILL
|
|
236
236
|
|
|
237
|
-
在协调器上下文以 `$skill-name {args}`
|
|
237
|
+
在协调器上下文以 `$skill-name {args}` 形式输出推荐调用(suggest-only display — 由用户或父编排器决定是否执行):
|
|
238
238
|
|
|
239
239
|
1. 解析最终 args:
|
|
240
240
|
- 默认:`{intent}`(原文,去除已识别的关键词如 "continue")
|
|
241
241
|
- 用户改过:使用用户输入
|
|
242
242
|
- `-y` 透传:附加 `-y`(仅当用户传入且目标 skill 支持)
|
|
243
|
-
2.
|
|
244
|
-
|
|
243
|
+
2. 在响应中输出建议调用指令,例如:`$maestro-analyze "优化登录流程"`
|
|
244
|
+
- `$skill {args}` 是建议格式,非自动执行;用户确认后由协调器上下文执行
|
|
245
|
+
3. 执行后输出 `✓ executed $<skill-name>`
|
|
245
246
|
4. 不修改任何 `.workflow/` 文件;不创建 session;不触发后续 chain
|
|
246
247
|
|
|
247
248
|
</actions>
|
|
@@ -278,7 +279,7 @@ brainstorm → blueprint → init → analyze-macro → roadmap
|
|
|
278
279
|
|
|
279
280
|
| Code | Severity | Condition | Recovery |
|
|
280
281
|
|------|----------|-----------|----------|
|
|
281
|
-
| E001 | error | intent
|
|
282
|
+
| E001 | error | (reserved — empty intent now falls through to lifecycle next step) | — |
|
|
282
283
|
| E002 | error | codex skill 池为空(`maestro ralph skills --platform codex` 无结果) | 检查 `.codex/skills/` 与 `~/.codex/skills/` |
|
|
283
284
|
| E003 | error | 选定命令在 codex 平台未命中(`command_scope == "missing"`) | 列出 codex 可用 skill 让用户重选 |
|
|
284
285
|
| W001 | warning | top1 与 top2 得分差距 < 阈值 | 强制展示前 3 让用户裁决 |
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
name: maestro-overlay
|
|
3
3
|
description: Create or edit command overlays from natural language
|
|
4
4
|
argument-hint: "<intent> | --list | --remove <name>"
|
|
5
|
-
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
5
|
+
allowed-tools: Read, Write, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<purpose>
|
|
9
9
|
4-step pipeline: parse intent → identify targets + injection points → draft overlay JSON → install via CLI and report. Overlays are JSON patch files that augment `.claude/commands/*.md` non-invasively. They survive reinstalls because `maestro install` auto-reapplies them. Each overlay is idempotent: the patcher wraps content in hashed HTML-comment markers, so re-running `maestro overlay apply` produces no file changes.
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
Parse Intent → Identify Targets → Draft JSON → Install + Report
|
|
13
|
-
(or --list / (read command (apply_patch (shell_exec +
|
|
14
|
-
--remove) XML sections) to overlays/) banner)
|
|
12
|
+
Parse Intent → Identify Targets → Draft JSON → Preview+Confirm → Install + Report
|
|
13
|
+
(or --list / (read command (apply_patch (request_user_ (shell_exec +
|
|
14
|
+
--remove) XML sections) to overlays/) input preview) banner)
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
**Available injection sections**: `purpose`, `required_reading`, `deferred_reading`, `context`, `execution`, `error_codes`, `success_criteria`
|
|
@@ -46,7 +46,7 @@ $maestro-overlay "--remove cli-verify-after-execute"
|
|
|
46
46
|
3. **Idempotent content**: Injected blocks use hashed comment markers — re-runs produce no changes
|
|
47
47
|
4. **Heading required**: Every injected block must start with a `## <Title> (overlay)` heading
|
|
48
48
|
5. **Validate before report**: Run `maestro overlay add` successfully before displaying the report banner
|
|
49
|
-
6. **Max 2 clarification questions**: If intent is ambiguous, ask at most 2 focused questions
|
|
49
|
+
6. **Max 2 clarification questions**: If intent is ambiguous, ask at most 2 focused questions. After clarification, always show a preview of the overlay (target commands, injection section, mode, content summary) and request user confirmation via `request_user_input` before writing or installing. Never proceed with best-guess writes without confirmation.
|
|
50
50
|
</invariants>
|
|
51
51
|
|
|
52
52
|
<execution>
|
|
@@ -57,7 +57,7 @@ $maestro-overlay "--remove cli-verify-after-execute"
|
|
|
57
57
|
- `--list` → run `maestro overlay list`, then stop
|
|
58
58
|
- `--remove <name>` → run `maestro overlay remove <name>`, then stop
|
|
59
59
|
|
|
60
|
-
**Ambiguous intent**: If target command or injection point unclear, ask up to 2 focused questions
|
|
60
|
+
**Ambiguous intent**: If target command or injection point unclear, ask up to 2 focused questions via `request_user_input`.
|
|
61
61
|
|
|
62
62
|
### Step 2: Identify Targets and Injection Points
|
|
63
63
|
|
|
@@ -92,6 +92,16 @@ Build slug from intent (kebab-case, lowercase, max 40 chars). Write overlay to `
|
|
|
92
92
|
|
|
93
93
|
**Content guidelines**: Lead with `## Title (overlay)` heading. Use `@~/.maestro/...` references. Keep concise.
|
|
94
94
|
|
|
95
|
+
### Step 3.5: Preview and Confirm
|
|
96
|
+
|
|
97
|
+
Before writing or installing, show the user a preview via `request_user_input`:
|
|
98
|
+
- Target command(s) and injection section(s)
|
|
99
|
+
- Patch mode (append/prepend/replace/new-section)
|
|
100
|
+
- Content summary (first few lines of injected markdown)
|
|
101
|
+
- Overlay file path
|
|
102
|
+
|
|
103
|
+
Options: Confirm (proceed to install), Edit (revise content), Cancel (abort).
|
|
104
|
+
|
|
95
105
|
### Step 4: Install via CLI and Report
|
|
96
106
|
|
|
97
107
|
Run `maestro overlay add ~/.maestro/overlays/<slug>.json`. On validation failure, fix JSON and retry (max 2).
|
|
@@ -103,14 +103,20 @@ S_LOAD:
|
|
|
103
103
|
|
|
104
104
|
S_INIT:
|
|
105
105
|
→ END WHEN: --dry-run DO: display wave plan with [BARRIER] markers
|
|
106
|
-
→
|
|
106
|
+
→ S_CONFIRM DO: A_INIT_SESSION
|
|
107
|
+
|
|
108
|
+
S_CONFIRM:
|
|
109
|
+
→ S_WAVE_LOOP WHEN: -y OR --yes OR --continue OR --skip-questions OR user confirms
|
|
110
|
+
→ END WHEN: user cancels
|
|
111
|
+
GUARD: display wave plan (template, session, context, waves with [BARRIER] markers), request_user_input to confirm execution. Do NOT write state.json or spawn agents before confirmation.
|
|
107
112
|
|
|
108
113
|
S_WAVE_LOOP:
|
|
109
|
-
→ S_WAVE_LOOP WHEN:
|
|
114
|
+
→ S_WAVE_LOOP WHEN: 1+ completed in wave, more pending DO: A_EXECUTE_WAVE → advance (propagate incomplete marker if partial failures)
|
|
110
115
|
→ S_COMPLETE WHEN: all steps completed
|
|
111
|
-
→ END WHEN: checkpoint pause
|
|
112
|
-
→
|
|
113
|
-
|
|
116
|
+
→ END WHEN: checkpoint pause DO: set status=paused
|
|
117
|
+
→ S_WAVE_LOOP WHEN: all failed in wave, retry available DO: retry same wave (retry_count++, max 1 retry per wave)
|
|
118
|
+
→ END WHEN: all failed in wave, retry exhausted DO: set status=aborted, record retry_count and evidence_incomplete
|
|
119
|
+
GUARD: checkpoint nodes → handle inline (no spawn), save snapshot, optional user pause. Partial failures (1+ completed, some failed) → continue with incomplete marker, do NOT mark failed rows as completed.
|
|
114
120
|
|
|
115
121
|
S_COMPLETE:
|
|
116
122
|
→ END DO: display per-wave results, set status=completed
|
|
@@ -100,14 +100,14 @@ Update plan.json task statuses as completed.
|
|
|
100
100
|
|
|
101
101
|
### Step 9: Commit and Report
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
Stage only files modified during this skill execution (tracked via task summaries). Display the file list for user confirmation before committing (skip confirmation if `-y`). Commit: `git add <file1> <file2> ... && git commit -m "quick: {slug} - {short description}"`. NEVER use `git add -A` — it may stage unrelated changes. Update `.workflow/state.json` scratch task entry (if state.json exists).
|
|
104
104
|
|
|
105
105
|
Display report: task description, scratch path, status (completed/completed-with-gaps), tasks completed/total, files modified count. If `--full`: include verification result (PASS/GAPS).
|
|
106
106
|
|
|
107
107
|
</execution>
|
|
108
108
|
|
|
109
109
|
### Artifact Verification
|
|
110
|
-
Before reporting completion, verify: plan.json exists AND
|
|
110
|
+
Before reporting completion, verify: `{scratchDir}/plan.json` exists AND `{scratchDir}/plan.json` contains task statuses marked completed. Task status entries MUST include concrete evidence of completion (files_modified, verification results). If missing: DO NOT report completion.
|
|
111
111
|
|
|
112
112
|
<error_codes>
|
|
113
113
|
|
|
@@ -8,21 +8,29 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
|
8
8
|
Closed-loop decision engine for the maestro workflow lifecycle.
|
|
9
9
|
Reads project state → infers position → builds adaptive chain → delegates execution.
|
|
10
10
|
|
|
11
|
+
### Notation
|
|
12
|
+
|
|
13
|
+
`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}")`——CLI 不接受裸 intent。
|
|
14
|
+
|
|
15
|
+
合法 CLI 子命令仅限结构化操作:`maestro ralph next`、`maestro ralph complete`、`maestro ralph skills`、`maestro delegate`、`maestro explore` 等。
|
|
16
|
+
|
|
11
17
|
### Session
|
|
12
18
|
|
|
13
|
-
`.workflow/.maestro/{session_id}/status.json` — 工作流唯一真源(schema 见 `<appendix>`)。session_id 格式:`ralph-{YYYYMMDD-HHmmss}`(本 skill 创建,自适应链)或 `maestro-{YYYYMMDD-HHmmss}
|
|
19
|
+
`.workflow/.maestro/{session_id}/status.json` — 工作流唯一真源(schema 见 `<appendix>`)。session_id 格式:`ralph-{YYYYMMDD-HHmmss}`(本 skill 创建,自适应链)或 `maestro-{YYYYMMDD-HHmmss}`(`Skill(maestro)` coordinator 创建,静态链)。两类都由 `Skill(maestro-ralph-execute)` 推进。session-id 省略时:continue/execute 取最新 `status=="running"`;status 取最新 session(by created_at,不限 status)。
|
|
14
20
|
|
|
15
21
|
### Entry points
|
|
16
22
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
23
|
+
- **`Skill(maestro-ralph, "intent")`** — 新建 session:infer → decompose → build → create_goal(如有 decomposition)→ dispatch ralph-execute
|
|
24
|
+
- **`Skill(maestro-ralph, "continue [session-id]")`** — 用户入口:恢复执行,路由到 S_DISPATCH → `Skill(maestro-ralph-execute)`。省略 session-id 时取最新 `status=="running"` session
|
|
25
|
+
- **`Skill(maestro-ralph, "status [session-id]")`** — 显示进度。省略 session-id 时取最新 session(by created_at,不限 status)
|
|
20
26
|
|
|
21
|
-
>
|
|
27
|
+
> **continue vs ralph-execute**:用户说"继续"时走 `Skill(maestro-ralph, "continue")`(用户入口,经 S_DISPATCH handoff);内部 step 推进链和 decision 回调走 `Skill(maestro-ralph-execute)`(内部 handoff,跳过 ralph 路由层)。两者最终都由 ralph-execute 执行 step。
|
|
22
28
|
|
|
23
|
-
>
|
|
29
|
+
> 推进规则:**step 推进由 `Skill(maestro-ralph-execute)` 负责**;ralph 仅在 build / decision 评估时介入。decision 节点由 ralph-execute 自动 `Skill(maestro-ralph)` 直调 handoff,无需用户手动切换。
|
|
24
30
|
|
|
25
|
-
|
|
31
|
+
> **CLI vs Skill 边界**:`maestro` 作为 CLI 二进制只有结构化子命令(`ralph`、`delegate`、`explore` 等),不接受裸 intent。`Bash("maestro \"some intent\"")` 会报错退出。创建 session 和路由 intent 必须通过 `Skill(maestro-ralph)` 或 `Skill(maestro)` skill 调用。CLI 层仅用于 step 加载(`ralph next`)和完成标记(`ralph complete`)。
|
|
32
|
+
|
|
33
|
+
Initial decomposition (S_DECOMPOSE): boundary-clarified via ≤3 questions for broad intents (重构/全面/迁移/重写). 写入 status.json 的 `boundary_contract` / `execution_criteria` / `task_decomposition`,通过 `create_goal` 注册目标。
|
|
26
34
|
|
|
27
35
|
Step kinds:
|
|
28
36
|
- **执行 step**: ralph-execute 调 `Bash("maestro ralph next")` 加载 SKILL.md + required_reading 全文,按 stdout 内联执行
|
|
@@ -33,18 +41,18 @@ Key difference from maestro coordinator:
|
|
|
33
41
|
- ralph: living chain → decision nodes re-evaluate → chain grows/shrinks dynamically
|
|
34
42
|
|
|
35
43
|
Session: `.workflow/.maestro/ralph-{YYYYMMDD-HHmmss}/status.json`
|
|
36
|
-
Mutual invocation with
|
|
44
|
+
Mutual invocation with `Skill(maestro-ralph-execute)` forms a self-perpetuating work loop.
|
|
37
45
|
|
|
38
46
|
### Execution Flow
|
|
39
47
|
|
|
40
48
|
```
|
|
41
|
-
|
|
49
|
+
Skill(maestro-ralph, "intent") ─▶ ralph infer → decompose → build chain
|
|
42
50
|
│ resolves command_path per step
|
|
43
51
|
│ writes status.json
|
|
44
|
-
│
|
|
52
|
+
│ calls create_goal
|
|
45
53
|
▼
|
|
46
54
|
ralph-execute ◀─┐ 执行 step → `maestro ralph next` + inline + `ralph complete`
|
|
47
|
-
│ │ decision step →
|
|
55
|
+
│ │ decision step → Skill(maestro-ralph)
|
|
48
56
|
└─────────┘ CLI writes step.completion_confirmed
|
|
49
57
|
loop until all completion_confirmed | paused
|
|
50
58
|
```
|
|
@@ -74,20 +82,20 @@ Remaining → intent (amend_mode 时为 change_request)
|
|
|
74
82
|
|
|
75
83
|
<invariants>
|
|
76
84
|
1. **Ralph never executes steps** — only creates sessions and evaluates decisions
|
|
77
|
-
2. **Handoff via
|
|
85
|
+
2. **Handoff via `Skill(maestro-ralph-execute)` 直调** — 创建 session 后始终自动 handoff;decision 评估后始终 handoff
|
|
78
86
|
3. **Decision delegates read-only** — `maestro delegate --role analyze --mode analysis`
|
|
79
87
|
4. **执行 step 通过 `maestro ralph next` CLI 加载并内联执行**(详见 invariant 8)
|
|
80
88
|
5. **status.json 是唯一真源** — 不生成 markdown 清单或侧文件
|
|
81
89
|
6. **每个 step 必须 `completion_confirmed: true`** — 由 `maestro ralph complete N --status DONE`(或 DONE_WITH_CONCERNS)写入;CLI 是唯一合法写入路径
|
|
82
90
|
7. **command_path 在 A_BUILD_STEPS 解析** — 通过 `maestro ralph skills --platform codex --json --quiet` 预校验(project 覆盖 global,限定 `.codex/skills/`),命中即写绝对路径到 status.json;未命中标 `command_scope = "missing"`
|
|
83
91
|
8. **执行 step 加载契约** — 由 `maestro ralph next` CLI 在执行期完成:解析 frontmatter + `<required_reading>` + `<deferred_reading>`,自动读取 required 文件全文并拼入 prompt;缺失 required → 退出码 1(E007),pause session。ralph build 阶段只通过 `maestro ralph skills --platform codex` 校验路径存在性,不读 SKILL.md 内容
|
|
84
|
-
9. **Decomposition is outcome-oriented** — sub-goals 为可观测交付,禁止 lifecycle
|
|
92
|
+
9. **Decomposition is outcome-oriented** — sub-goals 为可观测交付,禁止 lifecycle 复刻;通过 `create_goal` 绑定目标,`update_goal` 在收敛时释放
|
|
85
93
|
10. **planning_mode governs arg granularity** — `unified` → skill args 无 `{phase}`;`independent` → 含 `{phase}`
|
|
86
94
|
11. **task_decomposition 驱动 steps[] 动态生长** — `post-goal-audit` 按 unmet 子目标插入 scoped mini-loop;字段可选/累加,既有字段不删不改
|
|
87
95
|
12. **Platform** — `session.platform = "codex"`;CLI 调用一律带 `--platform codex`
|
|
88
96
|
13. **Invariant violation = BLOCK** — violating any invariant above blocks the current operation. Do NOT bypass for "efficiency" or "clear intent" reasons. Especially invariants about ralph never executing steps and completion_confirmed by CLI.
|
|
89
97
|
14. **Delegate fallback must be marked** — when A_DELEGATE_EVALUATE verdict parse fails and falls back to "fix", MUST record `parse_failed: true, confidence_score: 0` in decisions.ndjson. Subsequent steps inherit LOW CONFIDENCE flag.
|
|
90
|
-
15. **CLI ≠ Skill** — `maestro` CLI binary 只提供结构化子命令(`ralph next|complete|skills|check|session`、`delegate`、`explore`、`search` 等),**不接受裸 intent**。Session 创建、intent 路由、decision 评估均为 skill
|
|
98
|
+
15. **CLI ≠ Skill** — `maestro` CLI binary 只提供结构化子命令(`ralph next|complete|skills|check|session`、`delegate`、`explore`、`search` 等),**不接受裸 intent**。Session 创建、intent 路由、decision 评估均为 skill 层操作:`Skill(maestro-ralph, "intent")` 或 `Skill(maestro, "intent")`。**严禁** `Bash("maestro \"intent text\"")` — CLI 会报错退出。
|
|
91
99
|
</invariants>
|
|
92
100
|
|
|
93
101
|
<state_machine>
|
|
@@ -170,7 +178,7 @@ S_CONFIRM:
|
|
|
170
178
|
→ END WHEN: user selects "Cancel"
|
|
171
179
|
|
|
172
180
|
S_DISPATCH:
|
|
173
|
-
→ END DO:
|
|
181
|
+
→ END DO: Skill(maestro-ralph-execute)
|
|
174
182
|
|
|
175
183
|
S_DECISION_EVAL: (decision 节点 == `step.decision` 非空,下述 gate 名取自该字段)
|
|
176
184
|
→ S_APPLY_VERDICT WHEN: quality-gate (post-execute, post-business-test, post-review, post-test)
|
|
@@ -220,7 +228,7 @@ S_FALLBACK:
|
|
|
220
228
|
|
|
221
229
|
### A_SHOW_STATUS
|
|
222
230
|
|
|
223
|
-
1. 若 `target_session_id` 提供 → 直接加载 `.workflow/.maestro/{target_session_id}/status.json`;否则取最新
|
|
231
|
+
1. 若 `target_session_id` 提供 → 直接加载 `.workflow/.maestro/{target_session_id}/status.json`;否则取最新 session(by created_at,不限 status)
|
|
224
232
|
2. Display: Session, Status, Position, Progress, Current step
|
|
225
233
|
3. List steps: [✓] completion_confirmed, [▸] current, [ ] pending, [◆] decision(`step.decision` 非空);执行 step 附 `command_scope`(global/project) + `command_path`
|
|
226
234
|
4. If `task_decomposition` present (absent → skip):
|
|
@@ -395,7 +403,16 @@ narrow → derive defaults from intent + codebase, skip questions.
|
|
|
395
403
|
|
|
396
404
|
**5. Persist** (additive): `boundary_contract`, `execution_criteria`, `task_decomposition`。每个 sub-goal 含 `status: "pending"` + `completion_confirmed: false`。
|
|
397
405
|
|
|
398
|
-
**6.
|
|
406
|
+
**6. Register goal** via `create_goal`:
|
|
407
|
+
```
|
|
408
|
+
create_goal({
|
|
409
|
+
objective: "Ralph {intent} — converge {N} sub-goals within boundary",
|
|
410
|
+
success_criteria: task_decomposition.map(g => `${g.id}: ${g.done_when}`),
|
|
411
|
+
constraints: [...execution_criteria,
|
|
412
|
+
"通过 Skill(maestro-ralph-execute) 推进 step,禁止绕过直接执行 steps[*].skill",
|
|
413
|
+
"禁止修改 boundary_contract.out_of_scope"]
|
|
414
|
+
})
|
|
415
|
+
```
|
|
399
416
|
|
|
400
417
|
### A_BUILD_STEPS
|
|
401
418
|
|
|
@@ -466,7 +483,7 @@ Generate steps from `session.lifecycle_position` to `milestone-complete`(`sess
|
|
|
466
483
|
1. Validate: 所有 step 的 `command_scope != "missing"`;否则 raise E006 + 列出缺失 skill
|
|
467
484
|
2. Write `.workflow/.maestro/ralph-{YYYYMMDD-HHmmss}/status.json` (Appendix: Session Schema);含 `platform: "codex"`, `cli_tool: "codex"`
|
|
468
485
|
3. Display chain overview:每步显示 `{index}. {skill} [{type}] [{command_scope}]`
|
|
469
|
-
4. If `task_decomposition` present:
|
|
486
|
+
4. If `task_decomposition` present: call `create_goal`(由 A_DECOMPOSE_TASKS 已注册)+ `update_plan`,继续 handoff
|
|
470
487
|
|
|
471
488
|
### A_DELEGATE_EVALUATE
|
|
472
489
|
|
|
@@ -663,7 +680,7 @@ GUARD: `task_decomposition` 存在(周期触发,见 build rule 5.5)
|
|
|
663
680
|
Intent: {session.intent}
|
|
664
681
|
Drift: {drift_description}
|
|
665
682
|
建议回归: {corrective_action}
|
|
666
|
-
选项:1)
|
|
683
|
+
选项:1) Skill(maestro-ralph, "continue") 忽略漂移继续 2) 手动修正后 continue 3) Skill(maestro-ralph, "status") 查看后决定
|
|
667
684
|
```
|
|
668
685
|
3. GUARD: auto_confirm 对本动作无效——漂移熔断不可自动跳过
|
|
669
686
|
|
|
@@ -671,7 +688,7 @@ GUARD: `task_decomposition` 存在(周期触发,见 build rule 5.5)
|
|
|
671
688
|
|
|
672
689
|
1. Set session status = "paused", write status.json
|
|
673
690
|
2. Display: ◆ 已达最大重试次数,debug 已执行。请人工介入。
|
|
674
|
-
3. Display:
|
|
691
|
+
3. Display: Skill(maestro-ralph, "continue") 恢复
|
|
675
692
|
|
|
676
693
|
### A_AMEND_GOAL
|
|
677
694
|
|
|
@@ -683,7 +700,7 @@ GUARD: `task_decomposition` 存在(周期触发,见 build rule 5.5)
|
|
|
683
700
|
| 2. 解析 | `change_request` 非空 → 直接用;为空 → request_user_input(修改/新增/移除/调整边界) | `change_type` + `change_request` |
|
|
684
701
|
| 3. Mini Grill | `maestro delegate --role analyze --mode analysis`:评估影响 | RISK_LEVEL + AFFECTED_GOALS + INVALIDATED_STEPS + NEW_GAPS |
|
|
685
702
|
| 4. 确认 | request_user_input:应用并继续 / 仅改目标 / 取消 | 用户选择 |
|
|
686
|
-
| 5. 应用 | 归档旧目标(`superseded`)→ 写入新目标(`origin: CHG-xxx`)→ 重建链路 → write status.json | handoff
|
|
703
|
+
| 5. 应用 | 归档旧目标(`superseded`)→ 写入新目标(`origin: CHG-xxx`)→ 重建链路 → write status.json | handoff Skill(maestro-ralph-execute) |
|
|
687
704
|
|
|
688
705
|
GUARD: `RISK_LEVEL == high` → request_user_input 不跳过(auto_confirm 无效)
|
|
689
706
|
GUARD: 已完成(`status: "done"`)的目标不可 supersede(skip + warn)
|
|
@@ -827,17 +844,13 @@ maestro-execute {target_phase} [goal_ref: G{n}]
|
|
|
827
844
|
decision:post-goal-audit {retry+1}
|
|
828
845
|
```
|
|
829
846
|
|
|
830
|
-
### Goal
|
|
831
|
-
|
|
832
|
-
链路概览后逐字显示(仅当 decomposition 已产出):
|
|
847
|
+
### Goal Management (Codex Built-in)
|
|
833
848
|
|
|
834
|
-
|
|
835
|
-
📋 任务分解完成。可随时复制以下 /goal 设定终止条件(执行过程中输入即可):
|
|
836
|
-
|
|
837
|
-
/goal 直到 {session_dir}/status.json 的 task_decomposition[*] 与 steps[*] 全部 completion_confirmed=true 才停。每轮以 status.json 为唯一行动手册,通过 $maestro-ralph-execute 推进 step;decision 节点由其自动 handoff 回 ralph 评估。禁止手动执行 skill 或修改 boundary_contract.out_of_scope。
|
|
838
|
-
```
|
|
849
|
+
Decomposition 产出后通过 Codex 内置工具管理目标(由 A_DECOMPOSE_TASKS 步骤 6 调用):
|
|
839
850
|
|
|
840
|
-
|
|
851
|
+
- `create_goal` — 注册目标 + success_criteria + constraints
|
|
852
|
+
- `update_plan` — 同步 steps[] 进度到 Codex plan 视图
|
|
853
|
+
- `update_goal` — 收敛时释放(A_APPLY_GOAL_DONE / session completed);abort/pause 时保持(支持 `Skill(maestro-ralph, "continue")` 恢复)
|
|
841
854
|
|
|
842
855
|
### Error Codes
|
|
843
856
|
|
|
@@ -879,7 +892,7 @@ decision:post-goal-audit {retry+1}
|
|
|
879
892
|
- [ ] planning_mode 显式决定;unified=无 `{phase}`, independent=带 `{phase}`
|
|
880
893
|
- [ ] Chain 必须以 `milestone-complete` 结尾
|
|
881
894
|
- [ ] Decision nodes 由 maestro delegate --role analyze 评估
|
|
882
|
-
- [ ] Ralph 不执行 step,只 evaluate
|
|
895
|
+
- [ ] Ralph 不执行 step,只 evaluate;`Skill(maestro-ralph-execute)` 直调 handoff
|
|
883
896
|
- [ ] session.platform = "codex";所有 CLI 调用携带 `--platform codex`
|
|
884
897
|
- [ ] Phase-level deferred chaining:plan/execute step 的 `--from`/`--dir` 注入由 A_RESOLVE_ARGS(ralph-execute)运行时完成;build 阶段标记意图,不预知 artifact ID
|
|
885
898
|
- [ ] Phase-level plan step 运行时获得 `--from analyze:{phase_analyze_id}`(由 ralph-execute 从 state.json 查找注入)
|