maestro-flow 0.4.25 → 0.5.0
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/learn-follow/SKILL.md +1 -1
- package/.agents/skills/learn-investigate/SKILL.md +2 -2
- package/.agents/skills/learn-second-opinion/SKILL.md +1 -1
- package/.agents/skills/maestro/SKILL.md +6 -3
- package/.agents/skills/maestro-analyze/SKILL.md +53 -2
- package/.agents/skills/maestro-blueprint/SKILL.md +36 -1
- package/.agents/skills/maestro-brainstorm/SKILL.md +40 -1
- package/.agents/skills/maestro-collab/SKILL.md +1 -1
- package/.agents/skills/maestro-companion/SKILL.md +4 -4
- package/.agents/skills/maestro-composer/SKILL.md +1 -1
- package/.agents/skills/maestro-execute/SKILL.md +29 -6
- package/.agents/skills/maestro-fork/SKILL.md +24 -0
- package/.agents/skills/maestro-grill/SKILL.md +38 -1
- package/.agents/skills/maestro-help/SKILL.md +5 -6
- package/.agents/skills/maestro-help/index/catalog.json +7 -9
- package/.agents/skills/maestro-help/phases/02-search-present.md +2 -4
- package/.agents/skills/maestro-help/phases/03-workflow-guide.md +7 -8
- package/.agents/skills/maestro-impeccable/SKILL.md +13 -0
- package/.agents/skills/maestro-init/SKILL.md +11 -0
- package/.agents/skills/maestro-merge/SKILL.md +17 -1
- package/.agents/skills/maestro-milestone-audit/SKILL.md +34 -2
- package/.agents/skills/maestro-milestone-complete/SKILL.md +19 -1
- package/.agents/skills/maestro-milestone-release/SKILL.md +18 -0
- package/.agents/skills/maestro-next/SKILL.md +8 -9
- package/.agents/skills/maestro-overlay/SKILL.md +3 -3
- package/.agents/skills/maestro-plan/SKILL.md +21 -3
- package/.agents/skills/maestro-quick/SKILL.md +13 -1
- package/.agents/skills/maestro-ralph/SKILL.md +18 -20
- package/.agents/skills/maestro-ralph-beta/SKILL.md +10 -16
- package/.agents/skills/maestro-ralph-execute/SKILL.md +1 -2
- package/.agents/skills/maestro-roadmap/SKILL.md +28 -2
- package/.agents/skills/maestro-swarm-workflow/SKILL.md +2 -2
- package/.agents/skills/maestro-tools-register/SKILL.md +2 -2
- package/.agents/skills/maestro-ui-codify/SKILL.md +20 -0
- package/.agents/skills/maestro-update/SKILL.md +59 -116
- package/.agents/skills/manage-codebase-rebuild/SKILL.md +3 -3
- package/.agents/skills/manage-harvest/SKILL.md +1 -1
- package/.agents/skills/manage-knowhow/SKILL.md +3 -1
- package/.agents/skills/manage-knowhow-capture/SKILL.md +3 -2
- package/.agents/skills/manage-wiki/SKILL.md +17 -8
- package/.agents/skills/quality-auto-test/SKILL.md +3 -3
- package/.agents/skills/quality-debug/SKILL.md +4 -4
- package/.agents/skills/quality-refactor/SKILL.md +2 -2
- package/.agents/skills/quality-retrospective/SKILL.md +5 -5
- package/.agents/skills/quality-review/SKILL.md +4 -4
- package/.agents/skills/quality-sync/SKILL.md +1 -0
- package/.agents/skills/quality-test/SKILL.md +4 -4
- package/.agents/skills/spec-add/SKILL.md +6 -4
- package/.agents/skills/spec-setup/SKILL.md +1 -1
- package/.agy/skills/learn-follow/SKILL.md +1 -1
- package/.agy/skills/learn-investigate/SKILL.md +2 -2
- package/.agy/skills/learn-second-opinion/SKILL.md +1 -1
- package/.agy/skills/maestro/SKILL.md +6 -3
- package/.agy/skills/maestro-analyze/SKILL.md +53 -2
- package/.agy/skills/maestro-blueprint/SKILL.md +36 -1
- package/.agy/skills/maestro-brainstorm/SKILL.md +40 -1
- package/.agy/skills/maestro-collab/SKILL.md +1 -1
- package/.agy/skills/maestro-companion/SKILL.md +4 -4
- package/.agy/skills/maestro-composer/SKILL.md +1 -1
- package/.agy/skills/maestro-execute/SKILL.md +29 -6
- package/.agy/skills/maestro-fork/SKILL.md +24 -0
- package/.agy/skills/maestro-grill/SKILL.md +38 -1
- package/.agy/skills/maestro-help/SKILL.md +5 -6
- package/.agy/skills/maestro-help/index/catalog.json +7 -9
- package/.agy/skills/maestro-help/phases/02-search-present.md +2 -4
- package/.agy/skills/maestro-help/phases/03-workflow-guide.md +7 -8
- package/.agy/skills/maestro-impeccable/SKILL.md +13 -0
- package/.agy/skills/maestro-init/SKILL.md +11 -0
- package/.agy/skills/maestro-merge/SKILL.md +17 -1
- package/.agy/skills/maestro-milestone-audit/SKILL.md +34 -2
- package/.agy/skills/maestro-milestone-complete/SKILL.md +19 -1
- package/.agy/skills/maestro-milestone-release/SKILL.md +18 -0
- package/.agy/skills/maestro-next/SKILL.md +8 -9
- package/.agy/skills/maestro-overlay/SKILL.md +3 -3
- package/.agy/skills/maestro-plan/SKILL.md +21 -3
- package/.agy/skills/maestro-quick/SKILL.md +13 -1
- package/.agy/skills/maestro-ralph/SKILL.md +18 -20
- package/.agy/skills/maestro-ralph-beta/SKILL.md +10 -16
- package/.agy/skills/maestro-ralph-execute/SKILL.md +1 -2
- package/.agy/skills/maestro-roadmap/SKILL.md +28 -2
- package/.agy/skills/maestro-swarm-workflow/SKILL.md +2 -2
- package/.agy/skills/maestro-tools-register/SKILL.md +2 -2
- package/.agy/skills/maestro-ui-codify/SKILL.md +20 -0
- package/.agy/skills/maestro-update/SKILL.md +59 -116
- package/.agy/skills/manage-codebase-rebuild/SKILL.md +3 -3
- package/.agy/skills/manage-harvest/SKILL.md +1 -1
- package/.agy/skills/manage-knowhow/SKILL.md +3 -1
- package/.agy/skills/manage-knowhow-capture/SKILL.md +3 -2
- package/.agy/skills/manage-wiki/SKILL.md +17 -8
- package/.agy/skills/quality-auto-test/SKILL.md +3 -3
- package/.agy/skills/quality-debug/SKILL.md +4 -4
- package/.agy/skills/quality-refactor/SKILL.md +2 -2
- package/.agy/skills/quality-retrospective/SKILL.md +5 -5
- package/.agy/skills/quality-review/SKILL.md +4 -4
- package/.agy/skills/quality-sync/SKILL.md +1 -0
- package/.agy/skills/quality-test/SKILL.md +4 -4
- package/.agy/skills/spec-add/SKILL.md +6 -4
- package/.agy/skills/spec-setup/SKILL.md +1 -1
- package/.claude/commands/learn-follow.md +1 -1
- package/.claude/commands/learn-investigate.md +2 -2
- package/.claude/commands/learn-second-opinion.md +1 -1
- package/.claude/commands/maestro-analyze.md +53 -2
- package/.claude/commands/maestro-blueprint.md +36 -1
- package/.claude/commands/maestro-brainstorm.md +40 -1
- package/.claude/commands/maestro-collab.md +1 -1
- package/.claude/commands/maestro-companion.md +4 -4
- package/.claude/commands/maestro-composer.md +1 -1
- package/.claude/commands/maestro-execute.md +29 -6
- package/.claude/commands/maestro-fork.md +24 -0
- package/.claude/commands/maestro-grill.md +38 -1
- package/.claude/commands/maestro-impeccable.md +13 -0
- package/.claude/commands/maestro-init.md +11 -0
- package/.claude/commands/maestro-merge.md +17 -1
- package/.claude/commands/maestro-milestone-audit.md +34 -2
- package/.claude/commands/maestro-milestone-complete.md +19 -1
- package/.claude/commands/maestro-milestone-release.md +18 -0
- package/.claude/commands/maestro-next.md +8 -9
- package/.claude/commands/maestro-overlay.md +3 -3
- package/.claude/commands/maestro-plan.md +21 -3
- package/.claude/commands/maestro-quick.md +13 -1
- package/.claude/commands/maestro-ralph-beta.md +8 -14
- package/.claude/commands/maestro-ralph-execute.md +1 -2
- package/.claude/commands/maestro-ralph.md +18 -20
- package/.claude/commands/maestro-roadmap.md +28 -2
- package/.claude/commands/maestro-swarm-workflow.md +2 -2
- package/.claude/commands/maestro-tools-register.md +2 -2
- package/.claude/commands/maestro-ui-codify.md +20 -0
- package/.claude/commands/maestro-update.md +59 -116
- package/.claude/commands/maestro.md +6 -3
- package/.claude/commands/manage-codebase-rebuild.md +3 -3
- package/.claude/commands/manage-harvest.md +1 -1
- package/.claude/commands/manage-knowhow-capture.md +3 -2
- package/.claude/commands/manage-knowhow.md +3 -1
- package/.claude/commands/manage-wiki.md +17 -8
- package/.claude/commands/quality-auto-test.md +3 -3
- package/.claude/commands/quality-debug.md +4 -4
- package/.claude/commands/quality-refactor.md +2 -2
- package/.claude/commands/quality-retrospective.md +5 -5
- package/.claude/commands/quality-review.md +4 -4
- package/.claude/commands/quality-sync.md +1 -0
- package/.claude/commands/quality-test.md +4 -4
- package/.claude/commands/spec-add.md +6 -4
- package/.claude/commands/spec-setup.md +1 -1
- package/.claude/skills/maestro-help/SKILL.md +5 -6
- package/.claude/skills/maestro-help/index/catalog.json +7 -9
- package/.claude/skills/maestro-help/phases/02-search-present.md +2 -4
- package/.claude/skills/maestro-help/phases/03-workflow-guide.md +7 -8
- package/.codex/skills/codify-to-knowhow/SKILL.md +5 -4
- package/.codex/skills/learn-decompose/SKILL.md +1 -1
- package/.codex/skills/learn-follow/SKILL.md +1 -1
- package/.codex/skills/learn-investigate/SKILL.md +1 -1
- package/.codex/skills/learn-second-opinion/SKILL.md +2 -2
- package/.codex/skills/maestro/SKILL.md +29 -31
- package/.codex/skills/maestro-analyze/SKILL.md +16 -3
- package/.codex/skills/maestro-blueprint/SKILL.md +8 -1
- package/.codex/skills/maestro-brainstorm/SKILL.md +8 -5
- package/.codex/skills/maestro-companion/SKILL.md +2 -2
- package/.codex/skills/maestro-composer/SKILL.md +0 -1
- package/.codex/skills/maestro-execute/SKILL.md +11 -8
- package/.codex/skills/maestro-fork/SKILL.md +4 -0
- package/.codex/skills/maestro-grill/SKILL.md +8 -2
- package/.codex/skills/maestro-help/SKILL.md +6 -9
- package/.codex/skills/maestro-help/catalog.json +6 -8
- package/.codex/skills/maestro-impeccable/SKILL.md +2 -0
- package/.codex/skills/maestro-init/SKILL.md +3 -0
- package/.codex/skills/maestro-merge/SKILL.md +5 -1
- package/.codex/skills/maestro-milestone-audit/SKILL.md +14 -9
- package/.codex/skills/maestro-milestone-complete/SKILL.md +6 -1
- package/.codex/skills/maestro-milestone-release/SKILL.md +4 -0
- package/.codex/skills/maestro-next/SKILL.md +3 -4
- package/.codex/skills/maestro-plan/SKILL.md +5 -2
- package/.codex/skills/maestro-quick/SKILL.md +4 -1
- package/.codex/skills/maestro-ralph/SKILL.md +14 -20
- package/.codex/skills/maestro-ralph-beta/SKILL.md +13 -21
- package/.codex/skills/maestro-ralph-execute/SKILL.md +2 -2
- package/.codex/skills/maestro-roadmap/SKILL.md +5 -2
- package/.codex/skills/maestro-tools-register/SKILL.md +1 -1
- package/.codex/skills/maestro-ui-codify/SKILL.md +7 -4
- package/.codex/skills/maestro-update/SKILL.md +35 -130
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +2 -2
- package/.codex/skills/manage-harvest/SKILL.md +2 -2
- package/.codex/skills/manage-knowhow/SKILL.md +1 -1
- package/.codex/skills/manage-status/SKILL.md +1 -2
- package/.codex/skills/quality-auto-test/SKILL.md +2 -2
- package/.codex/skills/quality-debug/SKILL.md +33 -27
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-retrospective/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +3 -4
- package/.codex/skills/security-audit/SKILL.md +17 -1
- package/.codex/skills/spec-add/SKILL.md +5 -3
- package/.codex/skills/spec-remove/SKILL.md +2 -2
- package/.codex/skills/team-coordinate/SKILL.md +1 -1
- package/.codex/skills/team-review/SKILL.md +2 -2
- package/.codex/skills/wiki-digest/SKILL.md +2 -2
- package/chains/brainstorm-driven.json +2 -34
- package/chains/full-lifecycle.json +2 -34
- package/chains/next-milestone.json +0 -7
- package/chains/quality-loop.json +3 -19
- package/chains/roadmap-driven.json +2 -34
- package/chains/spec-driven.json +2 -34
- package/chains/ui-craft-build.json +2 -23
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +9 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.js +346 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +8 -11
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +3 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +9 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +9 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +4 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +5 -3
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/src/types/index.d.ts +2 -0
- package/dist/src/agents/cli-agent-runner.d.ts +2 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +3 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/cli.js +1 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/delegate.d.ts +2 -0
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +3 -1
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +55 -5
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +2 -1
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +16 -1
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/kg.d.ts +1 -1
- package/dist/src/commands/kg.d.ts.map +1 -1
- package/dist/src/commands/kg.js +285 -112
- package/dist/src/commands/kg.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts.map +1 -1
- package/dist/src/commands/knowhow.js +28 -37
- package/dist/src/commands/knowhow.js.map +1 -1
- package/dist/src/commands/ralph.js +1 -1
- package/dist/src/commands/ralph.js.map +1 -1
- package/dist/src/commands/search.d.ts +36 -0
- package/dist/src/commands/search.d.ts.map +1 -0
- package/dist/src/commands/search.js +120 -0
- package/dist/src/commands/search.js.map +1 -0
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +59 -8
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +7 -0
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/wiki.d.ts.map +1 -1
- package/dist/src/commands/wiki.js +36 -9
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts +18 -0
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +31 -0
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/component-defs.d.ts +13 -0
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +37 -85
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/core/skill-converter.d.ts +25 -0
- package/dist/src/core/skill-converter.d.ts.map +1 -0
- package/dist/src/core/skill-converter.js +605 -0
- package/dist/src/core/skill-converter.js.map +1 -0
- package/dist/src/graph/codegraph-adapter.d.ts +147 -0
- package/dist/src/graph/codegraph-adapter.d.ts.map +1 -0
- package/dist/src/graph/codegraph-adapter.js +266 -0
- package/dist/src/graph/codegraph-adapter.js.map +1 -0
- package/dist/src/hooks/constants.d.ts +4 -0
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +14 -1
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/context-format.d.ts +46 -0
- package/dist/src/hooks/context-format.d.ts.map +1 -0
- package/dist/src/hooks/context-format.js +58 -0
- package/dist/src/hooks/context-format.js.map +1 -0
- package/dist/src/hooks/index.d.ts +2 -0
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +2 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.d.ts +1 -1
- package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.js +92 -7
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
- package/dist/src/hooks/kg-context-injector.d.ts +19 -0
- package/dist/src/hooks/kg-context-injector.d.ts.map +1 -0
- package/dist/src/hooks/kg-context-injector.js +139 -0
- package/dist/src/hooks/kg-context-injector.js.map +1 -0
- package/dist/src/hooks/kg-sync-hook.d.ts +22 -0
- package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -0
- package/dist/src/hooks/kg-sync-hook.js +139 -0
- package/dist/src/hooks/kg-sync-hook.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.js +2 -2
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/skill-context.d.ts.map +1 -1
- package/dist/src/hooks/skill-context.js +0 -1
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +66 -13
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/statusline.d.ts +8 -1
- package/dist/src/hooks/statusline.d.ts.map +1 -1
- package/dist/src/hooks/statusline.js +45 -29
- package/dist/src/hooks/statusline.js.map +1 -1
- package/dist/src/hooks/wiki-role-loader.js +1 -1
- package/dist/src/hooks/wiki-role-loader.js.map +1 -1
- package/dist/src/ralph/cmd-skills.d.ts.map +1 -1
- package/dist/src/ralph/cmd-skills.js +9 -2
- package/dist/src/ralph/cmd-skills.js.map +1 -1
- package/dist/src/ralph/skill-scanner.d.ts +1 -1
- package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
- package/dist/src/ralph/skill-scanner.js +14 -0
- package/dist/src/ralph/skill-scanner.js.map +1 -1
- package/dist/src/ralph/status-schema.d.ts +1 -1
- package/dist/src/ralph/status-schema.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts +2 -1
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +7 -4
- package/dist/src/tools/spec-entry-parser.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +27 -3
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-writer.d.ts +10 -1
- package/dist/src/tools/spec-writer.d.ts.map +1 -1
- package/dist/src/tools/spec-writer.js +86 -7
- package/dist/src/tools/spec-writer.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts.map +1 -1
- package/dist/src/tools/store-knowhow.js +27 -7
- package/dist/src/tools/store-knowhow.js.map +1 -1
- package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
- package/dist/src/tui/install-ui/ExecutionView.js +7 -1
- package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.js +5 -1
- package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/types/index.d.ts +2 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/utils/cli-format.d.ts +6 -0
- package/dist/src/utils/cli-format.d.ts.map +1 -1
- package/dist/src/utils/cli-format.js +25 -0
- package/dist/src/utils/cli-format.js.map +1 -1
- package/dist/src/utils/update-notices.js +29 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +5 -2
- package/templates/workflows/specs/node-catalog.md +0 -2
- package/workflows/analyze.md +9 -4
- package/workflows/auto-test.md +2 -2
- package/workflows/business-test.md +1 -1
- package/workflows/claude-instructions.md +23 -11
- package/workflows/codex-instructions.md +2 -3
- package/workflows/execute.md +153 -7
- package/workflows/fork.md +1 -1
- package/workflows/integration-test.md +1 -1
- package/workflows/maestro-super.md +1 -1
- package/workflows/maestro.codex.md +18 -34
- package/workflows/maestro.md +34 -42
- package/workflows/review.md +1 -1
- package/workflows/status.md +2 -2
- package/workflows/swarm/wf-verify.js +1 -1
- package/workflows/test-gen.md +2 -2
- package/workflows/test.md +1 -1
- package/workflows/updates/README.md +41 -0
- package/workflows/updates/update-v3-setup.md +79 -0
- package/workflows/verify.md +7 -1
- package/.agents/skills/learn-retro/SKILL.md +0 -159
- package/.agents/skills/maestro-learn/SKILL.md +0 -142
- package/.agents/skills/maestro-verify/SKILL.md +0 -146
- package/.agents/skills/manage-codebase-refresh/SKILL.md +0 -62
- package/.agents/skills/manage-learn/SKILL.md +0 -67
- package/.agents/skills/wiki-connect/SKILL.md +0 -64
- package/.agents/skills/wiki-digest/SKILL.md +0 -70
- package/.agy/skills/learn-retro/SKILL.md +0 -159
- package/.agy/skills/maestro-learn/SKILL.md +0 -142
- package/.agy/skills/maestro-verify/SKILL.md +0 -146
- package/.agy/skills/manage-codebase-refresh/SKILL.md +0 -62
- package/.agy/skills/manage-learn/SKILL.md +0 -64
- package/.agy/skills/wiki-connect/SKILL.md +0 -64
- package/.agy/skills/wiki-digest/SKILL.md +0 -70
- package/.claude/commands/learn-retro.md +0 -157
- package/.claude/commands/maestro-learn.md +0 -140
- package/.claude/commands/maestro-verify.md +0 -144
- package/.claude/commands/manage-codebase-refresh.md +0 -60
- package/.claude/commands/manage-learn.md +0 -65
- package/.claude/commands/wiki-connect.md +0 -62
- package/.claude/commands/wiki-digest.md +0 -68
- package/.codex/skills/maestro-verify/SKILL.md +0 -254
- package/chains/execute-verify.json +0 -59
- package/chains/singles/verify.json +0 -26
|
@@ -177,7 +177,7 @@ S_TICK_EXEC: Entry: A_EXEC_STEP
|
|
|
177
177
|
→ S_HANDLE_FAIL WHEN: ralph complete with NEEDS_RETRY|BLOCKED
|
|
178
178
|
|
|
179
179
|
S_TICK_DECISION: (gate 名取自 `step.decision`)
|
|
180
|
-
→ S_TICK_APPLY WHEN: quality-gate (post-
|
|
180
|
+
→ S_TICK_APPLY WHEN: quality-gate (post-execute, post-business-test, post-review, post-test)
|
|
181
181
|
DO: A_DELEGATE_EVALUATE
|
|
182
182
|
→ S_TICK_APPLY WHEN: goal-gate (post-goal-audit)
|
|
183
183
|
DO: A_GOAL_AUDIT_EVALUATE
|
|
@@ -299,15 +299,12 @@ resolve_milestone(phase_number):
|
|
|
299
299
|
| phase 已存在 + 无任何 artifact | `analyze` |
|
|
300
300
|
| phase 已存在 + 最新 artifact = analyze | `plan` |
|
|
301
301
|
| phase 已存在 + 最新 artifact = plan | `execute` |
|
|
302
|
-
| phase 已存在 + 最新 artifact = execute | `
|
|
303
|
-
| phase 已存在 + 最新 artifact = verify | → refine from result files |
|
|
302
|
+
| phase 已存在 + 最新 artifact = execute | `review` |
|
|
304
303
|
|
|
305
|
-
**Refine from
|
|
304
|
+
**Refine from review results:**
|
|
306
305
|
|
|
307
306
|
| Condition | Position |
|
|
308
307
|
|-----------|----------|
|
|
309
|
-
| verification.json: passed==false or gaps[] | `verify-failed` |
|
|
310
|
-
| passed==true, no review.json | `business-test` |
|
|
311
308
|
| review.json: verdict=="BLOCK" | `review-failed` |
|
|
312
309
|
| review.json: verdict!="BLOCK" | `test` |
|
|
313
310
|
| uat.md: all passed | `milestone-audit` |
|
|
@@ -332,7 +329,7 @@ resolve_milestone(phase_number):
|
|
|
332
329
|
|
|
333
330
|
读 `session.quality_mode_override`(CLI `--quality`),无则按规则推断:
|
|
334
331
|
|
|
335
|
-
| Condition | Mode | Pipeline (
|
|
332
|
+
| Condition | Mode | Pipeline (execute 之后) |
|
|
336
333
|
|-----------|------|-------------------------|
|
|
337
334
|
| Has `specs/REQ-*.md` + 当前 phase 业务范围明确 | `full` | business-test → review → test-gen → test |
|
|
338
335
|
| Default | `standard` | review → test-gen (当 coverage<80%) → test |
|
|
@@ -414,8 +411,7 @@ narrow → derive defaults from intent + codebase, skip questions.
|
|
|
414
411
|
| roadmap | `maestro-roadmap --from analyze:{analyze_macro_id}` | *(same)* | — | all |
|
|
415
412
|
| analyze | `maestro-analyze {phase}` | `maestro-analyze` | — | all |
|
|
416
413
|
| plan | `maestro-plan {phase}` *(scope=phase)* / `maestro-plan --from analyze:{analyze_macro_id}` *(scope=standalone)* / `maestro-plan --from blueprint:{blueprint_id}` *(scope=standalone)* | `maestro-plan` | — | all |
|
|
417
|
-
| execute | `maestro-execute {phase}` | `maestro-execute` |
|
|
418
|
-
| verify | `maestro-verify {phase}` | `maestro-verify` | `post-verify` | all |
|
|
414
|
+
| execute | `maestro-execute {phase}` | `maestro-execute` | `post-execute` | all |
|
|
419
415
|
| business-test | `quality-auto-test {phase}` | `quality-auto-test` | `post-business-test` | full only |
|
|
420
416
|
| review | `quality-review {phase}` | `quality-review` | `post-review` | all (quick: append `--tier quick`) |
|
|
421
417
|
| test-gen | `quality-auto-test {phase}` | `quality-auto-test` | — | full / standard if coverage<80% |
|
|
@@ -544,7 +540,7 @@ Write enriched args back to status.json.
|
|
|
544
540
|
3. Map result files:
|
|
545
541
|
| Decision | Files |
|
|
546
542
|
|----------|-------|
|
|
547
|
-
| post-
|
|
543
|
+
| post-execute | verification.json |
|
|
548
544
|
| post-business-test | .tests/auto-test/report.json |
|
|
549
545
|
| post-review | review.json |
|
|
550
546
|
| post-test | uat.md, .tests/test-results.json |
|
|
@@ -717,8 +713,8 @@ Display: `[{index}/{total}] ✗ {step.skill} 失败,会话已暂停。/maestro
|
|
|
717
713
|
|
|
718
714
|
[✓] 0. maestro-plan 1 [global]
|
|
719
715
|
[✓] 1. maestro-execute 1 [project]
|
|
720
|
-
[✓] 2.
|
|
721
|
-
[✓] 3. ◆ post-
|
|
716
|
+
[✓] 2. quality-review 1 [global]
|
|
717
|
+
[✓] 3. ◆ post-review [decision]
|
|
722
718
|
...
|
|
723
719
|
============================================================
|
|
724
720
|
```
|
|
@@ -756,7 +752,7 @@ Display: `[{index}/{total}] ✗ {step.skill} 失败,会话已暂停。/maestro
|
|
|
756
752
|
"index": 0,
|
|
757
753
|
"skill": "", // 执行 step 有值;decision 节点为空字符串/null
|
|
758
754
|
"args": "",
|
|
759
|
-
"stage": "", // brainstorm|blueprint|init|analyze-macro|roadmap|analyze|plan|execute
|
|
755
|
+
"stage": "", // brainstorm|blueprint|init|analyze-macro|roadmap|analyze|plan|execute|...
|
|
760
756
|
"scope": null, // "phase"|"standalone"|"milestone"|null(plan 等需要)
|
|
761
757
|
"decision": null, // null = 执行 step;非 null = decision step (值为 gate 名)
|
|
762
758
|
"retry_count": 0, // decision step
|
|
@@ -793,13 +789,12 @@ Display: `[{index}/{total}] ✗ {step.skill} 失败,会话已暂停。/maestro
|
|
|
793
789
|
|
|
794
790
|
插入的执行 step 按 A_BUILD_STEPS 规则 9 解析 `command_path` + `command_scope`;`decision:*` 条目为 decision 节点。
|
|
795
791
|
|
|
796
|
-
**post-
|
|
792
|
+
**post-execute:**
|
|
797
793
|
```
|
|
798
794
|
quality-debug "{gap_summary}"
|
|
799
795
|
maestro-plan --gaps {phase}
|
|
800
796
|
maestro-execute {phase}
|
|
801
|
-
|
|
802
|
-
decision:post-verify {retry+1}
|
|
797
|
+
decision:post-execute {retry+1}
|
|
803
798
|
```
|
|
804
799
|
|
|
805
800
|
**post-business-test:**
|
|
@@ -807,8 +802,7 @@ decision:post-verify {retry+1}
|
|
|
807
802
|
quality-debug --from-business-test "{gap_summary}"
|
|
808
803
|
maestro-plan --gaps {phase}
|
|
809
804
|
maestro-execute {phase}
|
|
810
|
-
|
|
811
|
-
decision:post-verify {retry: 0}
|
|
805
|
+
decision:post-execute {retry: 0}
|
|
812
806
|
quality-auto-test {phase}
|
|
813
807
|
decision:post-business-test {retry+1}
|
|
814
808
|
```
|
|
@@ -827,8 +821,7 @@ decision:post-review {retry+1}
|
|
|
827
821
|
quality-debug --from-uat "{gap_summary}"
|
|
828
822
|
maestro-plan --gaps {phase}
|
|
829
823
|
maestro-execute {phase}
|
|
830
|
-
|
|
831
|
-
decision:post-verify {retry: 0}
|
|
824
|
+
decision:post-execute {retry: 0}
|
|
832
825
|
quality-auto-test {phase}
|
|
833
826
|
decision:post-business-test {retry: 0}
|
|
834
827
|
quality-review {phase}
|
|
@@ -843,7 +836,6 @@ decision:post-test {retry+1}
|
|
|
843
836
|
# for each unmet sub-goal G{n}, scoped to target_phase:
|
|
844
837
|
maestro-plan --gaps {target_phase} "G{n}: {gap}" [goal_ref: G{n}]
|
|
845
838
|
maestro-execute {target_phase} [goal_ref: G{n}]
|
|
846
|
-
maestro-verify {target_phase} [goal_ref: G{n}]
|
|
847
839
|
# after all unmet groups inserted:
|
|
848
840
|
decision:post-goal-audit {retry+1}
|
|
849
841
|
```
|
|
@@ -196,8 +196,8 @@ Display: `[{index}/{total}] ✗ {step.skill} 失败,会话已暂停。/maestro
|
|
|
196
196
|
|
|
197
197
|
[✓] 0. maestro-plan 1 [global]
|
|
198
198
|
[✓] 1. maestro-execute 1 [project]
|
|
199
|
-
[✓] 2.
|
|
200
|
-
[✓] 3. ◆ post-
|
|
199
|
+
[✓] 2. quality-review 1 [global]
|
|
200
|
+
[✓] 3. ◆ post-review [decision]
|
|
201
201
|
...
|
|
202
202
|
============================================================
|
|
203
203
|
```
|
|
@@ -35,7 +35,7 @@ $ARGUMENTS -- requirement/idea text or @file reference, plus optional flags.
|
|
|
35
35
|
Interview the user relentlessly until shared understanding is reached. Active only in interactive mode; skip when `-y/--yes`, `--revise`, `--review`, `-c`, or input is already specific (clear requirement + mode).
|
|
36
36
|
|
|
37
37
|
- One decision per turn via request_user_input with 2–4 options + a (Recommended) default. The user controls termination — keep interviewing until convergence; they can interrupt naturally at any time.
|
|
38
|
-
- Search-first when uncertain: before asking, resolve via `state.json`, existing `roadmap.md`, `project.md`, `maestro spec load`, `maestro
|
|
38
|
+
- Search-first when uncertain: before asking, resolve via `state.json`, existing `roadmap.md`, `project.md`, `maestro spec load`, `maestro search`, Glob/Grep/Read, or — for open-ended multi-file scans — `maestro delegate ... --role explore`. Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
|
|
39
39
|
- Writeback cadence: each settled decision is immediately appended/updated in the `Roadmap Decisions` section at the top of `.workflow/roadmap.md` (create the section if absent). Do NOT batch writeback to the end — partial decisions must already be on disk before the next question.
|
|
40
40
|
- Walk the decision dependency tree strictly: mode → requirement scope → decomposition strategy → phase dependencies/order. Do not open the next branch until the current one is settled.
|
|
41
41
|
- Scope guard: only decide the shape of the roadmap. Do not pre-resolve intra-phase task breakdown — that belongs to `plan`.
|
|
@@ -70,7 +70,10 @@ Wave 1: 3 analysis rows (parallel). Wave 2: 1 assembly row.
|
|
|
70
70
|
2. **CSV is source of truth**: Master tasks.csv holds all state
|
|
71
71
|
3. **Context propagation**: prev_context from master CSV, not memory
|
|
72
72
|
4. **Discovery board append-only**: Never modify/delete discoveries.ndjson
|
|
73
|
-
5. **Graceful degradation**: Wave 1 fails -> Wave 2 proceeds with seed input only
|
|
73
|
+
5. **Graceful degradation**: Wave 1 fails -> Wave 2 proceeds with seed input only. When degradation activates, flag downstream outputs as LOW CONFIDENCE.
|
|
74
|
+
6. **Invariant violation = BLOCK** — violating any invariant above blocks the current operation.
|
|
75
|
+
7. **Requirement mapping completeness** — every Active requirement from project.md MUST be mapped to exactly one phase. No circular dependencies in phase ordering.
|
|
76
|
+
8. **Artifact verification before completion** — .workflow/roadmap.md MUST exist with Milestone > Phase hierarchy and progress table. Artifact MUST be registered in state.json. If missing: DO NOT report completion.
|
|
74
77
|
</invariants>
|
|
75
78
|
|
|
76
79
|
<state_machine>
|
|
@@ -72,7 +72,7 @@ Parse $ARGUMENTS to determine mode:
|
|
|
72
72
|
- Analyze improvement points (step splitting, prerequisites, error handling)
|
|
73
73
|
|
|
74
74
|
**Promote mode** (existing knowhow → tool):
|
|
75
|
-
- Locate document: `maestro
|
|
75
|
+
- Locate document: `maestro search "<name>" --type knowhow` or by path in `.workflow/knowhow/`
|
|
76
76
|
- Read document, verify it contains actionable steps (numbered list or ## Steps section)
|
|
77
77
|
- If no actionable steps, suggest extract mode instead
|
|
78
78
|
- Determine category (Step 3) and summary ("Use when ...")
|
|
@@ -90,9 +90,9 @@ id,wave,title,description,agent_type,deps
|
|
|
90
90
|
| `agent_type` | Input | Agent type: discover/extract-style/extract-animation/extract-layout/package/knowhow |
|
|
91
91
|
| `deps` | Input | Semicolon-separated dependency task IDs |
|
|
92
92
|
| `result_status` | Output | `completed` / `failed` (returned via output_schema) |
|
|
93
|
-
| `findings` | Output | Key findings summary (max 500 chars) |
|
|
94
|
-
| `output_path` | Output | Path to generated artifact |
|
|
95
|
-
| `error` | Output | Error message if failed |
|
|
93
|
+
| `findings` | Output | Key findings summary (max 500 chars, via output_schema) |
|
|
94
|
+
| `output_path` | Output | Path to generated artifact (via output_schema) |
|
|
95
|
+
| `error` | Output | Error message if failed (via output_schema) |
|
|
96
96
|
|
|
97
97
|
### Session Structure
|
|
98
98
|
|
|
@@ -115,6 +115,9 @@ id,wave,title,description,agent_type,deps
|
|
|
115
115
|
6. **Idempotent Package**: --overwrite required to replace existing package directory
|
|
116
116
|
7. **Cleanup Temp Files**: Remove wave-{N}.csv after results merged, remove temp workspace after Wave 4
|
|
117
117
|
8. **DO NOT STOP**: Continuous execution until all waves complete
|
|
118
|
+
|
|
119
|
+
### Artifact Verification
|
|
120
|
+
Before reporting completion, verify: design-tokens.json, layout-templates.json, preview.html, preview.css, knowhow-manifest.json all exist. If any missing: DO NOT report completion.
|
|
118
121
|
</invariants>
|
|
119
122
|
|
|
120
123
|
<execution>
|
|
@@ -392,7 +395,7 @@ Open preview:
|
|
|
392
395
|
file://{absolute_path}/preview.html
|
|
393
396
|
|
|
394
397
|
Next steps:
|
|
395
|
-
maestro
|
|
398
|
+
maestro search --category coding # Browse by role
|
|
396
399
|
maestro spec load --keyword {package_name} # Load related specs
|
|
397
400
|
```
|
|
398
401
|
|
|
@@ -1,169 +1,74 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-update
|
|
3
3
|
description: Detect version, preview changes, apply workflow upgrades
|
|
4
|
-
argument-hint: "[--dry-run] [--force]"
|
|
4
|
+
argument-hint: "[--dry-run] [--force] [--setup-only]"
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
<purpose>
|
|
8
|
-
|
|
8
|
+
Version router — detect current version, run schema migration to latest, then follow the version-specific smart upgrade workflow.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Migration scripts live in two layers:
|
|
11
|
+
- **Schema** (`src/migrations/`): code-level state.json transforms, auto-chained by registry
|
|
12
|
+
- **Workflow** (`~/.maestro/workflows/updates/`): version-specific upgrade guides with environment setup
|
|
13
|
+
|
|
14
|
+
Schema migrations handle the mechanical version bump. Workflow docs handle the smart part — what the user needs to know, configure, or verify for that version. The router runs schema first, then loads the matching workflow doc.
|
|
11
15
|
</purpose>
|
|
12
16
|
|
|
17
|
+
<required_reading>
|
|
18
|
+
@~/.maestro/workflows/updates/README.md
|
|
19
|
+
</required_reading>
|
|
20
|
+
|
|
13
21
|
<context>
|
|
14
22
|
$ARGUMENTS — optional flags.
|
|
15
23
|
|
|
16
24
|
**Flags:**
|
|
17
25
|
- `--dry-run` -- Preview migration plan without executing
|
|
18
|
-
- `--force` -- Skip confirmation prompts
|
|
19
|
-
|
|
20
|
-
**Migration registry:** `src/migrations/`
|
|
21
|
-
- Each migration is a standalone file (e.g., `v1-to-v2.ts`) exporting a `MigrationDef`
|
|
22
|
-
- All migrations are registered via `src/migrations/index.ts`
|
|
23
|
-
- Registry auto-chains: detects current version → walks chain → applies in order
|
|
24
|
-
- To add a new migration: create `src/migrations/v{N}-to-v{N+1}.ts`, register in `index.ts`
|
|
25
|
-
|
|
26
|
-
**CLI runner:** `src/migrations/run.ts`
|
|
27
|
-
- Executable entrypoint: `npx tsx src/migrations/run.ts [root] [--dry-run] [--force] [--json]`
|
|
28
|
-
- Outputs JSON (with `--json`) or human-readable text
|
|
26
|
+
- `--force` -- Skip confirmation prompts
|
|
27
|
+
- `--setup-only` -- Skip schema migration, run only the setup for current version
|
|
29
28
|
|
|
30
|
-
**
|
|
29
|
+
**Version source:** `.workflow/state.json` → `version` field
|
|
31
30
|
</context>
|
|
32
31
|
|
|
33
32
|
<execution>
|
|
34
33
|
|
|
35
|
-
### Step 1: Detect
|
|
34
|
+
### Step 1: Detect Version
|
|
36
35
|
|
|
37
36
|
```
|
|
38
|
-
1. Read .workflow/state.json
|
|
39
|
-
2.
|
|
40
|
-
3. Display:
|
|
41
|
-
|
|
42
|
-
=== Maestro Workflow Update ===
|
|
43
|
-
Project: {project_name}
|
|
44
|
-
Version: {version}
|
|
45
|
-
Location: {.workflow/ path}
|
|
37
|
+
1. Read .workflow/state.json → extract version (default "1.0" if missing)
|
|
38
|
+
2. Display current version
|
|
46
39
|
```
|
|
47
40
|
|
|
48
|
-
|
|
41
|
+
IF `--setup-only`:
|
|
42
|
+
→ Load `~/.maestro/workflows/updates/update-v{version}-setup.md`
|
|
43
|
+
→ IF exists: follow completely, then EXIT
|
|
44
|
+
→ IF not exists: display "No setup script for v{version}" → EXIT
|
|
49
45
|
|
|
50
|
-
|
|
46
|
+
### Step 2: Check for Updates
|
|
51
47
|
|
|
52
|
-
```bash
|
|
53
|
-
npx tsx src/migrations/run.ts "$(pwd)" --dry-run --json
|
|
54
48
|
```
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
Already up to date (v{version})
|
|
49
|
+
1. Run: npx tsx src/migrations/run.ts "$(pwd)" --dry-run --json
|
|
50
|
+
2. IF up-to-date → offer setup if available → EXIT
|
|
51
|
+
3. Display target version
|
|
59
52
|
```
|
|
60
|
-
→ EXIT
|
|
61
53
|
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
Pending Migrations ({N} step(s)):
|
|
54
|
+
IF `--dry-run` → EXIT.
|
|
65
55
|
|
|
66
|
-
|
|
67
|
-
{description}
|
|
56
|
+
### Step 3: Execute
|
|
68
57
|
|
|
69
|
-
2. [v{from} → v{to}] {name}
|
|
70
|
-
{description}
|
|
71
58
|
```
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
For each migration step (unless `--force`):
|
|
78
|
-
|
|
59
|
+
1. Confirm (unless --force)
|
|
60
|
+
2. Backup state.json
|
|
61
|
+
3. Run schema migration (auto-chains all intermediate steps)
|
|
62
|
+
4. Load update-v{target}-setup.md → follow completely
|
|
79
63
|
```
|
|
80
|
-
LOOP for step_index = 1 to N:
|
|
81
|
-
|
|
82
|
-
Display:
|
|
83
|
-
--- Step {step_index}/{N}: {name} ---
|
|
84
|
-
Version: v{from} → v{to}
|
|
85
|
-
|
|
86
|
-
Changes:
|
|
87
|
-
{description, indented}
|
|
88
64
|
|
|
89
|
-
|
|
90
|
-
AskUserQuestion: "Apply this migration?"
|
|
91
|
-
Options: [yes / skip / abort]
|
|
65
|
+
### Step 4: Summary
|
|
92
66
|
|
|
93
|
-
|
|
94
|
-
- "skip" → WARN "Skipping may break the migration chain"
|
|
95
|
-
continue to next step
|
|
96
|
-
- "abort" → display summary of what was applied so far → EXIT
|
|
97
|
-
|
|
98
|
-
IF --force:
|
|
99
|
-
→ proceed to Step 4 (execute)
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Step 4: Execute Single Migration
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
1. Create backup:
|
|
106
|
-
Bash: cp .workflow/state.json .workflow/state.json.backup-v{from}-{timestamp}
|
|
107
|
-
|
|
108
|
-
2. Run migration:
|
|
109
|
-
Bash: npx tsx src/migrations/run.ts "$(pwd)" --json
|
|
110
|
-
|
|
111
|
-
NOTE: The runner executes ALL pending migrations. For step-by-step control,
|
|
112
|
-
read state.json, call the migration function directly, or use the runner
|
|
113
|
-
which stops on first failure.
|
|
114
|
-
|
|
115
|
-
3. Parse result JSON and display:
|
|
116
|
-
|
|
117
|
-
{status_icon} Step {N} completed: {name}
|
|
118
|
-
Summary: {summary}
|
|
119
|
-
Changes:
|
|
120
|
-
- {change_1}
|
|
121
|
-
- {change_2}
|
|
122
|
-
- ...
|
|
123
|
-
|
|
124
|
-
4. If failed:
|
|
125
|
-
Display: "Migration failed: {summary}"
|
|
126
|
-
Display: "Backup available at: {backup_path}"
|
|
127
|
-
Display: "Restore with: cp {backup_path} .workflow/state.json"
|
|
128
|
-
→ EXIT
|
|
129
|
-
|
|
130
|
-
5. Continue loop to next step
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Step 5: Summary
|
|
134
|
-
|
|
135
|
-
After all steps completed (or user aborted):
|
|
136
|
-
|
|
137
|
-
```
|
|
138
|
-
=== Migration Complete ===
|
|
139
|
-
Applied: {applied_count} / {total_count} migration(s)
|
|
140
|
-
Skipped: {skipped_count}
|
|
141
|
-
Version: v{original} → v{final}
|
|
142
|
-
Backup: .workflow/state.json.backup-v{original}-{timestamp}
|
|
143
|
-
|
|
144
|
-
Next steps:
|
|
145
|
-
/manage-status -- Verify project state
|
|
146
|
-
/maestro -- Continue workflow
|
|
147
|
-
```
|
|
67
|
+
Display version change, backup path, next steps.
|
|
148
68
|
|
|
149
69
|
</execution>
|
|
150
70
|
|
|
151
|
-
<error_codes>
|
|
152
|
-
| Code | Severity | Condition | Recovery |
|
|
153
|
-
|------|----------|-----------|----------|
|
|
154
|
-
| E001 | error | .workflow/state.json not found | Run /maestro-init first |
|
|
155
|
-
| E002 | error | state.json parse error | Check file for corruption |
|
|
156
|
-
| E003 | error | Migration function failed | Restore from backup |
|
|
157
|
-
| W001 | warning | Skipped migration may break version chain | Re-run /maestro-update later |
|
|
158
|
-
| W002 | warning | tsx not available | Install tsx: npm i -D tsx |
|
|
159
|
-
</error_codes>
|
|
160
|
-
|
|
161
71
|
<success_criteria>
|
|
162
|
-
- [ ]
|
|
163
|
-
- [ ]
|
|
164
|
-
- [ ] Each step confirmed interactively (unless --force)
|
|
165
|
-
- [ ] Backup created before each migration
|
|
166
|
-
- [ ] Migration executed and result displayed with change list
|
|
167
|
-
- [ ] Abort stops cleanly with partial summary
|
|
168
|
-
- [ ] Summary shows applied/skipped counts and version change
|
|
72
|
+
- [ ] Version detected, schema migration run, setup doc followed
|
|
73
|
+
- [ ] --setup-only, --dry-run, --force flags handled
|
|
169
74
|
</success_criteria>
|
|
@@ -155,7 +155,7 @@ Single wave generates `wave-1.csv`. No `prev_context` needed (all tasks independ
|
|
|
155
155
|
| `feature-maps/{slug}.md` | Per-feature documentation |
|
|
156
156
|
| `knowledge-graph.json` | Knowledge Graph: nodes, edges, layers, tour (generated by `maestro kg index`) |
|
|
157
157
|
|
|
158
|
-
**Wiki Integration**: After rebuild, KG nodes are automatically indexed as virtual wiki entries (type: knowhow, virtualKind: kg-node/kg-layer/kg-tour-step) on next `maestro wiki` access. Verify with `maestro
|
|
158
|
+
**Wiki Integration**: After rebuild, KG nodes are automatically indexed as virtual wiki entries (type: knowhow, virtualKind: kg-node/kg-layer/kg-tour-step) on next `maestro wiki` access. Verify with `maestro search "kg" --type knowhow`. Use `maestro kg diff-wiki` for future change impact analysis.
|
|
159
159
|
|
|
160
160
|
### Session Structure
|
|
161
161
|
|
|
@@ -354,7 +354,7 @@ Next steps:
|
|
|
354
354
|
Skill({ skill: "manage-status" })
|
|
355
355
|
Skill({ skill: "manage-codebase-refresh" })
|
|
356
356
|
maestro kg stats # verify KG
|
|
357
|
-
maestro
|
|
357
|
+
maestro search "kg" --type knowhow # verify wiki integration
|
|
358
358
|
maestro kg diff-wiki # future change impact
|
|
359
359
|
```
|
|
360
360
|
|
|
@@ -56,7 +56,7 @@ Follow '~/.maestro/workflows/harvest.md' Stages 1–8 (standard mode) or Stage 9
|
|
|
56
56
|
3. **Stable fragment IDs** — `HRV-{8 hex}` from `hash(source_id + content_hash)`
|
|
57
57
|
4. **Never modify source artifacts** — purely extractive
|
|
58
58
|
5. **Confidence filtering** — below threshold logged but not routed
|
|
59
|
-
6. **Spec format enforcement** — all spec routing must use `<spec-entry>` closed-tag format with `
|
|
59
|
+
6. **Spec format enforcement** — all spec routing must use `<spec-entry>` closed-tag format with `title`, `description`, `keywords`, `date`, `source="harvest"` attributes
|
|
60
60
|
|
|
61
61
|
**Routing rules:**
|
|
62
62
|
- Universal design patterns → `coding` or `arch` category
|
|
@@ -66,7 +66,7 @@ Follow '~/.maestro/workflows/harvest.md' Stages 1–8 (standard mode) or Stage 9
|
|
|
66
66
|
- Spec: `maestro wiki append spec-<file> --body "<content>" --keywords "<kws>"` (unified write path) or `Skill({ skill: "spec-add", args: "<category> <content>" })`
|
|
67
67
|
- Issue: append to `issues.jsonl` matching canonical schema, with `source: "harvest"` field (distinguishes from `manage-issue-discover`, which uses `source: "discover"` — required for cross-skill dedup when both write concurrently)
|
|
68
68
|
|
|
69
|
-
**Next steps:** `/manage-wiki health`, `maestro
|
|
69
|
+
**Next steps:** `/manage-wiki health`, `maestro search --type note`, `/wiki-connect --fix`, `/wiki-digest`, `/manage-issue list --source harvest`
|
|
70
70
|
|
|
71
71
|
**Prune mode** (`--prune`): Classifies artifacts (active/graduated/stale/protected), graduates harvested artifacts to wiki knowhow, archives from `artifacts[]` → `artifact_archive[]`, prunes resolved entries from accumulated_context. Files on disk are never deleted. Always backs up state.json before writing.
|
|
72
72
|
</execution>
|
|
@@ -49,7 +49,7 @@ Default to `list` if no arguments. Parse first token as subcommand.
|
|
|
49
49
|
### Step 3: Execute Subcommand
|
|
50
50
|
|
|
51
51
|
**list**: Show entries from both stores (or filtered by `--store`, `--tag`, `--type`).
|
|
52
|
-
- Workflow: use `maestro
|
|
52
|
+
- Workflow: use `maestro search --type knowhow --json` or read `.workflow/wiki-index.json`, display ID, type, category, date, tags, title
|
|
53
53
|
- System: list `.md` files in system memory directory
|
|
54
54
|
|
|
55
55
|
**search `<query>`**: Full-text grep across both stores. Rank by match count.
|
|
@@ -53,8 +53,7 @@ Use this decision table to suggest the next action:
|
|
|
53
53
|
|---------------|------------|
|
|
54
54
|
| No phases planned | `Skill({ skill: "maestro-brainstorm" })` or `Skill({ skill: "maestro-plan" })` |
|
|
55
55
|
| Phase planned, not executed | `Skill({ skill: "maestro-execute", args: "<N>" })` |
|
|
56
|
-
| Phase executed, not
|
|
57
|
-
| Phase verified with gaps | `Skill({ skill: "maestro-plan", args: "<N> --gaps" })` |
|
|
56
|
+
| Phase executed, not reviewed | `Skill({ skill: "quality-review", args: "<N>" })` |
|
|
58
57
|
| Phase reviewed PASS/WARN | `Skill({ skill: "quality-test", args: "<N>" })` |
|
|
59
58
|
| UAT passed | `Skill({ skill: "maestro-milestone-audit" })` |
|
|
60
59
|
| All milestone phases done | `Skill({ skill: "maestro-milestone-audit" })` |
|
|
@@ -270,7 +270,7 @@ You MUST call report_agent_job_result EXACTLY ONCE before exiting.
|
|
|
270
270
|
3. Conditional: traceability.md (spec route), issue creation (code_defect -> issues.jsonl)
|
|
271
271
|
4. Register artifact in state.json (type: test)
|
|
272
272
|
5. Display summary: route, iterations, convergence status, per-layer pass rates, bugs discovered
|
|
273
|
-
6. Route: converged ->
|
|
273
|
+
6. Route: converged -> quality-review; bugs -> quality-debug; >80% -> quality-test; <80% -> quality-debug; single pass all pass -> quality-test
|
|
274
274
|
|
|
275
275
|
</actions>
|
|
276
276
|
|
|
@@ -314,6 +314,6 @@ Protocol: read before writing tests, append-only, dedup by type+key.
|
|
|
314
314
|
- [ ] TST artifact registered in state.json
|
|
315
315
|
- [ ] If spec: traceability.md written; if failures: issues auto-created in issues.jsonl
|
|
316
316
|
- [ ] If gap source: validation.json gaps updated (MISSING→COVERED)
|
|
317
|
-
- [ ] Next step routed (converged →
|
|
317
|
+
- [ ] Next step routed (converged → quality-review, bugs → debug, >80% → quality-test, <80% → debug)
|
|
318
318
|
</success_criteria>
|
|
319
319
|
</output>
|
|
@@ -110,7 +110,9 @@ id,title,description,hypothesis,deps,context_from,wave,status,findings,evidence_
|
|
|
110
110
|
| `deps` | Input | Semicolon-separated dependency task IDs (wave 2 depends on wave 1) |
|
|
111
111
|
| `context_from` | Input | Semicolon-separated task IDs whose findings this task needs |
|
|
112
112
|
| `wave` | Input | Wave number (1 = investigation, 2 = fix attempt) |
|
|
113
|
-
| `status` | Lifecycle | `pending` (initial) → `
|
|
113
|
+
| `status` | Lifecycle | `pending` (initial) → `completed`/`failed`/`skipped` (set by merge step from worker's `result_status`) |
|
|
114
|
+
| `hypothesis_verdict` | Lifecycle | Wave 1 only: `confirmed`/`refuted`/`inconclusive` (merged from worker output) |
|
|
115
|
+
| `fix_result` | Lifecycle | Wave 2 only: `fixed`/`fix_failed` (merged from worker output) |
|
|
114
116
|
| `findings` | Lifecycle | Key findings summary (max 500 chars; merged from worker output) |
|
|
115
117
|
| `evidence_for` | Lifecycle | Evidence supporting the hypothesis (wave 1; merged) |
|
|
116
118
|
| `evidence_against` | Lifecycle | Evidence refuting the hypothesis (wave 1; merged) |
|
|
@@ -205,7 +207,7 @@ mkdir -p {sessionFolder}
|
|
|
205
207
|
|
|
206
208
|
2b. **Load codebase + wiki context** (optional, informs hypothesis generation):
|
|
207
209
|
- If `.workflow/codebase/ARCHITECTURE.md` exists: read module boundaries to scope impact analysis
|
|
208
|
-
- Run `maestro
|
|
210
|
+
- Run `maestro search "<symptom keywords>" --json 2>/dev/null`; if results: check for prior investigations on similar issues
|
|
209
211
|
- Run `maestro spec load --category debug --keyword "<symptom keywords>"`; if tools found: extract known issues, workarounds, and root-cause notes to inform hypotheses
|
|
210
212
|
- All are optional — proceed without if unavailable
|
|
211
213
|
|
|
@@ -250,21 +252,22 @@ spawn_agents_on_csv({
|
|
|
250
252
|
output_schema: {
|
|
251
253
|
type: "object",
|
|
252
254
|
properties: {
|
|
253
|
-
id:
|
|
254
|
-
result_status:
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
255
|
+
id: { type: "string" },
|
|
256
|
+
result_status: { type: "string", enum: ["completed", "failed"] },
|
|
257
|
+
hypothesis_verdict: { type: "string", enum: ["confirmed", "refuted", "inconclusive"], description: "Investigation outcome" },
|
|
258
|
+
findings: { type: "string", maxLength: 500 },
|
|
259
|
+
evidence_for: { type: "string" },
|
|
260
|
+
evidence_against: { type: "string" },
|
|
261
|
+
error: { type: "string" }
|
|
259
262
|
},
|
|
260
|
-
required: ["id", "result_status", "findings"]
|
|
263
|
+
required: ["id", "result_status", "hypothesis_verdict", "findings"]
|
|
261
264
|
}
|
|
262
265
|
})
|
|
263
266
|
```
|
|
264
267
|
|
|
265
|
-
3. **Merge**: for each row in `wave-1-results.csv`, look up master row by `id` and write `master.status = result_status`, then copy `findings`, `evidence_for`, `evidence_against`, `error`. Delete `wave-1.csv` and `wave-1-results.csv`.
|
|
268
|
+
3. **Merge**: for each row in `wave-1-results.csv`, look up master row by `id` and write `master.status = result_status`, then copy `hypothesis_verdict`, `findings`, `evidence_for`, `evidence_against`, `error`. Delete `wave-1.csv` and `wave-1-results.csv`.
|
|
266
269
|
4. **Wave 2 gating** (read from MASTER `tasks.csv` after merge, NOT from wave-1-results.csv):
|
|
267
|
-
- For each `FIX-H{N}` row: read its `context_from` hypothesis ID (e.g., `H{N}`) from master; if master `H{N}.
|
|
270
|
+
- For each `FIX-H{N}` row: read its `context_from` hypothesis ID (e.g., `H{N}`) from master; if master `H{N}.hypothesis_verdict != "confirmed"`, set `FIX-H{N}.status = "skipped"` (with findings = "upstream hypothesis_verdict={H{N}.hypothesis_verdict}").
|
|
268
271
|
- Only rows where `status == "pending"` proceed to wave 2.
|
|
269
272
|
|
|
270
273
|
#### Wave 1 Worker Contract (WAVE1_INVESTIGATION_INSTRUCTION)
|
|
@@ -281,23 +284,24 @@ REQUIRED STEPS:
|
|
|
281
284
|
1. Read shared discoveries: {sessionFolder}/discoveries.ndjson (may be empty)
|
|
282
285
|
2. Scan codebase for evidence using Read/Grep/Glob (read-only investigation)
|
|
283
286
|
3. Classify the hypothesis based on evidence collected:
|
|
284
|
-
- confirmed → strong evidence supports the hypothesis (file:line proof)
|
|
285
|
-
- refuted → strong evidence contradicts the hypothesis
|
|
286
|
-
- inconclusive → insufficient evidence within time budget; do NOT guess
|
|
287
|
-
- failed → tool error / cannot read files / blocked by environment
|
|
287
|
+
- confirmed → strong evidence supports the hypothesis (file:line proof) → result_status=completed, hypothesis_verdict=confirmed
|
|
288
|
+
- refuted → strong evidence contradicts the hypothesis → result_status=completed, hypothesis_verdict=refuted
|
|
289
|
+
- inconclusive → insufficient evidence within time budget; do NOT guess → result_status=completed, hypothesis_verdict=inconclusive
|
|
290
|
+
- failed → tool error / cannot read files / blocked by environment → result_status=failed
|
|
288
291
|
4. Append discoveries to {sessionFolder}/discoveries.ndjson if reusable (root_cause / hypothesis_evidence types)
|
|
289
292
|
5. Call report_agent_job_result EXACTLY ONCE with the verdict
|
|
290
293
|
|
|
291
294
|
TERMINATION CONTRACT (mandatory — NO worker may end without calling report_agent_job_result):
|
|
292
|
-
- Success path → result_status = confirmed | refuted, with evidence
|
|
293
|
-
- Timeout path → if approaching {max_runtime_seconds}, STOP investigation and report inconclusive
|
|
294
|
-
- Failure path → on any unrecoverable error,
|
|
295
|
+
- Success path → result_status=completed, hypothesis_verdict = confirmed | refuted, with evidence
|
|
296
|
+
- Timeout path → if approaching {max_runtime_seconds}, STOP investigation and report result_status=completed, hypothesis_verdict=inconclusive
|
|
297
|
+
- Failure path → on any unrecoverable error, result_status=failed with error message
|
|
295
298
|
- NEVER continue indefinitely. NEVER exit silently. NEVER omit the call.
|
|
296
299
|
|
|
297
300
|
OUTPUT (return via report_agent_job_result; must match output_schema):
|
|
298
301
|
{
|
|
299
302
|
"id": "<your row id>",
|
|
300
|
-
"result_status": "
|
|
303
|
+
"result_status": "completed" | "failed",
|
|
304
|
+
"hypothesis_verdict": "confirmed" | "refuted" | "inconclusive",
|
|
301
305
|
"findings": "<one-sentence summary, max 500 chars>",
|
|
302
306
|
"evidence_for": "<bullet list of file:line refs supporting, or empty>",
|
|
303
307
|
"evidence_against": "<bullet list of file:line refs refuting, or empty>",
|
|
@@ -328,18 +332,19 @@ spawn_agents_on_csv({
|
|
|
328
332
|
type: "object",
|
|
329
333
|
properties: {
|
|
330
334
|
id: { type: "string" },
|
|
331
|
-
result_status: { type: "string", enum: ["
|
|
335
|
+
result_status: { type: "string", enum: ["completed", "failed"] },
|
|
336
|
+
fix_result: { type: "string", enum: ["fixed", "fix_failed"], description: "Fix attempt outcome" },
|
|
332
337
|
findings: { type: "string", maxLength: 500 },
|
|
333
338
|
fix_applied: { type: "string" },
|
|
334
339
|
verified: { type: "string", enum: ["true", "false"] },
|
|
335
340
|
error: { type: "string" }
|
|
336
341
|
},
|
|
337
|
-
required: ["id", "result_status", "findings", "verified"]
|
|
342
|
+
required: ["id", "result_status", "fix_result", "findings", "verified"]
|
|
338
343
|
}
|
|
339
344
|
})
|
|
340
345
|
```
|
|
341
346
|
|
|
342
|
-
4. **Merge**: write `master.status = result_status`, copy `findings`, `fix_applied`, `verified`, `error`. Delete `wave-2.csv` and `wave-2-results.csv`.
|
|
347
|
+
4. **Merge**: write `master.status = result_status`, copy `fix_result`, `findings`, `fix_applied`, `verified`, `error`. Delete `wave-2.csv` and `wave-2-results.csv`.
|
|
343
348
|
|
|
344
349
|
#### Wave 2 Worker Contract (WAVE2_FIX_INSTRUCTION)
|
|
345
350
|
|
|
@@ -359,16 +364,17 @@ REQUIRED STEPS:
|
|
|
359
364
|
5. Call report_agent_job_result EXACTLY ONCE
|
|
360
365
|
|
|
361
366
|
TERMINATION CONTRACT (mandatory):
|
|
362
|
-
- Success path → fix applied AND verified → result_status=fixed, verified="true"
|
|
363
|
-
- Partial path → fix applied but verification failed → result_status=fix_failed, verified="false"
|
|
364
|
-
- Timeout path → approaching {max_runtime_seconds} with no fix applied → result_status=fix_failed with error="timeout"
|
|
367
|
+
- Success path → fix applied AND verified → result_status=completed, fix_result=fixed, verified="true"
|
|
368
|
+
- Partial path → fix applied but verification failed → result_status=completed, fix_result=fix_failed, verified="false"
|
|
369
|
+
- Timeout path → approaching {max_runtime_seconds} with no fix applied → result_status=completed, fix_result=fix_failed with error="timeout"
|
|
365
370
|
- Failure path → cannot apply fix (file missing, parse error, etc.) → result_status=failed
|
|
366
371
|
- NEVER continue indefinitely. NEVER exit silently. NEVER omit the call.
|
|
367
372
|
|
|
368
373
|
OUTPUT (return via report_agent_job_result; must match output_schema):
|
|
369
374
|
{
|
|
370
375
|
"id": "<your row id>",
|
|
371
|
-
"result_status": "
|
|
376
|
+
"result_status": "completed" | "failed",
|
|
377
|
+
"fix_result": "fixed" | "fix_failed",
|
|
372
378
|
"findings": "<one-sentence summary of what was changed, max 500 chars>",
|
|
373
379
|
"fix_applied": "<file:line description of the change>",
|
|
374
380
|
"verified": "true" | "false",
|
|
@@ -409,7 +415,7 @@ CONSTRAINTS:
|
|
|
409
415
|
| Result | Suggestion |
|
|
410
416
|
|--------|------------|
|
|
411
417
|
| All fixes verified | Run tests: `Skill({ skill: "quality-test", args: "{phase}" })` |
|
|
412
|
-
| Fixes applied, not verified | Re-
|
|
418
|
+
| Fixes applied, not verified | Re-execute: `Skill({ skill: "maestro-execute", args: "{phase}" })` |
|
|
413
419
|
| Confirmed but no fix | Plan fixes: `Skill({ skill: "maestro-plan", args: "{phase} --gaps" })` |
|
|
414
420
|
| All inconclusive | Resume with more context or manual investigation |
|
|
415
421
|
| From UAT, all diagnosed | `Skill({ skill: "quality-test", args: "{phase} --auto-fix" })` |
|
|
@@ -123,7 +123,7 @@ Create `.workflow/scratch/refactor-{slug}-{date}/` with `.task/` and `.summaries
|
|
|
123
123
|
|
|
124
124
|
### Step 3: Scope Analysis
|
|
125
125
|
|
|
126
|
-
Load project specs if available (`maestro spec load --category coding` for conventions, `maestro spec load --category review` for quality standards). Browse wiki: `maestro
|
|
126
|
+
Load project specs if available (`maestro spec load --category coding` for conventions, `maestro spec load --category review` for quality standards). Browse wiki: `maestro search --category coding`, load relevant entries.
|
|
127
127
|
|
|
128
128
|
Analyze scope for tech debt categories:
|
|
129
129
|
|
|
@@ -241,7 +241,7 @@ If `--no-route`: skip this stage.
|
|
|
241
241
|
For each insight in `synthResult.insights`, route based on `routing` field:
|
|
242
242
|
|
|
243
243
|
**Spec routing** (`routing: "spec"`):
|
|
244
|
-
Map category (pattern/convention → `coding`, architecture → `arch`, quality → `quality`). Append `<spec-entry>` with category, auto-extracted keywords, date, source="retrospective",
|
|
244
|
+
Map category (pattern/convention → `coding`, architecture → `arch`, quality → `quality`). Append `<spec-entry>` with category, auto-extracted keywords, date, title, description, source="retrospective", evidence, phase/lens/INS-id.
|
|
245
245
|
|
|
246
246
|
**Issue routing** (`routing: "issue"`, severity critical/high):
|
|
247
247
|
Append to `.workflow/issues/issues.jsonl` with `ISS-<date>-<seq>` id, source="retrospective", phase/INS-id context, and history entry.
|