maestro-flow 0.5.41 → 0.5.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/domain-add/SKILL.md +3 -0
- package/.agents/skills/learn-decompose/SKILL.md +7 -4
- package/.agents/skills/learn-follow/SKILL.md +4 -2
- package/.agents/skills/learn-investigate/SKILL.md +8 -6
- package/.agents/skills/learn-second-opinion/SKILL.md +6 -3
- package/.agents/skills/maestro/SKILL.md +1 -1
- package/.agents/skills/maestro-amend/SKILL.md +1 -1
- package/.agents/skills/maestro-analyze/SKILL.md +1 -43
- package/.agents/skills/maestro-blueprint/SKILL.md +1 -23
- package/.agents/skills/maestro-brainstorm/SKILL.md +8 -25
- package/.agents/skills/maestro-collab/SKILL.md +6 -2
- package/.agents/skills/maestro-companion/SKILL.md +4 -1
- package/.agents/skills/maestro-composer/SKILL.md +4 -2
- package/.agents/skills/maestro-execute/SKILL.md +27 -9
- package/.agents/skills/maestro-fork/SKILL.md +4 -3
- package/.agents/skills/maestro-grill/SKILL.md +1 -17
- package/.agents/skills/maestro-guard/SKILL.md +2 -2
- package/.agents/skills/maestro-impeccable/SKILL.md +2 -1
- package/.agents/skills/maestro-init/SKILL.md +1 -1
- package/.agents/skills/maestro-merge/SKILL.md +12 -1
- package/.agents/skills/maestro-milestone-audit/SKILL.md +1 -15
- package/.agents/skills/maestro-milestone-complete/SKILL.md +8 -3
- package/.agents/skills/maestro-milestone-release/SKILL.md +8 -4
- package/.agents/skills/maestro-overlay/SKILL.md +9 -0
- package/.agents/skills/maestro-plan/SKILL.md +6 -62
- package/.agents/skills/maestro-player/SKILL.md +2 -2
- package/.agents/skills/maestro-quick/SKILL.md +5 -3
- package/.agents/skills/maestro-ralph/SKILL.md +8 -8
- package/.agents/skills/maestro-ralph-cli/SKILL.md +665 -0
- package/.agents/skills/maestro-ralph-cli-execute/SKILL.md +239 -0
- package/.agents/skills/maestro-ralph-execute/SKILL.md +127 -11
- package/.agents/skills/maestro-roadmap/SKILL.md +1 -9
- package/.agents/skills/maestro-swarm-workflow/SKILL.md +16 -14
- package/.agents/skills/maestro-tools-register/SKILL.md +16 -1
- package/.agents/skills/maestro-ui-codify/SKILL.md +11 -1
- package/.agents/skills/maestro-universal-workflow/SKILL.md +28 -5
- package/.agents/skills/maestro-update/SKILL.md +10 -7
- package/.agents/skills/manage-codebase-rebuild/SKILL.md +5 -1
- package/.agents/skills/manage-drift-realign/SKILL.md +6 -2
- package/.agents/skills/manage-harvest/SKILL.md +4 -1
- package/.agents/skills/manage-issue-discover/SKILL.md +1 -0
- package/.agents/skills/manage-kg-extractors/SKILL.md +5 -1
- package/.agents/skills/manage-knowhow-capture/SKILL.md +1 -0
- package/.agents/skills/manage-knowledge-audit/SKILL.md +3 -0
- package/.agents/skills/manage-wiki/SKILL.md +1 -0
- package/.agents/skills/odyssey-debug/SKILL.md +2 -1
- package/.agents/skills/odyssey-improve/SKILL.md +2 -2
- package/.agents/skills/odyssey-planex/SKILL.md +8 -7
- package/.agents/skills/odyssey-review-test-fix/SKILL.md +4 -1
- package/.agents/skills/odyssey-ui/SKILL.md +4 -4
- package/.agents/skills/quality-auto-test/SKILL.md +11 -1
- package/.agents/skills/quality-debug/SKILL.md +16 -2
- package/.agents/skills/quality-retrospective/SKILL.md +9 -1
- package/.agents/skills/quality-review/SKILL.md +8 -0
- package/.agents/skills/quality-sync/SKILL.md +2 -2
- package/.agents/skills/quality-test/SKILL.md +9 -1
- package/.agents/skills/security-audit/SKILL.md +14 -4
- package/.agents/skills/spec-add/SKILL.md +5 -2
- package/.agents/skills/spec-load/SKILL.md +1 -1
- package/.agents/skills/spec-remove/SKILL.md +1 -1
- package/.agents/skills/spec-setup/SKILL.md +3 -0
- package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.agents/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.agents/skills/team-roadmap-dev/SKILL.md +164 -164
- package/.agents/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.agents/skills/team-swarm/roles/analyst/role.md +172 -176
- package/.agy/skills/domain-add/SKILL.md +3 -0
- package/.agy/skills/learn-decompose/SKILL.md +7 -4
- package/.agy/skills/learn-follow/SKILL.md +4 -2
- package/.agy/skills/learn-investigate/SKILL.md +8 -6
- package/.agy/skills/learn-second-opinion/SKILL.md +6 -3
- package/.agy/skills/maestro/SKILL.md +1 -1
- package/.agy/skills/maestro-amend/SKILL.md +1 -1
- package/.agy/skills/maestro-analyze/SKILL.md +1 -43
- package/.agy/skills/maestro-blueprint/SKILL.md +1 -23
- package/.agy/skills/maestro-brainstorm/SKILL.md +8 -25
- package/.agy/skills/maestro-collab/SKILL.md +6 -2
- package/.agy/skills/maestro-companion/SKILL.md +4 -1
- package/.agy/skills/maestro-composer/SKILL.md +4 -2
- package/.agy/skills/maestro-execute/SKILL.md +27 -9
- package/.agy/skills/maestro-fork/SKILL.md +4 -3
- package/.agy/skills/maestro-grill/SKILL.md +1 -17
- package/.agy/skills/maestro-guard/SKILL.md +2 -2
- package/.agy/skills/maestro-impeccable/SKILL.md +2 -1
- package/.agy/skills/maestro-init/SKILL.md +1 -1
- package/.agy/skills/maestro-merge/SKILL.md +12 -1
- package/.agy/skills/maestro-milestone-audit/SKILL.md +1 -15
- package/.agy/skills/maestro-milestone-complete/SKILL.md +8 -3
- package/.agy/skills/maestro-milestone-release/SKILL.md +8 -4
- package/.agy/skills/maestro-overlay/SKILL.md +9 -0
- package/.agy/skills/maestro-plan/SKILL.md +6 -62
- package/.agy/skills/maestro-player/SKILL.md +2 -2
- package/.agy/skills/maestro-quick/SKILL.md +5 -3
- package/.agy/skills/maestro-ralph/SKILL.md +8 -8
- package/.agy/skills/maestro-ralph-cli/SKILL.md +661 -0
- package/.agy/skills/maestro-ralph-cli-execute/SKILL.md +235 -0
- package/.agy/skills/maestro-ralph-execute/SKILL.md +127 -11
- package/.agy/skills/maestro-roadmap/SKILL.md +1 -9
- package/.agy/skills/maestro-swarm-workflow/SKILL.md +16 -14
- package/.agy/skills/maestro-tools-register/SKILL.md +16 -1
- package/.agy/skills/maestro-ui-codify/SKILL.md +11 -1
- package/.agy/skills/maestro-universal-workflow/SKILL.md +28 -5
- package/.agy/skills/maestro-update/SKILL.md +10 -7
- package/.agy/skills/manage-codebase-rebuild/SKILL.md +5 -1
- package/.agy/skills/manage-drift-realign/SKILL.md +6 -2
- package/.agy/skills/manage-harvest/SKILL.md +4 -1
- package/.agy/skills/manage-issue-discover/SKILL.md +1 -0
- package/.agy/skills/manage-kg-extractors/SKILL.md +5 -1
- package/.agy/skills/manage-knowhow-capture/SKILL.md +1 -0
- package/.agy/skills/manage-knowledge-audit/SKILL.md +3 -0
- package/.agy/skills/manage-wiki/SKILL.md +1 -0
- package/.agy/skills/odyssey-debug/SKILL.md +2 -1
- package/.agy/skills/odyssey-improve/SKILL.md +2 -2
- package/.agy/skills/odyssey-planex/SKILL.md +8 -7
- package/.agy/skills/odyssey-review-test-fix/SKILL.md +4 -1
- package/.agy/skills/odyssey-ui/SKILL.md +4 -4
- package/.agy/skills/quality-auto-test/SKILL.md +11 -1
- package/.agy/skills/quality-debug/SKILL.md +16 -2
- package/.agy/skills/quality-retrospective/SKILL.md +9 -1
- package/.agy/skills/quality-review/SKILL.md +8 -0
- package/.agy/skills/quality-sync/SKILL.md +2 -2
- package/.agy/skills/quality-test/SKILL.md +9 -1
- package/.agy/skills/security-audit/SKILL.md +14 -4
- package/.agy/skills/spec-add/SKILL.md +5 -2
- package/.agy/skills/spec-load/SKILL.md +1 -1
- package/.agy/skills/spec-remove/SKILL.md +1 -1
- package/.agy/skills/spec-setup/SKILL.md +3 -0
- package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.agy/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.agy/skills/team-roadmap-dev/SKILL.md +141 -153
- package/.agy/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.agy/skills/team-swarm/roles/analyst/role.md +172 -176
- package/.claude/commands/domain-add.md +3 -0
- package/.claude/commands/learn-decompose.md +7 -4
- package/.claude/commands/learn-follow.md +4 -2
- package/.claude/commands/learn-investigate.md +8 -6
- package/.claude/commands/learn-second-opinion.md +6 -3
- package/.claude/commands/maestro-amend.md +1 -1
- package/.claude/commands/maestro-analyze.md +1 -43
- package/.claude/commands/maestro-blueprint.md +1 -23
- package/.claude/commands/maestro-brainstorm.md +8 -25
- package/.claude/commands/maestro-collab.md +6 -2
- package/.claude/commands/maestro-companion.md +4 -1
- package/.claude/commands/maestro-composer.md +4 -2
- package/.claude/commands/maestro-execute.md +27 -9
- package/.claude/commands/maestro-fork.md +4 -3
- package/.claude/commands/maestro-grill.md +1 -17
- package/.claude/commands/maestro-guard.md +2 -2
- package/.claude/commands/maestro-impeccable.md +2 -1
- package/.claude/commands/maestro-init.md +1 -1
- package/.claude/commands/maestro-merge.md +12 -1
- package/.claude/commands/maestro-milestone-audit.md +1 -15
- package/.claude/commands/maestro-milestone-complete.md +8 -3
- package/.claude/commands/maestro-milestone-release.md +8 -4
- package/.claude/commands/maestro-overlay.md +9 -0
- package/.claude/commands/maestro-plan.md +6 -62
- package/.claude/commands/maestro-player.md +2 -2
- package/.claude/commands/maestro-quick.md +5 -3
- package/.claude/commands/maestro-ralph-cli-execute.md +237 -0
- package/.claude/commands/maestro-ralph-cli.md +663 -0
- package/.claude/commands/maestro-ralph-execute.md +127 -11
- package/.claude/commands/maestro-ralph.md +8 -8
- package/.claude/commands/maestro-roadmap.md +1 -9
- package/.claude/commands/maestro-swarm-workflow.md +16 -14
- package/.claude/commands/maestro-tools-register.md +16 -1
- package/.claude/commands/maestro-ui-codify.md +11 -1
- package/.claude/commands/maestro-universal-workflow.md +28 -5
- package/.claude/commands/maestro-update.md +10 -7
- package/.claude/commands/maestro.md +1 -1
- package/.claude/commands/manage-codebase-rebuild.md +5 -1
- package/.claude/commands/manage-drift-realign.md +6 -2
- package/.claude/commands/manage-harvest.md +4 -1
- package/.claude/commands/manage-issue-discover.md +1 -0
- package/.claude/commands/manage-kg-extractors.md +5 -1
- package/.claude/commands/manage-knowhow-capture.md +1 -0
- package/.claude/commands/manage-knowledge-audit.md +3 -0
- package/.claude/commands/manage-wiki.md +1 -0
- package/.claude/commands/odyssey-debug.md +2 -1
- package/.claude/commands/odyssey-improve.md +2 -2
- package/.claude/commands/odyssey-planex.md +8 -7
- package/.claude/commands/odyssey-review-test-fix.md +4 -1
- package/.claude/commands/odyssey-ui.md +4 -4
- package/.claude/commands/quality-auto-test.md +11 -1
- package/.claude/commands/quality-debug.md +16 -2
- package/.claude/commands/quality-retrospective.md +9 -1
- package/.claude/commands/quality-review.md +8 -0
- package/.claude/commands/quality-sync.md +2 -2
- package/.claude/commands/quality-test.md +9 -1
- package/.claude/commands/security-audit.md +14 -4
- package/.claude/commands/spec-add.md +5 -2
- package/.claude/commands/spec-load.md +1 -1
- package/.claude/commands/spec-remove.md +1 -1
- package/.claude/commands/spec-setup.md +3 -0
- package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.claude/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.claude/skills/team-roadmap-dev/SKILL.md +169 -169
- package/.claude/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.claude/skills/team-swarm/roles/analyst/role.md +181 -185
- package/.codex/skills/codify-to-knowhow/SKILL.md +27 -15
- package/.codex/skills/domain-add/SKILL.md +5 -3
- package/.codex/skills/learn-decompose/SKILL.md +22 -4
- package/.codex/skills/learn-follow/SKILL.md +12 -6
- package/.codex/skills/learn-investigate/SKILL.md +11 -6
- package/.codex/skills/learn-retro/SKILL.md +12 -6
- package/.codex/skills/learn-second-opinion/SKILL.md +11 -3
- package/.codex/skills/maestro/SKILL.md +19 -13
- package/.codex/skills/maestro-amend/SKILL.md +10 -2
- package/.codex/skills/maestro-analyze/SKILL.md +7 -1
- package/.codex/skills/maestro-blueprint/SKILL.md +1 -1
- package/.codex/skills/maestro-brainstorm/SKILL.md +11 -8
- package/.codex/skills/maestro-collab/SKILL.md +5 -5
- package/.codex/skills/maestro-companion/SKILL.md +4 -1
- package/.codex/skills/maestro-composer/SKILL.md +6 -3
- package/.codex/skills/maestro-execute/SKILL.md +11 -8
- package/.codex/skills/maestro-fork/SKILL.md +4 -3
- package/.codex/skills/maestro-grill/SKILL.md +1 -1
- package/.codex/skills/maestro-guard/SKILL.md +1 -1
- package/.codex/skills/maestro-impeccable/SKILL.md +5 -5
- package/.codex/skills/maestro-init/SKILL.md +3 -2
- package/.codex/skills/maestro-milestone-audit/SKILL.md +21 -9
- package/.codex/skills/maestro-milestone-complete/SKILL.md +3 -3
- package/.codex/skills/maestro-milestone-release/SKILL.md +18 -1
- package/.codex/skills/maestro-next/SKILL.md +11 -10
- package/.codex/skills/maestro-overlay/SKILL.md +16 -6
- package/.codex/skills/maestro-player/SKILL.md +11 -5
- package/.codex/skills/maestro-quick/SKILL.md +2 -2
- package/.codex/skills/maestro-ralph/SKILL.md +44 -31
- package/.codex/skills/maestro-ralph-cli/SKILL.md +394 -0
- package/.codex/skills/maestro-ralph-cli-execute/SKILL.md +146 -0
- package/.codex/skills/maestro-ralph-execute/SKILL.md +105 -24
- package/.codex/skills/maestro-roadmap/SKILL.md +8 -2
- package/.codex/skills/maestro-tools-execute/SKILL.md +8 -4
- package/.codex/skills/maestro-tools-register/SKILL.md +10 -6
- package/.codex/skills/maestro-ui-codify/SKILL.md +14 -9
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +36 -14
- package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
- package/.codex/skills/manage-drift-realign/SKILL.md +15 -12
- package/.codex/skills/manage-harvest/SKILL.md +1 -1
- package/.codex/skills/manage-issue/SKILL.md +8 -4
- package/.codex/skills/manage-issue-discover/SKILL.md +15 -14
- package/.codex/skills/manage-knowhow/SKILL.md +3 -2
- package/.codex/skills/manage-knowhow-capture/SKILL.md +4 -3
- package/.codex/skills/manage-learn/SKILL.md +2 -2
- package/.codex/skills/odyssey-debug/SKILL.md +12 -7
- package/.codex/skills/odyssey-improve/SKILL.md +11 -6
- package/.codex/skills/odyssey-planex/SKILL.md +14 -8
- package/.codex/skills/odyssey-review-test-fix/SKILL.md +12 -7
- package/.codex/skills/odyssey-ui/SKILL.md +10 -5
- package/.codex/skills/quality-auto-test/SKILL.md +13 -5
- package/.codex/skills/quality-debug/SKILL.md +18 -11
- package/.codex/skills/quality-refactor/SKILL.md +4 -4
- package/.codex/skills/quality-retrospective/SKILL.md +5 -6
- package/.codex/skills/quality-review/SKILL.md +18 -11
- package/.codex/skills/quality-sync/SKILL.md +2 -2
- package/.codex/skills/quality-test/SKILL.md +7 -5
- package/.codex/skills/security-audit/SKILL.md +7 -5
- package/.codex/skills/spec-add/SKILL.md +9 -7
- package/.codex/skills/spec-load/SKILL.md +3 -2
- package/.codex/skills/spec-map/SKILL.md +10 -1
- package/.codex/skills/spec-remove/SKILL.md +3 -2
- package/.codex/skills/team-coordinate/SKILL.md +10 -4
- package/.codex/skills/team-lifecycle-v4/SKILL.md +33 -26
- package/.codex/skills/team-quality-assurance/SKILL.md +43 -0
- package/.codex/skills/team-review/SKILL.md +50 -6
- package/.codex/skills/team-tech-debt/SKILL.md +53 -7
- package/.codex/skills/team-testing/SKILL.md +50 -2
- package/.codex/skills/wiki-connect/SKILL.md +3 -1
- package/.codex/skills/wiki-digest/SKILL.md +6 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.d.ts +16 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js +419 -44
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +43 -5
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/src/commands/install-backend.js +31 -16
- package/dashboard/dist-server/src/commands/install-backend.js.map +1 -1
- package/dashboard/dist-server/src/core/component-defs.js +25 -0
- package/dashboard/dist-server/src/core/component-defs.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/db/types.d.ts +3 -0
- package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.d.ts +46 -0
- package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js +329 -0
- package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/embedding/index.d.ts +2 -0
- package/dashboard/dist-server/src/graph/kg/embedding/index.js +3 -0
- package/dashboard/dist-server/src/graph/kg/embedding/index.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/engine.d.ts +19 -1
- package/dashboard/dist-server/src/graph/kg/engine.js +71 -1
- package/dashboard/dist-server/src/graph/kg/engine.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/query/scoring.d.ts +5 -0
- package/dashboard/dist-server/src/graph/kg/query/scoring.js +85 -1
- package/dashboard/dist-server/src/graph/kg/query/scoring.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/query/search.d.ts +7 -0
- package/dashboard/dist-server/src/graph/kg/query/search.js +117 -1
- package/dashboard/dist-server/src/graph/kg/query/search.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.js +49 -0
- package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.js.map +1 -1
- package/dashboard/dist-server/src/hooks/kg-sync-hook.js +3 -0
- package/dashboard/dist-server/src/hooks/kg-sync-hook.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-loader.js +7 -3
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +31 -16
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +25 -0
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/core/plugin-bridge.d.ts.map +1 -1
- package/dist/src/core/plugin-bridge.js +17 -0
- package/dist/src/core/plugin-bridge.js.map +1 -1
- package/dist/src/graph/kg/db/types.d.ts +3 -0
- package/dist/src/graph/kg/db/types.d.ts.map +1 -1
- package/dist/src/graph/kg/embedding/code-embedding.d.ts +47 -0
- package/dist/src/graph/kg/embedding/code-embedding.d.ts.map +1 -0
- package/dist/src/graph/kg/embedding/code-embedding.js +329 -0
- package/dist/src/graph/kg/embedding/code-embedding.js.map +1 -0
- package/dist/src/graph/kg/embedding/index.d.ts +3 -0
- package/dist/src/graph/kg/embedding/index.d.ts.map +1 -0
- package/dist/src/graph/kg/embedding/index.js +3 -0
- package/dist/src/graph/kg/embedding/index.js.map +1 -0
- package/dist/src/graph/kg/engine.d.ts +19 -1
- package/dist/src/graph/kg/engine.d.ts.map +1 -1
- package/dist/src/graph/kg/engine.js +71 -1
- package/dist/src/graph/kg/engine.js.map +1 -1
- package/dist/src/graph/kg/query/scoring.d.ts +5 -0
- package/dist/src/graph/kg/query/scoring.d.ts.map +1 -1
- package/dist/src/graph/kg/query/scoring.js +85 -1
- package/dist/src/graph/kg/query/scoring.js.map +1 -1
- package/dist/src/graph/kg/query/search.d.ts +7 -0
- package/dist/src/graph/kg/query/search.d.ts.map +1 -1
- package/dist/src/graph/kg/query/search.js +117 -1
- package/dist/src/graph/kg/query/search.js.map +1 -1
- package/dist/src/graph/kg/surface/mcp-tools.d.ts.map +1 -1
- package/dist/src/graph/kg/surface/mcp-tools.js +49 -0
- package/dist/src/graph/kg/surface/mcp-tools.js.map +1 -1
- package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
- package/dist/src/hooks/kg-sync-hook.js +3 -0
- package/dist/src/hooks/kg-sync-hook.js.map +1 -1
- package/dist/src/tools/code-semantic-search.d.ts +10 -0
- package/dist/src/tools/code-semantic-search.d.ts.map +1 -0
- package/dist/src/tools/code-semantic-search.js +81 -0
- package/dist/src/tools/code-semantic-search.js.map +1 -0
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +4 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +7 -3
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/wiki-search.d.ts +13 -0
- package/dist/src/tools/wiki-search.d.ts.map +1 -0
- package/dist/src/tools/wiki-search.js +114 -0
- package/dist/src/tools/wiki-search.js.map +1 -0
- package/dist/src/utils/update-notices.js +23 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +4 -1
- package/workflows/agy-instructions.md +147 -161
- package/workflows/claude-instructions.md +100 -48
- package/workflows/codex-instructions.md +147 -161
- package/workflows/execute.md +4 -3
- package/workflows/explore-usage.md +41 -81
- package/workflows/grill.md +11 -0
- package/workflows/milestone-audit.md +8 -0
- package/workflows/odyssey-base-codex.md +115 -116
- package/workflows/odyssey-base.md +89 -91
- package/workflows/plan.md +6 -0
|
@@ -130,10 +130,10 @@ id,title,description,role,pipeline_phase,deps,context_from,wave
|
|
|
130
130
|
| Column | Initial Value | Description |
|
|
131
131
|
|--------|--------------|-------------|
|
|
132
132
|
| `status` | `pending` | Task lifecycle: pending → completed/failed/blocked/skipped |
|
|
133
|
-
| `findings` | `""` | Populated from output_schema merge |
|
|
134
|
-
| `files_modified` | `""` | Populated from output_schema merge |
|
|
135
|
-
| `quality_score` | `""` | Populated from output_schema merge |
|
|
136
|
-
| `error` | `""` | Populated from output_schema merge |
|
|
133
|
+
| `findings` | `""` | Populated from output_schema `result_findings` during merge |
|
|
134
|
+
| `files_modified` | `""` | Populated from output_schema `result_files_modified` during merge |
|
|
135
|
+
| `quality_score` | `""` | Populated from output_schema `result_quality_score` during merge |
|
|
136
|
+
| `error` | `""` | Populated from output_schema `result_error` during merge |
|
|
137
137
|
|
|
138
138
|
**Dynamic column** (added to wave-N.csv only, not in initial tasks.csv):
|
|
139
139
|
|
|
@@ -146,12 +146,12 @@ id,title,description,role,pipeline_phase,deps,context_from,wave
|
|
|
146
146
|
| Column | Description |
|
|
147
147
|
|--------|-------------|
|
|
148
148
|
| `result_status` | completed / failed / blocked (maps to master `status`) |
|
|
149
|
-
| `
|
|
150
|
-
| `
|
|
151
|
-
| `
|
|
152
|
-
| `
|
|
149
|
+
| `result_findings` | Key findings (max 500 chars) → maps to master `findings` |
|
|
150
|
+
| `result_files_modified` | Semicolon-separated paths → maps to master `files_modified` |
|
|
151
|
+
| `result_quality_score` | Numeric quality score (0-100) → maps to master `quality_score` |
|
|
152
|
+
| `result_error` | Error message if failed → maps to master `error` |
|
|
153
153
|
|
|
154
|
-
**Column separation rule**: Input/lifecycle columns and output_schema MUST NOT share names. `result_status` →
|
|
154
|
+
**Column separation rule**: Input/lifecycle columns and output_schema MUST NOT share names. Merge mapping: `result_status` → `status`, `result_findings` → `findings`, `result_files_modified` → `files_modified`, `result_quality_score` → `quality_score`, `result_error` → `error`.
|
|
155
155
|
|
|
156
156
|
### Pipeline Wave Assignments
|
|
157
157
|
|
|
@@ -201,7 +201,7 @@ spec-only waves 1-8 + user approval checkpoint + impl-only waves shifted.
|
|
|
201
201
|
6. **Discovery Board is Append-Only**: Never clear/modify discoveries.ndjson
|
|
202
202
|
7. **Cascading Skip on Failure**: Failed tasks cascade to dependents
|
|
203
203
|
8. **Cleanup Temp Files**: Delete wave-N.csv and wave-N-results.csv after merge
|
|
204
|
-
9. **Checkpoint Pause**: After CHECKPOINT waves, pause for user approval (skip if -y)
|
|
204
|
+
9. **Checkpoint Pause**: After CHECKPOINT waves, pause for user approval (skip if -y). Record approval decision in master tasks.csv (`status=approved|revision_requested|aborted`) and persist gate state to `{sessionFolder}/gate-{checkpoint_id}.json`
|
|
205
205
|
10. **DO NOT STOP**: Continuous execution between checkpoints
|
|
206
206
|
11. **Role Files are Authoritative**: Agents read roles/{role}/role.md for domain logic
|
|
207
207
|
</invariants>
|
|
@@ -227,9 +227,9 @@ S_WAVE_{N} → S_CHECKPOINT WHEN: wave N was a CHECKPOINT task
|
|
|
227
227
|
S_WAVE_{N} → S_WAVE_{N+1} WHEN: wave N not checkpoint, more waves
|
|
228
228
|
S_WAVE_{N} → S_AGGREGATE WHEN: last wave complete
|
|
229
229
|
|
|
230
|
-
S_CHECKPOINT → S_WAVE_{N+1} WHEN: user approves or -y
|
|
231
|
-
S_CHECKPOINT → S_WAVE_{N} WHEN: user requests revision (
|
|
232
|
-
S_CHECKPOINT → S_AGGREGATE WHEN: user aborts
|
|
230
|
+
S_CHECKPOINT → S_WAVE_{N+1} WHEN: user approves or -y (persist: set CHECKPOINT task status=approved in tasks.csv, write gate-{id}.json)
|
|
231
|
+
S_CHECKPOINT → S_WAVE_{N} WHEN: user requests revision (persist: set CHECKPOINT task status=revision_requested in tasks.csv, write gate-{id}.json with feedback)
|
|
232
|
+
S_CHECKPOINT → S_AGGREGATE WHEN: user aborts (persist: set CHECKPOINT task status=aborted in tasks.csv, write gate-{id}.json)
|
|
233
233
|
</transitions>
|
|
234
234
|
|
|
235
235
|
<actions>
|
|
@@ -311,30 +311,37 @@ spawn_agents_on_csv({
|
|
|
311
311
|
output_schema: {
|
|
312
312
|
type: "object",
|
|
313
313
|
properties: {
|
|
314
|
-
id:
|
|
315
|
-
result_status:
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
314
|
+
id: { type: "string" },
|
|
315
|
+
result_status: { type: "string", enum: ["completed", "failed", "blocked"] },
|
|
316
|
+
result_findings: { type: "string", maxLength: 500 },
|
|
317
|
+
result_files_modified: { type: "string", description: "Semicolon-separated paths" },
|
|
318
|
+
result_quality_score: { type: "string", description: "0-100" },
|
|
319
|
+
result_error: { type: "string" }
|
|
320
320
|
},
|
|
321
|
-
required: ["id", "result_status", "
|
|
321
|
+
required: ["id", "result_status", "result_findings"]
|
|
322
322
|
}
|
|
323
323
|
})
|
|
324
324
|
```
|
|
325
325
|
|
|
326
326
|
#### Step 5: Merge + Cleanup
|
|
327
327
|
1. Map `result_status` → master `status`
|
|
328
|
-
2.
|
|
328
|
+
2. Map `result_findings` → master `findings`, `result_files_modified` → master `files_modified`, `result_quality_score` → master `quality_score`, `result_error` → master `error`
|
|
329
329
|
3. Delete `wave-{N}.csv` AND `wave-{N}-results.csv`
|
|
330
330
|
4. Cascade skip failed task dependents
|
|
331
331
|
|
|
332
332
|
#### Step 6: Checkpoint handling
|
|
333
333
|
If wave N was a CHECKPOINT task:
|
|
334
|
-
- Read supervisor's `
|
|
334
|
+
- Read supervisor's `result_findings` and `result_quality_score`
|
|
335
335
|
- If quality_score >= 80 (pass) → continue
|
|
336
336
|
- If 60-79 (review) → display warnings, continue (or pause if not -y)
|
|
337
337
|
- If < 60 (fail) → pause for user: Revise / Override / Abort
|
|
338
|
+
- **Persist approval decision**:
|
|
339
|
+
1. Update CHECKPOINT task `status` in master tasks.csv to `approved` / `revision_requested` / `aborted`
|
|
340
|
+
2. Write `{sessionFolder}/gate-{checkpoint_id}.json`:
|
|
341
|
+
```json
|
|
342
|
+
{"checkpoint_id":"<id>","decision":"approved|revision_requested|aborted","quality_score":<N>,"feedback":"<user feedback if any>","timestamp":"<ISO>"}
|
|
343
|
+
```
|
|
344
|
+
3. On `--continue` resume, read gate files to restore checkpoint state
|
|
338
345
|
|
|
339
346
|
### Instruction Builder
|
|
340
347
|
|
|
@@ -393,10 +400,10 @@ Append to {sessionFolder}/discoveries.ndjson:
|
|
|
393
400
|
## Output
|
|
394
401
|
Return via output_schema:
|
|
395
402
|
- result_status: completed | failed | blocked
|
|
396
|
-
-
|
|
397
|
-
-
|
|
398
|
-
-
|
|
399
|
-
-
|
|
403
|
+
- result_findings: key findings (max 500 chars)
|
|
404
|
+
- result_files_modified: semicolon-separated paths
|
|
405
|
+
- result_quality_score: 0-100 per quality-gates.md
|
|
406
|
+
- result_error: error message if not completed
|
|
400
407
|
```
|
|
401
408
|
|
|
402
409
|
### Results Aggregation (S_AGGREGATE)
|
|
@@ -156,6 +156,49 @@ S_WAVE_{N} → S_AGGREGATE WHEN: last wave
|
|
|
156
156
|
|
|
157
157
|
<actions>
|
|
158
158
|
|
|
159
|
+
### Session Initialization (S_PARSE)
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
Parse from $ARGUMENTS:
|
|
163
|
+
AUTO_YES ← --yes | -y
|
|
164
|
+
continueMode ← --continue
|
|
165
|
+
maxConcurrency ← --concurrency | -c N (default: 3)
|
|
166
|
+
modeFlag ← --mode discovery|testing|full
|
|
167
|
+
scopeTarget ← remaining text (file/module path)
|
|
168
|
+
|
|
169
|
+
Derive:
|
|
170
|
+
dateStr ← UTC+8 YYYYMMDD
|
|
171
|
+
slug ← first 3 meaningful words, kebab-case
|
|
172
|
+
sessionId ← "{dateStr}-qa-{slug}"
|
|
173
|
+
sessionFolder ← ".workflow/.csv-wave/{sessionId}"
|
|
174
|
+
skillRoot ← resolve path to this skill directory
|
|
175
|
+
|
|
176
|
+
mkdir -p {sessionFolder}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
When `--continue`: scan `.workflow/.csv-wave/*-qa-*/tasks.csv` for sessions with pending tasks. Single match → resume. Multiple → `request_user_input`. Read master tasks.csv → find first pending wave → jump to S_WAVE_{N}.
|
|
180
|
+
|
|
181
|
+
### CSV Generation (S_CSV_GEN)
|
|
182
|
+
|
|
183
|
+
1. Select mode: `--mode` flag, or detect from scope (single module → discovery, test files exist → testing, else → full)
|
|
184
|
+
2. Load pipeline wave assignments from csv_schema section above
|
|
185
|
+
3. For each task, build CSV row with PURPOSE/TASK/EXPECTED/CONSTRAINTS in description
|
|
186
|
+
4. Initialize lifecycle columns: `status=pending`, empty `findings`/`files_modified`/`coverage_score`/`error`
|
|
187
|
+
5. Write `tasks.csv` and empty `discoveries.ndjson`
|
|
188
|
+
6. User validation (skip if `-y`): display mode, task count, wave structure
|
|
189
|
+
|
|
190
|
+
### Wave Execution (S_WAVE_{N})
|
|
191
|
+
|
|
192
|
+
1. Skip check: if all tasks in wave N completed/skipped → next wave
|
|
193
|
+
2. Cascading skip: if any dep is failed/blocked → skip dependents
|
|
194
|
+
3. Build `prev_context` from upstream findings
|
|
195
|
+
4. Write `wave-{N}.csv` with qualifying rows + `prev_context` column
|
|
196
|
+
5. `spawn_agents_on_csv` with output_schema (see below)
|
|
197
|
+
6. Merge results: `result_status` → master `status`
|
|
198
|
+
7. Cascade skip failed task dependents
|
|
199
|
+
8. Delete `wave-{N}.csv` and `wave-{N}-results.csv`
|
|
200
|
+
9. If wave was QARUN → transition to S_GC_CHECK
|
|
201
|
+
|
|
159
202
|
### GC Loop
|
|
160
203
|
|
|
161
204
|
After each QARUN wave:
|
|
@@ -117,7 +117,7 @@ id,title,description,role,review_dimension,deps,context_from,wave
|
|
|
117
117
|
1. **Wave Order Sacred**
|
|
118
118
|
2. **CSV Source of Truth**
|
|
119
119
|
3. **Column Separation Rule**
|
|
120
|
-
4. **User Checkpoint Before Fix**: In full mode, pause after REV for user approval (skip if -y)
|
|
120
|
+
4. **User Checkpoint Before Fix**: In full mode, pause after REV for user approval (skip if -y; when `-y` is set, default fix scope is `critical+high` severity only)
|
|
121
121
|
5. **0 Findings Shortcut**: If scanner finds 0 issues → skip REV and FIX
|
|
122
122
|
6. **Discovery Board Append-Only**
|
|
123
123
|
7. **Cleanup Temp Files**
|
|
@@ -141,21 +141,65 @@ S_CSV_GEN → S_WAVE_1
|
|
|
141
141
|
S_WAVE_{N} → S_FIX_GATE WHEN: mode=full, REV wave complete, FIX pending
|
|
142
142
|
S_WAVE_{N} → S_WAVE_{N+1} WHEN: more waves
|
|
143
143
|
S_WAVE_{N} → S_AGGREGATE WHEN: last wave or 0 findings shortcut
|
|
144
|
-
S_FIX_GATE → S_WAVE_{N+1} WHEN: user selects fix scope (all/critical+high)
|
|
144
|
+
S_FIX_GATE → S_WAVE_{N+1} WHEN: user selects fix scope (all/critical+high), or -y (default: critical+high)
|
|
145
145
|
S_FIX_GATE → S_AGGREGATE WHEN: user selects skip
|
|
146
146
|
</transitions>
|
|
147
147
|
|
|
148
148
|
<actions>
|
|
149
149
|
|
|
150
|
+
### Session Initialization (S_PARSE)
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
Parse from $ARGUMENTS:
|
|
154
|
+
AUTO_YES ← --yes | -y
|
|
155
|
+
continueMode ← --continue
|
|
156
|
+
maxConcurrency ← --concurrency | -c N (default: 3)
|
|
157
|
+
modeFlag ← --mode default|full|fix-only|quick
|
|
158
|
+
scopeTarget ← remaining text (file/module path)
|
|
159
|
+
|
|
160
|
+
Derive:
|
|
161
|
+
dateStr ← UTC+8 YYYYMMDD
|
|
162
|
+
slug ← first 3 meaningful words, kebab-case
|
|
163
|
+
sessionId ← "{dateStr}-rv-{slug}"
|
|
164
|
+
sessionFolder ← ".workflow/.csv-wave/{sessionId}"
|
|
165
|
+
skillRoot ← resolve path to this skill directory
|
|
166
|
+
|
|
167
|
+
mkdir -p {sessionFolder}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
When `--continue`: scan `.workflow/.csv-wave/*-rv-*/tasks.csv` for sessions with pending tasks. Single match → resume. Multiple → `request_user_input`. Read master tasks.csv → find first pending wave → jump to S_WAVE_{N}.
|
|
171
|
+
|
|
172
|
+
### Mode Selection + CSV Generation (S_CSV_GEN)
|
|
173
|
+
|
|
174
|
+
1. Select mode: `--mode` flag, or default to `default`
|
|
175
|
+
2. Load pipeline wave assignments from csv_schema section above
|
|
176
|
+
3. For each task, build CSV row with PURPOSE/TASK/EXPECTED/CONSTRAINTS in description
|
|
177
|
+
4. Initialize lifecycle columns: `status=pending`, empty `findings`/`files_modified`/`finding_count`/`verdict`/`error`
|
|
178
|
+
5. Write `tasks.csv` and empty `discoveries.ndjson`
|
|
179
|
+
6. User validation (skip if `-y`): display mode, task count, scope
|
|
180
|
+
|
|
181
|
+
### Wave Execution (S_WAVE_{N})
|
|
182
|
+
|
|
183
|
+
1. Skip check: if all tasks in wave N completed/skipped → next wave
|
|
184
|
+
2. Cascading skip: if any dep is failed/blocked → skip dependents
|
|
185
|
+
3. Build `prev_context` from upstream findings
|
|
186
|
+
4. Write `wave-{N}.csv` with qualifying rows + `prev_context` column
|
|
187
|
+
5. `spawn_agents_on_csv` with output_schema (see below)
|
|
188
|
+
6. Merge results: `result_status` → master `status`
|
|
189
|
+
7. Cascade skip failed task dependents
|
|
190
|
+
8. Delete `wave-{N}.csv` and `wave-{N}-results.csv`
|
|
191
|
+
9. If mode=full and REV wave complete → transition to S_FIX_GATE
|
|
192
|
+
|
|
150
193
|
### Fix Gate Logic
|
|
151
194
|
|
|
152
195
|
After REV wave in full mode:
|
|
153
196
|
1. Read reviewer's `findings` and `verdict`
|
|
154
197
|
2. If `finding_count` = 0 or verdict = APPROVE → skip fix, aggregate
|
|
155
|
-
3.
|
|
156
|
-
4.
|
|
157
|
-
5.
|
|
158
|
-
6.
|
|
198
|
+
3. If `-y` → auto-select fix scope = `critical+high` (default), update FIX-001 description, continue to FIX wave
|
|
199
|
+
4. Otherwise display findings summary to user
|
|
200
|
+
5. `request_user_input`: Fix all / Fix critical+high only / Skip fixes
|
|
201
|
+
6. Update FIX-001 description with approved scope
|
|
202
|
+
7. Continue to FIX wave
|
|
159
203
|
|
|
160
204
|
### Instruction Builder
|
|
161
205
|
|
|
@@ -78,7 +78,7 @@ id,title,description,role,scan_dimension,deps,context_from,wave
|
|
|
78
78
|
| `result_status` | completed / failed / blocked |
|
|
79
79
|
| `findings` | Key findings (max 500 chars) |
|
|
80
80
|
| `files_modified` | Semicolon-separated paths |
|
|
81
|
-
| `debt_count` | Number of debt items found/fixed |
|
|
81
|
+
| `debt_count` | Number of debt items found/fixed (string type, e.g. "5") |
|
|
82
82
|
| `regression_detected` | true/false (for TDVAL tasks) |
|
|
83
83
|
| `error` | Error message |
|
|
84
84
|
|
|
@@ -136,6 +136,7 @@ S_CSV_GEN — Generate tasks.csv
|
|
|
136
136
|
S_WAVE_{N} — Execute wave N
|
|
137
137
|
S_PLAN_GATE — User approval of remediation plan
|
|
138
138
|
S_GC_CHECK — Regression check after TDVAL
|
|
139
|
+
S_DEGRADED_AGGREGATE — Aggregate partial results after GC exhaustion (regression persists)
|
|
139
140
|
S_AGGREGATE — Generate report
|
|
140
141
|
</states>
|
|
141
142
|
|
|
@@ -149,12 +150,57 @@ S_WAVE_{N} → S_AGGREGATE WHEN: last wave
|
|
|
149
150
|
S_PLAN_GATE → S_WAVE_{N+1} WHEN: user approves
|
|
150
151
|
S_PLAN_GATE → S_WAVE_{N} WHEN: user requests revision (re-run TDPLAN with feedback)
|
|
151
152
|
S_PLAN_GATE → S_AGGREGATE WHEN: user aborts
|
|
152
|
-
S_GC_CHECK → S_AGGREGATE
|
|
153
|
-
S_GC_CHECK → S_WAVE_{N+1}
|
|
153
|
+
S_GC_CHECK → S_AGGREGATE WHEN: no regression (clean pass)
|
|
154
|
+
S_GC_CHECK → S_WAVE_{N+1} WHEN: regression AND gc_rounds < 3 (add TDFIX+TDVAL rows)
|
|
155
|
+
S_GC_CHECK → S_DEGRADED_AGGREGATE WHEN: regression AND gc_rounds >= 3 (aggregate partial results with regression warning)
|
|
154
156
|
</transitions>
|
|
155
157
|
|
|
156
158
|
<actions>
|
|
157
159
|
|
|
160
|
+
### Session Initialization (S_PARSE)
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Parse from $ARGUMENTS:
|
|
164
|
+
AUTO_YES ← --yes | -y
|
|
165
|
+
continueMode ← --continue
|
|
166
|
+
maxConcurrency ← --concurrency | -c N (default: 3)
|
|
167
|
+
modeFlag ← --mode scan|remediate|targeted
|
|
168
|
+
scopeTarget ← remaining text (file/module path)
|
|
169
|
+
|
|
170
|
+
Derive:
|
|
171
|
+
dateStr ← UTC+8 YYYYMMDD
|
|
172
|
+
slug ← first 3 meaningful words, kebab-case
|
|
173
|
+
sessionId ← "{dateStr}-td-{slug}"
|
|
174
|
+
sessionFolder ← ".workflow/.csv-wave/{sessionId}"
|
|
175
|
+
skillRoot ← resolve path to this skill directory
|
|
176
|
+
|
|
177
|
+
mkdir -p {sessionFolder}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
When `--continue`: scan `.workflow/.csv-wave/*-td-*/tasks.csv` for sessions with pending tasks. Single match → resume. Multiple → `request_user_input`. Read master tasks.csv → find first pending wave → jump to S_WAVE_{N}.
|
|
181
|
+
|
|
182
|
+
### Mode Selection + CSV Generation (S_CSV_GEN)
|
|
183
|
+
|
|
184
|
+
1. Select mode: `--mode` flag, or detect from scope (no existing scan → scan, existing scan results → remediate, specific debt items → targeted)
|
|
185
|
+
2. Load pipeline wave assignments from csv_schema section above
|
|
186
|
+
3. For each task, build CSV row with PURPOSE/TASK/EXPECTED/CONSTRAINTS in description
|
|
187
|
+
4. Initialize lifecycle columns: `status=pending`, empty `findings`/`files_modified`/`debt_count`/`regression_detected`/`error`
|
|
188
|
+
5. Write `tasks.csv` and empty `discoveries.ndjson`
|
|
189
|
+
6. User validation (skip if `-y`): display mode, task count, wave structure
|
|
190
|
+
|
|
191
|
+
### Wave Execution (S_WAVE_{N})
|
|
192
|
+
|
|
193
|
+
1. Skip check: if all tasks in wave N completed/skipped → next wave
|
|
194
|
+
2. Cascading skip: if any dep is failed/blocked → skip dependents
|
|
195
|
+
3. Build `prev_context` from upstream findings
|
|
196
|
+
4. Write `wave-{N}.csv` with qualifying rows + `prev_context` column
|
|
197
|
+
5. `spawn_agents_on_csv` with output_schema (see below)
|
|
198
|
+
6. Merge results: `result_status` → master `status`
|
|
199
|
+
7. Cascade skip failed task dependents
|
|
200
|
+
8. Delete `wave-{N}.csv` and `wave-{N}-results.csv`
|
|
201
|
+
9. If TDPLAN wave complete → transition to S_PLAN_GATE
|
|
202
|
+
10. If TDVAL wave complete → transition to S_GC_CHECK
|
|
203
|
+
|
|
158
204
|
### Plan Gate
|
|
159
205
|
|
|
160
206
|
After TDPLAN wave:
|
|
@@ -169,9 +215,9 @@ After TDPLAN wave:
|
|
|
169
215
|
|
|
170
216
|
After TDVAL wave:
|
|
171
217
|
1. Read `regression_detected` from results
|
|
172
|
-
2. No regression →
|
|
173
|
-
3. Regression AND gc_rounds < 3 → add TDFIX+TDVAL rows, iterate
|
|
174
|
-
4. gc_rounds >= 3 → escalate to user
|
|
218
|
+
2. No regression → S_AGGREGATE (clean pass)
|
|
219
|
+
3. Regression AND gc_rounds < 3 → add TDFIX+TDVAL rows to tasks.csv, increment wave, iterate
|
|
220
|
+
4. Regression AND gc_rounds >= 3 → S_DEGRADED_AGGREGATE (aggregate partial results with regression warning, escalate to user)
|
|
175
221
|
|
|
176
222
|
### Instruction Builder
|
|
177
223
|
|
|
@@ -202,7 +248,7 @@ Return JSON:
|
|
|
202
248
|
"result_status": "completed" | "failed" | "blocked",
|
|
203
249
|
"findings": "<key findings, max 500 chars>",
|
|
204
250
|
"files_modified": "<semicolon-separated paths or empty>",
|
|
205
|
-
"debt_count": <integer or empty
|
|
251
|
+
"debt_count": "<integer as string or empty>",
|
|
206
252
|
"regression_detected": "true" | "false" | "" (TDVAL only),
|
|
207
253
|
"error": "<message if not completed>"
|
|
208
254
|
}
|
|
@@ -161,6 +161,54 @@ S_WAVE_{N} → S_AGGREGATE WHEN: last wave
|
|
|
161
161
|
|
|
162
162
|
<actions>
|
|
163
163
|
|
|
164
|
+
### Session Initialization (S_PARSE)
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Parse from $ARGUMENTS:
|
|
168
|
+
AUTO_YES ← --yes | -y
|
|
169
|
+
continueMode ← --continue
|
|
170
|
+
maxConcurrency ← --concurrency | -c N (default: 3)
|
|
171
|
+
pipelineFlag ← --pipeline targeted|standard|comprehensive
|
|
172
|
+
scopeTarget ← remaining text (file/module path)
|
|
173
|
+
|
|
174
|
+
Derive:
|
|
175
|
+
dateStr ← UTC+8 YYYYMMDD
|
|
176
|
+
slug ← first 3 meaningful words, kebab-case
|
|
177
|
+
sessionId ← "{dateStr}-tst-{slug}"
|
|
178
|
+
sessionFolder ← ".workflow/.csv-wave/{sessionId}"
|
|
179
|
+
skillRoot ← resolve path to this skill directory
|
|
180
|
+
|
|
181
|
+
mkdir -p {sessionFolder}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
When `--continue`: scan `.workflow/.csv-wave/*-tst-*/tasks.csv` for sessions with pending tasks. Single match → resume. Multiple → `request_user_input`. Read master tasks.csv → find first pending wave → jump to S_WAVE_{N}.
|
|
185
|
+
|
|
186
|
+
### Scope Detection + Pipeline Selection (S_CSV_GEN)
|
|
187
|
+
|
|
188
|
+
1. If `--pipeline` flag → use specified pipeline
|
|
189
|
+
2. Else detect from scope:
|
|
190
|
+
- Count files and modules in scopeTarget
|
|
191
|
+
- ≤3 files, ≤1 module → `targeted`
|
|
192
|
+
- ≤10 files, ≤3 modules → `standard`
|
|
193
|
+
- >10 files or >3 modules → `comprehensive`
|
|
194
|
+
3. Load pipeline wave assignments from csv_schema section above
|
|
195
|
+
4. For each task, build CSV row with PURPOSE/TASK/EXPECTED/CONSTRAINTS in description
|
|
196
|
+
5. Initialize lifecycle columns: `status=pending`, empty `findings`/`files_modified`/`pass_rate`/`coverage_score`/`error`
|
|
197
|
+
6. Write `tasks.csv` and empty `discoveries.ndjson`
|
|
198
|
+
7. User validation (skip if `-y`): display pipeline, task count, layer coverage targets
|
|
199
|
+
|
|
200
|
+
### Wave Execution (S_WAVE_{N})
|
|
201
|
+
|
|
202
|
+
1. Skip check: if all tasks in wave N completed/skipped → next wave
|
|
203
|
+
2. Cascading skip: if any dep is failed/blocked → skip dependents
|
|
204
|
+
3. Build `prev_context` from upstream findings
|
|
205
|
+
4. Write `wave-{N}.csv` with qualifying rows + `prev_context` column
|
|
206
|
+
5. `spawn_agents_on_csv` with output_schema (see below)
|
|
207
|
+
6. Merge results: `result_status` → master `status`
|
|
208
|
+
7. Cascade skip failed task dependents
|
|
209
|
+
8. Delete `wave-{N}.csv` and `wave-{N}-results.csv`
|
|
210
|
+
9. If wave was TESTRUN → transition to S_GC_CHECK
|
|
211
|
+
|
|
164
212
|
### GC Loop
|
|
165
213
|
|
|
166
214
|
After each TESTRUN wave:
|
|
@@ -197,7 +245,7 @@ You MUST call report_agent_job_result EXACTLY ONCE before exiting. NO exceptions
|
|
|
197
245
|
"result_status": "completed" | "failed" | "blocked",
|
|
198
246
|
"findings": "<key findings, max 500 chars>",
|
|
199
247
|
"files_modified": "<semicolon-separated paths or empty>",
|
|
200
|
-
"pass_rate": "<0-
|
|
248
|
+
"pass_rate": "<0.0-1.0 or empty>" (TESTRUN only),
|
|
201
249
|
"coverage_score": "<0-100 or empty>" (TESTRUN only),
|
|
202
250
|
"error": "<message if not completed>"
|
|
203
251
|
}
|
|
@@ -217,7 +265,7 @@ You MUST call report_agent_job_result EXACTLY ONCE before exiting. NO exceptions
|
|
|
217
265
|
"result_status": { "type": "string", "enum": ["completed", "failed", "blocked"] },
|
|
218
266
|
"findings": { "type": "string", "maxLength": 500 },
|
|
219
267
|
"files_modified": { "type": "string" },
|
|
220
|
-
"pass_rate": { "type": "string" },
|
|
268
|
+
"pass_rate": { "type": "string", "description": "0.0-1.0 ratio, e.g. 0.95" },
|
|
221
269
|
"coverage_score": { "type": "string" },
|
|
222
270
|
"error": { "type": "string" }
|
|
223
271
|
},
|
|
@@ -43,7 +43,9 @@ Display ranked suggestions with scores, reasons, projected health delta.
|
|
|
43
43
|
If not `--fix`: display and exit.
|
|
44
44
|
|
|
45
45
|
### Stage 5: Apply (--fix only)
|
|
46
|
-
|
|
46
|
+
**Confirmation gate**: Before applying, present the list of link changes to user via `request_user_input` for confirmation. Only proceed with user-approved changes. Skip confirmation only if `-y` flag is also set.
|
|
47
|
+
|
|
48
|
+
For each approved suggestion: get entry → append target to `related` → update via `maestro wiki update`.
|
|
47
49
|
Re-run `maestro wiki health` for delta.
|
|
48
50
|
|
|
49
51
|
### Stage 6: Persist
|
|
@@ -26,7 +26,7 @@ $ARGUMENTS — scope and optional flags.
|
|
|
26
26
|
- `--format full` — Detailed with per-entry summaries
|
|
27
27
|
- `--create-issues` — Auto-create knowledge-gap issues in issues.jsonl
|
|
28
28
|
|
|
29
|
-
**Output**: `.workflow/knowhow/
|
|
29
|
+
**Output**: `.workflow/knowhow/digest-{slug}-{date}.md`
|
|
30
30
|
</context>
|
|
31
31
|
|
|
32
32
|
<execution>
|
|
@@ -54,10 +54,12 @@ knowhow █░░░░ ██░░░ ████░
|
|
|
54
54
|
Empty cells = knowledge gaps.
|
|
55
55
|
|
|
56
56
|
### Stage 6: Write Digest
|
|
57
|
-
Produce
|
|
57
|
+
Produce `.workflow/knowhow/digest-{slug}-{date}.md` with themes, heatmap, gaps, unlinked insights, recommended actions.
|
|
58
58
|
|
|
59
59
|
### Stage 7: Gap → Issue (if --create-issues)
|
|
60
|
-
|
|
60
|
+
**Confirmation gate**: Before creating issues, present the list of proposed gap issues to user via `request_user_input` for confirmation. Only create user-approved issues. Skip confirmation only if `-y` flag is also set.
|
|
61
|
+
|
|
62
|
+
For each approved gap: dedup against issues.jsonl, append with `type: "knowledge-gap"`, `source: "wiki-digest"`.
|
|
61
63
|
|
|
62
64
|
### Stage 8: Persist
|
|
63
65
|
Append meta-insights to `specs/learnings.md` (source: "wiki-digest"). Display summary.
|
|
@@ -82,6 +84,6 @@ Append meta-insights to `specs/learnings.md` (source: "wiki-digest"). Display su
|
|
|
82
84
|
- [ ] Cross-reference with specs/learnings.md completed
|
|
83
85
|
- [ ] Coverage heatmap generated
|
|
84
86
|
- [ ] If --create-issues: gap issues created (deduped)
|
|
85
|
-
- [ ] Digest written to
|
|
87
|
+
- [ ] Digest written to `.workflow/knowhow/digest-{slug}-{date}.md`
|
|
86
88
|
- [ ] Meta-insights appended to specs/learnings.md
|
|
87
89
|
</success_criteria>
|
|
@@ -13,6 +13,7 @@ export interface EmbeddingIndex {
|
|
|
13
13
|
docIds: string[];
|
|
14
14
|
vectors: Float32Array[];
|
|
15
15
|
contentHashes?: string[];
|
|
16
|
+
chunkDocIds?: string[];
|
|
16
17
|
builtAt: number;
|
|
17
18
|
deviceUsed?: string;
|
|
18
19
|
buildTimeMs?: number;
|
|
@@ -89,6 +90,11 @@ export declare function getUnavailableReason(): string | null;
|
|
|
89
90
|
export declare function embedTexts(texts: string[]): Promise<Float32Array[]>;
|
|
90
91
|
export declare function embedQuery(query: string): Promise<Float32Array>;
|
|
91
92
|
export declare function vectorSearch(queryVector: Float32Array, index: EmbeddingIndex, limit: number): VectorSearchResult[];
|
|
93
|
+
/**
|
|
94
|
+
* Async vector search using zvec collection.
|
|
95
|
+
* Falls back to flat cosine scan when zvec is unavailable or feature flag is set.
|
|
96
|
+
*/
|
|
97
|
+
export declare function vectorSearchZvec(queryVector: Float32Array, dir: string, limit: number): Promise<VectorSearchResult[]>;
|
|
92
98
|
export declare function saveEmbeddingIndex(index: EmbeddingIndex, dir: string): void;
|
|
93
99
|
export declare function loadEmbeddingIndex(dir: string): EmbeddingIndex | null;
|
|
94
100
|
export interface DocForEmbedding {
|
|
@@ -99,5 +105,15 @@ export interface DocForEmbedding {
|
|
|
99
105
|
body?: string;
|
|
100
106
|
}
|
|
101
107
|
export declare function hashDocContent(d: DocForEmbedding): string;
|
|
108
|
+
/**
|
|
109
|
+
* Split a document into multiple chunks for embedding.
|
|
110
|
+
* Short docs (<500 chars body) produce a single chunk.
|
|
111
|
+
* Long docs are split by markdown heading regex /^#{1,3}\s/m, max 5 chunks.
|
|
112
|
+
* Each chunk inherits title+summary as context prefix.
|
|
113
|
+
*/
|
|
114
|
+
export declare function splitDocToChunks(d: DocForEmbedding): Array<{
|
|
115
|
+
chunkId: string;
|
|
116
|
+
text: string;
|
|
117
|
+
}>;
|
|
102
118
|
export declare function buildEmbeddingIndex(docs: DocForEmbedding[], existingIndex?: EmbeddingIndex | null, precomputedHashes?: string[]): Promise<EmbeddingIndex>;
|
|
103
119
|
export {};
|