maestro-flow 0.3.10 → 0.3.12
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/.claude/agents/conceptual-planning-agent.md +1 -0
- package/.claude/agents/workflow-analyzer.md +114 -114
- package/.claude/agents/workflow-collab-planner.md +144 -144
- package/.claude/agents/workflow-debugger.md +102 -103
- package/.claude/agents/workflow-executor.md +127 -128
- package/.claude/agents/workflow-integration-checker.md +82 -82
- package/.claude/agents/workflow-nyquist-auditor.md +85 -84
- package/.claude/agents/workflow-phase-researcher.md +85 -85
- package/.claude/agents/workflow-plan-checker.md +90 -90
- package/.claude/agents/workflow-planner.md +178 -178
- package/.claude/agents/workflow-roadmapper.md +81 -83
- package/.claude/agents/workflow-verifier.md +119 -119
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-retro.md +3 -3
- package/.claude/commands/learn-second-opinion.md +2 -2
- package/.claude/commands/maestro-brainstorm.md +1 -0
- package/.claude/commands/maestro-coordinate.md +1 -3
- package/.claude/commands/maestro-fork.md +133 -111
- package/.claude/commands/maestro-merge.md +85 -77
- package/.claude/commands/maestro-plan.md +88 -2
- package/.claude/commands/maestro-roadmap.md +113 -2
- package/.claude/commands/maestro.md +1 -0
- package/.claude/commands/manage-harvest.md +131 -131
- package/.claude/commands/manage-issue.md +2 -2
- package/.claude/commands/quality-business-test.md +5 -5
- package/.claude/commands/quality-debug.md +3 -2
- package/.claude/commands/quality-retrospective.md +6 -4
- package/.claude/commands/quality-review.md +1 -1
- package/.claude/commands/quality-test-gen.md +5 -4
- package/.claude/commands/spec-add.md +67 -56
- package/.claude/commands/spec-load.md +66 -64
- package/.claude/commands/spec-setup.md +5 -9
- package/.codex/skills/learn-decompose/SKILL.md +119 -0
- package/.codex/skills/learn-follow/SKILL.md +83 -0
- package/.codex/skills/learn-investigate/SKILL.md +83 -0
- package/.codex/skills/learn-retro/SKILL.md +83 -0
- package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
- package/.codex/skills/maestro/SKILL.md +151 -279
- package/.codex/skills/maestro-analyze/SKILL.md +59 -71
- package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
- package/.codex/skills/maestro-chain/SKILL.md +95 -110
- package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
- package/.codex/skills/maestro-execute/SKILL.md +435 -446
- package/.codex/skills/maestro-fork/SKILL.md +98 -0
- package/.codex/skills/maestro-init/SKILL.md +172 -167
- package/.codex/skills/maestro-learn/SKILL.md +80 -0
- package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
- package/.codex/skills/maestro-merge/SKILL.md +69 -0
- package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
- package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
- package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
- package/.codex/skills/maestro-overlay/SKILL.md +188 -185
- package/.codex/skills/maestro-plan/SKILL.md +58 -69
- package/.codex/skills/maestro-quick/SKILL.md +26 -23
- package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
- package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
- package/.codex/skills/maestro-ui-design/SKILL.md +35 -32
- package/.codex/skills/maestro-verify/SKILL.md +556 -566
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
- package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
- package/.codex/skills/manage-harvest/SKILL.md +82 -0
- package/.codex/skills/manage-issue/SKILL.md +80 -65
- package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
- package/.codex/skills/manage-learn/SKILL.md +190 -186
- package/.codex/skills/manage-memory/SKILL.md +95 -72
- package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
- package/.codex/skills/manage-status/SKILL.md +102 -89
- package/.codex/skills/quality-business-test/SKILL.md +228 -223
- package/.codex/skills/quality-debug/SKILL.md +54 -66
- package/.codex/skills/quality-integration-test/SKILL.md +532 -544
- package/.codex/skills/quality-refactor/SKILL.md +197 -191
- package/.codex/skills/quality-retrospective/SKILL.md +512 -505
- package/.codex/skills/quality-review/SKILL.md +95 -107
- package/.codex/skills/quality-sync/SKILL.md +101 -89
- package/.codex/skills/quality-test/SKILL.md +202 -198
- package/.codex/skills/quality-test-gen/SKILL.md +94 -105
- package/.codex/skills/spec-add/SKILL.md +58 -39
- package/.codex/skills/spec-load/SKILL.md +45 -40
- package/.codex/skills/spec-map/SKILL.md +180 -182
- package/.codex/skills/spec-setup/SKILL.md +94 -76
- package/.codex/skills/team-coordinate/SKILL.md +346 -357
- package/.codex/skills/team-executor/SKILL.md +70 -112
- package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
- package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
- package/.codex/skills/team-review/SKILL.md +232 -225
- package/.codex/skills/team-tech-debt/SKILL.md +78 -100
- package/.codex/skills/team-testing/SKILL.md +242 -235
- package/.codex/skills/wiki-connect/SKILL.md +75 -0
- package/.codex/skills/wiki-digest/SKILL.md +87 -0
- package/README.md +9 -4
- package/README.zh-CN.md +9 -4
- package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
- package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
- package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
- package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
- package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
- package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
- package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
- package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
- package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
- package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
- package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
- package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
- package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
- package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
- package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
- package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
- package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
- package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
- package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
- package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
- package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
- package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
- package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
- package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
- package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
- package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
- package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
- package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
- package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
- package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
- package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
- package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
- package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
- package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
- package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
- package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
- package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
- package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
- package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
- package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +28 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
- package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
- package/dashboard/dist-server/src/hooks/constants.js +4 -2
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
- package/dist/shared/agent-types.d.ts +4 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/commands/collab.js +4 -4
- package/dist/src/commands/collab.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +66 -1
- 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 +29 -18
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +7 -2
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.js +23 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
- package/dist/src/hooks/constants.d.ts +3 -1
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +4 -2
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/guards/index.d.ts +1 -0
- package/dist/src/hooks/guards/index.d.ts.map +1 -1
- package/dist/src/hooks/guards/index.js +1 -0
- package/dist/src/hooks/guards/index.js.map +1 -1
- package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
- package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
- package/dist/src/hooks/guards/spec-validator.js +66 -0
- package/dist/src/hooks/guards/spec-validator.js.map +1 -0
- package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
- package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
- package/dist/src/hooks/keyword-spec-injector.js +96 -0
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/skill-context.d.ts +3 -0
- package/dist/src/hooks/skill-context.d.ts.map +1 -1
- package/dist/src/hooks/skill-context.js +95 -9
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/hooks/spec-bridge.d.ts +40 -0
- package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
- package/dist/src/hooks/spec-bridge.js +97 -0
- package/dist/src/hooks/spec-bridge.js.map +1 -0
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +18 -12
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/statusline.d.ts.map +1 -1
- package/dist/src/hooks/statusline.js +6 -3
- package/dist/src/hooks/statusline.js.map +1 -1
- package/dist/src/team/phase-orchestrator.d.ts +52 -0
- package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
- package/dist/src/team/phase-orchestrator.js +165 -0
- package/dist/src/team/phase-orchestrator.js.map +1 -0
- package/dist/src/team/phase-types.d.ts +51 -0
- package/dist/src/team/phase-types.d.ts.map +1 -0
- package/dist/src/team/phase-types.js +41 -0
- package/dist/src/team/phase-types.js.map +1 -0
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +6 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/merge-validator.d.ts.map +1 -1
- package/dist/src/tools/merge-validator.js +114 -16
- package/dist/src/tools/merge-validator.js.map +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts +56 -0
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
- package/dist/src/tools/spec-entry-parser.js +196 -0
- package/dist/src/tools/spec-entry-parser.js.map +1 -0
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +66 -92
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-keyword-index.d.ts +30 -0
- package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
- package/dist/src/tools/spec-keyword-index.js +101 -0
- package/dist/src/tools/spec-keyword-index.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +3 -3
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +49 -23
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-agents.d.ts +27 -0
- package/dist/src/tools/team-agents.d.ts.map +1 -0
- package/dist/src/tools/team-agents.js +362 -0
- package/dist/src/tools/team-agents.js.map +1 -0
- package/dist/src/tools/team-mailbox.d.ts +40 -0
- package/dist/src/tools/team-mailbox.d.ts.map +1 -0
- package/dist/src/tools/team-mailbox.js +384 -0
- package/dist/src/tools/team-mailbox.js.map +1 -0
- package/dist/src/tools/team-msg.d.ts +17 -8
- package/dist/src/tools/team-msg.d.ts.map +1 -1
- package/dist/src/tools/team-msg.js +110 -13
- package/dist/src/tools/team-msg.js.map +1 -1
- package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
- package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
- package/dist/src/tools/team-tasks-mcp.js +408 -0
- package/dist/src/tools/team-tasks-mcp.js.map +1 -0
- package/package.json +2 -1
- package/shared/agent-types.ts +4 -0
- package/templates/worktree-scope.json +9 -10
- package/templates/worktrees.json +26 -27
- package/workflows/analyze.md +816 -816
- package/workflows/brainstorm.md +480 -471
- package/workflows/codebase-rebuild.md +332 -332
- package/workflows/codebase-refresh.md +240 -240
- package/workflows/debug.md +16 -6
- package/workflows/execute.md +1 -1
- package/workflows/fork.md +100 -36
- package/workflows/harvest.md +420 -420
- package/workflows/integration-test.md +355 -343
- package/workflows/issue-discover.md +414 -414
- package/workflows/issue.md +14 -4
- package/workflows/learn.md +19 -5
- package/workflows/maestro.md +1 -0
- package/workflows/map.md +111 -111
- package/workflows/merge.md +113 -55
- package/workflows/milestone-complete.md +176 -176
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +497 -497
- package/workflows/refactor.md +300 -300
- package/workflows/retrospective.md +61 -22
- package/workflows/review.md +17 -4
- package/workflows/roadmap.md +335 -335
- package/workflows/spec-generate.md +640 -640
- package/workflows/specs-add.md +46 -81
- package/workflows/specs-load.md +15 -17
- package/workflows/specs-setup.md +40 -161
- package/workflows/test.md +12 -2
- package/workflows/ui-style.md +9 -2
- package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
- package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
- package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
- package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
- package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
- package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
- package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
- package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
- package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
- package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
- package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
|
@@ -1,84 +1,85 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: workflow-nyquist-auditor
|
|
3
|
-
description: Test coverage audit with gap detection and test stub generation
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- Read
|
|
6
|
-
- Write
|
|
7
|
-
- Glob
|
|
8
|
-
- Grep
|
|
9
|
-
- Bash
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Nyquist Auditor
|
|
13
|
-
|
|
14
|
-
## Role
|
|
15
|
-
You audit test coverage by mapping requirements to test files, calculating coverage metrics, identifying gaps, and generating test stubs for missing coverage. Named after the Nyquist theorem -- you ensure the testing "sample rate" is sufficient to capture the signal of correctness.
|
|
16
|
-
|
|
17
|
-
## Search Tools
|
|
18
|
-
@~/.maestro/templates/search-tools.md — Follow search tool priority and selection patterns.
|
|
19
|
-
|
|
20
|
-
## Schema Reference
|
|
21
|
-
- `@templates/validation.json` -- defines the validation artifact schema for coverage data and gap reporting
|
|
22
|
-
|
|
23
|
-
## Process
|
|
24
|
-
|
|
25
|
-
1. **Detect framework** -- Identify the test framework, runner, and conventions in use
|
|
26
|
-
2. **Map requirements** -- Build a matrix of requirements/features to test files
|
|
27
|
-
3. **Calculate coverage** -- Run coverage tools and analyze results:
|
|
28
|
-
- Line/branch coverage metrics
|
|
29
|
-
- Requirement-to-test traceability
|
|
30
|
-
- Untested code paths
|
|
31
|
-
4. **Identify gaps** -- Find requirements without tests, and code without coverage
|
|
32
|
-
5. **Generate stubs** -- Create test file stubs for identified gaps
|
|
33
|
-
6. **Write report** -- Output validation artifacts
|
|
34
|
-
|
|
35
|
-
## Input
|
|
36
|
-
- Requirements from spec, roadmap, or task definitions
|
|
37
|
-
- Existing test files and test configuration
|
|
38
|
-
- Source code to analyze coverage against
|
|
39
|
-
- **Project specs** — `maestro spec load --category test`: test conventions (framework, naming, patterns). Generated stubs must follow loaded conventions.
|
|
40
|
-
|
|
41
|
-
## Output Location
|
|
42
|
-
- Validation artifacts: `.workflow/
|
|
43
|
-
- Test plan: `.workflow/
|
|
44
|
-
- Test results: `.workflow/
|
|
45
|
-
- Coverage report: `.workflow/
|
|
46
|
-
- Generated test stubs: appropriate test directories within the project source tree
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
{"requirement": "REQ-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
{"type": "
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- `.tests/test-
|
|
70
|
-
- `.tests/
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
- If
|
|
76
|
-
- If
|
|
77
|
-
- If
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
1
|
+
---
|
|
2
|
+
name: workflow-nyquist-auditor
|
|
3
|
+
description: Test coverage audit with gap detection and test stub generation
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
- Bash
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Nyquist Auditor
|
|
13
|
+
|
|
14
|
+
## Role
|
|
15
|
+
You audit test coverage by mapping requirements to test files, calculating coverage metrics, identifying gaps, and generating test stubs for missing coverage. Named after the Nyquist theorem -- you ensure the testing "sample rate" is sufficient to capture the signal of correctness.
|
|
16
|
+
|
|
17
|
+
## Search Tools
|
|
18
|
+
@~/.maestro/templates/search-tools.md — Follow search tool priority and selection patterns.
|
|
19
|
+
|
|
20
|
+
## Schema Reference
|
|
21
|
+
- `@templates/validation.json` -- defines the validation artifact schema for coverage data and gap reporting
|
|
22
|
+
|
|
23
|
+
## Process
|
|
24
|
+
|
|
25
|
+
1. **Detect framework** -- Identify the test framework, runner, and conventions in use
|
|
26
|
+
2. **Map requirements** -- Build a matrix of requirements/features to test files
|
|
27
|
+
3. **Calculate coverage** -- Run coverage tools and analyze results:
|
|
28
|
+
- Line/branch coverage metrics
|
|
29
|
+
- Requirement-to-test traceability
|
|
30
|
+
- Untested code paths
|
|
31
|
+
4. **Identify gaps** -- Find requirements without tests, and code without coverage
|
|
32
|
+
5. **Generate stubs** -- Create test file stubs for identified gaps
|
|
33
|
+
6. **Write report** -- Output validation artifacts
|
|
34
|
+
|
|
35
|
+
## Input
|
|
36
|
+
- Requirements from spec, roadmap, or task definitions
|
|
37
|
+
- Existing test files and test configuration
|
|
38
|
+
- Source code to analyze coverage against
|
|
39
|
+
- **Project specs** — `maestro spec load --category test`: test conventions (framework, naming, patterns). Generated stubs must follow loaded conventions.
|
|
40
|
+
|
|
41
|
+
## Output Location
|
|
42
|
+
- Validation artifacts: `.workflow/scratch/{slug}/validation.json`
|
|
43
|
+
- Test plan: `.workflow/scratch/{slug}/.tests/test-plan.json`
|
|
44
|
+
- Test results: `.workflow/scratch/{slug}/.tests/test-results.json`
|
|
45
|
+
- Coverage report: `.workflow/scratch/{slug}/.tests/coverage-report.json`
|
|
46
|
+
- Generated test stubs: appropriate test directories within the project source tree
|
|
47
|
+
- **Legacy fallback**: `.workflow/phases/{NN}-{slug}/` paths are still recognized for backward compatibility
|
|
48
|
+
|
|
49
|
+
## Output
|
|
50
|
+
- `validation.json`:
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"framework": "<detected framework>",
|
|
54
|
+
"coverage": {
|
|
55
|
+
"line": "<percentage>",
|
|
56
|
+
"branch": "<percentage>",
|
|
57
|
+
"requirement": "<percentage>"
|
|
58
|
+
},
|
|
59
|
+
"matrix": [
|
|
60
|
+
{"requirement": "REQ-001", "test_files": ["test/auth.test.ts"], "status": "covered"},
|
|
61
|
+
{"requirement": "REQ-002", "test_files": [], "status": "gap"}
|
|
62
|
+
],
|
|
63
|
+
"gaps": [
|
|
64
|
+
{"type": "requirement", "id": "REQ-002", "suggested_test": "test/payment.test.ts"},
|
|
65
|
+
{"type": "code", "file": "src/utils.ts", "lines": "45-67", "reason": "no test coverage"}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
- `.tests/test-plan.json` -- Planned tests with priorities
|
|
70
|
+
- `.tests/test-results.json` -- Latest test run results
|
|
71
|
+
- `.tests/coverage-report.json` -- Detailed coverage data
|
|
72
|
+
- Generated test stubs in appropriate test directories
|
|
73
|
+
|
|
74
|
+
## Error Behavior
|
|
75
|
+
- If test framework cannot be detected: report `"framework": "unknown"` in validation.json and skip coverage calculation; focus on requirement-to-file mapping via static analysis
|
|
76
|
+
- If coverage tool fails to run (missing dependencies, config errors): set coverage percentages to `"unavailable"` and note the error in a `"errors"` array in validation.json
|
|
77
|
+
- If no test files exist at all: report 0% coverage across all metrics, generate stubs for all identified requirements
|
|
78
|
+
- If requirements source is missing: audit based on code-only analysis and note "requirement traceability unavailable" in the report
|
|
79
|
+
|
|
80
|
+
## Constraints
|
|
81
|
+
- Test stubs must follow existing test conventions and patterns
|
|
82
|
+
- Never modify existing tests; only create new stubs
|
|
83
|
+
- Coverage metrics must come from actual tool output, not estimates
|
|
84
|
+
- Gaps must reference specific requirements or code locations
|
|
85
|
+
- Prioritize gaps by risk: critical paths first, edge cases second
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: workflow-phase-researcher
|
|
3
|
-
description: Researches implementation approach for a specific roadmap phase
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- Read
|
|
6
|
-
- Bash
|
|
7
|
-
- Glob
|
|
8
|
-
- Grep
|
|
9
|
-
- WebFetch
|
|
10
|
-
- Write
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Phase Researcher
|
|
14
|
-
|
|
15
|
-
## Role
|
|
16
|
-
You research the implementation approach for a specific phase of the roadmap. You investigate libraries, patterns, and potential pitfalls relevant to that phase's goals, producing a research document that the planner consumes when creating tasks.
|
|
17
|
-
|
|
18
|
-
## Search Tools
|
|
19
|
-
@~/.maestro/templates/search-tools.md
|
|
20
|
-
|
|
21
|
-
## Process
|
|
22
|
-
|
|
23
|
-
1. **Read phase definition** -- Load the phase from roadmap.md and understand its goals and constraints
|
|
24
|
-
2. **Analyze requirements** -- Break phase goals into technical requirements
|
|
25
|
-
3. **Research approaches** -- Investigate libraries, frameworks, APIs, and patterns suitable for the requirements
|
|
26
|
-
4. **Review codebase context** -- Check `.workflow/codebase/` documents for existing patterns and constraints
|
|
27
|
-
5. **Identify pitfalls** -- Research common mistakes and failure modes for the chosen approach
|
|
28
|
-
6. **Document approach** -- Write a structured research document with recommendations
|
|
29
|
-
|
|
30
|
-
## Input
|
|
31
|
-
- Phase definition from `.workflow/roadmap.md`
|
|
32
|
-
- Codebase analysis from `.workflow/codebase/` (if available)
|
|
33
|
-
- Research summary from `.workflow/research/SUMMARY.md` (if available)
|
|
34
|
-
|
|
35
|
-
## Output
|
|
36
|
-
`.workflow/
|
|
37
|
-
|
|
38
|
-
Structure:
|
|
39
|
-
```
|
|
40
|
-
# Phase {NN}: {Name} - Research
|
|
41
|
-
|
|
42
|
-
## Phase Goals
|
|
43
|
-
<Restated from roadmap>
|
|
44
|
-
|
|
45
|
-
## Technical Requirements
|
|
46
|
-
- <Requirement 1>: <analysis>
|
|
47
|
-
|
|
48
|
-
## Recommended Approach
|
|
49
|
-
### Libraries & Tools
|
|
50
|
-
- <Library>: <version, purpose, trade-offs>
|
|
51
|
-
|
|
52
|
-
### Patterns
|
|
53
|
-
- <Pattern>: <why suitable, examples>
|
|
54
|
-
|
|
55
|
-
### Integration Points
|
|
56
|
-
- <How this connects to existing code or other phases>
|
|
57
|
-
|
|
58
|
-
## Pitfalls & Mitigations
|
|
59
|
-
- <Pitfall>: <mitigation strategy>
|
|
60
|
-
|
|
61
|
-
## Open Questions
|
|
62
|
-
- <Items needing resolution before planning>
|
|
63
|
-
|
|
64
|
-
## References
|
|
65
|
-
- <Links to docs, examples, benchmarks>
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Schema Reference
|
|
69
|
-
N/A -- produces markdown research document
|
|
70
|
-
|
|
71
|
-
## Output Location
|
|
72
|
-
`.workflow/phases/{NN}-{slug}
|
|
73
|
-
|
|
74
|
-
## Error Behavior
|
|
75
|
-
- If codebase analysis (`.workflow/codebase/`) is unavailable, note as limitation and proceed with external research only
|
|
76
|
-
- If research summary is unavailable, derive context from roadmap phase definition alone
|
|
77
|
-
- If WebFetch fails for external resources, document the intended lookup and proceed with available information
|
|
78
|
-
- If phase definition is ambiguous, list specific open questions rather than guessing
|
|
79
|
-
|
|
80
|
-
## Constraints
|
|
81
|
-
- Research must be specific to the phase, not generic
|
|
82
|
-
- Recommend concrete libraries with versions, not abstract categories
|
|
83
|
-
- Identify integration points with existing codebase
|
|
84
|
-
- Flag blocking questions that must be resolved before planning
|
|
85
|
-
- Keep document under 300 lines
|
|
1
|
+
---
|
|
2
|
+
name: workflow-phase-researcher
|
|
3
|
+
description: Researches implementation approach for a specific roadmap phase
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
- WebFetch
|
|
10
|
+
- Write
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Phase Researcher
|
|
14
|
+
|
|
15
|
+
## Role
|
|
16
|
+
You research the implementation approach for a specific phase of the roadmap. You investigate libraries, patterns, and potential pitfalls relevant to that phase's goals, producing a research document that the planner consumes when creating tasks.
|
|
17
|
+
|
|
18
|
+
## Search Tools
|
|
19
|
+
@~/.maestro/templates/search-tools.md
|
|
20
|
+
|
|
21
|
+
## Process
|
|
22
|
+
|
|
23
|
+
1. **Read phase definition** -- Load the phase from roadmap.md and understand its goals and constraints
|
|
24
|
+
2. **Analyze requirements** -- Break phase goals into technical requirements
|
|
25
|
+
3. **Research approaches** -- Investigate libraries, frameworks, APIs, and patterns suitable for the requirements
|
|
26
|
+
4. **Review codebase context** -- Check `.workflow/codebase/` documents for existing patterns and constraints
|
|
27
|
+
5. **Identify pitfalls** -- Research common mistakes and failure modes for the chosen approach
|
|
28
|
+
6. **Document approach** -- Write a structured research document with recommendations
|
|
29
|
+
|
|
30
|
+
## Input
|
|
31
|
+
- Phase definition from `.workflow/roadmap.md`
|
|
32
|
+
- Codebase analysis from `.workflow/codebase/` (if available)
|
|
33
|
+
- Research summary from `.workflow/research/SUMMARY.md` (if available)
|
|
34
|
+
|
|
35
|
+
## Output
|
|
36
|
+
`.workflow/scratch/{slug}/research.md` (resolved via state.json artifact registry; legacy fallback: `.workflow/phases/{NN}-{slug}/research.md`).
|
|
37
|
+
|
|
38
|
+
Structure:
|
|
39
|
+
```
|
|
40
|
+
# Phase {NN}: {Name} - Research
|
|
41
|
+
|
|
42
|
+
## Phase Goals
|
|
43
|
+
<Restated from roadmap>
|
|
44
|
+
|
|
45
|
+
## Technical Requirements
|
|
46
|
+
- <Requirement 1>: <analysis>
|
|
47
|
+
|
|
48
|
+
## Recommended Approach
|
|
49
|
+
### Libraries & Tools
|
|
50
|
+
- <Library>: <version, purpose, trade-offs>
|
|
51
|
+
|
|
52
|
+
### Patterns
|
|
53
|
+
- <Pattern>: <why suitable, examples>
|
|
54
|
+
|
|
55
|
+
### Integration Points
|
|
56
|
+
- <How this connects to existing code or other phases>
|
|
57
|
+
|
|
58
|
+
## Pitfalls & Mitigations
|
|
59
|
+
- <Pitfall>: <mitigation strategy>
|
|
60
|
+
|
|
61
|
+
## Open Questions
|
|
62
|
+
- <Items needing resolution before planning>
|
|
63
|
+
|
|
64
|
+
## References
|
|
65
|
+
- <Links to docs, examples, benchmarks>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Schema Reference
|
|
69
|
+
N/A -- produces markdown research document
|
|
70
|
+
|
|
71
|
+
## Output Location
|
|
72
|
+
`.workflow/scratch/{slug}/research.md` (legacy fallback: `.workflow/phases/{NN}-{slug}/`)
|
|
73
|
+
|
|
74
|
+
## Error Behavior
|
|
75
|
+
- If codebase analysis (`.workflow/codebase/`) is unavailable, note as limitation and proceed with external research only
|
|
76
|
+
- If research summary is unavailable, derive context from roadmap phase definition alone
|
|
77
|
+
- If WebFetch fails for external resources, document the intended lookup and proceed with available information
|
|
78
|
+
- If phase definition is ambiguous, list specific open questions rather than guessing
|
|
79
|
+
|
|
80
|
+
## Constraints
|
|
81
|
+
- Research must be specific to the phase, not generic
|
|
82
|
+
- Recommend concrete libraries with versions, not abstract categories
|
|
83
|
+
- Identify integration points with existing codebase
|
|
84
|
+
- Flag blocking questions that must be resolved before planning
|
|
85
|
+
- Keep document under 300 lines
|
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: workflow-plan-checker
|
|
3
|
-
description: Validates plan quality with up to 3 revision rounds
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- Read
|
|
6
|
-
- Write
|
|
7
|
-
- Glob
|
|
8
|
-
- Grep
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Plan Checker
|
|
12
|
-
|
|
13
|
-
## Role
|
|
14
|
-
You validate the quality of execution plans before they proceed to implementation. You check requirements coverage, feasibility, dependency correctness, and convergence criteria quality. You may request up to 3 rounds of revisions before either approving or escalating.
|
|
15
|
-
|
|
16
|
-
## Schema Reference
|
|
17
|
-
- `@templates/task.json` -- `convergence.criteria` is the required field for task completion validation
|
|
18
|
-
- Each task's `convergence.criteria[]` array defines measurable, testable acceptance conditions
|
|
19
|
-
- The `files[]` array lists files the task will create or modify
|
|
20
|
-
|
|
21
|
-
## Process
|
|
22
|
-
|
|
23
|
-
1. **Load plan** -- Read plan.json and all .task/TASK-*.json files
|
|
24
|
-
2. **Load requirements** -- Read spec, roadmap, and phase context for requirements baseline
|
|
25
|
-
3. **Check coverage** -- Verify every requirement has at least one task addressing it
|
|
26
|
-
4. **Check feasibility** -- Assess whether tasks are realistic in scope and description
|
|
27
|
-
5. **Check dependencies** -- Validate dependency ordering (no circular deps, correct wave assignment)
|
|
28
|
-
6. **Check convergence criteria** -- Evaluate each `convergence.criteria` item for specificity and testability:
|
|
29
|
-
- Each criterion must be objectively verifiable (not subjective like "works correctly")
|
|
30
|
-
- Each criterion must reference a concrete artifact, output, or behavior
|
|
31
|
-
- Criteria should be sufficient to prove the task is complete
|
|
32
|
-
7. **Check files array** -- Verify each task's `files[]` array is consistent with its description
|
|
33
|
-
8. **Report** -- Write check report with issues or approval
|
|
34
|
-
|
|
35
|
-
### Revision Loop (max 3 rounds)
|
|
36
|
-
- If issues found: write report with specific issues and suggested fixes
|
|
37
|
-
- Planner revises and resubmits
|
|
38
|
-
- Re-check from step 1
|
|
39
|
-
- After 3 failed rounds: escalate with detailed issue list
|
|
40
|
-
|
|
41
|
-
## Input
|
|
42
|
-
- `plan.json` and `.task/TASK-*.json` files
|
|
43
|
-
- Requirements source (spec, roadmap, phase context)
|
|
44
|
-
- **Project specs** — `maestro spec load --category
|
|
45
|
-
|
|
46
|
-
## Output Location
|
|
47
|
-
`.workflow/
|
|
48
|
-
|
|
49
|
-
## Output
|
|
50
|
-
Check report written to the output location above:
|
|
51
|
-
```
|
|
52
|
-
# Plan Check Report
|
|
53
|
-
|
|
54
|
-
## Status: APPROVED | NEEDS_REVISION | ESCALATED
|
|
55
|
-
|
|
56
|
-
## Round: {N}/3
|
|
57
|
-
|
|
58
|
-
## Coverage Analysis
|
|
59
|
-
- [x] REQ-001: Covered by TASK-001
|
|
60
|
-
- [ ] REQ-002: NOT COVERED -- <suggestion>
|
|
61
|
-
|
|
62
|
-
## Feasibility Issues
|
|
63
|
-
- TASK-003: Too broad, should split into 2 tasks
|
|
64
|
-
|
|
65
|
-
## Dependency Issues
|
|
66
|
-
- TASK-005 depends on TASK-007 but is in an earlier wave
|
|
67
|
-
|
|
68
|
-
## Convergence Quality
|
|
69
|
-
- TASK-002 convergence.criteria[0]: Too vague ("works correctly") -- suggest: "API returns 200 with valid JSON matching schema in types/response.ts"
|
|
70
|
-
- TASK-004 convergence.criteria: Missing file-level verification -- suggest adding: "src/auth.ts exports AuthService class"
|
|
71
|
-
|
|
72
|
-
## Files Array Consistency
|
|
73
|
-
- TASK-006: description mentions "update config" but files[] does not include any config file
|
|
74
|
-
|
|
75
|
-
## Summary
|
|
76
|
-
<Overall assessment>
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Error Behavior
|
|
80
|
-
- If plan.json is missing or unparseable: report ESCALATED with "plan.json not found or invalid JSON"
|
|
81
|
-
- If .task/ directory is empty: report ESCALATED with "no task files found"
|
|
82
|
-
- If requirements source is unavailable: report NEEDS_REVISION with "cannot verify coverage without requirements baseline"
|
|
83
|
-
- If a single TASK-*.json is malformed: log the error for that task, continue checking remaining tasks
|
|
84
|
-
|
|
85
|
-
## Constraints
|
|
86
|
-
- Maximum 3 revision rounds; then must approve or escalate
|
|
87
|
-
- Every issue must include a specific suggestion for fixing it
|
|
88
|
-
- Do not rewrite tasks yourself; only report issues for the planner to fix
|
|
89
|
-
- Coverage check must reference specific requirements, not general impressions
|
|
90
|
-
- Approve when plan is good enough, not perfect; avoid over-engineering
|
|
1
|
+
---
|
|
2
|
+
name: workflow-plan-checker
|
|
3
|
+
description: Validates plan quality with up to 3 revision rounds
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Plan Checker
|
|
12
|
+
|
|
13
|
+
## Role
|
|
14
|
+
You validate the quality of execution plans before they proceed to implementation. You check requirements coverage, feasibility, dependency correctness, and convergence criteria quality. You may request up to 3 rounds of revisions before either approving or escalating.
|
|
15
|
+
|
|
16
|
+
## Schema Reference
|
|
17
|
+
- `@templates/task.json` -- `convergence.criteria` is the required field for task completion validation
|
|
18
|
+
- Each task's `convergence.criteria[]` array defines measurable, testable acceptance conditions
|
|
19
|
+
- The `files[]` array lists files the task will create or modify
|
|
20
|
+
|
|
21
|
+
## Process
|
|
22
|
+
|
|
23
|
+
1. **Load plan** -- Read plan.json and all .task/TASK-*.json files
|
|
24
|
+
2. **Load requirements** -- Read spec, roadmap, and phase context for requirements baseline
|
|
25
|
+
3. **Check coverage** -- Verify every requirement has at least one task addressing it
|
|
26
|
+
4. **Check feasibility** -- Assess whether tasks are realistic in scope and description
|
|
27
|
+
5. **Check dependencies** -- Validate dependency ordering (no circular deps, correct wave assignment)
|
|
28
|
+
6. **Check convergence criteria** -- Evaluate each `convergence.criteria` item for specificity and testability:
|
|
29
|
+
- Each criterion must be objectively verifiable (not subjective like "works correctly")
|
|
30
|
+
- Each criterion must reference a concrete artifact, output, or behavior
|
|
31
|
+
- Criteria should be sufficient to prove the task is complete
|
|
32
|
+
7. **Check files array** -- Verify each task's `files[]` array is consistent with its description
|
|
33
|
+
8. **Report** -- Write check report with issues or approval
|
|
34
|
+
|
|
35
|
+
### Revision Loop (max 3 rounds)
|
|
36
|
+
- If issues found: write report with specific issues and suggested fixes
|
|
37
|
+
- Planner revises and resubmits
|
|
38
|
+
- Re-check from step 1
|
|
39
|
+
- After 3 failed rounds: escalate with detailed issue list
|
|
40
|
+
|
|
41
|
+
## Input
|
|
42
|
+
- `plan.json` and `.task/TASK-*.json` files
|
|
43
|
+
- Requirements source (spec, roadmap, phase context)
|
|
44
|
+
- **Project specs** — `maestro spec load --category arch`: verify tasks comply with architecture constraints and module boundaries
|
|
45
|
+
|
|
46
|
+
## Output Location
|
|
47
|
+
`.workflow/scratch/{slug}/plan-check.md` (legacy fallback: `.workflow/phases/{NN}-{slug}/`)
|
|
48
|
+
|
|
49
|
+
## Output
|
|
50
|
+
Check report written to the output location above:
|
|
51
|
+
```
|
|
52
|
+
# Plan Check Report
|
|
53
|
+
|
|
54
|
+
## Status: APPROVED | NEEDS_REVISION | ESCALATED
|
|
55
|
+
|
|
56
|
+
## Round: {N}/3
|
|
57
|
+
|
|
58
|
+
## Coverage Analysis
|
|
59
|
+
- [x] REQ-001: Covered by TASK-001
|
|
60
|
+
- [ ] REQ-002: NOT COVERED -- <suggestion>
|
|
61
|
+
|
|
62
|
+
## Feasibility Issues
|
|
63
|
+
- TASK-003: Too broad, should split into 2 tasks
|
|
64
|
+
|
|
65
|
+
## Dependency Issues
|
|
66
|
+
- TASK-005 depends on TASK-007 but is in an earlier wave
|
|
67
|
+
|
|
68
|
+
## Convergence Quality
|
|
69
|
+
- TASK-002 convergence.criteria[0]: Too vague ("works correctly") -- suggest: "API returns 200 with valid JSON matching schema in types/response.ts"
|
|
70
|
+
- TASK-004 convergence.criteria: Missing file-level verification -- suggest adding: "src/auth.ts exports AuthService class"
|
|
71
|
+
|
|
72
|
+
## Files Array Consistency
|
|
73
|
+
- TASK-006: description mentions "update config" but files[] does not include any config file
|
|
74
|
+
|
|
75
|
+
## Summary
|
|
76
|
+
<Overall assessment>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Error Behavior
|
|
80
|
+
- If plan.json is missing or unparseable: report ESCALATED with "plan.json not found or invalid JSON"
|
|
81
|
+
- If .task/ directory is empty: report ESCALATED with "no task files found"
|
|
82
|
+
- If requirements source is unavailable: report NEEDS_REVISION with "cannot verify coverage without requirements baseline"
|
|
83
|
+
- If a single TASK-*.json is malformed: log the error for that task, continue checking remaining tasks
|
|
84
|
+
|
|
85
|
+
## Constraints
|
|
86
|
+
- Maximum 3 revision rounds; then must approve or escalate
|
|
87
|
+
- Every issue must include a specific suggestion for fixing it
|
|
88
|
+
- Do not rewrite tasks yourself; only report issues for the planner to fix
|
|
89
|
+
- Coverage check must reference specific requirements, not general impressions
|
|
90
|
+
- Approve when plan is good enough, not perfect; avoid over-engineering
|