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,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: learn-investigate
|
|
3
3
|
description: Investigate questions with hypothesis testing and evidence logging
|
|
4
|
-
argument-hint: <question> [--scope <path>] [--max-hypotheses N]
|
|
4
|
+
argument-hint: <question> [--scope <path>] [--max-hypotheses N] [-y]
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- ask_question
|
|
7
7
|
- define_subagent
|
|
@@ -24,6 +24,7 @@ $ARGUMENTS — question text and optional flags.
|
|
|
24
24
|
**Flags**:
|
|
25
25
|
- `--scope <path>`: Restrict to files under this dir (default: entire project)
|
|
26
26
|
- `--max-hypotheses N`: Max hypotheses before escalation (default: 3)
|
|
27
|
+
- `-y`: Skip confirmation prompts for report/spec writes
|
|
27
28
|
|
|
28
29
|
**Storage write**:
|
|
29
30
|
- `.workflow/knowhow/KNW-investigate-{slug}/evidence.ndjson` — structured evidence (one JSON line per item)
|
|
@@ -59,11 +60,11 @@ S_PATTERN:
|
|
|
59
60
|
→ S_HYPOTHESIZE DO: match evidence against debug-notes.md + .workflow/specs/learnings.md patterns
|
|
60
61
|
|
|
61
62
|
S_HYPOTHESIZE:
|
|
62
|
-
→ S_CLI_EXPLORE WHEN: CLI tools enabled AND hypotheses non-trivial DO: A_FORM_HYPOTHESES
|
|
63
|
-
→ S_TEST WHEN: no CLI tools OR trivial hypotheses
|
|
63
|
+
→ S_CLI_EXPLORE WHEN: CLI tools enabled (at least one tool in cli-tools.json enabled) AND hypotheses non-trivial (require cross-file tracing or data-flow analysis) DO: A_FORM_HYPOTHESES
|
|
64
|
+
→ S_TEST WHEN: no CLI tools OR trivial hypotheses (answerable by local Grep/Read) DO: A_FORM_HYPOTHESES
|
|
64
65
|
|
|
65
66
|
S_CLI_EXPLORE:
|
|
66
|
-
→ S_TEST DO: A_CLI_SUPPLEMENT (maestro delegate --
|
|
67
|
+
→ S_TEST DO: A_CLI_SUPPLEMENT (maestro delegate --to <first-enabled-tool> --mode analysis, run_in_background, STOP)
|
|
67
68
|
|
|
68
69
|
S_TEST:
|
|
69
70
|
→ S_REPORT WHEN: hypothesis confirmed DO: A_TEST_HYPOTHESIS
|
|
@@ -75,7 +76,8 @@ S_ESCALATE:
|
|
|
75
76
|
→ S_REPORT WHEN: user selects "Escalate" or still stuck DO: mark INCONCLUSIVE
|
|
76
77
|
|
|
77
78
|
S_REPORT:
|
|
78
|
-
→ END
|
|
79
|
+
→ END GATE: unless -y, ask_question showing report.md path and spec-entries to append — proceed only on confirm
|
|
80
|
+
DO: A_SYNTHESIZE_REPORT
|
|
79
81
|
|
|
80
82
|
</transitions>
|
|
81
83
|
|
|
@@ -110,7 +112,7 @@ Rank by plausibility (evidence strength). Write to understanding.md:
|
|
|
110
112
|
maestro delegate "PURPOSE: Gather evidence for hypotheses
|
|
111
113
|
TASK: Trace call chains and data flows per hypothesis | Find corroborating/contradicting patterns
|
|
112
114
|
EXPECTED: JSON [{hypothesis_rank, evidence: [{file, line, supports: bool, explanation}]}]
|
|
113
|
-
" --
|
|
115
|
+
" --to <first-enabled-tool> --mode analysis
|
|
114
116
|
```
|
|
115
117
|
Run_in_background, STOP, wait. On callback: append to evidence.ndjson.
|
|
116
118
|
|
|
@@ -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: <target> [--mode review|challenge|consult]
|
|
4
|
+
argument-hint: <target> [--mode review|challenge|consult] [-y]
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- ask_question
|
|
7
7
|
- define_subagent
|
|
@@ -29,7 +29,9 @@ $ARGUMENTS — target and optional mode flag.
|
|
|
29
29
|
| `HEAD` / `staged` | `git diff HEAD` / `git diff --staged` |
|
|
30
30
|
| Phase number | Resolve via state.json.artifacts[] → plan.json |
|
|
31
31
|
|
|
32
|
-
**Flags**:
|
|
32
|
+
**Flags**:
|
|
33
|
+
- `--mode review|challenge|consult` (default: review)
|
|
34
|
+
- `-y`: Skip confirmation prompts for knowhow/spec writes
|
|
33
35
|
|
|
34
36
|
**Pre-load** (optional): `Skill("spec-load")` for conventions + `maestro search "<target topic>"` for related entries.
|
|
35
37
|
|
|
@@ -64,7 +66,8 @@ S_SYNTHESIZE:
|
|
|
64
66
|
→ S_PERSIST DO: merge perspectives → agreements, disagreements, verdict, top 3 recommendations
|
|
65
67
|
|
|
66
68
|
S_PERSIST:
|
|
67
|
-
→ END
|
|
69
|
+
→ END GATE: unless -y, ask_question showing files to write and spec-entries to append — proceed only on confirm
|
|
70
|
+
DO: write KNW-opinion + append <spec-entry> blocks to .workflow/specs/learnings.md
|
|
68
71
|
|
|
69
72
|
</transitions>
|
|
70
73
|
|
|
@@ -31,7 +31,7 @@ $ARGUMENTS — user intent text, or special keywords.
|
|
|
31
31
|
|
|
32
32
|
**Flags:**
|
|
33
33
|
- `-y` / `--yes` — Auto mode: skip clarification, skip confirmation, auto-skip on errors
|
|
34
|
-
- `-c` / `--continue` — Resume previous session
|
|
34
|
+
- `-c` / `--continue` — Resume previous session. **`-c` is reserved for `--continue` across all maestro commands** — downstream skills MUST NOT redefine `-c` for other purposes to prevent collision via transparent forwarding.
|
|
35
35
|
- `--dry-run` — Show chain without executing
|
|
36
36
|
- `--super` — Read and follow `maestro-super.md`
|
|
37
37
|
</context>
|
|
@@ -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:
|
|
6
6
|
- ask_question
|
|
7
7
|
- grep_search
|
|
@@ -47,7 +47,7 @@ $ARGUMENTS -- phase number for micro mode, topic text for macro/adhoc mode, no a
|
|
|
47
47
|
|------|--------|---------|
|
|
48
48
|
| `-y` / `--yes` | Auto mode — skip interactive scoping, use recommended defaults, auto-deepen | false |
|
|
49
49
|
| `-c` / `--continue` | Resume from existing session (auto-detect session folder + discussion.md) | false |
|
|
50
|
-
| `-q` / `--quick` | Quick mode — skip exploration + scoring, go straight to decision extraction (context.md only) | false |
|
|
50
|
+
| `-q` / `--quick` | Quick mode — skip exploration + scoring, go straight to decision extraction (context.md only). **Precedence**: when combined with `-c`, the resumed session preserves its original mode (full or quick); `-q` does NOT override a resumed full session to quick mode. | false |
|
|
51
51
|
| `--from <source>` | Load upstream context package (grill:ID, brainstorm:ID, blueprint:BLP-xxx, @file, or path) | — |
|
|
52
52
|
| `--gaps [ISS-ID]` | Issue root cause analysis mode. If ISS-ID provided, analyze single issue. If omitted, analyze all open/registered issues from issues.jsonl | — |
|
|
53
53
|
|
|
@@ -161,7 +161,7 @@ Status verdicts:
|
|
|
161
161
|
- [ ] Readiness gate: Pass (>=80%) or Review (>=60%) with documented caveats
|
|
162
162
|
- [ ] Artifact registered in state.json (type=blueprint)
|
|
163
163
|
- [ ] context-package.json generated for downstream consumption
|
|
164
|
-
- [ ] On gate Pass/Review: session sealed via finish-work (
|
|
164
|
+
- [ ] On gate Pass/Review: session sealed via finish-work (finish-work.md includes ask_question confirmation before state.json artifact registration and optional spec/knowhow extraction). On Fail: skip — session stays active, excluded from wiki search.
|
|
165
165
|
</success_criteria>
|
|
166
166
|
|
|
167
167
|
<on_complete>
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-brainstorm
|
|
3
3
|
description: Use when exploring ideas, evaluating approaches, or needing multi-perspective analysis before implementation
|
|
4
|
-
argument-hint: [topic|role-name] [--yes] [--count N] [--session ID] [--update] [--skip-questions] [--include-questions] [--style-skill PKG]
|
|
4
|
+
argument-hint: [topic|role-name] [--yes] [--count N] [--session ID] [--update] [--skip-questions] [--include-questions] [--style-skill PKG] [--review-only] [--from <source>]
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- ask_question
|
|
7
7
|
- define_subagent
|
|
8
8
|
- grep_search
|
|
9
9
|
- invoke_subagent
|
|
10
10
|
- manage_subagents
|
|
11
|
+
- replace_file_content
|
|
11
12
|
- run_command
|
|
12
13
|
- send_message
|
|
13
14
|
- view_file
|
|
@@ -53,6 +54,8 @@ $ARGUMENTS -- topic text for auto mode, or role name for single role mode.
|
|
|
53
54
|
| `--skip-questions` | Skip context gathering questions | false |
|
|
54
55
|
| `--include-questions` | Force context gathering even if analysis exists | false |
|
|
55
56
|
| `--style-skill PKG` | Style package for ui-designer role | — |
|
|
57
|
+
| `--review-only` | Run cross-role review on existing analyses without re-running role analysis | false |
|
|
58
|
+
| `--from <source>` | Load upstream context package (grill:ID, blueprint:ID, @file, or path) | — |
|
|
56
59
|
|
|
57
60
|
### Pre-load specs
|
|
58
61
|
1. **Architecture specs**: Run `maestro load --type spec --category arch` to load architecture constraints. Use as context for multi-role analysis — ensures roles respect documented decisions.
|
|
@@ -45,6 +45,7 @@ S_CONFIRM — 展示计划、用户确认(-y 跳过) PE
|
|
|
45
45
|
S_FANOUT — 构建 prompt、并行启动 delegate、STOP PERSIST: —
|
|
46
46
|
S_COLLECT — 回调到达、收集结果 PERSIST: per-tool outputs
|
|
47
47
|
S_CROSS_VERIFY — 分类发现(共识/冲突/独有) PERSIST: —
|
|
48
|
+
S_BOUNDARY_GRILL — 边界冲突检测与解决 PERSIST: —
|
|
48
49
|
S_SYNTHESIZE — 解决冲突、生成 3 个输出文件 PERSIST: outputs
|
|
49
50
|
S_REGISTER — 注册 CLB artifact PERSIST: state.json
|
|
50
51
|
S_REPORT — 显示摘要 + next-step routing PERSIST: —
|
|
@@ -86,7 +87,9 @@ S_SYNTHESIZE:
|
|
|
86
87
|
→ S_REGISTER DO: A_GENERATE_OUTPUTS
|
|
87
88
|
|
|
88
89
|
S_REGISTER:
|
|
89
|
-
→ S_REPORT DO: append CLB artifact to state.json (type: collab, scope: adhoc)
|
|
90
|
+
→ S_REPORT WHEN: user confirms or -y DO: append CLB artifact to state.json (type: collab, scope: adhoc)
|
|
91
|
+
→ S_REPORT WHEN: user declines DO: skip artifact registration, proceed to report
|
|
92
|
+
GUARD: ask_question "Register collab artifact to state.json?" (skipped if -y)
|
|
90
93
|
|
|
91
94
|
S_REPORT:
|
|
92
95
|
→ END DO: display summary (requirement, tools, consensus_level, per-tool status, artifact id, output dir)
|
|
@@ -98,8 +101,9 @@ S_REPORT:
|
|
|
98
101
|
### A_DISCOVER_TOOLS
|
|
99
102
|
|
|
100
103
|
```
|
|
101
|
-
run_command("maestro tools list --json 2
|
|
104
|
+
run_command("maestro tools list --json 2>$null || cat ~/.maestro/cli-tools.json")
|
|
102
105
|
```
|
|
106
|
+
**Note:** Shell commands MUST use the Bash tool (not PowerShell). Use POSIX syntax within Bash calls.
|
|
103
107
|
Filter: enabled == true. If --mode write: exclude type == "api-endpoint".
|
|
104
108
|
Auto-select (no --tools): first 3 eligible in config order.
|
|
105
109
|
|
|
@@ -411,7 +411,10 @@ Collect task outcome data:
|
|
|
411
411
|
|
|
412
412
|
```bash
|
|
413
413
|
# Detect files changed since companion doc creation
|
|
414
|
-
git
|
|
414
|
+
# Use git log --since for time-based filtering, then git diff for the range
|
|
415
|
+
git log --since="{companion_created_timestamp}" --format="%H" -1 # get oldest commit in range
|
|
416
|
+
git diff --name-only {oldest_commit}..HEAD # diff from that commit to HEAD
|
|
417
|
+
# Fallback if no commits since timestamp: git diff --name-only HEAD
|
|
415
418
|
```
|
|
416
419
|
|
|
417
420
|
Update frontmatter:
|
|
@@ -125,7 +125,7 @@ Read deferred `node-catalog.md` (fallback to built-in mapping):
|
|
|
125
125
|
| testing | `quality-test` |
|
|
126
126
|
| review | `quality-review` |
|
|
127
127
|
| brainstorm | `maestro-brainstorm` |
|
|
128
|
-
| analysis | `maestro delegate --
|
|
128
|
+
| analysis | `maestro delegate --to <tool> --mode analysis` |
|
|
129
129
|
| verify | `maestro-execute` |
|
|
130
130
|
| refactor | `quality-refactor` |
|
|
131
131
|
| debug | `quality-debug` |
|
|
@@ -155,7 +155,9 @@ Write `nodes.json`. Display resolved node list.
|
|
|
155
155
|
|
|
156
156
|
Read deferred `template-schema.md` (fallback to built-in structure).
|
|
157
157
|
Assemble template JSON: template_id, name, nodes, edges, checkpoints, context_schema, execution_mode.
|
|
158
|
-
|
|
158
|
+
**Confirmation gate**: ask_question showing template summary (ID, node count, variables) before writing.
|
|
159
|
+
- User confirms → write to `~/.maestro/templates/workflows/<slug>.json` and update index.json.
|
|
160
|
+
- User cancels → save draft, do not write template or index.
|
|
159
161
|
Display: path, ID, node count, variables, execute/edit commands. Clean up draft dir.
|
|
160
162
|
|
|
161
163
|
</actions>
|
|
@@ -88,8 +88,14 @@ Follow '~/.maestro/workflows/execute.md' completely.
|
|
|
88
88
|
- BLOCKED if missing: summary file absent or task status not updated — halt wave progression until evidence is recorded.
|
|
89
89
|
- Do NOT silently skip failed tasks — mark as blocked with reason.
|
|
90
90
|
|
|
91
|
+
**GATE 2.5: Wave Failure Handling**
|
|
92
|
+
- IF all tasks in a wave failed: halt wave progression, report E005 with per-task failure reasons. Do NOT proceed to next wave — downstream waves depend on current wave outputs.
|
|
93
|
+
- IF cascading failure (wave N fails → wave N+1 has unmet dependencies): mark all dependent tasks in subsequent waves as `blocked` with reason `"upstream_wave_failed"`. Skip blocked waves and proceed to completion with partial results.
|
|
94
|
+
- `-y` mode: auto-skip blocked waves without prompting, log warning W002.
|
|
95
|
+
- Non `-y` mode: `ask_question` with options [retry wave / skip and continue / abort execution].
|
|
96
|
+
|
|
91
97
|
**GATE 3: All Tasks → Completion**
|
|
92
|
-
- REQUIRED: All waves executed in dependency order.
|
|
98
|
+
- REQUIRED: All waves executed in dependency order (or explicitly skipped via Gate 2.5).
|
|
93
99
|
- REQUIRED: EXC artifact registered in state.json.
|
|
94
100
|
- BLOCKED if missing: waves incomplete or EXC artifact not registered — do not report execution complete.
|
|
95
101
|
|
|
@@ -102,27 +108,37 @@ Task summaries MUST include:
|
|
|
102
108
|
|
|
103
109
|
### Post-task Knowledge Inquiry
|
|
104
110
|
|
|
105
|
-
After each task completion, check triggers:
|
|
111
|
+
After each task completion, extract structured fields from the task summary, then check triggers:
|
|
112
|
+
|
|
113
|
+
**Structured extraction** (from `.summaries/TASK-{NNN}-summary.md`):
|
|
114
|
+
- `deviations[]` — explicit plan deviations (look for "deviated", "changed approach", "instead of", "unlike plan")
|
|
115
|
+
- `design_rationale[]` — explicit design decisions (look for "chose X because", "decided to", "trade-off")
|
|
116
|
+
- `retry_count` — from `.task/TASK-{NNN}.json` status history
|
|
106
117
|
|
|
107
118
|
| Condition | Ask | Route |
|
|
108
119
|
|-----------|-----|-------|
|
|
109
|
-
|
|
|
110
|
-
| retry_count >= 2 | "Document fix pattern?" | spec-add debug |
|
|
111
|
-
|
|
|
120
|
+
| `deviations[]` is non-empty | "Record as arch constraint?" | spec-add arch |
|
|
121
|
+
| `retry_count >= 2` | "Document fix pattern?" | spec-add debug |
|
|
122
|
+
| `design_rationale[]` is non-empty | "Record as knowhow?" | spec-add learning |
|
|
112
123
|
|
|
113
124
|
On confirm → `Skill("spec-add", "<category> <content> --description \"<summary>\"")`.
|
|
114
125
|
Include `--description` with a one-line summary for search result display.
|
|
115
126
|
|
|
116
127
|
### Issue Status Sync
|
|
117
128
|
|
|
118
|
-
On each task completion, if `task.issue_id` exists, sync status back to the issue in `.workflow/issues/issues.jsonl
|
|
129
|
+
On each task completion, if `task.issue_id` exists, sync status back to the issue in `.workflow/issues/issues.jsonl`.
|
|
130
|
+
|
|
131
|
+
**Confirmation gate**: Before writing to issues.jsonl, show the proposed status change and ask for confirmation — unless `-y` is active, in which case auto-approve.
|
|
119
132
|
|
|
120
133
|
```
|
|
121
134
|
For each completed/failed TASK with issue_id:
|
|
122
135
|
Read issue from issues.jsonl by issue_id
|
|
123
136
|
Collect all task_refs[] statuses for that issue:
|
|
124
|
-
all task_refs completed → issue.status = "resolved"
|
|
125
|
-
any task_ref failed → issue.status = "in_progress"
|
|
137
|
+
all task_refs completed → proposed issue.status = "resolved"
|
|
138
|
+
any task_ref failed → proposed issue.status = "in_progress"
|
|
139
|
+
IF NOT auto_mode (-y):
|
|
140
|
+
ask_question: "Update issue {issue_id} status to {proposed_status}?" [Yes / Skip]
|
|
141
|
+
IF Skip → continue to next task without writing
|
|
126
142
|
Append history entry: { action: "executed", at: <ISO>, by: "maestro-execute", summary: "TASK-{NNN} {status}" }
|
|
127
143
|
Write updated issue back to issues.jsonl
|
|
128
144
|
```
|
|
@@ -171,7 +187,9 @@ Status verdicts:
|
|
|
171
187
|
| E002 | error | Plan directory not found | Check --dir path |
|
|
172
188
|
| E003 | error | plan.json not found in directory | Verify plan.json exists, run maestro-plan first |
|
|
173
189
|
| E004 | error | No pending tasks, all tasks already completed | Check task statuses, reset if needed |
|
|
190
|
+
| E005 | error | All tasks in wave failed — wave progression halted | Review per-task failure reasons; retry wave or abort |
|
|
174
191
|
| W001 | warning | Executor completed with partial failures | Check task dependencies, retry failed wave |
|
|
192
|
+
| W002 | warning | Cascading wave failure — downstream waves auto-blocked | Review blocked tasks; re-run after fixing upstream failures |
|
|
175
193
|
</error_codes>
|
|
176
194
|
|
|
177
195
|
<success_criteria>
|
|
@@ -55,9 +55,10 @@ Fork and sync algorithm steps are defined in workflow `fork.md`.
|
|
|
55
55
|
- BLOCKED if missing: worktree creation failed or shared files not copied — do not proceed to artifact scoping.
|
|
56
56
|
|
|
57
57
|
**GATE 3: Artifact Copy → Completion**
|
|
58
|
-
- REQUIRED:
|
|
59
|
-
- REQUIRED:
|
|
60
|
-
- REQUIRED: `
|
|
58
|
+
- REQUIRED: ask_question confirmation before registry writes — show milestone scope, worktree path, and state entries to be written. User must confirm or abort.
|
|
59
|
+
- REQUIRED: `worktree-scope.json` written with milestone scope (after confirmation).
|
|
60
|
+
- REQUIRED: Scoped `state.json` written (only this milestone's artifacts) (after confirmation).
|
|
61
|
+
- REQUIRED: `worktrees.json` registry updated in main worktree (after confirmation).
|
|
61
62
|
- BLOCKED if missing: scope marker, scoped state, or registry update absent — worktree is unusable without these.
|
|
62
63
|
|
|
63
64
|
**Sync mode:**
|
|
@@ -153,7 +153,7 @@ Status verdicts:
|
|
|
153
153
|
- [ ] Risk register captures all unresolved tensions
|
|
154
154
|
- [ ] `context-package.json` generated with schema "context-package/1.0"
|
|
155
155
|
- [ ] Artifact registered in state.json (type=grill, id=GRL-xxx)
|
|
156
|
-
- [ ] Session sealed via finish-work
|
|
156
|
+
- [ ] Session sealed via finish-work (finish-work.md includes ask_question confirmation before state.json artifact registration and optional spec/knowhow extraction)
|
|
157
157
|
</success_criteria>
|
|
158
158
|
|
|
159
159
|
<on_complete>
|
|
@@ -64,14 +64,14 @@ Read `.workflow/config.json`. If file missing, initialize with empty guard secti
|
|
|
64
64
|
|
|
65
65
|
**`allow <path>`:**
|
|
66
66
|
- Normalize path to forward slashes, ensure trailing slash for directories
|
|
67
|
-
- If `guard.mode` is `deny`,
|
|
67
|
+
- If `guard.mode` is `deny`, ask_question: "Switching from deny to allow mode will clear existing paths ({N} paths). Continue?" — abort if user declines.
|
|
68
68
|
- Add path to `guard.paths` (deduplicate)
|
|
69
69
|
- Set `guard.enabled = true` if not already
|
|
70
70
|
- Write config
|
|
71
71
|
|
|
72
72
|
**`deny <path>`:**
|
|
73
73
|
- Normalize path to forward slashes, ensure trailing slash for directories
|
|
74
|
-
- If `guard.mode` is `allow`,
|
|
74
|
+
- If `guard.mode` is `allow`, ask_question: "Switching from allow to deny mode will clear existing paths ({N} paths). Continue?" — abort if user declines.
|
|
75
75
|
- Set `guard.mode = "deny"`
|
|
76
76
|
- Add path to `guard.paths` (deduplicate)
|
|
77
77
|
- Set `guard.enabled = true` if not already (symmetric with `allow`: adding a deny path auto-enables the guard)
|
|
@@ -203,7 +203,8 @@ Before reading any command workflow:
|
|
|
203
203
|
- `↺` marks refine loop with max iteration count
|
|
204
204
|
- Conditional steps show trigger condition
|
|
205
205
|
- Skipped conditional steps marked `(skipped)`
|
|
206
|
-
3. Create session
|
|
206
|
+
3. **Confirm chain session**: ask_question "Create chain session for '{chain_type}' targeting '{target}'?" — proceed only if user confirms. On decline, abort chain.
|
|
207
|
+
Create session: `.workflow/.maestro/ui-craft-{YYYYMMDD-HHmmss}/status.json`
|
|
207
208
|
```json
|
|
208
209
|
{ "chain_type": "...", "target": "...", "steps": [...], "current_step": 0,
|
|
209
210
|
"gate_history": [], "loop_count": 0, "status": "running" }
|
|
@@ -54,7 +54,18 @@ Follow '~/.maestro/workflows/merge.md' completely.
|
|
|
54
54
|
<completion>
|
|
55
55
|
### Knowledge inquiry
|
|
56
56
|
|
|
57
|
-
After successful merge,
|
|
57
|
+
After successful merge, use `ask_question` to confirm knowledge persistence:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
question: "Merge 完成。是否记录里程碑经验教训?"
|
|
61
|
+
options:
|
|
62
|
+
- label: "记录经验"
|
|
63
|
+
description: "通过 spec-add 持久化此次里程碑的关键洞察"
|
|
64
|
+
- label: "跳过"
|
|
65
|
+
description: "不记录,直接完成"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
User selects "记录经验" → prompt for title/insight, then persist via `Skill("spec-add", "learning \"<title>\" \"<insight>\" --keywords <kw1>,<kw2> --description \"<summary>\"")`. User selects "跳过" → proceed to next-step routing.
|
|
58
69
|
|
|
59
70
|
### Next-step routing
|
|
60
71
|
|
|
@@ -25,6 +25,7 @@ Produces audit-report.md with PASS/FAIL verdict.
|
|
|
25
25
|
|
|
26
26
|
<context>
|
|
27
27
|
Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json).
|
|
28
|
+
If $ARGUMENTS is empty AND current_milestone is null → raise E001 with message "No milestone specified and no current_milestone set in state.json. Provide a milestone identifier as argument."
|
|
28
29
|
|
|
29
30
|
**Requires:** All phases in the milestone should have completed execute artifacts.
|
|
30
31
|
|
|
@@ -29,6 +29,7 @@ Requires audit PASS; produces milestone archive and learnings.
|
|
|
29
29
|
|
|
30
30
|
<context>
|
|
31
31
|
Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json).
|
|
32
|
+
If $ARGUMENTS is empty AND current_milestone is null → raise E001 with message "No milestone specified and no current_milestone set in state.json. Provide a milestone identifier as argument."
|
|
32
33
|
|
|
33
34
|
**Requires:** `/maestro-milestone-audit` should have passed.
|
|
34
35
|
|
|
@@ -61,7 +62,8 @@ Archive flow steps (validation, directory archival, artifact history, knowhow ex
|
|
|
61
62
|
- BLOCKED if missing: knowhow extraction not attempted or project.md not updated — state advancement requires completed knowledge capture.
|
|
62
63
|
|
|
63
64
|
**GATE 4: State Advancement → Completion**
|
|
64
|
-
- REQUIRED: state.json
|
|
65
|
+
- REQUIRED: ask_question confirmation before state.json advancement — show current milestone, next milestone (or null for adhoc), and artifacts to clear. User must confirm or abort.
|
|
66
|
+
- REQUIRED: state.json updated — next milestone as current (standard) or current_milestone=null (adhoc) (after confirmation).
|
|
65
67
|
- REQUIRED: Roadmap snapshot saved (standard only).
|
|
66
68
|
- BLOCKED if missing: state.json not advanced — project remains stuck on completed milestone.
|
|
67
69
|
|
|
@@ -75,9 +77,12 @@ After knowhow extraction (step 4), scan `learnings.md` for promotion candidates:
|
|
|
75
77
|
2. **Convention drift detection**: Compare executed task summaries against `coding-conventions.md` and `architecture-constraints.md`:
|
|
76
78
|
→ Ask: "Were any established conventions bypassed during this milestone? Should conventions be updated?"
|
|
77
79
|
|
|
78
|
-
3. **Wiki island check**:
|
|
80
|
+
3. **Wiki island check**: ask_question "Run wiki-connect --fix to link newly extracted knowledge?" — execute `manage-wiki connect --fix` only if user confirms.
|
|
79
81
|
|
|
80
|
-
|
|
82
|
+
Each promotion candidate requires explicit user confirmation via ask_question before writing:
|
|
83
|
+
- **"Promote"** → invoke `view_file(AbsolutePath="<agy-skills-dir>/spec-add/SKILL.md") + execute inline (args: "<category> <content>")` with promoted content, preserving original date and source traceability.
|
|
84
|
+
- **"Skip"** → do not promote this candidate; proceed to next.
|
|
85
|
+
- **"Skip all"** → skip remaining candidates.
|
|
81
86
|
|
|
82
87
|
**Adhoc milestone (D-008):** When completing an adhoc milestone, skip roadmap snapshot and do not advance to next milestone. Set `current_milestone = null`, `status = "idle"`. Adhoc milestones are self-contained — no successor in roadmap chain.
|
|
83
88
|
</execution>
|
|
@@ -72,10 +72,13 @@ Follow '~/.maestro/workflows/milestone-release.md' completely.
|
|
|
72
72
|
|
|
73
73
|
**GATE 3: Changelog → Tag/Push**
|
|
74
74
|
- REQUIRED: CHANGELOG.md entry written with milestone summary + grouped changes.
|
|
75
|
-
- REQUIRED:
|
|
75
|
+
- REQUIRED: ask_question confirmation before creating release commit — show version, changelog diff, and files to be committed. User must confirm or abort.
|
|
76
|
+
- REQUIRED: Release commit created with conventional message (after confirmation).
|
|
76
77
|
|
|
77
|
-
**GATE 4: Tag → Completion**
|
|
78
|
-
- REQUIRED:
|
|
78
|
+
**GATE 4: Tag → Push → Completion**
|
|
79
|
+
- REQUIRED: ask_question confirmation before git tag creation — show tag name and annotation (unless --no-tag). User must confirm or abort.
|
|
80
|
+
- REQUIRED: Annotated git tag created (unless --no-tag) (after confirmation).
|
|
81
|
+
- REQUIRED: ask_question confirmation before git push — show remote and refs to push (unless --no-push). User must confirm or abort.
|
|
79
82
|
- REQUIRED: state.json updated with last_release_version + last_release_at.
|
|
80
83
|
|
|
81
84
|
For `--dry-run`: print computed version, changelog diff, and tag name without side effects.
|
|
@@ -134,5 +137,6 @@ Status verdicts:
|
|
|
134
137
|
- [ ] Release commit created with conventional message
|
|
135
138
|
- [ ] Annotated git tag created (unless `--no-tag`)
|
|
136
139
|
- [ ] Commit + tag pushed to remote (unless `--no-push` or push failed → W002)
|
|
137
|
-
- [ ]
|
|
140
|
+
- [ ] User confirmed before each destructive git operation (commit, tag, push) via ask_question
|
|
141
|
+
- [ ] state.json updated with last_release_version + last_release_at timestamp (after ask_question confirmation)
|
|
138
142
|
</success_criteria>
|
|
@@ -133,6 +133,15 @@ Handoff rules:
|
|
|
133
133
|
- Support runtime variable placeholders: `{phase}`, `{description}`, `{session_id}`
|
|
134
134
|
- Keep handoff block under 10 lines of markdown
|
|
135
135
|
|
|
136
|
+
### 3.5. Content approval
|
|
137
|
+
|
|
138
|
+
Display the full overlay JSON to the user. ask_question:
|
|
139
|
+
- **"Approve & install"** — proceed to installation
|
|
140
|
+
- **"Edit"** — user provides corrections, re-draft
|
|
141
|
+
- **"Cancel"** — discard overlay, do not write
|
|
142
|
+
|
|
143
|
+
Only write the overlay JSON file to `~/.maestro/overlays/<slug>.json` after user approval.
|
|
144
|
+
|
|
136
145
|
### 4. Install via `maestro overlay add`
|
|
137
146
|
|
|
138
147
|
Run:
|
|
@@ -40,6 +40,7 @@ Scope routing, base flags (`--collab`, `--spec`, `-y`, `--gaps`, `--dir`), outpu
|
|
|
40
40
|
- `analyze:ANL-xxx` → CONTEXT_DIR = artifact path, scope = "standalone"
|
|
41
41
|
- `blueprint:BLP-xxx` → CONTEXT_DIR = blueprint path, scope = "standalone"
|
|
42
42
|
- `@file` or `path/` → load context-package.json from path
|
|
43
|
+
- `--tdd` — Enable TDD mode: generate test-first task structure (Red-Green-Refactor). See workflow `plan.md` § TDD Mode for task generation rules.
|
|
43
44
|
- `--revise [instructions]` -- See workflow plan.md § Revise Mode
|
|
44
45
|
- `--check <plan-dir>` -- See workflow plan.md § Check Mode
|
|
45
46
|
|
|
@@ -36,7 +36,7 @@ $ARGUMENTS — template slug/path, or flags.
|
|
|
36
36
|
| skill | `Skill(skill, args)` | sync |
|
|
37
37
|
| command | `Skill(skill, args)` | sync |
|
|
38
38
|
| cli | `maestro delegate --to tool --mode mode` via `run_command(run_in_background: true)` | async, STOP + wait |
|
|
39
|
-
| agent | `invoke_subagent([{ TypeName: "<TypeName>", Role: "<Role>", Prompt: "<Prompt>", Workspace: "inherit" }])` | configurable |
|
|
39
|
+
| agent | `invoke_subagent([{ TypeName: "<TypeName>", Role: "<Role>", Prompt: "<Prompt>", Workspace: "inherit" }])` — valid subagent_type: `"task"` (default), `"research"`, `"code"`. Unknown type falls back to `"task"`. | configurable |
|
|
40
40
|
| checkpoint | State save + optional user pause | — |
|
|
41
41
|
|
|
42
42
|
**Runtime reference resolution** in args_template:
|
|
@@ -106,7 +106,7 @@ S_EXEC_LOOP:
|
|
|
106
106
|
→ END WHEN: checkpoint pause DO: set status=paused, display resume command
|
|
107
107
|
→ END WHEN: abort chosen DO: set status=aborted, save progress
|
|
108
108
|
GUARD: cli nodes → run_command(run_in_background: true) + STOP, wait for callback
|
|
109
|
-
GUARD: on failure → on_fail: skip (log, advance) | retry (once) | abort (ask_question: Retry/Skip/Abort)
|
|
109
|
+
GUARD: on failure → on_fail: skip (log, advance) | retry (once) | abort (ask_question: Retry/Skip/Abort). Default on_fail when not specified: `abort` (prompt user via ask_question).
|
|
110
110
|
GUARD: after step 3+ → display context hint "可随时 /maestro-player -c 恢复"
|
|
111
111
|
|
|
112
112
|
S_COMPLETE:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-quick
|
|
3
3
|
description: Quick task execution, skip optional agents
|
|
4
|
-
argument-hint: [description] [--full] [--discuss]
|
|
4
|
+
argument-hint: [description] [--full] [--discuss] [-y]
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- ask_question
|
|
7
7
|
- define_subagent
|
|
@@ -17,6 +17,7 @@ allowed-tools:
|
|
|
17
17
|
<purpose>
|
|
18
18
|
Execute small, ad-hoc tasks with workflow guarantees (atomic commits, state tracking) via a shortened pipeline.
|
|
19
19
|
Flags --discuss and --full enable additional pipeline stages.
|
|
20
|
+
**Implicit write**: state.json scratch task entry is written automatically as part of workflow tracking (no confirmation gate).
|
|
20
21
|
</purpose>
|
|
21
22
|
|
|
22
23
|
<required_reading>
|
|
@@ -29,6 +30,7 @@ $ARGUMENTS
|
|
|
29
30
|
Parse for:
|
|
30
31
|
- `--full` flag -- Enables plan-checking (max 2 iterations) and post-execution verification
|
|
31
32
|
- `--discuss` flag -- Decision extraction before planning (gray areas, Locked/Free/Deferred classification)
|
|
33
|
+
- `-y` / `--yes` flag -- Auto mode: skip commit confirmation, auto-approve state writes
|
|
32
34
|
- Remaining text as task description
|
|
33
35
|
|
|
34
36
|
### Pre-load context
|
|
@@ -80,6 +82,6 @@ Task summaries MUST include concrete evidence of completion (files changed, test
|
|
|
80
82
|
- [ ] Scratch task directory created under .workflow/scratch/
|
|
81
83
|
- [ ] plan.json written with task definitions
|
|
82
84
|
- [ ] All tasks executed with summaries written
|
|
83
|
-
- [ ] state.json updated with scratch task entry
|
|
84
|
-
- [ ] Commit created with task changes
|
|
85
|
+
- [ ] state.json updated with scratch task entry (implicit — part of workflow tracking, no confirmation needed)
|
|
86
|
+
- [ ] Commit created with task changes: stage ONLY files modified by the task (from `.summaries/TASK-*-summary.md` "Files modified" list); confirm with `ask_question` showing staged files and proposed commit message — unless `-y` is active, in which case auto-commit
|
|
85
87
|
</success_criteria>
|
|
@@ -40,7 +40,7 @@ Remaining → intent (amend_mode 时为 change_request)
|
|
|
40
40
|
<invariants>
|
|
41
41
|
1. **Ralph never executes steps** — only creates sessions and evaluates decisions
|
|
42
42
|
2. **Handoff via Skill("maestro-ralph-execute")** — 创建 session 后始终自动 handoff;decision 评估后始终 handoff
|
|
43
|
-
3. **Decision delegates read-only** — `maestro delegate --
|
|
43
|
+
3. **Decision delegates read-only** — `maestro delegate --to <tool> --mode analysis`
|
|
44
44
|
4. **执行 step 通过 `maestro ralph next` CLI 加载并内联执行**(详见 invariant 8)
|
|
45
45
|
5. **status.json 是唯一真源** — 不生成 markdown 清单或侧文件
|
|
46
46
|
6. **每个 step 必须 `completion_confirmed: true`** — 由 `maestro ralph complete N --status DONE`(或 DONE_WITH_CONCERNS)写入;CLI 是唯一合法写入路径
|
|
@@ -470,11 +470,11 @@ Generate steps from `session.lifecycle_position` to `milestone-complete`(`sess
|
|
|
470
470
|
```
|
|
471
471
|
maestro delegate "PURPOSE: 评估 {decision} 质量门结果
|
|
472
472
|
TASK: 读取结果 | 分析状态 | 评估严重性 | 给出建议
|
|
473
|
-
EXPECTED: ---VERDICT--- STATUS/REASON/GAP_SUMMARY/CONFIDENCE(high|medium|low)/CONFIDENCE_SCORE(0-100)/WEAKEST_DIMENSION ---END---
|
|
473
|
+
EXPECTED: ---VERDICT--- STATUS(PASS|FAIL|PARTIAL|BLOCKED)/REASON/GAP_SUMMARY/CONFIDENCE(high|medium|low)/CONFIDENCE_SCORE(0-100)/WEAKEST_DIMENSION ---END---
|
|
474
474
|
CONSTRAINTS: 只评估 | 置信度<60% 倾向 fix | retry {n}/{max} 达上限必须 escalate"
|
|
475
|
-
--
|
|
475
|
+
--to {session.cli_tool} --mode analysis
|
|
476
476
|
```
|
|
477
|
-
6. On callback: parse verdict
|
|
477
|
+
6. On callback: parse verdict block — STATUS must match strict enum `PASS|FAIL|PARTIAL|BLOCKED`; any other value → parse failure. If parse fails → fallback STATUS="fix", BUT MUST set `parse_failed: true` and `confidence_score: 0` in decision log (invariant 13). Subsequent steps inherit LOW CONFIDENCE flag.
|
|
478
478
|
7. Confidence adjustment: <60 + proceed → fix; >95 + fix + retry>0 → suggest proceed
|
|
479
479
|
8. **Decision log**: Append to `{session_dir}/decisions.ndjson`:
|
|
480
480
|
```json
|
|
@@ -543,7 +543,7 @@ Runs only when `task_decomposition` present.
|
|
|
543
543
|
- 严格按 done_when 判定;evidence 缺失 → unmet
|
|
544
544
|
- 不得建议超出 boundary_contract 的修改
|
|
545
545
|
"
|
|
546
|
-
--
|
|
546
|
+
--to {session.cli_tool} --mode analysis
|
|
547
547
|
```
|
|
548
548
|
4. On callback: 对每个 met 子目标,set `task_decomposition[i].status="done"` + `completion_confirmed=true` + `completed_at=now`
|
|
549
549
|
5. Append `{session_dir}/decisions.ndjson` with `"type": "goal-gate"`, `unmet_count`, `unmet_ids`
|
|
@@ -590,7 +590,7 @@ GUARD: `task_decomposition` 存在(周期触发,见 build rule 5.5)
|
|
|
590
590
|
- aligned 阈值:≥80% 已完成产出直接服务 intent
|
|
591
591
|
- 单个 step 触碰 out_of_scope → 直接判 drifted
|
|
592
592
|
- goal_changelog 存在 → 以最新 after.goals 为基准"
|
|
593
|
-
--
|
|
593
|
+
--to {session.cli_tool} --mode analysis
|
|
594
594
|
```
|
|
595
595
|
3. On callback: parse verdict
|
|
596
596
|
4. Append `{session_dir}/decisions.ndjson`:`{ "id": "DEC-{ts}", "type": "reground-gate", "source": "ralph", "node_id": "post-reground", "verdict": "{aligned|drifted}", "confidence_score": {N}, "drift_description": "...", "corrective_action": "..." }`
|
|
@@ -675,7 +675,7 @@ GUARD: `task_decomposition` 存在(周期触发,见 build rule 5.5)
|
|
|
675
675
|
|-------|------|------|
|
|
676
676
|
| 1. 快照 | 读 `task_decomposition` + `boundary_contract` + 已完成 steps 的 `completion_summary` | Display: 目标列表 + 进度 |
|
|
677
677
|
| 2. 解析 | `change_request` 非空 → 直接用;为空 → ask_question(修改/新增/移除/调整边界) | `change_type` + `change_request` |
|
|
678
|
-
| 3. Mini Grill | `maestro delegate --
|
|
678
|
+
| 3. Mini Grill | `maestro delegate --to {session.cli_tool} --mode analysis`:评估影响 | RISK_LEVEL + AFFECTED_GOALS + INVALIDATED_STEPS + NEW_GAPS |
|
|
679
679
|
| 4. 确认 | ask_question:应用并继续 / 仅改目标 / 取消 | 用户选择 |
|
|
680
680
|
| 5. 应用 | 归档旧目标(`superseded`)→ 写入新目标(`origin: CHG-xxx`)→ 重建链路 → write status.json | handoff ralph-execute |
|
|
681
681
|
|
|
@@ -888,7 +888,7 @@ decision:post-goal-audit {retry+1}
|
|
|
888
888
|
- [ ] planning_mode 显式决定;unified=无 `{phase}`, independent=带 `{phase}`
|
|
889
889
|
- [ ] specs 预检:lifecycle_position 在 init 之后 + `.workflow/specs/` 不存在 → 链路最前面插入 `spec-setup`
|
|
890
890
|
- [ ] Chain 必须以 `milestone-complete` 结尾
|
|
891
|
-
- [ ] Decision nodes 由 maestro delegate --
|
|
891
|
+
- [ ] Decision nodes 由 maestro delegate --to {session.cli_tool} --mode analysis 评估
|
|
892
892
|
- [ ] Ralph 不执行 step,只 evaluate;Skill("maestro-ralph-execute") handoff
|
|
893
893
|
- [ ] Phase-level deferred chaining:plan/execute step 的 `--from`/`--dir` 注入由 A_RESOLVE_ARGS(ralph-execute)运行时完成;build 阶段标记意图,不预知 artifact ID
|
|
894
894
|
- [ ] Phase-level plan step 运行时获得 `--from analyze:{phase_analyze_id}`(由 ralph-execute 从 state.json 查找注入)
|