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/memory.md
CHANGED
|
@@ -8,7 +8,7 @@ Two memory stores with different purposes:
|
|
|
8
8
|
|
|
9
9
|
| Store | Path | Format | Index |
|
|
10
10
|
|-------|------|--------|-------|
|
|
11
|
-
| `workflow` | `.workflow/memory/` | `MEM-*.md`, `TIP-*.md` |
|
|
11
|
+
| `workflow` | `.workflow/memory/` | `MEM-*.md`, `TIP-*.md` | `.workflow/wiki-index.json` (unified, auto-managed by WikiIndexer) |
|
|
12
12
|
| `system` | `~/.claude/projects/{project}/memory/` | `MEMORY.md` + topic `.md` files | None (flat files) |
|
|
13
13
|
|
|
14
14
|
**System memory path detection:**
|
|
@@ -30,7 +30,7 @@ Detect both memory store paths:
|
|
|
30
30
|
```bash
|
|
31
31
|
# Workflow memory
|
|
32
32
|
WF_MEMORY_DIR=".workflow/memory"
|
|
33
|
-
WF_INDEX_FILE="
|
|
33
|
+
WF_INDEX_FILE=".workflow/wiki-index.json" # unified index (auto-managed by WikiIndexer)
|
|
34
34
|
|
|
35
35
|
# System memory — derive from project git root or cwd
|
|
36
36
|
PROJECT_ROOT=$(pwd)
|
|
@@ -40,7 +40,7 @@ SYS_MEMORY_DIR="$HOME/.claude/projects/$(echo "$PROJECT_ROOT" | sed 's|[/\\:]|-|
|
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
Verify which stores exist:
|
|
43
|
-
- Workflow: check
|
|
43
|
+
- Workflow: check `.workflow/memory/` directory exists (index is auto-managed)
|
|
44
44
|
- System: check `$SYS_MEMORY_DIR/MEMORY.md` exists
|
|
45
45
|
|
|
46
46
|
If neither exists, report E001.
|
|
@@ -69,7 +69,7 @@ Parse arguments and detect subcommand:
|
|
|
69
69
|
List entries from targeted stores.
|
|
70
70
|
|
|
71
71
|
**Workflow store** (if exists):
|
|
72
|
-
1.
|
|
72
|
+
1. Use `maestro wiki list --type memory --json` (reads unified `.workflow/wiki-index.json`)
|
|
73
73
|
2. Apply filters (--tag, --type, --before, --after)
|
|
74
74
|
3. Sort by timestamp descending
|
|
75
75
|
|
|
@@ -108,7 +108,7 @@ Hints:
|
|
|
108
108
|
Full-text search across both stores.
|
|
109
109
|
|
|
110
110
|
**Workflow store:**
|
|
111
|
-
1.
|
|
111
|
+
1. Use `maestro wiki search "<query>" --json` or filter `.workflow/wiki-index.json` fields: `summary`, `tags`, `id`
|
|
112
112
|
2. For deeper matches, read individual `.md` files and search content
|
|
113
113
|
|
|
114
114
|
**System store:**
|
|
@@ -138,7 +138,7 @@ View: /manage-memory view <ID|filename>
|
|
|
138
138
|
Display full content of a memory entry.
|
|
139
139
|
|
|
140
140
|
**Workflow entry** (ID matches `MEM-*` or `TIP-*`):
|
|
141
|
-
1. Validate ID exists in
|
|
141
|
+
1. Validate ID exists via `maestro wiki get <id>` or in `.workflow/wiki-index.json`
|
|
142
142
|
2. Read the corresponding `.md` file
|
|
143
143
|
3. Display with metadata header
|
|
144
144
|
|
|
@@ -188,9 +188,9 @@ Changes: {summary of edits}
|
|
|
188
188
|
Remove a memory entry or file.
|
|
189
189
|
|
|
190
190
|
**Workflow entry:**
|
|
191
|
-
1. Validate ID in
|
|
191
|
+
1. Validate ID via `maestro wiki get <id>` or in `.workflow/wiki-index.json`
|
|
192
192
|
2. Show summary, confirm with AskUserQuestion (unless --confirm)
|
|
193
|
-
3. Remove `.md` file
|
|
193
|
+
3. Remove `.md` file (WikiIndexer auto-updates index on next access)
|
|
194
194
|
|
|
195
195
|
**System file:**
|
|
196
196
|
1. Validate file exists (NEVER allow deleting MEMORY.md — only topic files)
|
|
@@ -213,7 +213,7 @@ Bulk cleanup — workflow store only.
|
|
|
213
213
|
|
|
214
214
|
At least one filter required: --tag, --type, --before, --after.
|
|
215
215
|
|
|
216
|
-
1. Read
|
|
216
|
+
1. Read `.workflow/wiki-index.json`, apply filters
|
|
217
217
|
2. Display candidates table
|
|
218
218
|
3. If `--dry-run`, stop after display
|
|
219
219
|
4. Confirm with AskUserQuestion
|
|
@@ -232,9 +232,9 @@ Post-operation integrity check.
|
|
|
232
232
|
|
|
233
233
|
**Workflow store:**
|
|
234
234
|
1. Scan `.workflow/memory/` for `.md` files
|
|
235
|
-
2. Compare with
|
|
235
|
+
2. Compare with `.workflow/wiki-index.json` entries (type=memory)
|
|
236
236
|
3. Report orphaned files or dangling references
|
|
237
|
-
4. Offer to fix inconsistencies
|
|
237
|
+
4. Offer to fix inconsistencies (WikiIndexer re-indexes on next write)
|
|
238
238
|
|
|
239
239
|
**System store:**
|
|
240
240
|
1. Check MEMORY.md links to topic files
|
|
@@ -260,13 +260,9 @@ Parse arguments and detect execution mode:
|
|
|
260
260
|
|
|
261
261
|
```bash
|
|
262
262
|
MEMORY_DIR=".workflow/memory"
|
|
263
|
-
INDEX_FILE="$MEMORY_DIR/memory-index.json"
|
|
264
263
|
mkdir -p "$MEMORY_DIR"
|
|
265
|
-
|
|
266
|
-
#
|
|
267
|
-
if [ ! -f "$INDEX_FILE" ]; then
|
|
268
|
-
echo '{"entries":[],"_metadata":{"created":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","version":"1.0"}}' > "$INDEX_FILE"
|
|
269
|
-
fi
|
|
264
|
+
# Note: wiki-index.json is auto-managed by WikiIndexer at .workflow/wiki-index.json
|
|
265
|
+
# No manual index initialization needed
|
|
270
266
|
```
|
|
271
267
|
|
|
272
268
|
When ambiguous, use AskUserQuestion:
|
|
@@ -355,36 +351,14 @@ Write entry file with sections:
|
|
|
355
351
|
- Tags (from --tag flag)
|
|
356
352
|
- Context (auto-detected from recent conversation files)
|
|
357
353
|
|
|
358
|
-
### Step 4:
|
|
359
|
-
|
|
360
|
-
Append entry metadata to memory-index.json.
|
|
361
|
-
|
|
362
|
-
Read `memory-index.json`, append new entry to `entries[]`:
|
|
354
|
+
### Step 4: Wiki Index (Auto-managed)
|
|
363
355
|
|
|
364
|
-
|
|
365
|
-
{
|
|
366
|
-
"id": "MEM-20260315-143022",
|
|
367
|
-
"type": "compact",
|
|
368
|
-
"timestamp": "2026-03-15T14:30:22Z",
|
|
369
|
-
"file": "MEM-20260315-143022.md",
|
|
370
|
-
"summary": "Session objective in one line",
|
|
371
|
-
"tags": [],
|
|
372
|
-
"project_root": "/path/to/project",
|
|
373
|
-
"session_id": "WFS-001"
|
|
374
|
-
}
|
|
375
|
-
```
|
|
356
|
+
Memory files are automatically indexed by WikiIndexer into the unified `.workflow/wiki-index.json`. No manual index update is needed — the persistent index is regenerated on next `maestro wiki` access or any write operation.
|
|
376
357
|
|
|
377
|
-
For
|
|
378
|
-
```
|
|
379
|
-
{
|
|
380
|
-
|
|
381
|
-
"type": "tip",
|
|
382
|
-
"timestamp": "2026-03-15T14:30:22Z",
|
|
383
|
-
"file": "TIP-20260315-143022.md",
|
|
384
|
-
"summary": "First 80 chars of note content",
|
|
385
|
-
"tags": ["config", "redis"],
|
|
386
|
-
"project_root": "/path/to/project"
|
|
387
|
-
}
|
|
358
|
+
For immediate visibility after capture:
|
|
359
|
+
```bash
|
|
360
|
+
maestro wiki get memory-{slug} # verify entry exists in wiki
|
|
361
|
+
maestro wiki list --type memory # list all memory entries
|
|
388
362
|
```
|
|
389
363
|
|
|
390
364
|
### Step 5: Report
|
|
@@ -400,7 +374,7 @@ Type: compact
|
|
|
400
374
|
Plan: {plan_source} ({plan_line_count} lines preserved)
|
|
401
375
|
|
|
402
376
|
To restore: Read .workflow/memory/{ENTRY_ID}.md
|
|
403
|
-
To search:
|
|
377
|
+
To search: maestro wiki list --type memory
|
|
404
378
|
```
|
|
405
379
|
|
|
406
380
|
**Tip mode:**
|
|
@@ -410,33 +384,14 @@ Entry: {ENTRY_ID}
|
|
|
410
384
|
File: .workflow/memory/{ENTRY_ID}.md
|
|
411
385
|
Tags: {tags}
|
|
412
386
|
|
|
413
|
-
To search:
|
|
387
|
+
To search: maestro wiki list --type memory --tag {tags}
|
|
414
388
|
```
|
|
415
389
|
|
|
416
390
|
---
|
|
417
391
|
|
|
418
|
-
## Index
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
{
|
|
422
|
-
"entries": [
|
|
423
|
-
{
|
|
424
|
-
"id": "MEM-20260315-143022",
|
|
425
|
-
"type": "compact | tip",
|
|
426
|
-
"timestamp": "2026-03-15T14:30:22Z",
|
|
427
|
-
"file": "MEM-20260315-143022.md",
|
|
428
|
-
"summary": "One-line description",
|
|
429
|
-
"tags": [],
|
|
430
|
-
"project_root": "D:\\project",
|
|
431
|
-
"session_id": "WFS-001 | null"
|
|
432
|
-
}
|
|
433
|
-
],
|
|
434
|
-
"_metadata": {
|
|
435
|
-
"created": "2026-03-15T00:00:00Z",
|
|
436
|
-
"version": "1.0"
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
```
|
|
392
|
+
## Index
|
|
393
|
+
|
|
394
|
+
Memory entries are indexed in the unified `.workflow/wiki-index.json` by WikiIndexer. Each memory file becomes a wiki entry of type `memory` with fields derived from frontmatter (id, title, tags, summary). Use `maestro wiki list --type memory --json` to query the index programmatically.
|
|
440
395
|
|
|
441
396
|
## Compact Entry Structure
|
|
442
397
|
|
|
@@ -492,5 +447,5 @@ Quick note for ideas, snippets, reminders.
|
|
|
492
447
|
|
|
493
448
|
## Retrieval
|
|
494
449
|
|
|
495
|
-
|
|
496
|
-
|
|
450
|
+
Use `maestro wiki list --type memory` to find entries by type, tags, or date.
|
|
451
|
+
Use `maestro wiki get <id>` or read individual `.md` files for full content.
|
package/workflows/merge.md
CHANGED
|
@@ -103,15 +103,18 @@ IF NOT target:
|
|
|
103
103
|
completedPhases = []
|
|
104
104
|
incompletePhases = []
|
|
105
105
|
|
|
106
|
-
for
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
Read → wtIndex
|
|
106
|
+
// Read worktree state for artifact registry check
|
|
107
|
+
Read {target.path}/.workflow/state.json → wtState (if exists)
|
|
108
|
+
wtArtifacts = wtState?.artifacts ?? []
|
|
110
109
|
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
// Check phase completeness via artifact registry
|
|
111
|
+
for (phaseNum of target.owned_phases):
|
|
112
|
+
execArtifacts = wtArtifacts.filter(a => a.type === 'execute' && a.phase === phaseNum)
|
|
113
|
+
IF execArtifacts.some(a => a.status === 'completed'):
|
|
114
|
+
completedPhases.push({ phase: phaseNum })
|
|
113
115
|
ELSE:
|
|
114
|
-
|
|
116
|
+
status = execArtifacts.length > 0 ? execArtifacts[0].status : 'no_execute_artifact'
|
|
117
|
+
incompletePhases.push({ phase: phaseNum, status })
|
|
115
118
|
|
|
116
119
|
IF incompletePhases.length > 0 AND NOT force:
|
|
117
120
|
WARN W002: "M{target.milestone_num} ({target.milestone}) has incomplete phases:"
|
|
@@ -181,51 +184,44 @@ Step_7:
|
|
|
181
184
|
|
|
182
185
|
Display "Syncing workflow artifacts for M{target.milestone_num} ({target.milestone})..."
|
|
183
186
|
|
|
184
|
-
// 7a: Copy all owned phase directories from worktree to main
|
|
185
|
-
for (phaseNum of target.owned_phases):
|
|
186
|
-
NN = String(phaseNum).padStart(2, '0')
|
|
187
|
-
Glob: {target.path}/.workflow/phases/{NN}-*/
|
|
188
|
-
phaseDir = matched directory name
|
|
189
|
-
|
|
190
|
-
srcDir = target.path + "/.workflow/phases/" + phaseDir + "/"
|
|
191
|
-
dstDir = ".workflow/phases/" + phaseDir + "/"
|
|
192
|
-
|
|
193
|
-
Bash("cp -r {srcDir}* {dstDir}")
|
|
194
|
-
|
|
195
|
-
// 7b: Atomic state reconciliation
|
|
196
187
|
Read .workflow/state.json → mainState
|
|
197
188
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
ELSE
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
189
|
+
// 7a: Copy scratch dirs from worktree to main
|
|
190
|
+
Read {target.path}/.workflow/state.json → wtState
|
|
191
|
+
wtArtifacts = wtState?.artifacts ?? []
|
|
192
|
+
milestoneArtifacts = wtArtifacts.filter(a =>
|
|
193
|
+
a.path && (a.milestone === target.milestone || target.owned_phases.includes(a.phase))
|
|
194
|
+
)
|
|
195
|
+
for (art of milestoneArtifacts):
|
|
196
|
+
srcDir = target.path + "/.workflow/" + art.path
|
|
197
|
+
dstDir = ".workflow/" + art.path
|
|
198
|
+
IF directory_exists(srcDir):
|
|
199
|
+
Bash("mkdir -p {dstDir} && cp -r {srcDir}/* {dstDir}/")
|
|
200
|
+
|
|
201
|
+
// 7b: Merge artifact registries
|
|
202
|
+
mainArtifacts = mainState.artifacts ?? []
|
|
203
|
+
existingIds = new Set(mainArtifacts.map(a => a.id))
|
|
204
|
+
for (art of wtArtifacts):
|
|
205
|
+
IF existingIds.has(art.id):
|
|
206
|
+
// Update existing artifact status
|
|
207
|
+
idx = mainArtifacts.findIndex(a => a.id === art.id)
|
|
208
|
+
mainArtifacts[idx] = art
|
|
209
|
+
ELSE:
|
|
210
|
+
mainArtifacts.push(art)
|
|
211
|
+
mainState.artifacts = mainArtifacts
|
|
212
|
+
|
|
213
|
+
// Record merge in transition history
|
|
214
|
+
mainState.transition_history = mainState.transition_history ?? []
|
|
215
|
+
mainState.transition_history.push({
|
|
216
|
+
milestone_num: target.milestone_num,
|
|
217
|
+
milestone: target.milestone,
|
|
218
|
+
action: "worktree_merge",
|
|
219
|
+
completed_at: getUtc8ISOString(),
|
|
220
|
+
branch: target.branch,
|
|
221
|
+
phases: target.owned_phases
|
|
222
|
+
})
|
|
226
223
|
|
|
227
224
|
// Merge accumulated context from worktree
|
|
228
|
-
Read target.path + "/.workflow/state.json" → wtState (if exists)
|
|
229
225
|
IF wtState?.accumulated_context:
|
|
230
226
|
for (decision of (wtState.accumulated_context.key_decisions ?? [])):
|
|
231
227
|
IF NOT mainState.accumulated_context.key_decisions.includes(decision):
|
|
@@ -236,12 +232,12 @@ IF wtState?.accumulated_context:
|
|
|
236
232
|
mainState.last_updated = getUtc8ISOString()
|
|
237
233
|
Write .workflow/state.json: mainState
|
|
238
234
|
|
|
239
|
-
// 7c: Update roadmap.md
|
|
235
|
+
// 7c: Update roadmap.md (mark completed phases)
|
|
240
236
|
Read .workflow/roadmap.md → roadmap
|
|
241
237
|
for (phaseNum of target.owned_phases):
|
|
242
|
-
|
|
243
|
-
IF
|
|
244
|
-
Append " ✅ COMPLETED" to phase title line
|
|
238
|
+
isCompleted = completedPhases.some(p => p.phase === phaseNum)
|
|
239
|
+
IF isCompleted:
|
|
240
|
+
Append " ✅ COMPLETED" to phase title line in roadmap
|
|
245
241
|
Write .workflow/roadmap.md: roadmap
|
|
246
242
|
```
|
|
247
243
|
|
|
@@ -66,24 +66,41 @@ Check existing entries to avoid duplicates when appending in Step 3.
|
|
|
66
66
|
- Extract patterns discovered
|
|
67
67
|
- Extract pitfalls encountered
|
|
68
68
|
|
|
69
|
-
2. Aggregate learnings and append to `.workflow/specs/learnings.md
|
|
69
|
+
2. Aggregate learnings and append to `.workflow/specs/learnings.md` using `<spec-entry>` closed-tag format:
|
|
70
70
|
```
|
|
71
71
|
For each strategy adjustment:
|
|
72
|
-
|
|
72
|
+
<spec-entry category="learning" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
|
|
73
|
+
|
|
74
|
+
### {summary}
|
|
75
|
+
|
|
73
76
|
{content}
|
|
74
|
-
Milestone: {milestone}
|
|
77
|
+
Milestone: {milestone}
|
|
78
|
+
|
|
79
|
+
</spec-entry>
|
|
75
80
|
|
|
76
81
|
For each pattern:
|
|
77
|
-
|
|
82
|
+
<spec-entry category="learning" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
|
|
83
|
+
|
|
84
|
+
### {summary}
|
|
85
|
+
|
|
78
86
|
{content}
|
|
79
|
-
Milestone: {milestone}
|
|
87
|
+
Milestone: {milestone}
|
|
88
|
+
|
|
89
|
+
</spec-entry>
|
|
80
90
|
|
|
81
91
|
For each pitfall:
|
|
82
|
-
|
|
92
|
+
<spec-entry category="learning" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
|
|
93
|
+
|
|
94
|
+
### {summary}
|
|
95
|
+
|
|
83
96
|
{content}
|
|
84
|
-
Milestone: {milestone}
|
|
97
|
+
Milestone: {milestone}
|
|
98
|
+
|
|
99
|
+
</spec-entry>
|
|
85
100
|
```
|
|
86
101
|
|
|
102
|
+
**Keyword extraction**: Extract 3-5 domain-specific terms from the content (same rules as `spec-add`).
|
|
103
|
+
|
|
87
104
|
---
|
|
88
105
|
|
|
89
106
|
## Step 4: Update State
|