maestro-flow 0.3.11 → 0.3.13
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/CLAUDE.md +7 -0
- package/.claude/agents/conceptual-planning-agent.md +1 -0
- package/.claude/agents/workflow-analyzer.md +113 -114
- package/.claude/agents/workflow-collab-planner.md +143 -144
- package/.claude/agents/workflow-debugger.md +101 -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 +84 -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 +177 -178
- package/.claude/agents/workflow-roadmapper.md +81 -83
- package/.claude/agents/workflow-verifier.md +118 -119
- package/.claude/commands/learn-retro.md +2 -2
- package/.claude/commands/learn-second-opinion.md +2 -2
- package/.claude/commands/maestro-analyze.md +10 -2
- package/.claude/commands/maestro-brainstorm.md +2 -1
- package/.claude/commands/maestro-execute.md +21 -4
- package/.claude/commands/maestro-fork.md +133 -111
- package/.claude/commands/maestro-merge.md +85 -77
- package/.claude/commands/maestro-milestone-complete.md +14 -0
- package/.claude/commands/maestro-plan.md +100 -8
- package/.claude/commands/maestro-roadmap.md +113 -2
- package/.claude/commands/maestro-ui-design.md +7 -7
- package/.claude/commands/maestro-update.md +176 -0
- package/.claude/commands/maestro-verify.md +18 -3
- package/.claude/commands/maestro.md +1 -0
- package/.claude/commands/manage-codebase-rebuild.md +0 -1
- package/.claude/commands/manage-harvest.md +1 -1
- package/.claude/commands/manage-learn.md +5 -5
- package/.claude/commands/manage-memory-capture.md +4 -4
- package/.claude/commands/manage-memory.md +1 -1
- package/.claude/commands/manage-wiki.md +62 -0
- package/.claude/commands/quality-business-test.md +5 -5
- package/.claude/commands/quality-debug.md +53 -6
- package/.claude/commands/quality-retrospective.md +9 -7
- package/.claude/commands/quality-review.md +39 -7
- package/.claude/commands/quality-sync.md +1 -1
- package/.claude/commands/quality-test-gen.md +5 -4
- package/.claude/commands/quality-test.md +45 -12
- package/.claude/commands/spec-remove.md +51 -0
- package/.claude/commands/spec-setup.md +1 -3
- package/.claude/commands/wiki-connect.md +9 -5
- package/.claude/commands/wiki-digest.md +6 -3
- package/.codex/skills/maestro/SKILL.md +2 -2
- package/.codex/skills/maestro-analyze/SKILL.md +4 -4
- package/.codex/skills/maestro-brainstorm/SKILL.md +4 -4
- package/.codex/skills/maestro-coordinate/SKILL.md +2 -2
- package/.codex/skills/maestro-execute/SKILL.md +15 -5
- package/.codex/skills/maestro-fork/SKILL.md +98 -68
- package/.codex/skills/maestro-init/SKILL.md +5 -4
- package/.codex/skills/maestro-merge/SKILL.md +69 -62
- package/.codex/skills/maestro-milestone-complete/SKILL.md +18 -1
- package/.codex/skills/maestro-plan/SKILL.md +6 -6
- package/.codex/skills/maestro-roadmap/SKILL.md +3 -4
- package/.codex/skills/maestro-spec-generate/SKILL.md +2 -2
- package/.codex/skills/maestro-ui-design/SKILL.md +6 -6
- package/.codex/skills/maestro-verify/SKILL.md +29 -20
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +4 -4
- package/.codex/skills/manage-harvest/SKILL.md +10 -1
- package/.codex/skills/manage-issue-discover/SKILL.md +3 -3
- package/.codex/skills/manage-learn/SKILL.md +3 -2
- package/.codex/skills/manage-memory/SKILL.md +3 -3
- package/.codex/skills/manage-memory-capture/SKILL.md +8 -14
- package/.codex/skills/manage-status/SKILL.md +9 -4
- package/.codex/skills/manage-wiki/SKILL.md +55 -0
- package/.codex/skills/quality-business-test/SKILL.md +8 -6
- package/.codex/skills/quality-debug/SKILL.md +22 -9
- package/.codex/skills/quality-integration-test/SKILL.md +11 -7
- package/.codex/skills/quality-retrospective/SKILL.md +48 -29
- package/.codex/skills/quality-review/SKILL.md +10 -7
- package/.codex/skills/quality-test/SKILL.md +10 -5
- package/.codex/skills/quality-test-gen/SKILL.md +13 -9
- package/.codex/skills/spec-add/SKILL.md +11 -3
- package/.codex/skills/spec-load/SKILL.md +7 -0
- package/.codex/skills/spec-map/SKILL.md +2 -2
- package/.codex/skills/spec-remove/SKILL.md +101 -0
- package/.codex/skills/spec-setup/SKILL.md +4 -8
- package/.codex/skills/wiki-connect/SKILL.md +6 -5
- package/.codex/skills/wiki-digest/SKILL.md +2 -2
- package/README.md +2 -0
- package/README.zh-CN.md +2 -0
- 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/claude-code-adapter.d.ts +9 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +109 -9
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js +49 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.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/index.js +5 -4
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +5 -13
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +97 -155
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.d.ts +11 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +27 -6
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +25 -7
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +8 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +29 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +148 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +4 -2
- 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 +8 -2
- 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.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +80 -38
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +8 -6
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +40 -5
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +21 -23
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +33 -3
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +184 -12
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.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 +5 -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 +1 -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/ws-protocol.d.ts +27 -1
- 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/commands/delegate.js +26 -0
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dashboard/dist-server/src/coordinator/graph-types.d.ts +11 -1
- package/dashboard/dist-server/src/coordinator/graph-walker.js +29 -2
- package/dashboard/dist-server/src/coordinator/graph-walker.js.map +1 -1
- package/dashboard/dist-server/src/coordinator/prompt-assembler.js +3 -2
- package/dashboard/dist-server/src/coordinator/prompt-assembler.js.map +1 -1
- package/dashboard/dist-server/src/hooks/constants.d.ts +29 -60
- package/dashboard/dist-server/src/hooks/constants.js +105 -82
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
- package/dashboard/dist-server/src/types/index.d.ts +2 -1
- package/dist/shared/agent-types.d.ts +4 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +26 -0
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +2 -4
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +4 -7
- 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/install-ui/InstallConfirm.d.ts +2 -3
- package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.js +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +1 -2
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.js +5 -7
- package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts +3 -6
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.js +21 -17
- package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +95 -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 +75 -11
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/coordinator/graph-types.d.ts +11 -1
- package/dist/src/coordinator/graph-types.d.ts.map +1 -1
- package/dist/src/coordinator/graph-walker.d.ts.map +1 -1
- package/dist/src/coordinator/graph-walker.js +29 -2
- package/dist/src/coordinator/graph-walker.js.map +1 -1
- package/dist/src/coordinator/prompt-assembler.d.ts.map +1 -1
- package/dist/src/coordinator/prompt-assembler.js +3 -2
- package/dist/src/coordinator/prompt-assembler.js.map +1 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +4 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.js +55 -152
- package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
- package/dist/src/hooks/constants.d.ts +29 -60
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +105 -82
- package/dist/src/hooks/constants.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 +149 -15
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/hooks/statusline.d.ts +11 -8
- package/dist/src/hooks/statusline.d.ts.map +1 -1
- package/dist/src/hooks/statusline.js +284 -179
- package/dist/src/hooks/statusline.js.map +1 -1
- package/dist/src/hooks/workspace.d.ts.map +1 -1
- package/dist/src/hooks/workspace.js +2 -1
- package/dist/src/hooks/workspace.js.map +1 -1
- package/dist/src/migrations/_template.d.ts +12 -0
- package/dist/src/migrations/_template.d.ts.map +1 -0
- package/dist/src/migrations/_template.js +55 -0
- package/dist/src/migrations/_template.js.map +1 -0
- package/dist/src/migrations/index.d.ts +14 -0
- package/dist/src/migrations/index.d.ts.map +1 -0
- package/dist/src/migrations/index.js +20 -0
- package/dist/src/migrations/index.js.map +1 -0
- package/dist/src/migrations/run.d.ts +12 -0
- package/dist/src/migrations/run.d.ts.map +1 -0
- package/dist/src/migrations/run.js +119 -0
- package/dist/src/migrations/run.js.map +1 -0
- package/dist/src/migrations/v1-to-v2.d.ts +10 -0
- package/dist/src/migrations/v1-to-v2.d.ts.map +1 -0
- package/dist/src/migrations/v1-to-v2.js +71 -0
- package/dist/src/migrations/v1-to-v2.js.map +1 -0
- 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/team-activity.d.ts.map +1 -1
- package/dist/src/tools/team-activity.js +22 -0
- package/dist/src/tools/team-activity.js.map +1 -1
- package/dist/src/tools/transition-recorder.d.ts +2 -17
- package/dist/src/tools/transition-recorder.d.ts.map +1 -1
- package/dist/src/tools/transition-recorder.js +6 -3
- package/dist/src/tools/transition-recorder.js.map +1 -1
- package/dist/src/types/index.d.ts +2 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/utils/migration-registry.d.ts +65 -0
- package/dist/src/utils/migration-registry.d.ts.map +1 -0
- package/dist/src/utils/migration-registry.js +117 -0
- package/dist/src/utils/migration-registry.js.map +1 -0
- package/dist/src/utils/state-schema.d.ts +153 -0
- package/dist/src/utils/state-schema.d.ts.map +1 -0
- package/dist/src/utils/state-schema.js +329 -0
- package/dist/src/utils/state-schema.js.map +1 -0
- package/package.json +1 -1
- package/shared/agent-types.ts +4 -0
- package/templates/state.json +17 -39
- package/templates/worktree-scope.json +9 -10
- package/templates/worktrees.json +26 -27
- package/workflows/brainstorm.md +10 -1
- package/workflows/codebase-rebuild.md +2 -12
- package/workflows/debug.md +17 -8
- package/workflows/execute.md +18 -4
- package/workflows/fork.md +52 -37
- package/workflows/init.md +1 -4
- package/workflows/integration-test.md +13 -2
- package/workflows/issue.md +8 -4
- package/workflows/learn.md +25 -10
- package/workflows/maestro.codex.md +8 -1
- package/workflows/maestro.md +13 -3
- package/workflows/memory.md +26 -71
- package/workflows/merge.md +48 -52
- package/workflows/milestone-complete.md +24 -7
- package/workflows/retrospective.md +87 -80
- package/workflows/review.md +11 -5
- package/workflows/specs-remove.md +115 -0
- package/workflows/specs-setup.md +10 -32
- package/workflows/status.md +291 -290
- package/workflows/sync.md +5 -5
- package/workflows/test.md +11 -2
- package/workflows/ui-style.md +8 -2
- package/workflows/verify.md +2 -2
- package/workflows/wiki-connect.md +188 -0
- package/workflows/wiki-digest.md +221 -0
- package/workflows/wiki-manage.md +204 -0
- 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
package/workflows/status.md
CHANGED
|
@@ -1,290 +1,291 @@
|
|
|
1
|
-
# Workflow: status
|
|
2
|
-
|
|
3
|
-
Status dashboard with intelligent routing.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Step 1: Load State
|
|
8
|
-
|
|
9
|
-
1. Check `.workflow/state.json` exists:
|
|
10
|
-
- If missing → display "No project initialized. Run `/workflow:init` to start." → exit
|
|
11
|
-
|
|
12
|
-
2. Read `.workflow/state.json`:
|
|
13
|
-
- Extract: project_name, current_milestone,
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
│
|
|
163
|
-
│
|
|
164
|
-
│
|
|
165
|
-
│
|
|
166
|
-
│
|
|
167
|
-
│
|
|
168
|
-
│
|
|
169
|
-
│
|
|
170
|
-
│
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
- `[
|
|
188
|
-
- `[
|
|
189
|
-
- `[
|
|
190
|
-
- `[
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
│
|
|
204
|
-
│
|
|
205
|
-
│
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
{
|
|
221
|
-
|
|
222
|
-
│
|
|
223
|
-
│
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
-
|
|
238
|
-
- Suggest: Skill({ skill: "
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
| /workflow:
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
completed (
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
1
|
+
# Workflow: status
|
|
2
|
+
|
|
3
|
+
Status dashboard with intelligent routing.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Step 1: Load State
|
|
8
|
+
|
|
9
|
+
1. Check `.workflow/state.json` exists:
|
|
10
|
+
- If missing → display "No project initialized. Run `/workflow:init` to start." → exit
|
|
11
|
+
|
|
12
|
+
2. Read `.workflow/state.json`:
|
|
13
|
+
- Extract: project_name, current_milestone, status, milestones, artifacts
|
|
14
|
+
- Derive current_phase and phases_summary from artifacts[] (see src/utils/state-schema.ts)
|
|
15
|
+
- Extract: accumulated_context (key_decisions, blockers, deferred)
|
|
16
|
+
|
|
17
|
+
3. Read `.workflow/roadmap.md`:
|
|
18
|
+
- Extract phase list with titles
|
|
19
|
+
|
|
20
|
+
4. Load Issue State:
|
|
21
|
+
- If `.workflow/issues/issues.jsonl` exists:
|
|
22
|
+
- Read all lines, parse each as JSON
|
|
23
|
+
- Compute statistics:
|
|
24
|
+
```
|
|
25
|
+
by_status: {
|
|
26
|
+
registered: count(status == "registered"),
|
|
27
|
+
diagnosed: count(status == "diagnosed"),
|
|
28
|
+
planning: count(status == "planning"),
|
|
29
|
+
planned: count(status == "planned"),
|
|
30
|
+
executing: count(status == "executing")
|
|
31
|
+
}
|
|
32
|
+
by_severity: {
|
|
33
|
+
critical: count(severity == "critical"),
|
|
34
|
+
high: count(severity == "high"),
|
|
35
|
+
medium: count(severity == "medium"),
|
|
36
|
+
low: count(severity == "low")
|
|
37
|
+
}
|
|
38
|
+
total_open: count where status NOT in [completed, failed, deferred]
|
|
39
|
+
critical_open: count where severity == "critical" AND status NOT in [completed, failed, deferred]
|
|
40
|
+
critical_issues: list of {id, title, status} where severity == "critical" AND status NOT in [completed, failed, deferred]
|
|
41
|
+
```
|
|
42
|
+
- Store as issue_state
|
|
43
|
+
- Else:
|
|
44
|
+
- issue_state = null (no issues tracked)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Step 2: Build Virtual Phase View from Artifact Registry
|
|
49
|
+
|
|
50
|
+
Derive phase progress from `state.json.artifacts[]`:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
// Group artifacts by phase for current milestone
|
|
54
|
+
milestone_artifacts = state.json.artifacts.filter(a => a.milestone == current_milestone)
|
|
55
|
+
|
|
56
|
+
// Build phase view from roadmap + artifact registry
|
|
57
|
+
phases_from_roadmap = parse roadmap.md → list of { number, slug, title }
|
|
58
|
+
|
|
59
|
+
FOR each phase IN phases_from_roadmap:
|
|
60
|
+
phase_artifacts = milestone_artifacts.filter(a => a.phase == phase.number)
|
|
61
|
+
has_analyze = phase_artifacts.some(a => a.type == "analyze" && a.status == "completed")
|
|
62
|
+
has_plan = phase_artifacts.some(a => a.type == "plan" && a.status == "completed")
|
|
63
|
+
has_execute = phase_artifacts.some(a => a.type == "execute" && a.status == "completed")
|
|
64
|
+
has_verify = phase_artifacts.some(a => a.type == "verify" && a.status == "completed")
|
|
65
|
+
|
|
66
|
+
// Derive status from artifact chain
|
|
67
|
+
status = has_verify ? "verified" :
|
|
68
|
+
has_execute ? "executed" :
|
|
69
|
+
has_plan ? "planned" :
|
|
70
|
+
has_analyze ? "analyzed" :
|
|
71
|
+
"pending"
|
|
72
|
+
|
|
73
|
+
// Get task counts from plan artifacts
|
|
74
|
+
plan_artifact = phase_artifacts.find(a => a.type == "plan" && a.status == "completed")
|
|
75
|
+
IF plan_artifact:
|
|
76
|
+
plan_json = read .workflow/{plan_artifact.path}/plan.json
|
|
77
|
+
tasks_total = plan_json.task_ids.length
|
|
78
|
+
tasks_completed = count .task/TASK-*.json where status == "completed"
|
|
79
|
+
|
|
80
|
+
phases[] = { number, slug, title, status, tasks_total, tasks_completed, has_verify }
|
|
81
|
+
|
|
82
|
+
// Also show adhoc artifacts
|
|
83
|
+
adhoc_artifacts = milestone_artifacts.filter(a => a.scope == "adhoc")
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Step 2.5: Artifact Registry Consistency Check
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
IF .workflow/roadmap.md exists:
|
|
92
|
+
roadmap_phases = parse phase headings from roadmap.md (count "### Phase N:" entries)
|
|
93
|
+
artifact_phases = unique phase numbers from milestone_artifacts
|
|
94
|
+
|
|
95
|
+
// Check for unregistered work (artifacts without matching roadmap phases)
|
|
96
|
+
orphan_artifacts = milestone_artifacts.filter(a => a.phase && !roadmap_phases.includes(a.phase))
|
|
97
|
+
IF orphan_artifacts.length > 0:
|
|
98
|
+
Display WARNING: "Artifacts reference phases not in roadmap"
|
|
99
|
+
|
|
100
|
+
ELSE IF NOT .workflow/roadmap.md exists AND milestone_artifacts.length > 0:
|
|
101
|
+
Display WARNING:
|
|
102
|
+
⚠️ Roadmap missing but artifact registry has {milestone_artifacts.length} entries.
|
|
103
|
+
This may indicate a completed milestone. Run /maestro continue to plan next milestone.
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Step 3: Compute Progress
|
|
109
|
+
|
|
110
|
+
1. Count by status:
|
|
111
|
+
```
|
|
112
|
+
total = phases.length
|
|
113
|
+
completed = phases.filter(status == "completed").length
|
|
114
|
+
executing = phases.filter(status == "executing").length
|
|
115
|
+
planning = phases.filter(status == "planning").length
|
|
116
|
+
exploring = phases.filter(status == "exploring").length
|
|
117
|
+
pending = phases.filter(status == "pending").length
|
|
118
|
+
blocked = phases.filter(status == "blocked").length
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
2. Calculate overall progress:
|
|
122
|
+
```
|
|
123
|
+
progress_pct = (completed / total) * 100
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Step 4: Display Dashboard
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
====================================================
|
|
132
|
+
PROJECT: {project_name}
|
|
133
|
+
MILESTONE: {current_milestone}
|
|
134
|
+
STATUS: {status}
|
|
135
|
+
PROGRESS: [{progress_bar}] {completed}/{total} phases ({progress_pct}%)
|
|
136
|
+
====================================================
|
|
137
|
+
|
|
138
|
+
PHASES:
|
|
139
|
+
{for each phase}
|
|
140
|
+
[{status_icon}] Phase {number}: {title}
|
|
141
|
+
Status: {status}
|
|
142
|
+
Tasks: {tasks_completed}/{tasks_total}
|
|
143
|
+
Verification: {verification_status}
|
|
144
|
+
{/for}
|
|
145
|
+
|
|
146
|
+
CONTEXT:
|
|
147
|
+
Key Decisions: {key_decisions, comma-separated}
|
|
148
|
+
Blockers: {blockers or "none"}
|
|
149
|
+
Deferred: {deferred or "none"}
|
|
150
|
+
|
|
151
|
+
====================================================
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Step 4.1: Render Issue Summary
|
|
155
|
+
|
|
156
|
+
If issue_state is not null:
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
┌─────────────────────────────────────────┐
|
|
160
|
+
│ ISSUES │
|
|
161
|
+
├─────────────────────────────────────────┤
|
|
162
|
+
│ Open: {total_open} │
|
|
163
|
+
│ Critical: {critical_open} │
|
|
164
|
+
│ By Status: │
|
|
165
|
+
│ registered: {N} | diagnosed: {N} │
|
|
166
|
+
│ planning: {N} | planned: {N} │
|
|
167
|
+
│ executing: {N} │
|
|
168
|
+
│ │
|
|
169
|
+
│ Critical Issues: │
|
|
170
|
+
│ {id} | {title (truncated 40ch)} | {status} │
|
|
171
|
+
│ ... │
|
|
172
|
+
└─────────────────────────────────────────┘
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
If critical_issues is empty, omit the "Critical Issues:" sub-section.
|
|
176
|
+
|
|
177
|
+
If accumulated_context.blockers is non-empty AND issue_state has critical issues:
|
|
178
|
+
- Print: "Note: Blockers are now tracked as critical issues in .workflow/issues/issues.jsonl"
|
|
179
|
+
|
|
180
|
+
If accumulated_context.deferred is non-empty:
|
|
181
|
+
- Print: "Note: Deferred items are tracked as deferred issues. Use /manage-issue list --status deferred"
|
|
182
|
+
|
|
183
|
+
Else (issue_state is null):
|
|
184
|
+
- Print: "ISSUES: No issues tracked. Use /manage-issue create or /maestro-verify to discover issues."
|
|
185
|
+
|
|
186
|
+
Status icons:
|
|
187
|
+
- `[x]` completed
|
|
188
|
+
- `[>]` executing / in_progress
|
|
189
|
+
- `[~]` planning / exploring
|
|
190
|
+
- `[ ]` pending
|
|
191
|
+
- `[!]` blocked
|
|
192
|
+
|
|
193
|
+
### Step 4.2: Render Worktree Status
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
IF file_exists(".workflow/worktree-scope.json"):
|
|
197
|
+
// Running inside a worktree
|
|
198
|
+
Read .workflow/worktree-scope.json → scope
|
|
199
|
+
Display:
|
|
200
|
+
┌─────────────────────────────────────────┐
|
|
201
|
+
│ WORKTREE MODE │
|
|
202
|
+
├─────────────────────────────────────────┤
|
|
203
|
+
│ Milestone: {scope.milestone} │
|
|
204
|
+
│ Branch: {scope.branch} │
|
|
205
|
+
│ Phases: {scope.owned_phases} │
|
|
206
|
+
│ Main: {scope.main_worktree} │
|
|
207
|
+
└─────────────────────────────────────────┘
|
|
208
|
+
|
|
209
|
+
ELSE IF file_exists(".workflow/worktrees.json"):
|
|
210
|
+
// Running in main worktree with active worktrees
|
|
211
|
+
Read .workflow/worktrees.json → registry
|
|
212
|
+
activeWorktrees = registry.worktrees.filter(w => w.status === "active")
|
|
213
|
+
|
|
214
|
+
IF activeWorktrees.length > 0:
|
|
215
|
+
Display:
|
|
216
|
+
┌─────────────────────────────────────────┐
|
|
217
|
+
│ ACTIVE WORKTREES │
|
|
218
|
+
├─────────────────────────────────────────┤
|
|
219
|
+
{for each wt in activeWorktrees}
|
|
220
|
+
│ {wt.milestone} | {wt.branch} | {wt.path} │
|
|
221
|
+
{/for}
|
|
222
|
+
│ │
|
|
223
|
+
│ Sync: /maestro-fork <milestone> --sync │
|
|
224
|
+
│ Merge: /maestro-merge <milestone> │
|
|
225
|
+
└─────────────────────────────────────────┘
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Step 5: Route Next Step
|
|
231
|
+
|
|
232
|
+
### Step 5.0: Issue-Aware Routing
|
|
233
|
+
|
|
234
|
+
If issue_state is not null, evaluate issue-based recommendations BEFORE status routing:
|
|
235
|
+
|
|
236
|
+
If critical_open > 0:
|
|
237
|
+
- Recommend: "{critical_open} critical issues require attention"
|
|
238
|
+
- Suggest: Skill({ skill: "manage-issue", args: "list --severity critical" })
|
|
239
|
+
- Suggest: Skill({ skill: "quality-debug", args: "--from-uat" })
|
|
240
|
+
|
|
241
|
+
If by_status.diagnosed > 0:
|
|
242
|
+
- Recommend: "{diagnosed} issues diagnosed and ready for planning"
|
|
243
|
+
- Suggest: Skill({ skill: "maestro-plan", args: "--gaps" })
|
|
244
|
+
|
|
245
|
+
If by_status.registered > 0:
|
|
246
|
+
- Recommend: "{registered} new issues need investigation"
|
|
247
|
+
- Suggest: Skill({ skill: "quality-debug" })
|
|
248
|
+
|
|
249
|
+
### Step 5.1: Status-Based Routing
|
|
250
|
+
|
|
251
|
+
Based on current project status, suggest the next command:
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
STATUS ROUTING TABLE:
|
|
255
|
+
-------------------------------------------------------------
|
|
256
|
+
Current Status | Suggested Command | Reason
|
|
257
|
+
-------------------------------------------------------------
|
|
258
|
+
idle | /workflow:init | Project needs initialization
|
|
259
|
+
exploring | /maestro-analyze -q | Continue exploration, lock decisions
|
|
260
|
+
| /workflow:plan {phase} | Ready to plan
|
|
261
|
+
planning | /workflow:plan {phase} | Resume planning
|
|
262
|
+
executing | /workflow:execute {phase} | Resume execution
|
|
263
|
+
verifying | /workflow:verify {phase} | Complete verification
|
|
264
|
+
| /workflow:review {phase} | Code quality review
|
|
265
|
+
| /workflow:test {phase} | Run tests
|
|
266
|
+
reviewing | /workflow:review {phase} | Complete review
|
|
267
|
+
testing | /workflow:test {phase} | Complete testing
|
|
268
|
+
completed (phase) | /workflow:phase-transition | Move to next phase
|
|
269
|
+
completed (all) | /workflow:milestone-audit | Audit milestone
|
|
270
|
+
blocked | /workflow:debug | Resolve blockers
|
|
271
|
+
-------------------------------------------------------------
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Display:
|
|
275
|
+
```
|
|
276
|
+
NEXT STEP: /workflow:{suggested_command}
|
|
277
|
+
{reason}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
If there are blockers, display them prominently before the routing suggestion.
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Step 6: Scratch Tasks (if any)
|
|
285
|
+
|
|
286
|
+
Check `.workflow/scratch/` for active tasks:
|
|
287
|
+
|
|
288
|
+
1. For each `scratch/*/index.json` where status != "completed":
|
|
289
|
+
- Display: type, title, status, progress
|
|
290
|
+
2. If active scratch tasks exist:
|
|
291
|
+
- Note: "Active scratch tasks found. These are independent of phase pipeline."
|
package/workflows/sync.md
CHANGED
|
@@ -159,14 +159,14 @@ Check if changes warrant spec updates:
|
|
|
159
159
|
- If new architectural patterns emerged: note in appropriate spec
|
|
160
160
|
- Skip if no spec-relevant changes detected
|
|
161
161
|
|
|
162
|
-
Check if dependency manifests changed (project
|
|
162
|
+
Check if dependency manifests changed (project.md Tech Stack refresh):
|
|
163
163
|
dependency_files = ["package.json", "go.mod", "pyproject.toml", "Cargo.toml",
|
|
164
164
|
"requirements.txt", "pom.xml", "build.gradle", "Gemfile"]
|
|
165
165
|
changed_deps = changed_files.filter(f => dependency_files.includes(basename(f)))
|
|
166
|
-
If changed_deps.length > 0 AND .workflow/project
|
|
166
|
+
If changed_deps.length > 0 AND .workflow/project.md exists:
|
|
167
167
|
Re-scan dependency manifests for current tech stack
|
|
168
|
-
Update .workflow/project
|
|
169
|
-
Display: "project
|
|
168
|
+
Update .workflow/project.md Tech Stack section with detected changes
|
|
169
|
+
Display: "project.md: Tech Stack refreshed from {changed_deps.join(', ')}"
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
### Step 8: Create Action Log
|
|
@@ -241,4 +241,4 @@ Sync complete:
|
|
|
241
241
|
| `.workflow/codebase/tech-registry/{slug}.md` | Regenerated for affected components |
|
|
242
242
|
| `.workflow/codebase/feature-maps/{slug}.md` | Regenerated for affected features |
|
|
243
243
|
| `.workflow/codebase/action-logs/{hash}.md` | Created |
|
|
244
|
-
| `.workflow/project
|
|
244
|
+
| `.workflow/project.md` | Tech Stack section updated if dependency manifests changed |
|
package/workflows/test.md
CHANGED
|
@@ -22,7 +22,16 @@ Determine test target from $ARGUMENTS:
|
|
|
22
22
|
|
|
23
23
|
**If phase number provided** (e.g., "3"):
|
|
24
24
|
- Set `$TARGET_TYPE = "phase"`
|
|
25
|
-
-
|
|
25
|
+
- Resolve phase dir:
|
|
26
|
+
```
|
|
27
|
+
Read .workflow/state.json → state
|
|
28
|
+
artifacts = state.artifacts ?? []
|
|
29
|
+
art = artifacts.find(a => a.type === 'execute' && a.phase === phaseNum)
|
|
30
|
+
IF art:
|
|
31
|
+
PHASE_DIR = ".workflow/" + art.path
|
|
32
|
+
ELSE:
|
|
33
|
+
ERROR "Phase {phaseNum} not found in artifact registry"
|
|
34
|
+
```
|
|
26
35
|
- Load `$PHASE_DIR/index.json` for context
|
|
27
36
|
|
|
28
37
|
**If scratch task ID provided:**
|
|
@@ -45,7 +54,7 @@ Validate target exists and has been verified (verification.json present). (E002)
|
|
|
45
54
|
### Step 2: Check Active Sessions
|
|
46
55
|
|
|
47
56
|
```bash
|
|
48
|
-
|
|
57
|
+
# Check scratch dirs (resolved via artifact registry) for active UAT sessions
|
|
49
58
|
find .workflow/scratch -name "uat.md" -type f 2>/dev/null | head -5
|
|
50
59
|
```
|
|
51
60
|
|