maestro-flow 0.5.46 → 0.5.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/agents/ralph-executor.md +14 -24
- package/.agents/skills/domain-add/SKILL.md +9 -0
- package/.agents/skills/learn-decompose/SKILL.md +12 -0
- package/.agents/skills/learn-follow/SKILL.md +41 -0
- package/.agents/skills/learn-investigate/SKILL.md +14 -0
- package/.agents/skills/learn-second-opinion/SKILL.md +14 -0
- package/.agents/skills/maestro-amend/SKILL.md +11 -0
- package/.agents/skills/maestro-analyze/SKILL.md +13 -13
- package/.agents/skills/maestro-companion/SKILL.md +11 -0
- package/.agents/skills/maestro-composer/SKILL.md +12 -1
- package/.agents/skills/maestro-guard/SKILL.md +25 -0
- package/.agents/skills/maestro-help/SKILL.md +2 -0
- package/.agents/skills/maestro-help/index/catalog.json +7 -7
- package/.agents/skills/maestro-init/SKILL.md +29 -1
- package/.agents/skills/maestro-milestone-audit/SKILL.md +2 -2
- package/.agents/skills/maestro-milestone-release/SKILL.md +1 -1
- package/.agents/skills/maestro-next/SKILL.md +2 -2
- package/.agents/skills/maestro-overlay/SKILL.md +11 -0
- package/.agents/skills/maestro-plan/SKILL.md +31 -9
- package/.agents/skills/maestro-player/SKILL.md +11 -0
- package/.agents/skills/maestro-quick/SKILL.md +29 -0
- package/.agents/skills/maestro-ralph-v2/SKILL.md +26 -50
- package/.agents/skills/maestro-roadmap/SKILL.md +2 -2
- package/.agents/skills/maestro-swarm-workflow/SKILL.md +25 -0
- package/.agents/skills/maestro-tools-execute/SKILL.md +29 -0
- package/.agents/skills/maestro-tools-register/SKILL.md +29 -0
- package/.agents/skills/maestro-ui-codify/SKILL.md +11 -0
- package/.agents/skills/maestro-universal-workflow/SKILL.md +59 -0
- package/.agents/skills/maestro-update/SKILL.md +38 -0
- package/.agents/skills/manage-codebase-rebuild/SKILL.md +29 -0
- package/.agents/skills/manage-drift-realign/SKILL.md +12 -0
- package/.agents/skills/manage-harvest/SKILL.md +30 -6
- package/.agents/skills/manage-issue/SKILL.md +23 -0
- package/.agents/skills/manage-issue-discover/SKILL.md +28 -0
- package/.agents/skills/manage-kg-extractors/SKILL.md +27 -1
- package/.agents/skills/manage-knowhow/SKILL.md +26 -0
- package/.agents/skills/manage-knowhow-capture/SKILL.md +24 -0
- package/.agents/skills/manage-knowledge-audit/SKILL.md +13 -0
- package/.agents/skills/manage-status/SKILL.md +22 -0
- package/.agents/skills/manage-wiki/SKILL.md +28 -0
- package/.agents/skills/odyssey-improve/SKILL.md +50 -0
- package/.agents/skills/odyssey-planex/SKILL.md +46 -0
- package/.agents/skills/odyssey-review-test-fix/SKILL.md +50 -0
- package/.agents/skills/odyssey-ui/SKILL.md +50 -0
- package/.agents/skills/quality-auto-test/SKILL.md +13 -1
- package/.agents/skills/quality-debug/SKILL.md +11 -0
- package/.agents/skills/quality-refactor/SKILL.md +11 -0
- package/.agents/skills/quality-retrospective/SKILL.md +11 -0
- package/.agents/skills/quality-review/SKILL.md +11 -0
- package/.agents/skills/quality-sync/SKILL.md +10 -0
- package/.agents/skills/quality-test/SKILL.md +12 -0
- package/.agents/skills/security-audit/SKILL.md +11 -0
- package/.agents/skills/spec-add/SKILL.md +27 -0
- package/.agents/skills/spec-load/SKILL.md +25 -0
- package/.agents/skills/spec-remove/SKILL.md +26 -0
- package/.agents/skills/spec-setup/SKILL.md +30 -0
- package/.agy/agents/ralph-executor.md +14 -23
- package/.agy/skills/domain-add/SKILL.md +9 -0
- package/.agy/skills/learn-decompose/SKILL.md +12 -0
- package/.agy/skills/learn-follow/SKILL.md +41 -0
- package/.agy/skills/learn-investigate/SKILL.md +14 -0
- package/.agy/skills/learn-second-opinion/SKILL.md +14 -0
- package/.agy/skills/maestro-amend/SKILL.md +11 -0
- package/.agy/skills/maestro-analyze/SKILL.md +13 -13
- package/.agy/skills/maestro-companion/SKILL.md +11 -0
- package/.agy/skills/maestro-composer/SKILL.md +12 -1
- package/.agy/skills/maestro-guard/SKILL.md +25 -0
- package/.agy/skills/maestro-help/SKILL.md +2 -0
- package/.agy/skills/maestro-help/index/catalog.json +7 -7
- package/.agy/skills/maestro-init/SKILL.md +29 -1
- package/.agy/skills/maestro-milestone-audit/SKILL.md +2 -2
- package/.agy/skills/maestro-milestone-release/SKILL.md +1 -1
- package/.agy/skills/maestro-next/SKILL.md +2 -2
- package/.agy/skills/maestro-overlay/SKILL.md +11 -0
- package/.agy/skills/maestro-plan/SKILL.md +31 -9
- package/.agy/skills/maestro-player/SKILL.md +11 -0
- package/.agy/skills/maestro-quick/SKILL.md +29 -0
- package/.agy/skills/maestro-ralph-v2/SKILL.md +26 -50
- package/.agy/skills/maestro-roadmap/SKILL.md +2 -2
- package/.agy/skills/maestro-swarm-workflow/SKILL.md +25 -0
- package/.agy/skills/maestro-tools-execute/SKILL.md +29 -0
- package/.agy/skills/maestro-tools-register/SKILL.md +29 -0
- package/.agy/skills/maestro-ui-codify/SKILL.md +11 -0
- package/.agy/skills/maestro-universal-workflow/SKILL.md +59 -0
- package/.agy/skills/maestro-update/SKILL.md +38 -0
- package/.agy/skills/manage-codebase-rebuild/SKILL.md +29 -0
- package/.agy/skills/manage-drift-realign/SKILL.md +12 -0
- package/.agy/skills/manage-harvest/SKILL.md +30 -6
- package/.agy/skills/manage-issue/SKILL.md +23 -0
- package/.agy/skills/manage-issue-discover/SKILL.md +28 -0
- package/.agy/skills/manage-kg-extractors/SKILL.md +27 -1
- package/.agy/skills/manage-knowhow/SKILL.md +26 -0
- package/.agy/skills/manage-knowhow-capture/SKILL.md +24 -0
- package/.agy/skills/manage-knowledge-audit/SKILL.md +13 -0
- package/.agy/skills/manage-status/SKILL.md +22 -0
- package/.agy/skills/manage-wiki/SKILL.md +28 -0
- package/.agy/skills/odyssey-improve/SKILL.md +50 -0
- package/.agy/skills/odyssey-planex/SKILL.md +46 -0
- package/.agy/skills/odyssey-review-test-fix/SKILL.md +50 -0
- package/.agy/skills/odyssey-ui/SKILL.md +50 -0
- package/.agy/skills/quality-auto-test/SKILL.md +13 -1
- package/.agy/skills/quality-debug/SKILL.md +11 -0
- package/.agy/skills/quality-refactor/SKILL.md +11 -0
- package/.agy/skills/quality-retrospective/SKILL.md +11 -0
- package/.agy/skills/quality-review/SKILL.md +11 -0
- package/.agy/skills/quality-sync/SKILL.md +10 -0
- package/.agy/skills/quality-test/SKILL.md +12 -0
- package/.agy/skills/security-audit/SKILL.md +11 -0
- package/.agy/skills/spec-add/SKILL.md +27 -0
- package/.agy/skills/spec-load/SKILL.md +25 -0
- package/.agy/skills/spec-remove/SKILL.md +26 -0
- package/.agy/skills/spec-setup/SKILL.md +30 -0
- package/.claude/agents/ralph-executor.md +14 -24
- package/.claude/commands/domain-add.md +9 -0
- package/.claude/commands/learn-decompose.md +12 -0
- package/.claude/commands/learn-follow.md +41 -0
- package/.claude/commands/learn-investigate.md +14 -0
- package/.claude/commands/learn-second-opinion.md +14 -0
- package/.claude/commands/maestro-amend.md +11 -0
- package/.claude/commands/maestro-analyze.md +13 -13
- package/.claude/commands/maestro-companion.md +11 -0
- package/.claude/commands/maestro-composer.md +12 -1
- package/.claude/commands/maestro-guard.md +25 -0
- package/.claude/commands/maestro-init.md +29 -1
- package/.claude/commands/maestro-milestone-audit.md +2 -2
- package/.claude/commands/maestro-milestone-release.md +1 -1
- package/.claude/commands/maestro-next.md +2 -2
- package/.claude/commands/maestro-overlay.md +11 -0
- package/.claude/commands/maestro-plan.md +31 -9
- package/.claude/commands/maestro-player.md +11 -0
- package/.claude/commands/maestro-quick.md +29 -0
- package/.claude/commands/maestro-ralph-v2.md +26 -50
- package/.claude/commands/maestro-roadmap.md +2 -2
- package/.claude/commands/maestro-swarm-workflow.md +25 -0
- package/.claude/commands/maestro-tools-execute.md +29 -0
- package/.claude/commands/maestro-tools-register.md +29 -0
- package/.claude/commands/maestro-ui-codify.md +11 -0
- package/.claude/commands/maestro-universal-workflow.md +59 -0
- package/.claude/commands/maestro-update.md +38 -0
- package/.claude/commands/manage-codebase-rebuild.md +29 -0
- package/.claude/commands/manage-drift-realign.md +12 -0
- package/.claude/commands/manage-harvest.md +30 -6
- package/.claude/commands/manage-issue-discover.md +28 -0
- package/.claude/commands/manage-issue.md +23 -0
- package/.claude/commands/manage-kg-extractors.md +27 -1
- package/.claude/commands/manage-knowhow-capture.md +24 -0
- package/.claude/commands/manage-knowhow.md +26 -0
- package/.claude/commands/manage-knowledge-audit.md +13 -0
- package/.claude/commands/manage-status.md +22 -0
- package/.claude/commands/manage-wiki.md +28 -0
- package/.claude/commands/odyssey-improve.md +50 -0
- package/.claude/commands/odyssey-planex.md +46 -0
- package/.claude/commands/odyssey-review-test-fix.md +50 -0
- package/.claude/commands/odyssey-ui.md +50 -0
- package/.claude/commands/quality-auto-test.md +13 -1
- package/.claude/commands/quality-debug.md +11 -0
- package/.claude/commands/quality-refactor.md +11 -0
- package/.claude/commands/quality-retrospective.md +11 -0
- package/.claude/commands/quality-review.md +11 -0
- package/.claude/commands/quality-sync.md +10 -0
- package/.claude/commands/quality-test.md +12 -0
- package/.claude/commands/security-audit.md +11 -0
- package/.claude/commands/spec-add.md +27 -0
- package/.claude/commands/spec-load.md +25 -0
- package/.claude/commands/spec-remove.md +26 -0
- package/.claude/commands/spec-setup.md +30 -0
- package/.claude/skills/maestro-help/SKILL.md +2 -0
- package/.claude/skills/maestro-help/index/catalog.json +7 -7
- package/.codex/skills/codify-to-knowhow/SKILL.md +2 -0
- package/.codex/skills/domain-add/SKILL.md +26 -0
- package/.codex/skills/domain-discover/SKILL.md +46 -0
- package/.codex/skills/domain-list/SKILL.md +29 -0
- package/.codex/skills/learn-decompose/SKILL.md +2 -0
- package/.codex/skills/learn-follow/SKILL.md +34 -0
- package/.codex/skills/learn-investigate/SKILL.md +33 -0
- package/.codex/skills/learn-retro/SKILL.md +33 -0
- package/.codex/skills/learn-second-opinion/SKILL.md +30 -0
- package/.codex/skills/maestro/SKILL.md +6 -5
- package/.codex/skills/maestro-amend/SKILL.md +11 -0
- package/.codex/skills/maestro-analyze/SKILL.md +13 -18
- package/.codex/skills/maestro-companion/SKILL.md +11 -0
- package/.codex/skills/maestro-composer/SKILL.md +11 -0
- package/.codex/skills/maestro-guard/SKILL.md +25 -0
- package/.codex/skills/maestro-help/SKILL.md +2 -0
- package/.codex/skills/maestro-help/catalog.json +7 -7
- package/.codex/skills/maestro-init/SKILL.md +16 -0
- package/.codex/skills/maestro-learn/SKILL.md +2 -0
- package/.codex/skills/maestro-next/SKILL.md +2 -2
- package/.codex/skills/maestro-overlay/SKILL.md +1 -0
- package/.codex/skills/maestro-plan/SKILL.md +13 -16
- package/.codex/skills/maestro-player/SKILL.md +2 -0
- package/.codex/skills/maestro-quick/SKILL.md +17 -0
- package/.codex/skills/maestro-ralph/SKILL.md +11 -11
- package/.codex/skills/maestro-ralph-execute/SKILL.md +8 -8
- package/.codex/skills/maestro-tools-execute/SKILL.md +31 -0
- package/.codex/skills/maestro-tools-register/SKILL.md +29 -0
- package/.codex/skills/maestro-ui-codify/SKILL.md +2 -0
- package/.codex/skills/maestro-update/SKILL.md +38 -0
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +2 -0
- package/.codex/skills/manage-codebase-refresh/SKILL.md +11 -0
- package/.codex/skills/manage-drift-realign/SKILL.md +2 -0
- package/.codex/skills/manage-harvest/SKILL.md +30 -8
- package/.codex/skills/manage-issue/SKILL.md +24 -0
- package/.codex/skills/manage-issue-discover/SKILL.md +2 -0
- package/.codex/skills/manage-knowhow/SKILL.md +26 -0
- package/.codex/skills/manage-knowhow-capture/SKILL.md +23 -0
- package/.codex/skills/manage-learn/SKILL.md +2 -0
- package/.codex/skills/manage-status/SKILL.md +22 -0
- package/.codex/skills/manage-wiki/SKILL.md +28 -0
- package/.codex/skills/odyssey-debug/SKILL.md +44 -0
- package/.codex/skills/odyssey-improve/SKILL.md +49 -0
- package/.codex/skills/odyssey-planex/SKILL.md +44 -0
- package/.codex/skills/odyssey-review-test-fix/SKILL.md +48 -0
- package/.codex/skills/odyssey-ui/SKILL.md +49 -0
- package/.codex/skills/quality-auto-test/SKILL.md +2 -0
- package/.codex/skills/quality-debug/SKILL.md +2 -0
- package/.codex/skills/quality-refactor/SKILL.md +2 -0
- package/.codex/skills/quality-retrospective/SKILL.md +2 -0
- package/.codex/skills/quality-review/SKILL.md +2 -0
- package/.codex/skills/quality-sync/SKILL.md +24 -0
- package/.codex/skills/quality-test/SKILL.md +2 -0
- package/.codex/skills/security-audit/SKILL.md +30 -0
- package/.codex/skills/spec-add/SKILL.md +28 -0
- package/.codex/skills/spec-load/SKILL.md +26 -0
- package/.codex/skills/spec-map/SKILL.md +1 -0
- package/.codex/skills/spec-remove/SKILL.md +28 -0
- package/.codex/skills/spec-setup/SKILL.md +28 -0
- package/.codex/skills/wiki-connect/SKILL.md +11 -0
- package/.codex/skills/wiki-digest/SKILL.md +11 -0
- package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js +3 -1
- package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js +42 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/db/queries.d.ts +4 -0
- package/dashboard/dist-server/src/graph/kg/db/queries.js +35 -19
- package/dashboard/dist-server/src/graph/kg/db/queries.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js +2 -0
- package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/engine.js +5 -1
- package/dashboard/dist-server/src/graph/kg/engine.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js +19 -11
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js.map +1 -1
- package/dashboard/dist-server/src/hooks/kg-sync-hook.js +5 -3
- package/dashboard/dist-server/src/hooks/kg-sync-hook.js.map +1 -1
- package/dashboard/dist-server/src/hooks/session-context.js +3 -1
- package/dashboard/dist-server/src/hooks/session-context.js.map +1 -1
- package/dist/src/agents/api-explore/circuit-breaker.d.ts +41 -0
- package/dist/src/agents/api-explore/circuit-breaker.d.ts.map +1 -0
- package/dist/src/agents/api-explore/circuit-breaker.js +82 -0
- package/dist/src/agents/api-explore/circuit-breaker.js.map +1 -0
- package/dist/src/agents/api-explore/config.d.ts +15 -34
- package/dist/src/agents/api-explore/config.d.ts.map +1 -1
- package/dist/src/agents/api-explore/config.js +17 -42
- package/dist/src/agents/api-explore/config.js.map +1 -1
- package/dist/src/agents/api-explore/index.js +6 -6
- package/dist/src/agents/api-explore/index.js.map +1 -1
- package/dist/src/agents/api-explore/llm.d.ts +2 -0
- package/dist/src/agents/api-explore/llm.d.ts.map +1 -1
- package/dist/src/agents/api-explore/llm.js +16 -4
- package/dist/src/agents/api-explore/llm.js.map +1 -1
- package/dist/src/agents/api-explore/runner.d.ts +5 -0
- package/dist/src/agents/api-explore/runner.d.ts.map +1 -1
- package/dist/src/agents/api-explore/runner.js +66 -15
- package/dist/src/agents/api-explore/runner.js.map +1 -1
- package/dist/src/commands/explore.d.ts.map +1 -1
- package/dist/src/commands/explore.js +23 -4
- package/dist/src/commands/explore.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +62 -28
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/moa.d.ts.map +1 -1
- package/dist/src/commands/moa.js +18 -3
- package/dist/src/commands/moa.js.map +1 -1
- package/dist/src/commands/search.d.ts.map +1 -1
- package/dist/src/commands/search.js +2 -0
- package/dist/src/commands/search.js.map +1 -1
- package/dist/src/config/api-config.d.ts +61 -0
- package/dist/src/config/api-config.d.ts.map +1 -0
- package/dist/src/config/api-config.js +59 -0
- package/dist/src/config/api-config.js.map +1 -0
- package/dist/src/config/cli-tools-config.d.ts +1 -0
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +22 -1
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/graph/kg/db/queries.d.ts +4 -0
- package/dist/src/graph/kg/db/queries.d.ts.map +1 -1
- package/dist/src/graph/kg/db/queries.js +35 -19
- package/dist/src/graph/kg/db/queries.js.map +1 -1
- package/dist/src/graph/kg/embedding/code-embedding.d.ts.map +1 -1
- package/dist/src/graph/kg/embedding/code-embedding.js +2 -0
- package/dist/src/graph/kg/embedding/code-embedding.js.map +1 -1
- package/dist/src/graph/kg/engine.d.ts.map +1 -1
- package/dist/src/graph/kg/engine.js +5 -1
- package/dist/src/graph/kg/engine.js.map +1 -1
- package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/orchestrator.js +19 -11
- package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
- package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
- package/dist/src/hooks/kg-sync-hook.js +5 -3
- package/dist/src/hooks/kg-sync-hook.js.map +1 -1
- package/dist/src/hooks/plugins/explore-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/explore-plugin.js +3 -2
- package/dist/src/hooks/plugins/explore-plugin.js.map +1 -1
- package/dist/src/hooks/session-context.js +3 -1
- package/dist/src/hooks/session-context.js.map +1 -1
- package/dist/src/tui/install-ui/EmbeddingConfig.d.ts +25 -0
- package/dist/src/tui/install-ui/EmbeddingConfig.d.ts.map +1 -0
- package/dist/src/tui/install-ui/EmbeddingConfig.js +58 -0
- package/dist/src/tui/install-ui/EmbeddingConfig.js.map +1 -0
- package/dist/src/tui/install-ui/EmbeddingPanel.d.ts +6 -0
- package/dist/src/tui/install-ui/EmbeddingPanel.d.ts.map +1 -0
- package/dist/src/tui/install-ui/EmbeddingPanel.js +101 -0
- package/dist/src/tui/install-ui/EmbeddingPanel.js.map +1 -0
- package/dist/src/tui/install-ui/GroupedHub.d.ts +2 -0
- package/dist/src/tui/install-ui/GroupedHub.d.ts.map +1 -1
- package/dist/src/tui/install-ui/GroupedHub.js +8 -1
- package/dist/src/tui/install-ui/GroupedHub.js.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.js +4 -2
- package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/tui/install-ui/embedding-status.d.ts +12 -0
- package/dist/src/tui/install-ui/embedding-status.d.ts.map +1 -0
- package/dist/src/tui/install-ui/embedding-status.js +82 -0
- package/dist/src/tui/install-ui/embedding-status.js.map +1 -0
- package/dist/src/tui/install-ui/useInstallFlowState.d.ts +1 -1
- package/dist/src/tui/install-ui/useInstallFlowState.d.ts.map +1 -1
- package/dist/src/tui/install-ui/useInstallFlowState.js +52 -2
- package/dist/src/tui/install-ui/useInstallFlowState.js.map +1 -1
- package/dist/src/tui/shared/tokens.d.ts +1 -1
- package/dist/src/tui/shared/tokens.js +1 -1
- package/dist/src/utils/update-notices.js +11 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +1 -1
- package/workflows/analyze.md +13 -15
- package/workflows/plan.md +33 -21
|
@@ -60,8 +60,20 @@ Arguments: $ARGUMENTS
|
|
|
60
60
|
- `.workflow/project.md`
|
|
61
61
|
|
|
62
62
|
使用 `maestro timeline` CLI 构建统一的 git+session 时间线。
|
|
63
|
+
|
|
64
|
+
**Output boundary**: ALL file writes MUST target `.workflow/` metadata files (specs, codebase docs, roadmap.md, state.json, issues.jsonl) or `.workflow/.trash/drift-realign-{timestamp}/` (backups) or `.workflow/.drift-realign/` (session details). NEVER modify source code files.
|
|
63
65
|
</context>
|
|
64
66
|
|
|
67
|
+
<invariants>
|
|
68
|
+
1. **Code-as-Truth** — 代码是唯一真理源;当文档说 X 但代码做 Y 时,文档漂移,NEVER 反向修改代码来匹配文档
|
|
69
|
+
2. **Backup before mutate** — MUST create backup tarball in `.workflow/.trash/` before any file modification (E005 if backup fails)
|
|
70
|
+
3. **Never modify source code** — drift-realign only updates `.workflow/` metadata; source code files are read-only
|
|
71
|
+
4. **Mutual exclusion** — `--report` 与 `--auto-archive` 互斥;同时传入 MUST trigger E006
|
|
72
|
+
5. **Auto-depth escalation** — `drift_window` > 180 天 MUST auto-upgrade to `--depth deep` with W002 warning
|
|
73
|
+
6. **Audit trail** — every triage decision MUST be logged in `drift-log.jsonl` with finding ID, action, and timestamp
|
|
74
|
+
7. **Rebuild trigger** — codebase scope 的 3+ P0 finding MUST auto-trigger `/quality-sync --full` after triage
|
|
75
|
+
</invariants>
|
|
76
|
+
|
|
65
77
|
<execution>
|
|
66
78
|
Follow `~/.maestro/workflows/drift-realign.md` Stages 1-9 in order.
|
|
67
79
|
|
|
@@ -39,17 +39,41 @@ Arguments: $ARGUMENTS
|
|
|
39
39
|
- `-y` / `--yes` — Skip confirmation prompts for all write operations (artifact selection, routing decisions, store writes). Useful for CI or batch harvesting.
|
|
40
40
|
|
|
41
41
|
Additional flags, source registry (scan paths), and storage locations defined in workflow harvest.md.
|
|
42
|
+
|
|
43
|
+
**Output boundary**: ALL file writes MUST target `.workflow/knowhow/`, `.workflow/specs/`, `.workflow/issues/`, `.workflow/wiki/`, `.workflow/harvest/`, or `.workflow/state.json` only. NEVER modify source code, source artifacts, or files outside these paths.
|
|
42
44
|
</context>
|
|
43
45
|
|
|
46
|
+
<invariants>
|
|
47
|
+
1. **Read-only until routing** — extraction and classification happen in-memory; no files written until Stage 6
|
|
48
|
+
2. **Never modify source artifacts** — harvest is purely extractive; source files remain untouched
|
|
49
|
+
3. **Dedup before write** — MUST check harvest-log.jsonl and existing stores before each write to prevent duplicates
|
|
50
|
+
4. **Source tagging** — MUST set `source: "harvest"` on every issues.jsonl row so concurrent writers can be distinguished
|
|
51
|
+
5. **Conflict pre-check on spec routing** — when routing to spec, MUST compare against existing specs with same keywords/category; set `confidence="low"` and log conflict note if semantic conflict detected
|
|
52
|
+
6. **Provenance tracking** — every routed item MUST be logged in harvest-log.jsonl with fragment ID, target store, and timestamp
|
|
53
|
+
7. **Dry-run safety** — `--dry-run` MUST NOT write any files; preview only
|
|
54
|
+
</invariants>
|
|
55
|
+
|
|
44
56
|
<execution>
|
|
45
57
|
Follow '~/.maestro/workflows/harvest.md' Stages 1-8 in order.
|
|
46
58
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
59
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
60
|
+
|
|
61
|
+
**GATE 1: Discovery → Extraction** (Stages 1-3 → Stage 4)
|
|
62
|
+
- REQUIRED: Source artifacts discovered and mode resolved (scan/session/path).
|
|
63
|
+
- REQUIRED: User selected artifact(s) to harvest (or auto-selected via session/path mode, or `-y`).
|
|
64
|
+
- BLOCKED if no harvestable artifacts found (W001) or invalid source (E004/E005).
|
|
65
|
+
|
|
66
|
+
**GATE 2: Extraction → Routing** (Stage 4 → Stage 5-6)
|
|
67
|
+
- REQUIRED: All files in selected artifacts loaded and parsed.
|
|
68
|
+
- REQUIRED: Knowledge fragments extracted with category, confidence, and tags.
|
|
69
|
+
- REQUIRED: Fragments filtered by `--min-confidence`.
|
|
70
|
+
- BLOCKED if extraction produces zero fragments.
|
|
71
|
+
|
|
72
|
+
**GATE 3: Routing → Write** (Stage 6 → Stage 7-8)
|
|
73
|
+
- REQUIRED: Routing classification applied (auto or forced by `--to`).
|
|
74
|
+
- REQUIRED: Dedup check passed against harvest-log.jsonl and existing stores.
|
|
75
|
+
- REQUIRED: If `--dry-run`: preview displayed, no files written — GATE blocks further writes.
|
|
76
|
+
- BLOCKED if dedup check fails or store paths unresolvable.
|
|
53
77
|
|
|
54
78
|
Extraction patterns, classification rules, routing infrastructure, and fragment ID scheme defined in workflow harvest.md.
|
|
55
79
|
|
|
@@ -39,12 +39,35 @@ $ARGUMENTS -- subcommand + options. Parse first token as subcommand.
|
|
|
39
39
|
**State files:**
|
|
40
40
|
- `.workflow/issues/issues.jsonl` -- active issues (one JSON per line)
|
|
41
41
|
- `.workflow/issues/issue-history.jsonl` -- archived/closed issues
|
|
42
|
+
|
|
43
|
+
**Output boundary**: ALL file writes MUST target `.workflow/issues/issues.jsonl`, `.workflow/issues/issue-history.jsonl`, or `.workflow/issues/` directory only. NEVER modify source code or files outside these paths.
|
|
42
44
|
</context>
|
|
43
45
|
|
|
46
|
+
<invariants>
|
|
47
|
+
1. **Schema compliance** — every issue record MUST conform to the canonical issue.json template schema
|
|
48
|
+
2. **ID uniqueness** — issue IDs (ISS-XXXXXXXX-NNN) MUST be unique across issues.jsonl and issue-history.jsonl
|
|
49
|
+
3. **Close moves to history** — `close` subcommand MUST move the record from issues.jsonl to issue-history.jsonl, NEVER delete without archiving
|
|
50
|
+
4. **Bidirectional links** — `link` subcommand MUST create references in both the issue and the linked task
|
|
51
|
+
5. **Confirmation on destructive ops** — `close` and bulk `update` MUST require user confirmation unless `-y` flag is set
|
|
52
|
+
6. **Append-only audit** — NEVER overwrite existing issue records; updates MUST preserve all prior fields and add `updated_at` timestamp
|
|
53
|
+
</invariants>
|
|
54
|
+
|
|
44
55
|
<execution>
|
|
45
56
|
Parse subcommand from first token of $ARGUMENTS.
|
|
46
57
|
Follow '~/.maestro/workflows/issue.md' completely.
|
|
47
58
|
|
|
59
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
60
|
+
|
|
61
|
+
**GATE 1: Parse → Execute** (Subcommand routing)
|
|
62
|
+
- REQUIRED: Subcommand parsed and validated against valid set (create/list/status/update/close/link).
|
|
63
|
+
- REQUIRED: `.workflow/issues/` directory exists (auto-create with empty issues.jsonl if missing).
|
|
64
|
+
- BLOCKED if E_NO_SUBCOMMAND or E_INVALID_SUBCOMMAND.
|
|
65
|
+
|
|
66
|
+
**GATE 2: Execute → Write** (For mutating subcommands: create/update/close/link)
|
|
67
|
+
- REQUIRED: Issue data validated against issue.json template schema.
|
|
68
|
+
- REQUIRED: For `close`: resolution text provided.
|
|
69
|
+
- REQUIRED: For `link`: target task ID resolved and exists.
|
|
70
|
+
- BLOCKED if schema validation fails or target references unresolvable.
|
|
48
71
|
</execution>
|
|
49
72
|
|
|
50
73
|
<completion>
|
|
@@ -47,8 +47,19 @@ $ARGUMENTS -- optional. Parse first token to determine mode.
|
|
|
47
47
|
### Pre-load specs
|
|
48
48
|
1. **Debug specs**: Run `maestro load --type spec --category debug` to load known antipatterns, root causes, and gotchas. Informs discovery perspectives with prior findings.
|
|
49
49
|
2. Optional — proceed without if unavailable.
|
|
50
|
+
|
|
51
|
+
**Output boundary**: ALL file writes MUST target `.workflow/issues/issues.jsonl` or `.workflow/issues/discoveries/{SESSION_ID}/` only. NEVER modify source code or files outside these paths.
|
|
50
52
|
</context>
|
|
51
53
|
|
|
54
|
+
<invariants>
|
|
55
|
+
1. **Read-only analysis** — discovery agents MUST NOT modify source code; only `.workflow/issues/` is writable
|
|
56
|
+
2. **Source tagging** — MUST set `source: "discover"` on every issues.jsonl row so concurrent writers (e.g. `manage-harvest`) can be distinguished and deduplicated
|
|
57
|
+
3. **Dedup before write** — MUST check existing issues.jsonl for duplicates before appending new findings
|
|
58
|
+
4. **Session traceability** — every discovery run MUST produce a session directory under `.workflow/issues/discoveries/` with full agent outputs
|
|
59
|
+
5. **Schema compliance** — every issue row MUST conform to the canonical issue.json template schema
|
|
60
|
+
6. **Idempotent re-run** — repeated execution with same scope and prompt MUST NOT create duplicate issues
|
|
61
|
+
</invariants>
|
|
62
|
+
|
|
52
63
|
<execution>
|
|
53
64
|
Determine mode from $ARGUMENTS:
|
|
54
65
|
- No arguments or empty → interactive selection via ask_user
|
|
@@ -56,6 +67,23 @@ Determine mode from $ARGUMENTS:
|
|
|
56
67
|
- First token is `by-prompt` → prompt-driven mode, remaining tokens are the user prompt
|
|
57
68
|
|
|
58
69
|
Follow '~/.maestro/workflows/issue-discover.md' completely.
|
|
70
|
+
|
|
71
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
72
|
+
|
|
73
|
+
**GATE 1: Mode Selection → Analysis** (Steps 1-2 → Steps 3-8)
|
|
74
|
+
- REQUIRED: Mode correctly determined from arguments (multi-perspective or by-prompt).
|
|
75
|
+
- REQUIRED: `.workflow/issues/` directory exists (auto-create if missing).
|
|
76
|
+
- BLOCKED if E_NO_PROJECT (`.workflow/` missing) or E_EMPTY_PROMPT (by-prompt without text).
|
|
77
|
+
|
|
78
|
+
**GATE 2: Analysis → Issue Creation** (Steps 8-9 → Steps 10-11)
|
|
79
|
+
- REQUIRED: All perspectives analyzed (multi-perspective) or dimensions explored (by-prompt).
|
|
80
|
+
- REQUIRED: Findings deduplicated against existing issues.jsonl.
|
|
81
|
+
- BLOCKED if E_DISCOVERY_FAILED (all agents returned no results).
|
|
82
|
+
|
|
83
|
+
**GATE 3: Issue Creation → Completion** (Steps 11-12)
|
|
84
|
+
- REQUIRED: Issues appended to issues.jsonl with correct schema and `source: "discover"`.
|
|
85
|
+
- REQUIRED: Discovery session directory created with full agent outputs.
|
|
86
|
+
- BLOCKED if schema validation fails on any issue record.
|
|
59
87
|
</execution>
|
|
60
88
|
|
|
61
89
|
<error_codes>
|
|
@@ -40,6 +40,8 @@ $ARGUMENTS -- optional flags.
|
|
|
40
40
|
|
|
41
41
|
**Output:** `.workflow/kg/extractors.yaml` — declarative rules for PluginEngine.
|
|
42
42
|
|
|
43
|
+
**Output boundary**: ALL file writes MUST target `.workflow/kg/extractors.yaml` only. NEVER modify source code or files outside this path. `--scan-only` MUST NOT write any files.
|
|
44
|
+
|
|
43
45
|
**Rule format:**
|
|
44
46
|
```yaml
|
|
45
47
|
version: 1
|
|
@@ -68,6 +70,16 @@ plugins:
|
|
|
68
70
|
|
|
69
71
|
<execution>
|
|
70
72
|
|
|
73
|
+
<invariants>
|
|
74
|
+
1. **Read-only source code** — agents MUST only read source files for pattern discovery; NEVER modify source code
|
|
75
|
+
2. **Scan-only safety** — `--scan-only` MUST stop after Phase 2 summary; NEVER write extractors.yaml
|
|
76
|
+
3. **Append preservation** — `--append` MUST preserve existing rules in extractors.yaml; default (overwrite) MUST warn (W003) if file exists
|
|
77
|
+
4. **Min-count threshold** — patterns with fewer occurrences than `--min-count` MUST be excluded unless explicitly overridden
|
|
78
|
+
5. **User confirmation** — each pattern group MUST be confirmed/edited/skipped by user before writing (Phase 3, Step 2)
|
|
79
|
+
6. **Schema compliance** — generated extractors.yaml MUST conform to version 1 PluginEngine schema with required fields (id, languages, mode, rules)
|
|
80
|
+
7. **Validation mandatory** — MUST run `maestro kg index` after writing to verify new symbols are extractable
|
|
81
|
+
</invariants>
|
|
82
|
+
|
|
71
83
|
### Phase 1: Discover patterns
|
|
72
84
|
|
|
73
85
|
Spawn **3 parallel agents** to scan the codebase:
|
|
@@ -80,7 +92,21 @@ Spawn **3 parallel agents** to scan the codebase:
|
|
|
80
92
|
|
|
81
93
|
Each agent returns: `[{pattern_type, regex_evidence, file_count, sample_matches: [{file, line, code}]}]`
|
|
82
94
|
|
|
83
|
-
|
|
95
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
96
|
+
|
|
97
|
+
**GATE 1: Discovery → Generation** (Phase 1 → Phase 2)
|
|
98
|
+
- REQUIRED: At least 1 of 3 agents returned valid pattern results.
|
|
99
|
+
- BLOCKED if all 3 agents return empty results (E002).
|
|
100
|
+
|
|
101
|
+
**GATE 2: Generation → Write** (Phase 2 → Phase 3)
|
|
102
|
+
- REQUIRED: At least 1 pattern meets `--min-count` threshold.
|
|
103
|
+
- REQUIRED: User confirmed pattern groups via ask_user.
|
|
104
|
+
- BLOCKED if `--scan-only` is set — stop after summary.
|
|
105
|
+
|
|
106
|
+
**GATE 3: Write → Validation** (Phase 3 → KG Index)
|
|
107
|
+
- REQUIRED: extractors.yaml written with valid schema.
|
|
108
|
+
- REQUIRED: `maestro kg index` executed to verify extraction.
|
|
109
|
+
- BLOCKED if schema validation fails on generated YAML.
|
|
84
110
|
|
|
85
111
|
### Phase 2: Generate rules
|
|
86
112
|
|
|
@@ -26,6 +26,8 @@ Arguments: $ARGUMENTS
|
|
|
26
26
|
|
|
27
27
|
Dual store architecture (paths, formats, index) defined in workflow knowhow.md.
|
|
28
28
|
|
|
29
|
+
**Output boundary**: Workflow store writes MUST target `.workflow/knowhow/` only. System store writes MUST target `~/.claude/projects/*/memory/` only. NEVER modify source code or files outside these paths.
|
|
30
|
+
|
|
29
31
|
**Subcommands:**
|
|
30
32
|
- `list` — List entries from both stores (default if no arguments)
|
|
31
33
|
- `search <query>` — Full-text search across both stores
|
|
@@ -46,8 +48,32 @@ Dual store architecture (paths, formats, index) defined in workflow knowhow.md.
|
|
|
46
48
|
|
|
47
49
|
<execution>
|
|
48
50
|
Follow '~/.maestro/workflows/knowhow.md' Part A (KnowHow Management) completely.
|
|
51
|
+
|
|
52
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
53
|
+
|
|
54
|
+
**GATE 1: Parse → Execute** (Subcommand routing)
|
|
55
|
+
- REQUIRED: Subcommand parsed from first token (list/search/view/edit/delete/prune).
|
|
56
|
+
- REQUIRED: Both store paths resolved (workflow + system).
|
|
57
|
+
- BLOCKED if E001 (no memory stores found) or invalid subcommand.
|
|
58
|
+
|
|
59
|
+
**GATE 2: Execute → Mutate** (For destructive subcommands: delete/prune/edit)
|
|
60
|
+
- REQUIRED: Target entry/file resolved and exists (E002 if not found).
|
|
61
|
+
- REQUIRED: MEMORY.md protected from deletion (E004 — use `edit` instead).
|
|
62
|
+
- REQUIRED: For `prune`: at least one filter provided (E003).
|
|
63
|
+
- REQUIRED: User confirmation before delete/prune unless `--confirm` flag set.
|
|
64
|
+
- BLOCKED if target unresolvable or confirmation denied.
|
|
49
65
|
</execution>
|
|
50
66
|
|
|
67
|
+
<invariants>
|
|
68
|
+
1. **MEMORY.md protected** — NEVER delete MEMORY.md; only editable via `edit` subcommand
|
|
69
|
+
2. **MEMORY.md line limit** — MUST warn (W003) when MEMORY.md exceeds 200 lines; content beyond 200 lines will be truncated at load
|
|
70
|
+
3. **Confirmation on destructive ops** — `delete` and `prune` MUST require user confirmation unless `--confirm` flag is set
|
|
71
|
+
4. **Store isolation** — `prune` operates on workflow store only; NEVER prune system memory files
|
|
72
|
+
5. **Reference integrity** — `delete` MUST check for references from other entries before removing; warn if orphaned references would result
|
|
73
|
+
6. **Dry-run safety** — `--dry-run` MUST NOT write any files; preview destructive operations only
|
|
74
|
+
7. **Index consistency** — after delete/prune, workflow index MUST be updated to reflect removals
|
|
75
|
+
</invariants>
|
|
76
|
+
|
|
51
77
|
<error_codes>
|
|
52
78
|
| Code | Severity | Description | Stage |
|
|
53
79
|
|------|----------|-------------|-------|
|
|
@@ -46,11 +46,35 @@ $ARGUMENTS — type token + description + optional flags.
|
|
|
46
46
|
| No args | — | — | ask_user (10 options) |
|
|
47
47
|
|
|
48
48
|
**Output**: `.workflow/knowhow/{PREFIX}-{YYYYMMDD}-{slug}.md` with YAML frontmatter (title, description, type, category, created, tags, source, lang, status)
|
|
49
|
+
|
|
50
|
+
**Output boundary**: ALL file writes MUST target `.workflow/knowhow/` only. NEVER modify source code or files outside this path.
|
|
49
51
|
</context>
|
|
50
52
|
|
|
53
|
+
<invariants>
|
|
54
|
+
1. **Description required** — every entry MUST have a `description` field in frontmatter (under 120 chars) for search indexing
|
|
55
|
+
2. **Tags language match** — tags MUST match content language (Chinese content → Chinese tags, English → English)
|
|
56
|
+
3. **ID uniqueness** — generated file names ({PREFIX}-{YYYYMMDD}-{slug}.md) MUST be unique; NEVER overwrite existing entries
|
|
57
|
+
4. **Frontmatter completeness** — YAML frontmatter MUST include: title, description, type, category, created, tags, status
|
|
58
|
+
5. **Type-specific validation** — each type MUST populate all its required fields before writing (template needs code block, recipe needs steps, etc.)
|
|
59
|
+
6. **Idempotent naming** — same content captured twice MUST produce same slug, enabling dedup detection
|
|
60
|
+
</invariants>
|
|
61
|
+
|
|
51
62
|
<execution>
|
|
52
63
|
Follow '~/.maestro/workflows/knowhow.md' completely.
|
|
53
64
|
|
|
65
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
66
|
+
|
|
67
|
+
**GATE 1: Type Detection → Content Collection** (Type routing → Content extraction)
|
|
68
|
+
- REQUIRED: Type detected from first token or selected via ask_user.
|
|
69
|
+
- REQUIRED: Type maps to a valid prefix (KNW-/TPL-/RCP-/REF-/DCS-/TIP-/AST-/BLP-/DOC-/INS-).
|
|
70
|
+
- BLOCKED if type unresolvable after interactive prompt.
|
|
71
|
+
|
|
72
|
+
**GATE 2: Content Collection → Write** (Content extraction → File write)
|
|
73
|
+
- REQUIRED: All type-specific required fields populated (e.g., template needs code block, recipe needs steps).
|
|
74
|
+
- REQUIRED: `description` field generated or provided (under 120 chars).
|
|
75
|
+
- REQUIRED: Tags generated in correct language matching content.
|
|
76
|
+
- BLOCKED if required fields missing after user prompt (E002/E003).
|
|
77
|
+
|
|
54
78
|
**Description rule**: Every entry MUST have a `description` field in frontmatter — a one-line summary (under 120 chars) for search results. WikiIndexer uses priority chain: `description > content[:240]`. Use `--description` flag value if provided; otherwise auto-generate from content.
|
|
55
79
|
|
|
56
80
|
**Tags language rule**: Tags must match content language. Chinese content → Chinese tags (如 `认证,令牌,刷新`). English content → English tags. Mixed → bilingual.
|
|
@@ -37,8 +37,21 @@ Arguments: $ARGUMENTS
|
|
|
37
37
|
**互斥规则:** `--interactive`、`--mark`、`--delete`、`--purge` 四选一,同时传入多个 → E006。
|
|
38
38
|
|
|
39
39
|
Flag 全集、scope 对应的扫描路径、Stage 步骤、检测算法定义在 workflow knowledge-audit.md。
|
|
40
|
+
|
|
41
|
+
**Output boundary**: ALL file writes MUST target `.workflow/specs/`, `.workflow/knowhow/`, `.workflow/.trash/knowledge-audit-{timestamp}/`, `.workflow/issues/`, or audit report files (`audit-report-*.md`, `audit-log.jsonl`). NEVER modify source code files.
|
|
40
42
|
</context>
|
|
41
43
|
|
|
44
|
+
<invariants>
|
|
45
|
+
1. **Code-as-Truth** — 代码是唯一真理源;spec/knowhow 声明 MUST 与代码实际行为一致;每个 finding 的 evidence MUST 包含代码引用(文件:行号)
|
|
46
|
+
2. **Backup before mutate** — MUST create backup tarball in `.workflow/.trash/` before any file modification (E005 if backup fails)
|
|
47
|
+
3. **Deprecate over delete** — 文本存储首选 `status="deprecated"` 保留历史;NEVER 物理删除 spec/knowhow 文件
|
|
48
|
+
4. **Purge 仅 artifact** — `--purge` MUST NOT 作用于 spec/knowhow scope (E004)
|
|
49
|
+
5. **Rescue before delete** — 未 harvest 的 artifact 删除前 MUST 强制提示先跑 `/manage-harvest` (W002)
|
|
50
|
+
6. **Conflict marker sync** — deprecate/delete 执行时如果目标条目有 conflict-marker,MUST 同步调用 `maestro spec conflict clear` 清除标记
|
|
51
|
+
7. **Mutual exclusion** — `--interactive`/`--mark`/`--delete`/`--purge` 四选一;同时传入多个 MUST trigger E006
|
|
52
|
+
8. **Dry-run safety** — `--dry-run` MUST NOT write any files; `--purge` 与 `--dry-run` 互斥 (E003)
|
|
53
|
+
</invariants>
|
|
54
|
+
|
|
42
55
|
<execution>
|
|
43
56
|
Follow `~/.maestro/workflows/knowledge-audit.md` Stages 1-8 in order.
|
|
44
57
|
|
|
@@ -26,12 +26,34 @@ $ARGUMENTS (no arguments required)
|
|
|
26
26
|
- `.workflow/roadmap.md` -- milestone and phase structure
|
|
27
27
|
- `.workflow/scratch/*/plan.json` -- plan metadata (via artifact registry paths)
|
|
28
28
|
- `.workflow/scratch/*/.task/TASK-*.json` -- individual task statuses
|
|
29
|
+
|
|
30
|
+
**Output boundary**: Read-only command. MUST NOT write any files. All output is displayed to the user via text.
|
|
29
31
|
</context>
|
|
30
32
|
|
|
33
|
+
<invariants>
|
|
34
|
+
1. **Read-only** — MUST NOT write or modify any files; this is a pure display command
|
|
35
|
+
2. **Graceful degradation** — missing roadmap.md, plan.json, or task files MUST NOT cause failure; display available data and note missing sections
|
|
36
|
+
3. **State accuracy** — progress percentages MUST be calculated from actual task statuses, NEVER estimated or inferred
|
|
37
|
+
4. **Wiki health optional** — wiki health score display MUST degrade gracefully if wiki is unavailable
|
|
38
|
+
5. **Complete dashboard** — MUST include: milestone progress, phase status, task counts, active work, and next-step suggestions
|
|
39
|
+
</invariants>
|
|
40
|
+
|
|
31
41
|
<execution>
|
|
32
42
|
Follow '~/.maestro/workflows/status.md' completely.
|
|
33
43
|
|
|
34
44
|
Next-step decision table defined in workflow status.md Step 5.
|
|
45
|
+
|
|
46
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
47
|
+
|
|
48
|
+
**GATE 1: Load → Render** (State loading → Dashboard display)
|
|
49
|
+
- REQUIRED: `.workflow/` exists and `state.json` is readable (E001/E002 if not).
|
|
50
|
+
- REQUIRED: Project state loaded with milestone and artifact registry.
|
|
51
|
+
- BLOCKED if state.json missing or corrupt (E002).
|
|
52
|
+
|
|
53
|
+
**GATE 2: Render → Route** (Dashboard → Next-step suggestions)
|
|
54
|
+
- REQUIRED: Per-phase progress calculated from actual task statuses.
|
|
55
|
+
- REQUIRED: Dashboard rendered with progress bars and status table.
|
|
56
|
+
- BLOCKED if state parsing fails entirely.
|
|
35
57
|
</execution>
|
|
36
58
|
|
|
37
59
|
<error_codes>
|
|
@@ -45,13 +45,41 @@ $ARGUMENTS — subcommand and optional flags.
|
|
|
45
45
|
- `--format brief|full` — (digest) Output format
|
|
46
46
|
- `--recent N` — (digest) Scope to N most recent entries
|
|
47
47
|
- `--create-issues` — (digest) Create issues for identified knowledge gaps
|
|
48
|
+
|
|
49
|
+
**Output boundary**: File writes MUST target `.workflow/wiki/`, `.workflow/knowhow/`, or `.workflow/issues/issues.jsonl` (when `--create-issues`) only. NEVER modify source code or files outside these paths. `--dry-run` overrides `--fix` — no writes when both are set.
|
|
48
50
|
</context>
|
|
49
51
|
|
|
52
|
+
<invariants>
|
|
53
|
+
1. **Dry-run precedence** — `--dry-run` MUST override `--fix` when both are passed; preview only, no writes
|
|
54
|
+
2. **Read-only by default** — without `--fix` or `--create-issues`, all subcommands MUST be read-only
|
|
55
|
+
3. **Confirmation on fixes** — `--fix` MUST show preview of changes before applying; auto-apply only when explicitly set
|
|
56
|
+
4. **Graph integrity** — `connect` MUST NOT create circular link chains; validate graph acyclicity for parent-child relationships
|
|
57
|
+
5. **Threshold enforcement** — `--min-similarity` MUST be respected; NEVER suggest connections below the threshold
|
|
58
|
+
6. **Subcommand isolation** — each subcommand routes to its own workflow file; NEVER cross-execute subcommand logic
|
|
59
|
+
</invariants>
|
|
60
|
+
|
|
50
61
|
<execution>
|
|
51
62
|
**Subcommand routing:**
|
|
52
63
|
- `health|search|cleanup|stats` → Follow `~/.maestro/workflows/wiki-manage.md` completely.
|
|
53
64
|
- `connect` → Follow `~/.maestro/workflows/wiki-connect.md` completely (Stages 1-6).
|
|
54
65
|
- `digest` → Follow `~/.maestro/workflows/wiki-digest.md` completely (Stages 1-8).
|
|
66
|
+
|
|
67
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
68
|
+
|
|
69
|
+
**GATE 1: Parse → Load** (Subcommand routing → Wiki data loading)
|
|
70
|
+
- REQUIRED: Subcommand parsed and validated (health/search/cleanup/stats/connect/digest).
|
|
71
|
+
- REQUIRED: `.workflow/` initialized (E001 if missing).
|
|
72
|
+
- BLOCKED if E003 (invalid subcommand) or E001.
|
|
73
|
+
|
|
74
|
+
**GATE 2: Load → Execute** (Wiki data → Subcommand execution)
|
|
75
|
+
- REQUIRED: Wiki data loaded via `maestro wiki` CLI.
|
|
76
|
+
- REQUIRED: At least one wiki entry exists (E002 if none).
|
|
77
|
+
- BLOCKED if wiki data loading fails entirely.
|
|
78
|
+
|
|
79
|
+
**GATE 3: Execute → Write** (For mutating operations: cleanup --fix, connect --fix, digest --create-issues)
|
|
80
|
+
- REQUIRED: Preview of changes shown to user.
|
|
81
|
+
- REQUIRED: `--dry-run` NOT set (overrides `--fix`).
|
|
82
|
+
- BLOCKED if preview generation fails or user declines.
|
|
55
83
|
</execution>
|
|
56
84
|
|
|
57
85
|
<error_codes>
|
|
@@ -52,6 +52,8 @@ $ARGUMENTS
|
|
|
52
52
|
**Session**: `.workflow/scratch/{YYYYMMDD}-improve-odyssey-{slug}/`
|
|
53
53
|
**Output**: `session.json` | `evidence.ndjson` | `understanding.md`
|
|
54
54
|
|
|
55
|
+
**Output boundary**: ALL file writes MUST target the session directory (`.workflow/scratch/{YYYYMMDD}-improve-odyssey-{slug}/`) or `.workflow/state.json` only. Source code modifications during S_FIX are in-scope but MUST be committed per action. NEVER write artifacts outside these paths.
|
|
56
|
+
|
|
55
57
|
**session.json — improve-specific fields:**
|
|
56
58
|
```json
|
|
57
59
|
{ "target": "", "dimensions": [], "baseline_metrics": {},
|
|
@@ -105,6 +107,54 @@ All invariants (evidence append-only, session-as-state, phase goal tracking, aut
|
|
|
105
107
|
Applies to: **S_SURVEY, S_AUDIT, S_DIAGNOSE, S_GENERALIZE**. Logic in base.
|
|
106
108
|
</self_iteration>
|
|
107
109
|
|
|
110
|
+
<execution>
|
|
111
|
+
Follow base execution discipline completely. Actions defined in state_machine below.
|
|
112
|
+
|
|
113
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
114
|
+
|
|
115
|
+
**GATE 1: INTAKE → SURVEY**
|
|
116
|
+
- REQUIRED: Target resolved, SESSION_DIR created, session.json initialized with baseline_metrics.
|
|
117
|
+
- REQUIRED: phase_goals[] derived from flags.
|
|
118
|
+
- BLOCKED if: no target specified (E001) or target path not found (E002).
|
|
119
|
+
|
|
120
|
+
**GATE 2: SURVEY → AUDIT**
|
|
121
|
+
- REQUIRED: Current state survey completed — dependency audit, complexity scan, test coverage map, error handling scan.
|
|
122
|
+
- REQUIRED: Evidence phase=survey logged, understanding.md §2 updated, G1 marked done.
|
|
123
|
+
- BLOCKED if: survey incomplete — all 4 scan types must be attempted.
|
|
124
|
+
|
|
125
|
+
**GATE 3: AUDIT → DIAGNOSE**
|
|
126
|
+
- REQUIRED: All dimension agents completed (or --dimensions subset), findings merged with severity classification.
|
|
127
|
+
- REQUIRED: audit_result written to session.json, understanding.md §3 with severity matrix, G2 marked done.
|
|
128
|
+
- BLOCKED if: zero dimensions reviewed (W002 partial is allowed, zero is not).
|
|
129
|
+
|
|
130
|
+
**GATE 4: DIAGNOSE → FIX**
|
|
131
|
+
- REQUIRED: Root causes identified for all critical/high findings with evidence.
|
|
132
|
+
- REQUIRED: diagnoses[] written, understanding.md §4 updated, G3 marked done.
|
|
133
|
+
- BLOCKED if: hypotheses failed 3 times without escalation decision (A_ESCALATE_DIAGNOSIS).
|
|
134
|
+
|
|
135
|
+
**GATE 5: FIX → VERIFY**
|
|
136
|
+
- REQUIRED: ALL findings within fix_threshold fixed by severity tier (critical → high → medium → low).
|
|
137
|
+
- REQUIRED: Per-fix evidence phase=fix logged.
|
|
138
|
+
- BLOCKED if: tier incomplete — each tier must be fully addressed before advancing.
|
|
139
|
+
|
|
140
|
+
**GATE 6: VERIFY → GENERALIZE**
|
|
141
|
+
- REQUIRED: Tests pass, metrics re-captured, before/after comparison logged.
|
|
142
|
+
- REQUIRED: confirmation written, understanding.md §5 updated, G4 marked done.
|
|
143
|
+
- BLOCKED if: needs_rework → route back to S_FIX.
|
|
144
|
+
|
|
145
|
+
**GATE 7: GENERALIZE → DISCOVER**
|
|
146
|
+
- REQUIRED: ALL 3 layers (syntax/semantic/structural) attempted with evidence logged.
|
|
147
|
+
- REQUIRED: generalization_stats written with by_layer entries for all 3 layers, G5 marked done.
|
|
148
|
+
- BLOCKED if: any layer not attempted (thoroughness floor violation).
|
|
149
|
+
|
|
150
|
+
**GATE 8: DISCOVER → RECORD**
|
|
151
|
+
- REQUIRED: All hits triaged with per-item classification and reason.
|
|
152
|
+
- REQUIRED: remaining_actionable == 0 OR loops >= max_loops with per-item reasons logged.
|
|
153
|
+
- REQUIRED: G6 marked done.
|
|
154
|
+
- BLOCKED if: unclassified hits remain.
|
|
155
|
+
|
|
156
|
+
</execution>
|
|
157
|
+
|
|
108
158
|
<state_machine>
|
|
109
159
|
|
|
110
160
|
<states>
|
|
@@ -57,6 +57,8 @@ $ARGUMENTS
|
|
|
57
57
|
**Session**: `.workflow/scratch/{YYYYMMDD}-planex-odyssey-{slug}/`
|
|
58
58
|
**Output**: `session.json` | `evidence.ndjson` | `understanding.md`
|
|
59
59
|
|
|
60
|
+
**Output boundary**: ALL session artifacts MUST target the session directory (`.workflow/scratch/{YYYYMMDD}-planex-odyssey-{slug}/`) or `.workflow/state.json` only. Source code modifications during S_EXECUTE and S_FIX are in-scope but MUST be committed per action. NEVER write session artifacts outside these paths.
|
|
61
|
+
|
|
60
62
|
**session.json — planex-specific fields:**
|
|
61
63
|
```json
|
|
62
64
|
{ "requirement": "",
|
|
@@ -108,6 +110,50 @@ Base execution_discipline #1-5.
|
|
|
108
110
|
Applies to: **S_PLAN, S_VERIFY, S_GENERALIZE**. Logic in base.
|
|
109
111
|
</self_iteration>
|
|
110
112
|
|
|
113
|
+
<execution>
|
|
114
|
+
Follow base execution discipline completely. Actions defined in state_machine below.
|
|
115
|
+
|
|
116
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
117
|
+
|
|
118
|
+
**GATE 1: INTAKE → PLAN**
|
|
119
|
+
- REQUIRED: Requirement parsed, >=1 acceptance criterion defined with verify_method assigned.
|
|
120
|
+
- REQUIRED: session.json initialized, understanding.md §1 written, G1 marked done.
|
|
121
|
+
- BLOCKED if: no requirement provided (E001) or zero criteria derived (W001).
|
|
122
|
+
|
|
123
|
+
**GATE 2: PLAN → EXECUTE**
|
|
124
|
+
- REQUIRED: Plan tasks decomposed with criteria_refs mapping each task to acceptance criteria.
|
|
125
|
+
- REQUIRED: session.json.plan populated, understanding.md §2 updated, G2 marked done.
|
|
126
|
+
- BLOCKED if: plan has zero tasks or unmapped criteria.
|
|
127
|
+
|
|
128
|
+
**GATE 3: EXECUTE → VERIFY**
|
|
129
|
+
- REQUIRED: All plan tasks executed (or marked blocked after 3 retries per deviation rule).
|
|
130
|
+
- REQUIRED: execution_config confirmed, per-task evidence logged, understanding.md §3 updated, G3 marked done.
|
|
131
|
+
- BLOCKED if: tasks still pending execution.
|
|
132
|
+
|
|
133
|
+
**GATE 4: VERIFY → FIX / GENERALIZE**
|
|
134
|
+
- REQUIRED: Every acceptance criterion verified by its assigned method (test/grep/cli-review/manual).
|
|
135
|
+
- REQUIRED: Per-criterion evidence logged with pass/fail status and iteration count.
|
|
136
|
+
- BLOCKED if: verification incomplete — all criteria must be checked before routing decision.
|
|
137
|
+
- Route: all passed → GENERALIZE (or RECORD if skip_generalize). Some failed + iteration < max → FIX.
|
|
138
|
+
|
|
139
|
+
**GATE 5: FIX → VERIFY**
|
|
140
|
+
- REQUIRED: current_iteration incremented, targeted fixes applied for each failed criterion.
|
|
141
|
+
- REQUIRED: Fix evidence logged, understanding.md §5 updated.
|
|
142
|
+
- BLOCKED if: no fix attempted for failing criteria.
|
|
143
|
+
|
|
144
|
+
**GATE 6: GENERALIZE → DISCOVER**
|
|
145
|
+
- REQUIRED: ALL 3 layers (syntax/semantic/structural) attempted with evidence logged.
|
|
146
|
+
- REQUIRED: generalization_stats written with by_layer entries for all 3 layers, G5 marked done.
|
|
147
|
+
- BLOCKED if: any layer not attempted (thoroughness floor violation).
|
|
148
|
+
|
|
149
|
+
**GATE 7: DISCOVER → RECORD**
|
|
150
|
+
- REQUIRED: All hits triaged with per-item classification and reason.
|
|
151
|
+
- REQUIRED: remaining_actionable == 0 OR loops >= max_loops with per-item reasons logged.
|
|
152
|
+
- REQUIRED: G6 marked done.
|
|
153
|
+
- BLOCKED if: unclassified hits remain.
|
|
154
|
+
|
|
155
|
+
</execution>
|
|
156
|
+
|
|
111
157
|
<state_machine>
|
|
112
158
|
|
|
113
159
|
<states>
|
|
@@ -45,6 +45,8 @@ $ARGUMENTS
|
|
|
45
45
|
**Session**: `.workflow/scratch/{YYYYMMDD}-review-odyssey-{slug}/`
|
|
46
46
|
**Output**: `session.json` | `evidence.ndjson` | `explore.json` | `understanding.md`
|
|
47
47
|
|
|
48
|
+
**Output boundary**: ALL session artifacts MUST target the session directory (`.workflow/scratch/{YYYYMMDD}-review-odyssey-{slug}/`) or `.workflow/state.json` only. Source code modifications during S_FIX are in-scope but MUST be committed per action. NEVER write session artifacts outside these paths.
|
|
49
|
+
|
|
48
50
|
**session.json — review-specific fields:**
|
|
49
51
|
```json
|
|
50
52
|
{ "target": "", "dimensions": [], "review_result": {"remaining_actionable": 0},
|
|
@@ -90,6 +92,54 @@ All invariants defined in base.
|
|
|
90
92
|
Applies to: **S_ARCHAEOLOGY, S_EXPLORE, S_REVIEW, S_FIX, S_GENERALIZE**. Logic in base.
|
|
91
93
|
</self_iteration>
|
|
92
94
|
|
|
95
|
+
<execution>
|
|
96
|
+
Follow base execution discipline completely. Actions defined in state_machine below.
|
|
97
|
+
|
|
98
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
99
|
+
|
|
100
|
+
**GATE 1: INTAKE → ARCHAEOLOGY**
|
|
101
|
+
- REQUIRED: Target resolved to file list, SESSION_DIR created, session.json initialized.
|
|
102
|
+
- REQUIRED: phase_goals[] derived from flags, understanding.md §1 written.
|
|
103
|
+
- BLOCKED if: no target specified (E001) or target path not found (E002).
|
|
104
|
+
|
|
105
|
+
**GATE 2: ARCHAEOLOGY → EXPLORE**
|
|
106
|
+
- REQUIRED: Git history analysis completed (timeline + blame agents), evidence phase=archaeology logged.
|
|
107
|
+
- REQUIRED: understanding.md §2 updated.
|
|
108
|
+
- BLOCKED if: both archaeology agents failed AND delegate failed (partial results via W003 are acceptable).
|
|
109
|
+
|
|
110
|
+
**GATE 3: EXPLORE → REVIEW**
|
|
111
|
+
- REQUIRED: explore.json written with call_chains/recent_changes/error_gaps/similar_patterns (or W006 skip logged).
|
|
112
|
+
- REQUIRED: Evidence phase=explore logged, understanding.md §3 updated, G2 marked done.
|
|
113
|
+
- BLOCKED if: exploration started but not completed (W006 skip is acceptable, incomplete is not).
|
|
114
|
+
|
|
115
|
+
**GATE 4: REVIEW → FIX**
|
|
116
|
+
- REQUIRED: All dimension agents completed, findings merged with severity classification.
|
|
117
|
+
- REQUIRED: review_result written to session.json, understanding.md §4 with severity matrix, G1 marked done.
|
|
118
|
+
- BLOCKED if: zero dimensions reviewed (W002 partial is allowed, zero is not).
|
|
119
|
+
|
|
120
|
+
**GATE 5: FIX → CONFIRM**
|
|
121
|
+
- REQUIRED: Current severity tier fully addressed — all findings in tier fixed or individually classified.
|
|
122
|
+
- REQUIRED: Per-fix evidence phase=fix logged, auto-commit per tier.
|
|
123
|
+
- BLOCKED if: tier incomplete — no partial tier advancement.
|
|
124
|
+
|
|
125
|
+
**GATE 6: CONFIRM → GENERALIZE**
|
|
126
|
+
- REQUIRED: Tests pass, remaining_actionable == 0, new findings == 0.
|
|
127
|
+
- REQUIRED: confirmation written, understanding.md §5 updated, G3 marked done.
|
|
128
|
+
- BLOCKED if: needs_rework → route back to S_FIX.
|
|
129
|
+
|
|
130
|
+
**GATE 7: GENERALIZE → DISCOVER**
|
|
131
|
+
- REQUIRED: ALL 3 layers (syntax/semantic/structural) attempted with evidence logged.
|
|
132
|
+
- REQUIRED: generalization_stats written with by_layer entries for all 3 layers, G4 marked done.
|
|
133
|
+
- BLOCKED if: any layer not attempted (thoroughness floor violation).
|
|
134
|
+
|
|
135
|
+
**GATE 8: DISCOVER → RECORD**
|
|
136
|
+
- REQUIRED: All hits triaged with per-item classification and reason.
|
|
137
|
+
- REQUIRED: remaining_actionable == 0 OR loops >= max_loops with per-item reasons logged.
|
|
138
|
+
- REQUIRED: G5 marked done.
|
|
139
|
+
- BLOCKED if: unclassified hits remain.
|
|
140
|
+
|
|
141
|
+
</execution>
|
|
142
|
+
|
|
93
143
|
<state_machine>
|
|
94
144
|
|
|
95
145
|
<states>
|
|
@@ -41,6 +41,8 @@ $ARGUMENTS
|
|
|
41
41
|
**Session**: `.workflow/scratch/{YYYYMMDD}-ui-odyssey-{slug}/`
|
|
42
42
|
**Output**: `session.json` | `evidence.ndjson` | `understanding.md`
|
|
43
43
|
|
|
44
|
+
**Output boundary**: ALL session artifacts MUST target the session directory (`.workflow/scratch/{YYYYMMDD}-ui-odyssey-{slug}/`) or `.workflow/state.json` only. Source code modifications during S_FIX are in-scope but MUST be committed per action. NEVER write session artifacts outside these paths.
|
|
45
|
+
|
|
44
46
|
**session.json — ui-specific fields:**
|
|
45
47
|
```json
|
|
46
48
|
{ "target": "", "dimensions": [],
|
|
@@ -89,6 +91,54 @@ $ARGUMENTS
|
|
|
89
91
|
Applies to: **S_SURVEY, S_AUDIT, S_DIVERGE, S_GENERALIZE**. Logic in base.
|
|
90
92
|
</self_iteration>
|
|
91
93
|
|
|
94
|
+
<execution>
|
|
95
|
+
Follow base execution discipline completely. Actions defined in state_machine below.
|
|
96
|
+
|
|
97
|
+
### Phase Gates (MANDATORY, BLOCKING)
|
|
98
|
+
|
|
99
|
+
**GATE 1: INTAKE → SURVEY**
|
|
100
|
+
- REQUIRED: Target resolved, SESSION_DIR created, session.json initialized.
|
|
101
|
+
- REQUIRED: phase_goals[] derived from flags, understanding.md §1 written.
|
|
102
|
+
- BLOCKED if: no target specified (E001) or target path not found (E002).
|
|
103
|
+
|
|
104
|
+
**GATE 2: SURVEY → AUDIT**
|
|
105
|
+
- REQUIRED: Design system inventory + current state analysis completed.
|
|
106
|
+
- REQUIRED: Evidence phase=survey logged, understanding.md §2 updated, G1 marked done.
|
|
107
|
+
- BLOCKED if: survey incomplete — token scan and styling analysis must both be attempted.
|
|
108
|
+
|
|
109
|
+
**GATE 3: AUDIT → DIVERGE**
|
|
110
|
+
- REQUIRED: All 6 dimension agents completed (or --dimensions subset), findings merged with severity classification.
|
|
111
|
+
- REQUIRED: audit_result written to session.json, understanding.md §3 with severity matrix, G2 marked done.
|
|
112
|
+
- BLOCKED if: zero dimensions reviewed (W002 partial is allowed, zero is not).
|
|
113
|
+
|
|
114
|
+
**GATE 4: DIVERGE → FIX**
|
|
115
|
+
- REQUIRED: Both parallel agents (Polish + Delight) completed, ideas consolidated with audit findings.
|
|
116
|
+
- REQUIRED: diverge_result written, understanding.md §4 updated, G3 marked done.
|
|
117
|
+
- BLOCKED if: divergent exploration not attempted.
|
|
118
|
+
|
|
119
|
+
**GATE 5: FIX → VERIFY**
|
|
120
|
+
- REQUIRED: ALL findings/ideas within fix_threshold fixed by priority tier.
|
|
121
|
+
- REQUIRED: Per-fix evidence phase=fix logged.
|
|
122
|
+
- BLOCKED if: tier incomplete — each tier must be fully addressed before advancing.
|
|
123
|
+
|
|
124
|
+
**GATE 6: VERIFY → GENERALIZE**
|
|
125
|
+
- REQUIRED: Tests pass (lint, unit, visual regression), delegate verification completed.
|
|
126
|
+
- REQUIRED: confirmation written, understanding.md §5 updated, G4 marked done.
|
|
127
|
+
- BLOCKED if: needs_rework → route back to S_FIX.
|
|
128
|
+
|
|
129
|
+
**GATE 7: GENERALIZE → DISCOVER**
|
|
130
|
+
- REQUIRED: ALL 3 layers (syntax/semantic/structural) attempted with evidence logged.
|
|
131
|
+
- REQUIRED: generalization_stats written with by_layer entries for all 3 layers, G5 marked done.
|
|
132
|
+
- BLOCKED if: any layer not attempted (thoroughness floor violation).
|
|
133
|
+
|
|
134
|
+
**GATE 8: DISCOVER → RECORD**
|
|
135
|
+
- REQUIRED: All hits triaged with per-item classification and reason.
|
|
136
|
+
- REQUIRED: remaining_actionable == 0 OR loops >= max_loops with per-item reasons logged.
|
|
137
|
+
- REQUIRED: G6 marked done.
|
|
138
|
+
- BLOCKED if: unclassified hits remain.
|
|
139
|
+
|
|
140
|
+
</execution>
|
|
141
|
+
|
|
92
142
|
<state_machine>
|
|
93
143
|
|
|
94
144
|
<states>
|