peaks-loop 4.0.0-beta.6 → 4.0.0-beta.8
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/CHANGELOG.md +152 -0
- package/README-en.md +178 -67
- package/README.md +178 -57
- package/examples/video-demo/README.md +108 -23
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
- package/package.json +19 -6
- package/scripts/copy-templates.mjs +64 -0
- package/scripts/install-skills.mjs +13 -10
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/library-version-awareness.md +2 -2
- package/skills/bee/peaks-rd/references/mock-data-placement.md +1 -1
- package/skills/bee/peaks-rd/references/rd-runbook.md +2 -2
- package/skills/bee/peaks-rd/references/rd-transition-gates.md +2 -2
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +1 -1
- package/skills/bee/peaks-ui/SKILL.md +2 -2
- package/skills/peaks-code/SKILL.md +35 -45
- package/skills/peaks-code/references/project-scan-checklist.md +3 -1
- package/skills/peaks-code/references/runbook.md +2 -2
- package/skills/peaks-code/references/standards-preflight.md +1 -1
- package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
- package/skills/peaks-code/references/swarm-dispatch-contract.md +1 -1
- package/skills/peaks-code/references/workflow-gates-and-types.md +3 -3
- package/skills/peaks-slice-decompose/SKILL.md +61 -1
- package/dist/src/cli/cli-helpers.d.ts +0 -43
- package/dist/src/cli/cli-helpers.js +0 -86
- package/dist/src/cli/commands/adapter-commands-s2a.d.ts +0 -34
- package/dist/src/cli/commands/adapter-commands-s2a.js +0 -92
- package/dist/src/cli/commands/adapter-commands.d.ts +0 -30
- package/dist/src/cli/commands/adapter-commands.js +0 -35
- package/dist/src/cli/commands/agent-commands.d.ts +0 -20
- package/dist/src/cli/commands/agent-commands.js +0 -48
- package/dist/src/cli/commands/asset-commands.d.ts +0 -45
- package/dist/src/cli/commands/asset-commands.js +0 -404
- package/dist/src/cli/commands/audit-commands.d.ts +0 -28
- package/dist/src/cli/commands/audit-commands.js +0 -437
- package/dist/src/cli/commands/bee-commands.d.ts +0 -26
- package/dist/src/cli/commands/bee-commands.js +0 -169
- package/dist/src/cli/commands/capability-commands.d.ts +0 -16
- package/dist/src/cli/commands/capability-commands.js +0 -45
- package/dist/src/cli/commands/capability-worker-config-sc-commands.d.ts +0 -3
- package/dist/src/cli/commands/capability-worker-config-sc-commands.js +0 -10
- package/dist/src/cli/commands/classify-classify-commands.d.ts +0 -19
- package/dist/src/cli/commands/classify-classify-commands.js +0 -151
- package/dist/src/cli/commands/code-commands.d.ts +0 -80
- package/dist/src/cli/commands/code-commands.js +0 -798
- package/dist/src/cli/commands/code-review-commands.d.ts +0 -34
- package/dist/src/cli/commands/code-review-commands.js +0 -83
- package/dist/src/cli/commands/codegraph-commands.d.ts +0 -3
- package/dist/src/cli/commands/codegraph-commands.js +0 -99
- package/dist/src/cli/commands/compact-command.d.ts +0 -21
- package/dist/src/cli/commands/compact-command.js +0 -252
- package/dist/src/cli/commands/complexity-commands.d.ts +0 -9
- package/dist/src/cli/commands/complexity-commands.js +0 -34
- package/dist/src/cli/commands/config-commands.d.ts +0 -3
- package/dist/src/cli/commands/config-commands.js +0 -220
- package/dist/src/cli/commands/context-builder-commands.d.ts +0 -11
- package/dist/src/cli/commands/context-builder-commands.js +0 -85
- package/dist/src/cli/commands/context-commands.d.ts +0 -21
- package/dist/src/cli/commands/context-commands.js +0 -254
- package/dist/src/cli/commands/contract-commands.d.ts +0 -26
- package/dist/src/cli/commands/contract-commands.js +0 -114
- package/dist/src/cli/commands/core/artifacts-command.d.ts +0 -3
- package/dist/src/cli/commands/core/artifacts-command.js +0 -62
- package/dist/src/cli/commands/core/binding-commands.d.ts +0 -3
- package/dist/src/cli/commands/core/binding-commands.js +0 -58
- package/dist/src/cli/commands/core/doctor-command.d.ts +0 -11
- package/dist/src/cli/commands/core/doctor-command.js +0 -204
- package/dist/src/cli/commands/core/memory-command.d.ts +0 -3
- package/dist/src/cli/commands/core/memory-command.js +0 -98
- package/dist/src/cli/commands/core/profile-command.d.ts +0 -3
- package/dist/src/cli/commands/core/profile-command.js +0 -9
- package/dist/src/cli/commands/core/proxy-command.d.ts +0 -3
- package/dist/src/cli/commands/core/proxy-command.js +0 -26
- package/dist/src/cli/commands/core/session-command.d.ts +0 -3
- package/dist/src/cli/commands/core/session-command.js +0 -241
- package/dist/src/cli/commands/core/skill-command.d.ts +0 -3
- package/dist/src/cli/commands/core/skill-command.js +0 -297
- package/dist/src/cli/commands/core/standards-command.d.ts +0 -3
- package/dist/src/cli/commands/core/standards-command.js +0 -95
- package/dist/src/cli/commands/core-artifact-commands.d.ts +0 -15
- package/dist/src/cli/commands/core-artifact-commands.js +0 -31
- package/dist/src/cli/commands/dispatch-commands.d.ts +0 -10
- package/dist/src/cli/commands/dispatch-commands.js +0 -351
- package/dist/src/cli/commands/dispatch-from-dag.d.ts +0 -3
- package/dist/src/cli/commands/dispatch-from-dag.js +0 -251
- package/dist/src/cli/commands/doc-commands.d.ts +0 -11
- package/dist/src/cli/commands/doc-commands.js +0 -65
- package/dist/src/cli/commands/evolution-commands.d.ts +0 -27
- package/dist/src/cli/commands/evolution-commands.js +0 -393
- package/dist/src/cli/commands/feedback-commands.d.ts +0 -18
- package/dist/src/cli/commands/feedback-commands.js +0 -145
- package/dist/src/cli/commands/final-review-commands.d.ts +0 -31
- package/dist/src/cli/commands/final-review-commands.js +0 -161
- package/dist/src/cli/commands/fixture-commands.d.ts +0 -32
- package/dist/src/cli/commands/fixture-commands.js +0 -91
- package/dist/src/cli/commands/fork-commands.d.ts +0 -16
- package/dist/src/cli/commands/fork-commands.js +0 -163
- package/dist/src/cli/commands/gate-commands.d.ts +0 -3
- package/dist/src/cli/commands/gate-commands.js +0 -117
- package/dist/src/cli/commands/heartbeat-commands.d.ts +0 -3
- package/dist/src/cli/commands/heartbeat-commands.js +0 -135
- package/dist/src/cli/commands/hook-handle.d.ts +0 -17
- package/dist/src/cli/commands/hook-handle.js +0 -157
- package/dist/src/cli/commands/hooks-commands.d.ts +0 -3
- package/dist/src/cli/commands/hooks-commands.js +0 -156
- package/dist/src/cli/commands/impact-commands.d.ts +0 -15
- package/dist/src/cli/commands/impact-commands.js +0 -62
- package/dist/src/cli/commands/job-commands.d.ts +0 -3
- package/dist/src/cli/commands/job-commands.js +0 -289
- package/dist/src/cli/commands/legacy-commands.d.ts +0 -11
- package/dist/src/cli/commands/legacy-commands.js +0 -32
- package/dist/src/cli/commands/log-commands.d.ts +0 -17
- package/dist/src/cli/commands/log-commands.js +0 -64
- package/dist/src/cli/commands/loop-commands.d.ts +0 -27
- package/dist/src/cli/commands/loop-commands.js +0 -262
- package/dist/src/cli/commands/loop-eval-commands.d.ts +0 -20
- package/dist/src/cli/commands/loop-eval-commands.js +0 -526
- package/dist/src/cli/commands/memory-commands.d.ts +0 -23
- package/dist/src/cli/commands/memory-commands.js +0 -129
- package/dist/src/cli/commands/migrate-1-4-1-command.d.ts +0 -11
- package/dist/src/cli/commands/migrate-1-4-1-command.js +0 -34
- package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -20
- package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.js +0 -52
- package/dist/src/cli/commands/mut-commands.d.ts +0 -20
- package/dist/src/cli/commands/mut-commands.js +0 -239
- package/dist/src/cli/commands/observability-commands.d.ts +0 -22
- package/dist/src/cli/commands/observability-commands.js +0 -201
- package/dist/src/cli/commands/openspec-commands.d.ts +0 -3
- package/dist/src/cli/commands/openspec-commands.js +0 -237
- package/dist/src/cli/commands/perf-audit-commands.d.ts +0 -22
- package/dist/src/cli/commands/perf-audit-commands.js +0 -132
- package/dist/src/cli/commands/perf-commands.d.ts +0 -3
- package/dist/src/cli/commands/perf-commands.js +0 -41
- package/dist/src/cli/commands/playwright-commands.d.ts +0 -95
- package/dist/src/cli/commands/playwright-commands.js +0 -432
- package/dist/src/cli/commands/polyrepo-commands.d.ts +0 -37
- package/dist/src/cli/commands/polyrepo-commands.js +0 -155
- package/dist/src/cli/commands/prd-blocks-commands.d.ts +0 -18
- package/dist/src/cli/commands/prd-blocks-commands.js +0 -50
- package/dist/src/cli/commands/prd-commands.d.ts +0 -18
- package/dist/src/cli/commands/prd-commands.js +0 -141
- package/dist/src/cli/commands/preferences-commands.d.ts +0 -2
- package/dist/src/cli/commands/preferences-commands.js +0 -197
- package/dist/src/cli/commands/project-commands.d.ts +0 -3
- package/dist/src/cli/commands/project-commands.js +0 -248
- package/dist/src/cli/commands/qa-business-review-commands.d.ts +0 -17
- package/dist/src/cli/commands/qa-business-review-commands.js +0 -148
- package/dist/src/cli/commands/qa-commands.d.ts +0 -94
- package/dist/src/cli/commands/qa-commands.js +0 -271
- package/dist/src/cli/commands/release-commands.d.ts +0 -24
- package/dist/src/cli/commands/release-commands.js +0 -231
- package/dist/src/cli/commands/request-commands.d.ts +0 -3
- package/dist/src/cli/commands/request-commands.js +0 -548
- package/dist/src/cli/commands/retrospective-commands.d.ts +0 -12
- package/dist/src/cli/commands/retrospective-commands.js +0 -175
- package/dist/src/cli/commands/reviewer-commands.d.ts +0 -14
- package/dist/src/cli/commands/reviewer-commands.js +0 -64
- package/dist/src/cli/commands/role-commands.d.ts +0 -13
- package/dist/src/cli/commands/role-commands.js +0 -85
- package/dist/src/cli/commands/runtime-commands.d.ts +0 -52
- package/dist/src/cli/commands/runtime-commands.js +0 -150
- package/dist/src/cli/commands/sc-commands.d.ts +0 -3
- package/dist/src/cli/commands/sc-commands.js +0 -45
- package/dist/src/cli/commands/scan-commands.d.ts +0 -3
- package/dist/src/cli/commands/scan-commands.js +0 -445
- package/dist/src/cli/commands/security-audit-commands.d.ts +0 -23
- package/dist/src/cli/commands/security-audit-commands.js +0 -132
- package/dist/src/cli/commands/sediment-commands.d.ts +0 -80
- package/dist/src/cli/commands/sediment-commands.js +0 -649
- package/dist/src/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
- package/dist/src/cli/commands/session-auto-compact-hook-command.js +0 -127
- package/dist/src/cli/commands/session-checkpoint-command.d.ts +0 -10
- package/dist/src/cli/commands/session-checkpoint-command.js +0 -100
- package/dist/src/cli/commands/session-migrate-skill-name.d.ts +0 -17
- package/dist/src/cli/commands/session-migrate-skill-name.js +0 -41
- package/dist/src/cli/commands/session-resume-command.d.ts +0 -11
- package/dist/src/cli/commands/session-resume-command.js +0 -83
- package/dist/src/cli/commands/share-commands.d.ts +0 -17
- package/dist/src/cli/commands/share-commands.js +0 -296
- package/dist/src/cli/commands/skill-conformance-commands.d.ts +0 -9
- package/dist/src/cli/commands/skill-conformance-commands.js +0 -39
- package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.d.ts +0 -67
- package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.js +0 -173
- package/dist/src/cli/commands/skill-search-commands.d.ts +0 -25
- package/dist/src/cli/commands/skill-search-commands.js +0 -68
- package/dist/src/cli/commands/skill-visibility.d.ts +0 -8
- package/dist/src/cli/commands/skill-visibility.js +0 -63
- package/dist/src/cli/commands/slice-commands.d.ts +0 -24
- package/dist/src/cli/commands/slice-commands.js +0 -492
- package/dist/src/cli/commands/slice-integrate-commands.d.ts +0 -11
- package/dist/src/cli/commands/slice-integrate-commands.js +0 -74
- package/dist/src/cli/commands/slice-review-commands.d.ts +0 -23
- package/dist/src/cli/commands/slice-review-commands.js +0 -162
- package/dist/src/cli/commands/smoke-commands.d.ts +0 -21
- package/dist/src/cli/commands/smoke-commands.js +0 -203
- package/dist/src/cli/commands/sop-commands.d.ts +0 -3
- package/dist/src/cli/commands/sop-commands.js +0 -215
- package/dist/src/cli/commands/statusline-commands.d.ts +0 -3
- package/dist/src/cli/commands/statusline-commands.js +0 -169
- package/dist/src/cli/commands/sub-agent-commands.d.ts +0 -22
- package/dist/src/cli/commands/sub-agent-commands.js +0 -19
- package/dist/src/cli/commands/sub-agent-dispatch-guard.d.ts +0 -55
- package/dist/src/cli/commands/sub-agent-dispatch-guard.js +0 -57
- package/dist/src/cli/commands/sub-agent-shared.d.ts +0 -99
- package/dist/src/cli/commands/sub-agent-shared.js +0 -67
- package/dist/src/cli/commands/test-commands.d.ts +0 -47
- package/dist/src/cli/commands/test-commands.js +0 -204
- package/dist/src/cli/commands/understand-commands.d.ts +0 -3
- package/dist/src/cli/commands/understand-commands.js +0 -148
- package/dist/src/cli/commands/upgrade-commands.d.ts +0 -23
- package/dist/src/cli/commands/upgrade-commands.js +0 -119
- package/dist/src/cli/commands/user-touchpoint-commands.d.ts +0 -18
- package/dist/src/cli/commands/user-touchpoint-commands.js +0 -78
- package/dist/src/cli/commands/verdict-aggregate-command.d.ts +0 -14
- package/dist/src/cli/commands/verdict-aggregate-command.js +0 -106
- package/dist/src/cli/commands/worker-commands.d.ts +0 -3
- package/dist/src/cli/commands/worker-commands.js +0 -52
- package/dist/src/cli/commands/workflow-commands.d.ts +0 -3
- package/dist/src/cli/commands/workflow-commands.js +0 -535
- package/dist/src/cli/commands/workflow-plan-commands.d.ts +0 -39
- package/dist/src/cli/commands/workflow-plan-commands.js +0 -163
- package/dist/src/cli/commands/workspace/clean-command.d.ts +0 -14
- package/dist/src/cli/commands/workspace/clean-command.js +0 -49
- package/dist/src/cli/commands/workspace/helpers.d.ts +0 -28
- package/dist/src/cli/commands/workspace/helpers.js +0 -87
- package/dist/src/cli/commands/workspace/init-command.d.ts +0 -121
- package/dist/src/cli/commands/workspace/init-command.js +0 -436
- package/dist/src/cli/commands/workspace/migrate-command.d.ts +0 -11
- package/dist/src/cli/commands/workspace/migrate-command.js +0 -91
- package/dist/src/cli/commands/workspace/reconcile-command.d.ts +0 -14
- package/dist/src/cli/commands/workspace/reconcile-command.js +0 -103
- package/dist/src/cli/commands/workspace-commands.d.ts +0 -18
- package/dist/src/cli/commands/workspace-commands.js +0 -50
- package/dist/src/cli/index.d.ts +0 -1
- package/dist/src/cli/index.js +0 -30
- package/dist/src/cli/program.d.ts +0 -5
- package/dist/src/cli/program.js +0 -401
- package/dist/src/hooks/pre-tool-use-sub-agent.d.ts +0 -28
- package/dist/src/hooks/pre-tool-use-sub-agent.js +0 -105
- package/dist/src/lib/render/message-renderer.d.ts +0 -20
- package/dist/src/lib/render/message-renderer.js +0 -80
- package/dist/src/services/adapter/adapter-registry.d.ts +0 -48
- package/dist/src/services/adapter/adapter-registry.js +0 -186
- package/dist/src/services/adapter/adapter.d.ts +0 -27
- package/dist/src/services/adapter/adapter.js +0 -5
- package/dist/src/services/adapter/auto-adapter.d.ts +0 -11
- package/dist/src/services/adapter/auto-adapter.js +0 -15
- package/dist/src/services/adapter/claude-adapter.d.ts +0 -14
- package/dist/src/services/adapter/claude-adapter.js +0 -40
- package/dist/src/services/adapter/codex-adapter.d.ts +0 -14
- package/dist/src/services/adapter/codex-adapter.js +0 -14
- package/dist/src/services/adapter/copilot-adapter.d.ts +0 -14
- package/dist/src/services/adapter/copilot-adapter.js +0 -14
- package/dist/src/services/agent/ecc-agent-service.d.ts +0 -47
- package/dist/src/services/agent/ecc-agent-service.js +0 -143
- package/dist/src/services/artifacts/artifact-lint-service.d.ts +0 -23
- package/dist/src/services/artifacts/artifact-lint-service.js +0 -99
- package/dist/src/services/artifacts/artifact-prerequisites.d.ts +0 -78
- package/dist/src/services/artifacts/artifact-prerequisites.js +0 -491
- package/dist/src/services/artifacts/artifact-service.d.ts +0 -43
- package/dist/src/services/artifacts/artifact-service.js +0 -98
- package/dist/src/services/artifacts/artifact-templates.d.ts +0 -30
- package/dist/src/services/artifacts/artifact-templates.js +0 -302
- package/dist/src/services/artifacts/repair-cycle-service.d.ts +0 -23
- package/dist/src/services/artifacts/repair-cycle-service.js +0 -52
- package/dist/src/services/artifacts/request-artifact-service.d.ts +0 -116
- package/dist/src/services/artifacts/request-artifact-service.js +0 -451
- package/dist/src/services/artifacts/request-artifact-state-helpers.d.ts +0 -51
- package/dist/src/services/artifacts/request-artifact-state-helpers.js +0 -114
- package/dist/src/services/artifacts/workspace-service.d.ts +0 -34
- package/dist/src/services/artifacts/workspace-service.js +0 -272
- package/dist/src/services/audit/artifact-writer.d.ts +0 -93
- package/dist/src/services/audit/artifact-writer.js +0 -303
- package/dist/src/services/audit/audit-goal-service.d.ts +0 -35
- package/dist/src/services/audit/audit-goal-service.js +0 -75
- package/dist/src/services/audit/audit-goal-types.d.ts +0 -40
- package/dist/src/services/audit/audit-goal-types.js +0 -15
- package/dist/src/services/audit/backing-detector.d.ts +0 -24
- package/dist/src/services/audit/backing-detector.js +0 -59
- package/dist/src/services/audit/classifier.d.ts +0 -38
- package/dist/src/services/audit/classifier.js +0 -134
- package/dist/src/services/audit/decision-writer.d.ts +0 -76
- package/dist/src/services/audit/decision-writer.js +0 -217
- package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +0 -29
- package/dist/src/services/audit/enforcers/active-skill-resolver.js +0 -71
- package/dist/src/services/audit/enforcers/code-ban.d.ts +0 -23
- package/dist/src/services/audit/enforcers/code-ban.js +0 -27
- package/dist/src/services/audit/enforcers/design-draft-confirm.d.ts +0 -24
- package/dist/src/services/audit/enforcers/design-draft-confirm.js +0 -58
- package/dist/src/services/audit/enforcers/lint-audit-regression.d.ts +0 -21
- package/dist/src/services/audit/enforcers/lint-audit-regression.js +0 -86
- package/dist/src/services/audit/enforcers/lint-catalog-governance.d.ts +0 -32
- package/dist/src/services/audit/enforcers/lint-catalog-governance.js +0 -48
- package/dist/src/services/audit/enforcers/lint-cli-back.d.ts +0 -16
- package/dist/src/services/audit/enforcers/lint-cli-back.js +0 -35
- package/dist/src/services/audit/enforcers/lint-output-style.d.ts +0 -11
- package/dist/src/services/audit/enforcers/lint-output-style.js +0 -94
- package/dist/src/services/audit/enforcers/lint-reference-integrity.d.ts +0 -6
- package/dist/src/services/audit/enforcers/lint-reference-integrity.js +0 -83
- package/dist/src/services/audit/enforcers/lint-reference-shape.d.ts +0 -30
- package/dist/src/services/audit/enforcers/lint-reference-shape.js +0 -272
- package/dist/src/services/audit/enforcers/lint-style.d.ts +0 -49
- package/dist/src/services/audit/enforcers/lint-style.js +0 -173
- package/dist/src/services/audit/enforcers/lint-workflow-shape.d.ts +0 -4
- package/dist/src/services/audit/enforcers/lint-workflow-shape.js +0 -100
- package/dist/src/services/audit/enforcers/login-gate.d.ts +0 -23
- package/dist/src/services/audit/enforcers/login-gate.js +0 -40
- package/dist/src/services/audit/enforcers/mock-placement.d.ts +0 -25
- package/dist/src/services/audit/enforcers/mock-placement.js +0 -48
- package/dist/src/services/audit/enforcers/no-root-pollution.d.ts +0 -21
- package/dist/src/services/audit/enforcers/no-root-pollution.js +0 -56
- package/dist/src/services/audit/enforcers/pre-rd-scan.d.ts +0 -22
- package/dist/src/services/audit/enforcers/pre-rd-scan.js +0 -23
- package/dist/src/services/audit/enforcers/prototype-fidelity.d.ts +0 -25
- package/dist/src/services/audit/enforcers/prototype-fidelity.js +0 -75
- package/dist/src/services/audit/enforcers/resume-detection.d.ts +0 -21
- package/dist/src/services/audit/enforcers/resume-detection.js +0 -52
- package/dist/src/services/audit/enforcers/sub-agent-sid.d.ts +0 -25
- package/dist/src/services/audit/enforcers/sub-agent-sid.js +0 -63
- package/dist/src/services/audit/prose-ratio-calculator.d.ts +0 -45
- package/dist/src/services/audit/prose-ratio-calculator.js +0 -52
- package/dist/src/services/audit/red-line-catalog-p2-a.d.ts +0 -21
- package/dist/src/services/audit/red-line-catalog-p2-a.js +0 -229
- package/dist/src/services/audit/red-line-catalog-p2-b.d.ts +0 -19
- package/dist/src/services/audit/red-line-catalog-p2-b.js +0 -225
- package/dist/src/services/audit/red-line-catalog.d.ts +0 -51
- package/dist/src/services/audit/red-line-catalog.js +0 -195
- package/dist/src/services/audit/red-lines-service.d.ts +0 -23
- package/dist/src/services/audit/red-lines-service.js +0 -464
- package/dist/src/services/audit/scanners/openspec-scanner.d.ts +0 -15
- package/dist/src/services/audit/scanners/openspec-scanner.js +0 -55
- package/dist/src/services/audit/scanners/rules-tree-scanner.d.ts +0 -16
- package/dist/src/services/audit/scanners/rules-tree-scanner.js +0 -56
- package/dist/src/services/audit/scanners/skills-tree-scanner.d.ts +0 -17
- package/dist/src/services/audit/scanners/skills-tree-scanner.js +0 -68
- package/dist/src/services/audit/static-service.d.ts +0 -60
- package/dist/src/services/audit/static-service.js +0 -130
- package/dist/src/services/audit/types.d.ts +0 -86
- package/dist/src/services/audit/types.js +0 -13
- package/dist/src/services/audit-independent/perf-audit-service.d.ts +0 -151
- package/dist/src/services/audit-independent/perf-audit-service.js +0 -316
- package/dist/src/services/audit-independent/security-audit-service.d.ts +0 -155
- package/dist/src/services/audit-independent/security-audit-service.js +0 -316
- package/dist/src/services/classify/classify-service.d.ts +0 -42
- package/dist/src/services/classify/classify-service.js +0 -122
- package/dist/src/services/classify/classify-types.d.ts +0 -79
- package/dist/src/services/classify/classify-types.js +0 -90
- package/dist/src/services/code/auto-compact-orchestrator.d.ts +0 -98
- package/dist/src/services/code/auto-compact-orchestrator.js +0 -343
- package/dist/src/services/code/batch-heartbeat-poller.d.ts +0 -51
- package/dist/src/services/code/batch-heartbeat-poller.js +0 -88
- package/dist/src/services/code/dag-orchestrator.d.ts +0 -128
- package/dist/src/services/code/dag-orchestrator.js +0 -304
- package/dist/src/services/code/emit-handoff.d.ts +0 -49
- package/dist/src/services/code/emit-handoff.js +0 -79
- package/dist/src/services/code/job-shape-decision.d.ts +0 -71
- package/dist/src/services/code/job-shape-decision.js +0 -151
- package/dist/src/services/code/mode-gate.d.ts +0 -163
- package/dist/src/services/code/mode-gate.js +0 -212
- package/dist/src/services/code/post-compact-detector.d.ts +0 -61
- package/dist/src/services/code/post-compact-detector.js +0 -240
- package/dist/src/services/code/status-line-renderer.d.ts +0 -34
- package/dist/src/services/code/status-line-renderer.js +0 -55
- package/dist/src/services/code/step-08-gate.d.ts +0 -90
- package/dist/src/services/code/step-08-gate.js +0 -136
- package/dist/src/services/code/user-touchpoint-classifier.d.ts +0 -44
- package/dist/src/services/code/user-touchpoint-classifier.js +0 -145
- package/dist/src/services/code-review/ecc-bridge.d.ts +0 -148
- package/dist/src/services/code-review/ecc-bridge.js +0 -242
- package/dist/src/services/code-review/ocr-service.d.ts +0 -129
- package/dist/src/services/code-review/ocr-service.js +0 -369
- package/dist/src/services/codegraph/codegraph-process-runner.d.ts +0 -2
- package/dist/src/services/codegraph/codegraph-process-runner.js +0 -93
- package/dist/src/services/codegraph/codegraph-service.d.ts +0 -43
- package/dist/src/services/codegraph/codegraph-service.js +0 -160
- package/dist/src/services/compact/decision-tables.d.ts +0 -66
- package/dist/src/services/compact/decision-tables.js +0 -127
- package/dist/src/services/compact/request-transition-hook.d.ts +0 -20
- package/dist/src/services/compact/request-transition-hook.js +0 -110
- package/dist/src/services/compact/suggest-service.d.ts +0 -74
- package/dist/src/services/compact/suggest-service.js +0 -203
- package/dist/src/services/complexity/complexity-estimator.d.ts +0 -34
- package/dist/src/services/complexity/complexity-estimator.js +0 -64
- package/dist/src/services/config/config-migration.d.ts +0 -45
- package/dist/src/services/config/config-migration.js +0 -154
- package/dist/src/services/config/config-restore.d.ts +0 -10
- package/dist/src/services/config/config-restore.js +0 -47
- package/dist/src/services/config/config-rollback.d.ts +0 -13
- package/dist/src/services/config/config-rollback.js +0 -26
- package/dist/src/services/config/config-safety.d.ts +0 -40
- package/dist/src/services/config/config-safety.js +0 -359
- package/dist/src/services/config/config-service.d.ts +0 -69
- package/dist/src/services/config/config-service.js +0 -814
- package/dist/src/services/config/config-types.d.ts +0 -119
- package/dist/src/services/config/config-types.js +0 -18
- package/dist/src/services/config/model-routing.d.ts +0 -4
- package/dist/src/services/config/model-routing.js +0 -17
- package/dist/src/services/config/provider-service.d.ts +0 -48
- package/dist/src/services/config/provider-service.js +0 -143
- package/dist/src/services/config/proxy-service.d.ts +0 -21
- package/dist/src/services/config/proxy-service.js +0 -44
- package/dist/src/services/config/sidecar-store.d.ts +0 -25
- package/dist/src/services/config/sidecar-store.js +0 -61
- package/dist/src/services/config/workspace-state-service.d.ts +0 -30
- package/dist/src/services/config/workspace-state-service.js +0 -142
- package/dist/src/services/context/artifact-meta.d.ts +0 -72
- package/dist/src/services/context/artifact-meta.js +0 -105
- package/dist/src/services/context/auto-compact-dispatcher.d.ts +0 -37
- package/dist/src/services/context/auto-compact-dispatcher.js +0 -240
- package/dist/src/services/context/auto-compact-reader.d.ts +0 -51
- package/dist/src/services/context/auto-compact-reader.js +0 -164
- package/dist/src/services/context/auto-compact-types.d.ts +0 -143
- package/dist/src/services/context/auto-compact-types.js +0 -36
- package/dist/src/services/context/collector.d.ts +0 -24
- package/dist/src/services/context/collector.js +0 -133
- package/dist/src/services/context/context-builder.d.ts +0 -30
- package/dist/src/services/context/context-builder.js +0 -78
- package/dist/src/services/context/context-guard.d.ts +0 -49
- package/dist/src/services/context/context-guard.js +0 -91
- package/dist/src/services/context/context-schema.d.ts +0 -415
- package/dist/src/services/context/context-schema.js +0 -73
- package/dist/src/services/context/dispatch-context-guard.d.ts +0 -27
- package/dist/src/services/context/dispatch-context-guard.js +0 -192
- package/dist/src/services/context/doc-retriever.d.ts +0 -26
- package/dist/src/services/context/doc-retriever.js +0 -51
- package/dist/src/services/context/headroom-client.d.ts +0 -34
- package/dist/src/services/context/headroom-client.js +0 -117
- package/dist/src/services/context/headroom-fetcher.d.ts +0 -6
- package/dist/src/services/context/headroom-fetcher.js +0 -28
- package/dist/src/services/context/headroom-prefs.d.ts +0 -46
- package/dist/src/services/context/headroom-prefs.js +0 -34
- package/dist/src/services/context/index.d.ts +0 -7
- package/dist/src/services/context/index.js +0 -6
- package/dist/src/services/context/main-session-monitor.d.ts +0 -89
- package/dist/src/services/context/main-session-monitor.js +0 -142
- package/dist/src/services/context/renderer.d.ts +0 -20
- package/dist/src/services/context/renderer.js +0 -30
- package/dist/src/services/context/shared-channel.d.ts +0 -93
- package/dist/src/services/context/shared-channel.js +0 -308
- package/dist/src/services/context/threshold.d.ts +0 -35
- package/dist/src/services/context/threshold.js +0 -76
- package/dist/src/services/context/tokenizer.d.ts +0 -12
- package/dist/src/services/context/tokenizer.js +0 -43
- package/dist/src/services/context/types.d.ts +0 -93
- package/dist/src/services/context/types.js +0 -9
- package/dist/src/services/crystallization/crystallization-service.d.ts +0 -239
- package/dist/src/services/crystallization/crystallization-service.js +0 -397
- package/dist/src/services/crystallization/crystallization-store.d.ts +0 -75
- package/dist/src/services/crystallization/crystallization-store.js +0 -193
- package/dist/src/services/crystallization/crystallization-types.d.ts +0 -313
- package/dist/src/services/crystallization/crystallization-types.js +0 -299
- package/dist/src/services/crystallization/evidence-brief-builder.d.ts +0 -237
- package/dist/src/services/crystallization/evidence-brief-builder.js +0 -240
- package/dist/src/services/dashboard/project-dashboard-service.d.ts +0 -91
- package/dist/src/services/dashboard/project-dashboard-service.js +0 -147
- package/dist/src/services/dispatch/batch-counter.d.ts +0 -27
- package/dist/src/services/dispatch/batch-counter.js +0 -102
- package/dist/src/services/dispatch/contract-store.d.ts +0 -63
- package/dist/src/services/dispatch/contract-store.js +0 -157
- package/dist/src/services/dispatch/dispatch-record-writer.d.ts +0 -138
- package/dist/src/services/dispatch/dispatch-record-writer.js +0 -460
- package/dist/src/services/dispatch/heartbeat-truncator.d.ts +0 -26
- package/dist/src/services/dispatch/heartbeat-truncator.js +0 -13
- package/dist/src/services/dispatch/leak-detector.d.ts +0 -11
- package/dist/src/services/dispatch/leak-detector.js +0 -72
- package/dist/src/services/dispatch/slice-dag.d.ts +0 -81
- package/dist/src/services/dispatch/slice-dag.js +0 -238
- package/dist/src/services/dispatch/sub-agent-dispatcher.d.ts +0 -239
- package/dist/src/services/dispatch/sub-agent-dispatcher.js +0 -382
- package/dist/src/services/dispatch/test-tool-detection.d.ts +0 -36
- package/dist/src/services/dispatch/test-tool-detection.js +0 -46
- package/dist/src/services/doc/doc-generator.d.ts +0 -38
- package/dist/src/services/doc/doc-generator.js +0 -122
- package/dist/src/services/doctor/doctor-service.d.ts +0 -149
- package/dist/src/services/doctor/doctor-service.js +0 -929
- package/dist/src/services/evolution/evolution-service.d.ts +0 -137
- package/dist/src/services/evolution/evolution-service.js +0 -281
- package/dist/src/services/evolution/evolution-store.d.ts +0 -57
- package/dist/src/services/evolution/evolution-store.js +0 -232
- package/dist/src/services/evolution/evolution-types.d.ts +0 -706
- package/dist/src/services/evolution/evolution-types.js +0 -286
- package/dist/src/services/evolution/independent-evaluator-runner.d.ts +0 -90
- package/dist/src/services/evolution/independent-evaluator-runner.js +0 -106
- package/dist/src/services/evolution/regression-skeptic-runner.d.ts +0 -64
- package/dist/src/services/evolution/regression-skeptic-runner.js +0 -113
- package/dist/src/services/feedback/feedback-promotion-service.d.ts +0 -123
- package/dist/src/services/feedback/feedback-promotion-service.js +0 -300
- package/dist/src/services/filesystem/file-lock.d.ts +0 -11
- package/dist/src/services/filesystem/file-lock.js +0 -129
- package/dist/src/services/final-review/final-review-service.d.ts +0 -12
- package/dist/src/services/final-review/final-review-service.js +0 -52
- package/dist/src/services/final-review/final-review-types.d.ts +0 -42
- package/dist/src/services/final-review/final-review-types.js +0 -18
- package/dist/src/services/fixture/fixture-capture-service.d.ts +0 -87
- package/dist/src/services/fixture/fixture-capture-service.js +0 -317
- package/dist/src/services/fixture/fixture-sanitize-service.d.ts +0 -117
- package/dist/src/services/fixture/fixture-sanitize-service.js +0 -161
- package/dist/src/services/fixture/index.d.ts +0 -8
- package/dist/src/services/fixture/index.js +0 -8
- package/dist/src/services/fork/fork-sync-state.d.ts +0 -85
- package/dist/src/services/fork/fork-sync-state.js +0 -130
- package/dist/src/services/fuzzy-matching/fuzzy-match-service.d.ts +0 -15
- package/dist/src/services/fuzzy-matching/fuzzy-match-service.js +0 -56
- package/dist/src/services/fuzzy-matching/fzf-pick-service.d.ts +0 -68
- package/dist/src/services/fuzzy-matching/fzf-pick-service.js +0 -158
- package/dist/src/services/fuzzy-matching/types.d.ts +0 -20
- package/dist/src/services/fuzzy-matching/types.js +0 -1
- package/dist/src/services/handoff/handoff-parser.d.ts +0 -28
- package/dist/src/services/handoff/handoff-parser.js +0 -69
- package/dist/src/services/handoff/handoff-types.d.ts +0 -39
- package/dist/src/services/handoff/handoff-types.js +0 -19
- package/dist/src/services/handoff/handoff-writer.d.ts +0 -23
- package/dist/src/services/handoff/handoff-writer.js +0 -30
- package/dist/src/services/hooks/auto-compact-hook-install.d.ts +0 -104
- package/dist/src/services/hooks/auto-compact-hook-install.js +0 -157
- package/dist/src/services/hooks/output.d.ts +0 -92
- package/dist/src/services/hooks/output.js +0 -111
- package/dist/src/services/hooks/presence-marker-detector.d.ts +0 -16
- package/dist/src/services/hooks/presence-marker-detector.js +0 -105
- package/dist/src/services/ide/adapters/claude-code-adapter.d.ts +0 -18
- package/dist/src/services/ide/adapters/claude-code-adapter.js +0 -103
- package/dist/src/services/ide/adapters/codex-adapter.d.ts +0 -46
- package/dist/src/services/ide/adapters/codex-adapter.js +0 -97
- package/dist/src/services/ide/adapters/cursor-adapter.d.ts +0 -36
- package/dist/src/services/ide/adapters/cursor-adapter.js +0 -84
- package/dist/src/services/ide/adapters/hermes-adapter.d.ts +0 -21
- package/dist/src/services/ide/adapters/hermes-adapter.js +0 -51
- package/dist/src/services/ide/adapters/openclaw-adapter.d.ts +0 -14
- package/dist/src/services/ide/adapters/openclaw-adapter.js +0 -42
- package/dist/src/services/ide/adapters/trae-adapter.d.ts +0 -42
- package/dist/src/services/ide/adapters/trae-adapter.js +0 -83
- package/dist/src/services/ide/hook-protocol.d.ts +0 -47
- package/dist/src/services/ide/hook-protocol.js +0 -74
- package/dist/src/services/ide/hook-translator.d.ts +0 -72
- package/dist/src/services/ide/hook-translator.js +0 -128
- package/dist/src/services/ide/ide-detector.d.ts +0 -10
- package/dist/src/services/ide/ide-detector.js +0 -19
- package/dist/src/services/ide/ide-registry.d.ts +0 -14
- package/dist/src/services/ide/ide-registry.js +0 -60
- package/dist/src/services/ide/ide-types.d.ts +0 -230
- package/dist/src/services/ide/ide-types.js +0 -2
- package/dist/src/services/ide/resource-profile.d.ts +0 -52
- package/dist/src/services/ide/resource-profile.js +0 -33
- package/dist/src/services/ide/shared/atomic-json.d.ts +0 -15
- package/dist/src/services/ide/shared/atomic-json.js +0 -58
- package/dist/src/services/ide/shared/safe-path.d.ts +0 -11
- package/dist/src/services/ide/shared/safe-path.js +0 -29
- package/dist/src/services/impact/impact-scan-service.d.ts +0 -66
- package/dist/src/services/impact/impact-scan-service.js +0 -197
- package/dist/src/services/job/job-event-emitter.d.ts +0 -30
- package/dist/src/services/job/job-event-emitter.js +0 -5
- package/dist/src/services/job/job-orchestrator.d.ts +0 -50
- package/dist/src/services/job/job-orchestrator.js +0 -104
- package/dist/src/services/job/job-progress-store.d.ts +0 -60
- package/dist/src/services/job/job-progress-store.js +0 -70
- package/dist/src/services/job/job-resource-snapshot.d.ts +0 -7
- package/dist/src/services/job/job-resource-snapshot.js +0 -75
- package/dist/src/services/job/job-rotation.d.ts +0 -17
- package/dist/src/services/job/job-rotation.js +0 -30
- package/dist/src/services/job/job-state-store.d.ts +0 -24
- package/dist/src/services/job/job-state-store.js +0 -60
- package/dist/src/services/job/job-types.d.ts +0 -444
- package/dist/src/services/job/job-types.js +0 -87
- package/dist/src/services/job/subagent-job-wrapper.d.ts +0 -35
- package/dist/src/services/job/subagent-job-wrapper.js +0 -30
- package/dist/src/services/legacy/legacy-detector.d.ts +0 -34
- package/dist/src/services/legacy/legacy-detector.js +0 -111
- package/dist/src/services/log/log-commands-service.d.ts +0 -54
- package/dist/src/services/log/log-commands-service.js +0 -83
- package/dist/src/services/log/logger.d.ts +0 -103
- package/dist/src/services/log/logger.js +0 -224
- package/dist/src/services/log/redact.d.ts +0 -32
- package/dist/src/services/log/redact.js +0 -89
- package/dist/src/services/log/retention.d.ts +0 -34
- package/dist/src/services/log/retention.js +0 -78
- package/dist/src/services/loop/evaluator-dispatcher.d.ts +0 -50
- package/dist/src/services/loop/evaluator-dispatcher.js +0 -552
- package/dist/src/services/loop/loop-bee-relation-service.d.ts +0 -107
- package/dist/src/services/loop/loop-bee-relation-service.js +0 -211
- package/dist/src/services/loop/loop-bee-relation-store.d.ts +0 -53
- package/dist/src/services/loop/loop-bee-relation-store.js +0 -130
- package/dist/src/services/loop/loop-bee-relation-types.d.ts +0 -118
- package/dist/src/services/loop/loop-bee-relation-types.js +0 -114
- package/dist/src/services/loop/loop-release-service.d.ts +0 -46
- package/dist/src/services/loop/loop-release-service.js +0 -66
- package/dist/src/services/loop/loop-release-store.d.ts +0 -55
- package/dist/src/services/loop/loop-release-store.js +0 -134
- package/dist/src/services/loop/loop-release-types.d.ts +0 -250
- package/dist/src/services/loop/loop-release-types.js +0 -162
- package/dist/src/services/loop/monotonic-guard.d.ts +0 -80
- package/dist/src/services/loop/monotonic-guard.js +0 -232
- package/dist/src/services/loop/monotonic-runner.d.ts +0 -58
- package/dist/src/services/loop/monotonic-runner.js +0 -231
- package/dist/src/services/loop/run-driver.d.ts +0 -70
- package/dist/src/services/loop/run-driver.js +0 -400
- package/dist/src/services/loop/spec-service.d.ts +0 -90
- package/dist/src/services/loop/spec-service.js +0 -497
- package/dist/src/services/memory/llm-reranker.d.ts +0 -174
- package/dist/src/services/memory/llm-reranker.js +0 -284
- package/dist/src/services/memory/memory-search-service.d.ts +0 -93
- package/dist/src/services/memory/memory-search-service.js +0 -117
- package/dist/src/services/memory/project-context-service.d.ts +0 -11
- package/dist/src/services/memory/project-context-service.js +0 -148
- package/dist/src/services/memory/project-memory-service.d.ts +0 -167
- package/dist/src/services/memory/project-memory-service.js +0 -817
- package/dist/src/services/migrate-skill-name/migrate.d.ts +0 -17
- package/dist/src/services/migrate-skill-name/migrate.js +0 -152
- package/dist/src/services/migrate-skill-name/schema.d.ts +0 -42
- package/dist/src/services/migrate-skill-name/schema.js +0 -25
- package/dist/src/services/migration/v2-10-to-v2-11-service.d.ts +0 -44
- package/dist/src/services/migration/v2-10-to-v2-11-service.js +0 -190
- package/dist/src/services/migration/v2-10-to-v2-11-types.d.ts +0 -41
- package/dist/src/services/migration/v2-10-to-v2-11-types.js +0 -23
- package/dist/src/services/mode/bypass-tracker.d.ts +0 -4
- package/dist/src/services/mode/bypass-tracker.js +0 -31
- package/dist/src/services/mode/mode-enforcement.d.ts +0 -14
- package/dist/src/services/mode/mode-enforcement.js +0 -84
- package/dist/src/services/mut/assert-scanner.d.ts +0 -6
- package/dist/src/services/mut/assert-scanner.js +0 -116
- package/dist/src/services/mut/index.d.ts +0 -8
- package/dist/src/services/mut/index.js +0 -7
- package/dist/src/services/mut/mut-runner.d.ts +0 -39
- package/dist/src/services/mut/mut-runner.js +0 -29
- package/dist/src/services/mut/production-stryker.d.ts +0 -2
- package/dist/src/services/mut/production-stryker.js +0 -75
- package/dist/src/services/mut/report-builder.d.ts +0 -11
- package/dist/src/services/mut/report-builder.js +0 -110
- package/dist/src/services/mut/report-loader.d.ts +0 -31
- package/dist/src/services/mut/report-loader.js +0 -78
- package/dist/src/services/mut/thresholds.d.ts +0 -21
- package/dist/src/services/mut/thresholds.js +0 -22
- package/dist/src/services/mut/types.d.ts +0 -336
- package/dist/src/services/mut/types.js +0 -59
- package/dist/src/services/observability/aggregation.d.ts +0 -64
- package/dist/src/services/observability/aggregation.js +0 -217
- package/dist/src/services/observability/jsonl-store.d.ts +0 -59
- package/dist/src/services/observability/jsonl-store.js +0 -120
- package/dist/src/services/observability/observability-service.d.ts +0 -95
- package/dist/src/services/observability/observability-service.js +0 -119
- package/dist/src/services/observability/report-formatter.d.ts +0 -42
- package/dist/src/services/observability/report-formatter.js +0 -156
- package/dist/src/services/openspec/openspec-archive-service.d.ts +0 -12
- package/dist/src/services/openspec/openspec-archive-service.js +0 -28
- package/dist/src/services/openspec/openspec-bridge-service.d.ts +0 -16
- package/dist/src/services/openspec/openspec-bridge-service.js +0 -76
- package/dist/src/services/openspec/openspec-init-service.d.ts +0 -23
- package/dist/src/services/openspec/openspec-init-service.js +0 -122
- package/dist/src/services/openspec/openspec-propose-from-doctor-service.d.ts +0 -31
- package/dist/src/services/openspec/openspec-propose-from-doctor-service.js +0 -95
- package/dist/src/services/openspec/openspec-render-service.d.ts +0 -38
- package/dist/src/services/openspec/openspec-render-service.js +0 -130
- package/dist/src/services/openspec/openspec-scan-service.d.ts +0 -6
- package/dist/src/services/openspec/openspec-scan-service.js +0 -123
- package/dist/src/services/openspec/openspec-types.d.ts +0 -39
- package/dist/src/services/openspec/openspec-types.js +0 -1
- package/dist/src/services/openspec/openspec-validate-service.d.ts +0 -27
- package/dist/src/services/openspec/openspec-validate-service.js +0 -77
- package/dist/src/services/perf/perf-baseline-service.d.ts +0 -70
- package/dist/src/services/perf/perf-baseline-service.js +0 -214
- package/dist/src/services/polyrepo/polyrepo-dispatcher.d.ts +0 -34
- package/dist/src/services/polyrepo/polyrepo-dispatcher.js +0 -119
- package/dist/src/services/polyrepo/polyrepo-scanner.d.ts +0 -9
- package/dist/src/services/polyrepo/polyrepo-scanner.js +0 -94
- package/dist/src/services/polyrepo/polyrepo-service.d.ts +0 -34
- package/dist/src/services/polyrepo/polyrepo-service.js +0 -49
- package/dist/src/services/polyrepo/polyrepo-types.d.ts +0 -55
- package/dist/src/services/polyrepo/polyrepo-types.js +0 -1
- package/dist/src/services/prd/handoff-auto-regen.d.ts +0 -22
- package/dist/src/services/prd/handoff-auto-regen.js +0 -73
- package/dist/src/services/prd/handoff-service.d.ts +0 -54
- package/dist/src/services/prd/handoff-service.js +0 -142
- package/dist/src/services/prd/handoff-types.d.ts +0 -64
- package/dist/src/services/prd/handoff-types.js +0 -22
- package/dist/src/services/prd/prd-blocks-checker.d.ts +0 -51
- package/dist/src/services/prd/prd-blocks-checker.js +0 -130
- package/dist/src/services/prd/project-scan-reader.d.ts +0 -24
- package/dist/src/services/prd/project-scan-reader.js +0 -150
- package/dist/src/services/prd/project-scan-sediment.d.ts +0 -97
- package/dist/src/services/prd/project-scan-sediment.js +0 -445
- package/dist/src/services/prd/project-scan-types.d.ts +0 -66
- package/dist/src/services/prd/project-scan-types.js +0 -20
- package/dist/src/services/preferences/preferences-service.d.ts +0 -38
- package/dist/src/services/preferences/preferences-service.js +0 -198
- package/dist/src/services/preferences/preferences-types.d.ts +0 -148
- package/dist/src/services/preferences/preferences-types.js +0 -53
- package/dist/src/services/profiles/profile-service.d.ts +0 -6
- package/dist/src/services/profiles/profile-service.js +0 -19
- package/dist/src/services/progress/progress-service.d.ts +0 -125
- package/dist/src/services/progress/progress-service.js +0 -192
- package/dist/src/services/providers/minimax-provider-service.d.ts +0 -24
- package/dist/src/services/providers/minimax-provider-service.js +0 -143
- package/dist/src/services/providers/minimax-worker-service.d.ts +0 -21
- package/dist/src/services/providers/minimax-worker-service.js +0 -83
- package/dist/src/services/proxy/proxy-service.d.ts +0 -7
- package/dist/src/services/proxy/proxy-service.js +0 -31
- package/dist/src/services/qa/browser-event-logger.d.ts +0 -40
- package/dist/src/services/qa/browser-event-logger.js +0 -54
- package/dist/src/services/qa/browser-restart-detector.d.ts +0 -74
- package/dist/src/services/qa/browser-restart-detector.js +0 -138
- package/dist/src/services/qa/browser-reuse-hint.d.ts +0 -18
- package/dist/src/services/qa/browser-reuse-hint.js +0 -18
- package/dist/src/services/qa/browser-wrapper-service.d.ts +0 -37
- package/dist/src/services/qa/browser-wrapper-service.js +0 -88
- package/dist/src/services/qa/qa-business-review-state.d.ts +0 -47
- package/dist/src/services/qa/qa-business-review-state.js +0 -96
- package/dist/src/services/rd/ast-gate.d.ts +0 -19
- package/dist/src/services/rd/ast-gate.js +0 -71
- package/dist/src/services/rd/impl.d.ts +0 -9
- package/dist/src/services/rd/impl.js +0 -57
- package/dist/src/services/rd/rd-service.d.ts +0 -129
- package/dist/src/services/rd/rd-service.js +0 -438
- package/dist/src/services/rd/reviewer-dispatch-policy.d.ts +0 -122
- package/dist/src/services/rd/reviewer-dispatch-policy.js +0 -148
- package/dist/src/services/rd/standards-diagnostic.d.ts +0 -76
- package/dist/src/services/rd/standards-diagnostic.js +0 -166
- package/dist/src/services/rd/strategic-stage.d.ts +0 -4
- package/dist/src/services/rd/strategic-stage.js +0 -15
- package/dist/src/services/rd/strategy.d.ts +0 -13
- package/dist/src/services/rd/strategy.js +0 -60
- package/dist/src/services/rd/tactical-stage.d.ts +0 -33
- package/dist/src/services/rd/tactical-stage.js +0 -62
- package/dist/src/services/rd/types.d.ts +0 -252
- package/dist/src/services/rd/types.js +0 -47
- package/dist/src/services/recommendations/capability-availability.d.ts +0 -5
- package/dist/src/services/recommendations/capability-availability.js +0 -40
- package/dist/src/services/recommendations/capability-map-service.d.ts +0 -7
- package/dist/src/services/recommendations/capability-map-service.js +0 -131
- package/dist/src/services/recommendations/capability-seed-items.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-items.js +0 -140
- package/dist/src/services/recommendations/capability-seed-mappings.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-mappings.js +0 -54
- package/dist/src/services/recommendations/capability-seed-sources.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-sources.js +0 -35
- package/dist/src/services/recommendations/recommendation-service.d.ts +0 -8
- package/dist/src/services/recommendations/recommendation-service.js +0 -106
- package/dist/src/services/recommendations/recommendation-types.d.ts +0 -129
- package/dist/src/services/recommendations/recommendation-types.js +0 -1
- package/dist/src/services/recommendations/seed-capability-catalog.d.ts +0 -3
- package/dist/src/services/recommendations/seed-capability-catalog.js +0 -3
- package/dist/src/services/refactor/refactor-service.d.ts +0 -9
- package/dist/src/services/refactor/refactor-service.js +0 -36
- package/dist/src/services/release/release-state.d.ts +0 -70
- package/dist/src/services/release/release-state.js +0 -140
- package/dist/src/services/retrospective/retrospective-index.d.ts +0 -37
- package/dist/src/services/retrospective/retrospective-index.js +0 -110
- package/dist/src/services/retrospective/retrospective-search-service.d.ts +0 -55
- package/dist/src/services/retrospective/retrospective-search-service.js +0 -107
- package/dist/src/services/retrospective/retrospective-show.d.ts +0 -40
- package/dist/src/services/retrospective/retrospective-show.js +0 -109
- package/dist/src/services/reviewer/model-family.d.ts +0 -18
- package/dist/src/services/reviewer/model-family.js +0 -70
- package/dist/src/services/reviewer/providers/anthropic.d.ts +0 -2
- package/dist/src/services/reviewer/providers/anthropic.js +0 -61
- package/dist/src/services/reviewer/providers/ollama.d.ts +0 -26
- package/dist/src/services/reviewer/providers/ollama.js +0 -38
- package/dist/src/services/reviewer/providers/openai.d.ts +0 -2
- package/dist/src/services/reviewer/providers/openai.js +0 -63
- package/dist/src/services/reviewer/reviewer-config.d.ts +0 -34
- package/dist/src/services/reviewer/reviewer-config.js +0 -100
- package/dist/src/services/reviewer/reviewer-service.d.ts +0 -56
- package/dist/src/services/reviewer/reviewer-service.js +0 -263
- package/dist/src/services/reviewer/selection-strategies.d.ts +0 -27
- package/dist/src/services/reviewer/selection-strategies.js +0 -53
- package/dist/src/services/role/role-registry.d.ts +0 -38
- package/dist/src/services/role/role-registry.js +0 -83
- package/dist/src/services/runtime/runtime-detector.d.ts +0 -15
- package/dist/src/services/runtime/runtime-detector.js +0 -62
- package/dist/src/services/runtime/runtime-service.d.ts +0 -59
- package/dist/src/services/runtime/runtime-service.js +0 -51
- package/dist/src/services/runtime/vendor-adapter.d.ts +0 -59
- package/dist/src/services/runtime/vendor-adapter.js +0 -1
- package/dist/src/services/runtime/vendors/claude-code.d.ts +0 -7
- package/dist/src/services/runtime/vendors/claude-code.js +0 -39
- package/dist/src/services/runtime/vendors/codex.d.ts +0 -7
- package/dist/src/services/runtime/vendors/codex.js +0 -43
- package/dist/src/services/runtime/vendors/copilot.d.ts +0 -7
- package/dist/src/services/runtime/vendors/copilot.js +0 -40
- package/dist/src/services/sc/index.d.ts +0 -1
- package/dist/src/services/sc/index.js +0 -1
- package/dist/src/services/sc/sc-service.d.ts +0 -131
- package/dist/src/services/sc/sc-service.js +0 -552
- package/dist/src/services/scan/acceptance-coverage-service.d.ts +0 -42
- package/dist/src/services/scan/acceptance-coverage-service.js +0 -140
- package/dist/src/services/scan/api-surface-service.d.ts +0 -69
- package/dist/src/services/scan/api-surface-service.js +0 -239
- package/dist/src/services/scan/archetype-service.d.ts +0 -5
- package/dist/src/services/scan/archetype-service.js +0 -242
- package/dist/src/services/scan/diff-scope-service.d.ts +0 -40
- package/dist/src/services/scan/diff-scope-service.js +0 -198
- package/dist/src/services/scan/existing-system-service.d.ts +0 -7
- package/dist/src/services/scan/existing-system-service.js +0 -300
- package/dist/src/services/scan/file-size-scan.d.ts +0 -23
- package/dist/src/services/scan/file-size-scan.js +0 -68
- package/dist/src/services/scan/karpathy-service.d.ts +0 -60
- package/dist/src/services/scan/karpathy-service.js +0 -228
- package/dist/src/services/scan/libraries-service.d.ts +0 -24
- package/dist/src/services/scan/libraries-service.js +0 -419
- package/dist/src/services/scan/libraries-types.d.ts +0 -59
- package/dist/src/services/scan/libraries-types.js +0 -9
- package/dist/src/services/scan/orphan-service.d.ts +0 -76
- package/dist/src/services/scan/orphan-service.js +0 -538
- package/dist/src/services/scan/scan-types.d.ts +0 -59
- package/dist/src/services/scan/scan-types.js +0 -1
- package/dist/src/services/scan/type-sanity-service.d.ts +0 -23
- package/dist/src/services/scan/type-sanity-service.js +0 -116
- package/dist/src/services/security/safe-settings-path.d.ts +0 -12
- package/dist/src/services/security/safe-settings-path.js +0 -104
- package/dist/src/services/sediment/dispose-confirm.d.ts +0 -9
- package/dist/src/services/sediment/dispose-confirm.js +0 -5
- package/dist/src/services/sediment/json-schema.d.ts +0 -247
- package/dist/src/services/sediment/json-schema.js +0 -26
- package/dist/src/services/sediment/manifest-lint.d.ts +0 -13
- package/dist/src/services/sediment/manifest-lint.js +0 -11
- package/dist/src/services/sediment/pool-paths.d.ts +0 -22
- package/dist/src/services/sediment/pool-paths.js +0 -25
- package/dist/src/services/sediment/pool-read.d.ts +0 -20
- package/dist/src/services/sediment/pool-read.js +0 -73
- package/dist/src/services/sediment/pool-rebuild-index.d.ts +0 -15
- package/dist/src/services/sediment/pool-rebuild-index.js +0 -28
- package/dist/src/services/sediment/pool-write.d.ts +0 -14
- package/dist/src/services/sediment/pool-write.js +0 -25
- package/dist/src/services/sediment/promotion-gate.d.ts +0 -12
- package/dist/src/services/sediment/promotion-gate.js +0 -20
- package/dist/src/services/sediment/types.d.ts +0 -52
- package/dist/src/services/sediment/types.js +0 -1
- package/dist/src/services/session/binding-status-service.d.ts +0 -56
- package/dist/src/services/session/binding-status-service.js +0 -106
- package/dist/src/services/session/binding-store.d.ts +0 -161
- package/dist/src/services/session/binding-store.js +0 -509
- package/dist/src/services/session/caller-binding-service.d.ts +0 -70
- package/dist/src/services/session/caller-binding-service.js +0 -148
- package/dist/src/services/session/caller-id-types.d.ts +0 -77
- package/dist/src/services/session/caller-id-types.js +0 -46
- package/dist/src/services/session/getSessionDir.d.ts +0 -1
- package/dist/src/services/session/getSessionDir.js +0 -27
- package/dist/src/services/session/index.d.ts +0 -6
- package/dist/src/services/session/index.js +0 -7
- package/dist/src/services/session/platform-fallbacks.d.ts +0 -31
- package/dist/src/services/session/platform-fallbacks.js +0 -35
- package/dist/src/services/session/resolve-caller-id.d.ts +0 -57
- package/dist/src/services/session/resolve-caller-id.js +0 -88
- package/dist/src/services/session/session-binding-bridge.d.ts +0 -76
- package/dist/src/services/session/session-binding-bridge.js +0 -247
- package/dist/src/services/session/session-checkpoint-service.d.ts +0 -57
- package/dist/src/services/session/session-checkpoint-service.js +0 -143
- package/dist/src/services/session/session-manager.d.ts +0 -168
- package/dist/src/services/session/session-manager.js +0 -502
- package/dist/src/services/session/session-resume-service.d.ts +0 -25
- package/dist/src/services/session/session-resume-service.js +0 -101
- package/dist/src/services/share/bundle-reader.d.ts +0 -100
- package/dist/src/services/share/bundle-reader.js +0 -434
- package/dist/src/services/share/bundle-types.d.ts +0 -392
- package/dist/src/services/share/bundle-types.js +0 -318
- package/dist/src/services/share/bundle-writer.d.ts +0 -97
- package/dist/src/services/share/bundle-writer.js +0 -429
- package/dist/src/services/share/run-state-contract.d.ts +0 -133
- package/dist/src/services/share/run-state-contract.js +0 -138
- package/dist/src/services/signal/cancel-handler.d.ts +0 -14
- package/dist/src/services/signal/cancel-handler.js +0 -76
- package/dist/src/services/skill/resume-detector.d.ts +0 -54
- package/dist/src/services/skill/resume-detector.js +0 -334
- package/dist/src/services/skill/skill-scheduler.d.ts +0 -40
- package/dist/src/services/skill/skill-scheduler.js +0 -53
- package/dist/src/services/skill/skill-search-service.d.ts +0 -88
- package/dist/src/services/skill/skill-search-service.js +0 -228
- package/dist/src/services/skillhub/release-diff.d.ts +0 -18
- package/dist/src/services/skillhub/release-diff.js +0 -38
- package/dist/src/services/skillhub/release-export.d.ts +0 -8
- package/dist/src/services/skillhub/release-export.js +0 -31
- package/dist/src/services/skillhub/release-gc-blobs.d.ts +0 -13
- package/dist/src/services/skillhub/release-gc-blobs.js +0 -32
- package/dist/src/services/skillhub/release-import.d.ts +0 -7
- package/dist/src/services/skillhub/release-import.js +0 -64
- package/dist/src/services/skillhub/release-retain.d.ts +0 -23
- package/dist/src/services/skillhub/release-retain.js +0 -94
- package/dist/src/services/skillhub/sqlite-store.d.ts +0 -22
- package/dist/src/services/skillhub/sqlite-store.js +0 -63
- package/dist/src/services/skillhub/tar-runtime.d.ts +0 -21
- package/dist/src/services/skillhub/tar-runtime.js +0 -91
- package/dist/src/services/skillhub/types.d.ts +0 -115
- package/dist/src/services/skillhub/types.js +0 -1
- package/dist/src/services/skills/hooks-settings-service.d.ts +0 -137
- package/dist/src/services/skills/hooks-settings-service.js +0 -396
- package/dist/src/services/skills/skill-conformance-service.d.ts +0 -40
- package/dist/src/services/skills/skill-conformance-service.js +0 -139
- package/dist/src/services/skills/skill-presence-service.d.ts +0 -158
- package/dist/src/services/skills/skill-presence-service.js +0 -474
- package/dist/src/services/skills/skill-registry.d.ts +0 -17
- package/dist/src/services/skills/skill-registry.js +0 -67
- package/dist/src/services/skills/skill-runbook-service.d.ts +0 -11
- package/dist/src/services/skills/skill-runbook-service.js +0 -128
- package/dist/src/services/skills/skill-statusline-renderer.d.ts +0 -6
- package/dist/src/services/skills/skill-statusline-renderer.js +0 -55
- package/dist/src/services/skills/skill-statusline-service.d.ts +0 -24
- package/dist/src/services/skills/skill-statusline-service.js +0 -110
- package/dist/src/services/skills/statusline-settings-service.d.ts +0 -59
- package/dist/src/services/skills/statusline-settings-service.js +0 -141
- package/dist/src/services/skills/sync-service.d.ts +0 -86
- package/dist/src/services/skills/sync-service.js +0 -271
- package/dist/src/services/slice/calibration-store.d.ts +0 -39
- package/dist/src/services/slice/calibration-store.js +0 -68
- package/dist/src/services/slice/cross-pass-edge-merger.d.ts +0 -53
- package/dist/src/services/slice/cross-pass-edge-merger.js +0 -246
- package/dist/src/services/slice/granularity-decider.d.ts +0 -37
- package/dist/src/services/slice/granularity-decider.js +0 -40
- package/dist/src/services/slice/llm-arbitrator.d.ts +0 -35
- package/dist/src/services/slice/llm-arbitrator.js +0 -63
- package/dist/src/services/slice/multi-pass-orchestrator.d.ts +0 -67
- package/dist/src/services/slice/multi-pass-orchestrator.js +0 -225
- package/dist/src/services/slice/schema-router.d.ts +0 -44
- package/dist/src/services/slice/schema-router.js +0 -61
- package/dist/src/services/slice/slice-archive-service.d.ts +0 -20
- package/dist/src/services/slice/slice-archive-service.js +0 -111
- package/dist/src/services/slice/slice-benchmark-service.d.ts +0 -19
- package/dist/src/services/slice/slice-benchmark-service.js +0 -60
- package/dist/src/services/slice/slice-check-service.d.ts +0 -2
- package/dist/src/services/slice/slice-check-service.js +0 -459
- package/dist/src/services/slice/slice-check-types.d.ts +0 -104
- package/dist/src/services/slice/slice-check-types.js +0 -28
- package/dist/src/services/slice/slice-decompose-runners.d.ts +0 -23
- package/dist/src/services/slice/slice-decompose-runners.js +0 -174
- package/dist/src/services/slice/slice-decompose-service.d.ts +0 -24
- package/dist/src/services/slice/slice-decompose-service.js +0 -532
- package/dist/src/services/slice/slice-decompose-types.d.ts +0 -263
- package/dist/src/services/slice/slice-decompose-types.js +0 -30
- package/dist/src/services/slice/slice-integration.d.ts +0 -43
- package/dist/src/services/slice/slice-integration.js +0 -106
- package/dist/src/services/slice/slice-pick-service.d.ts +0 -32
- package/dist/src/services/slice/slice-pick-service.js +0 -75
- package/dist/src/services/slice/slice-review-state.d.ts +0 -70
- package/dist/src/services/slice/slice-review-state.js +0 -109
- package/dist/src/services/slice/slice-topology-types.d.ts +0 -115
- package/dist/src/services/slice/slice-topology-types.js +0 -20
- package/dist/src/services/smoke/smoke-paths-state.d.ts +0 -73
- package/dist/src/services/smoke/smoke-paths-state.js +0 -117
- package/dist/src/services/sop/gate-enforce-service.d.ts +0 -33
- package/dist/src/services/sop/gate-enforce-service.js +0 -168
- package/dist/src/services/sop/sop-advance-service.d.ts +0 -74
- package/dist/src/services/sop/sop-advance-service.js +0 -115
- package/dist/src/services/sop/sop-check-service.d.ts +0 -45
- package/dist/src/services/sop/sop-check-service.js +0 -181
- package/dist/src/services/sop/sop-paths.d.ts +0 -62
- package/dist/src/services/sop/sop-paths.js +0 -92
- package/dist/src/services/sop/sop-registry-service.d.ts +0 -46
- package/dist/src/services/sop/sop-registry-service.js +0 -89
- package/dist/src/services/sop/sop-service.d.ts +0 -55
- package/dist/src/services/sop/sop-service.js +0 -222
- package/dist/src/services/sop/sop-types.d.ts +0 -95
- package/dist/src/services/sop/sop-types.js +0 -11
- package/dist/src/services/standards/ide-aware-standards-service.d.ts +0 -94
- package/dist/src/services/standards/ide-aware-standards-service.js +0 -89
- package/dist/src/services/standards/loop-engineering-lint.d.ts +0 -38
- package/dist/src/services/standards/loop-engineering-lint.js +0 -101
- package/dist/src/services/standards/loop-engineering-readiness-lint.d.ts +0 -111
- package/dist/src/services/standards/loop-engineering-readiness-lint.js +0 -248
- package/dist/src/services/standards/migrate-claude-rules-service.d.ts +0 -19
- package/dist/src/services/standards/migrate-claude-rules-service.js +0 -193
- package/dist/src/services/standards/migrate-service.d.ts +0 -63
- package/dist/src/services/standards/migrate-service.js +0 -193
- package/dist/src/services/standards/missing-standards-detector.d.ts +0 -79
- package/dist/src/services/standards/missing-standards-detector.js +0 -132
- package/dist/src/services/standards/project-context.d.ts +0 -24
- package/dist/src/services/standards/project-context.js +0 -314
- package/dist/src/services/standards/project-standards-service.d.ts +0 -114
- package/dist/src/services/standards/project-standards-service.js +0 -574
- package/dist/src/services/tech/tech-service.d.ts +0 -69
- package/dist/src/services/tech/tech-service.js +0 -299
- package/dist/src/services/test-cache/test-cache-service.d.ts +0 -70
- package/dist/src/services/test-cache/test-cache-service.js +0 -175
- package/dist/src/services/understand/hybrid-types.d.ts +0 -32
- package/dist/src/services/understand/hybrid-types.js +0 -1
- package/dist/src/services/understand/understand-hybrid-service.d.ts +0 -10
- package/dist/src/services/understand/understand-hybrid-service.js +0 -100
- package/dist/src/services/understand/understand-scan-service.d.ts +0 -28
- package/dist/src/services/understand/understand-scan-service.js +0 -170
- package/dist/src/services/understand/understand-types.d.ts +0 -50
- package/dist/src/services/understand/understand-types.js +0 -1
- package/dist/src/services/upgrade/1x-detector-service.d.ts +0 -7
- package/dist/src/services/upgrade/1x-detector-service.js +0 -94
- package/dist/src/services/upgrade/gitignore-migrate-service.d.ts +0 -56
- package/dist/src/services/upgrade/gitignore-migrate-service.js +0 -170
- package/dist/src/services/upgrade/upgrade-service.d.ts +0 -81
- package/dist/src/services/upgrade/upgrade-service.js +0 -403
- package/dist/src/services/verdict/envelopes.d.ts +0 -93
- package/dist/src/services/verdict/envelopes.js +0 -349
- package/dist/src/services/verdict/verdict-aggregator.d.ts +0 -94
- package/dist/src/services/verdict/verdict-aggregator.js +0 -112
- package/dist/src/services/workflow/artifact-paths.d.ts +0 -59
- package/dist/src/services/workflow/artifact-paths.js +0 -166
- package/dist/src/services/workflow/autonomous-resume-writer.d.ts +0 -16
- package/dist/src/services/workflow/autonomous-resume-writer.js +0 -170
- package/dist/src/services/workflow/pipeline-verify-service.d.ts +0 -90
- package/dist/src/services/workflow/pipeline-verify-service.js +0 -449
- package/dist/src/services/workflow/plan-reader.d.ts +0 -29
- package/dist/src/services/workflow/plan-reader.js +0 -174
- package/dist/src/services/workflow/plan-refresher.d.ts +0 -32
- package/dist/src/services/workflow/plan-refresher.js +0 -353
- package/dist/src/services/workflow/plan-trigger-detector.d.ts +0 -55
- package/dist/src/services/workflow/plan-trigger-detector.js +0 -142
- package/dist/src/services/workflow/workflow-autonomous-resume-helpers.d.ts +0 -19
- package/dist/src/services/workflow/workflow-autonomous-resume-helpers.js +0 -300
- package/dist/src/services/workflow/workflow-autonomous-service.d.ts +0 -100
- package/dist/src/services/workflow/workflow-autonomous-service.js +0 -306
- package/dist/src/services/workflow/workflow-loader.d.ts +0 -63
- package/dist/src/services/workflow/workflow-loader.js +0 -168
- package/dist/src/services/workflow/workflow-router-service.d.ts +0 -85
- package/dist/src/services/workflow/workflow-router-service.js +0 -227
- package/dist/src/services/workflow/workflow-skip-service.d.ts +0 -106
- package/dist/src/services/workflow/workflow-skip-service.js +0 -209
- package/dist/src/services/workflow/workflow-spec.d.ts +0 -116
- package/dist/src/services/workflow/workflow-spec.js +0 -431
- package/dist/src/services/workflow/workflow-state-store.d.ts +0 -27
- package/dist/src/services/workflow/workflow-state-store.js +0 -95
- package/dist/src/services/workspace/claude-settings-template.d.ts +0 -101
- package/dist/src/services/workspace/claude-settings-template.js +0 -254
- package/dist/src/services/workspace/migrate-1-4-1-service.d.ts +0 -44
- package/dist/src/services/workspace/migrate-1-4-1-service.js +0 -195
- package/dist/src/services/workspace/migrate-service.d.ts +0 -2
- package/dist/src/services/workspace/migrate-service.js +0 -613
- package/dist/src/services/workspace/migrate-types.d.ts +0 -127
- package/dist/src/services/workspace/migrate-types.js +0 -21
- package/dist/src/services/workspace/reconcile-service.d.ts +0 -188
- package/dist/src/services/workspace/reconcile-service.js +0 -683
- package/dist/src/services/workspace/reconcile-types.d.ts +0 -130
- package/dist/src/services/workspace/reconcile-types.js +0 -13
- package/dist/src/services/workspace/sid-naming-guard.d.ts +0 -17
- package/dist/src/services/workspace/sid-naming-guard.js +0 -34
- package/dist/src/services/workspace/workspace-claude-settings-materializer.d.ts +0 -45
- package/dist/src/services/workspace/workspace-claude-settings-materializer.js +0 -194
- package/dist/src/services/workspace/workspace-clean-service.d.ts +0 -28
- package/dist/src/services/workspace/workspace-clean-service.js +0 -46
- package/dist/src/services/workspace/workspace-service.d.ts +0 -177
- package/dist/src/services/workspace/workspace-service.js +0 -432
- package/dist/src/services/workspace/workspace-state-service.d.ts +0 -7
- package/dist/src/services/workspace/workspace-state-service.js +0 -43
- package/dist/src/shared/format-md-compact.d.ts +0 -32
- package/dist/src/shared/format-md-compact.js +0 -297
- package/dist/src/shared/frontmatter.d.ts +0 -6
- package/dist/src/shared/frontmatter.js +0 -165
- package/dist/src/shared/fs-utils.d.ts +0 -4
- package/dist/src/shared/fs-utils.js +0 -16
- package/dist/src/shared/fs.d.ts +0 -4
- package/dist/src/shared/fs.js +0 -26
- package/dist/src/shared/incrementing-number.d.ts +0 -23
- package/dist/src/shared/incrementing-number.js +0 -68
- package/dist/src/shared/json-schema-mini.d.ts +0 -10
- package/dist/src/shared/json-schema-mini.js +0 -113
- package/dist/src/shared/path-safety.d.ts +0 -21
- package/dist/src/shared/path-safety.js +0 -54
- package/dist/src/shared/path-utils.d.ts +0 -13
- package/dist/src/shared/path-utils.js +0 -56
- package/dist/src/shared/paths.d.ts +0 -6
- package/dist/src/shared/paths.js +0 -50
- package/dist/src/shared/planner-response.d.ts +0 -21
- package/dist/src/shared/planner-response.js +0 -26
- package/dist/src/shared/platform.d.ts +0 -6
- package/dist/src/shared/platform.js +0 -11
- package/dist/src/shared/process.d.ts +0 -5
- package/dist/src/shared/process.js +0 -12
- package/dist/src/shared/result.d.ts +0 -22
- package/dist/src/shared/result.js +0 -46
- package/dist/src/shared/stale-policy.d.ts +0 -67
- package/dist/src/shared/stale-policy.js +0 -85
- package/dist/src/shared/version.d.ts +0 -1
- package/dist/src/shared/version.js +0 -1
- package/dist/src/skills/peaks-maker/index.d.ts +0 -5
- package/dist/src/skills/peaks-maker/index.js +0 -32
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { searchSkills, SkillSearchInputSchema } from '../../services/skill/skill-search-service.js';
|
|
2
|
-
import { getErrorMessage } from '../../shared/result.js';
|
|
3
|
-
/**
|
|
4
|
-
* Validate the raw CLI flags, call the service, and emit a JSON
|
|
5
|
-
* envelope on stdout. Errors flow through stderr + non-zero exit
|
|
6
|
-
* codes per the plan §"API Contract" table.
|
|
7
|
-
*/
|
|
8
|
-
export function registerSkillSearchCommand(program, io) {
|
|
9
|
-
// The parent `skill` command is created by registerSkillCommand in
|
|
10
|
-
// core/skill-command.ts. To keep the wiring self-contained we
|
|
11
|
-
// resolve the parent by name; this also lets tests register the
|
|
12
|
-
// subcommand in isolation.
|
|
13
|
-
const skill = program.commands.find((c) => c.name() === 'skill');
|
|
14
|
-
if (skill === undefined) {
|
|
15
|
-
// Defensive: the parent must be registered before us. Surface the
|
|
16
|
-
// error visibly — the dispatcher cannot triage without `peaks skill`
|
|
17
|
-
// existing, so the LLM-side caller needs to know.
|
|
18
|
-
throw new Error('peaks skill search: parent `skill` command not found. ' +
|
|
19
|
-
'Ensure registerSkillCommand is called before registerSkillSearchCommand.');
|
|
20
|
-
}
|
|
21
|
-
skill
|
|
22
|
-
.command('search')
|
|
23
|
-
.description('Search the in-tree skill pool by --query (substring on description + triggers) ' +
|
|
24
|
-
'and/or --tag (exact match on metadata.tags) and/or --domain (exact match). ' +
|
|
25
|
-
'Outputs a JSON array (always, even on no-match) to stdout. ' +
|
|
26
|
-
'See docs/superpowers/specs/2026-07-08-peaks-solo-dispatcher-design.md §3.2.')
|
|
27
|
-
.option('-q, --query <text>', 'case-insensitive substring matched against skill description + triggers')
|
|
28
|
-
.option('-t, --tag <tag>', 'exact match on metadata.tags (e.g. "orchestrator", "loop-engineering")')
|
|
29
|
-
.option('-d, --domain <domain>', 'exact match on metadata.domain (locked enum: code | content | doctor | research | triage | sop | audit | final-review | resume | status | test | ide | slice-decompose | issue-fix-orchestrator | perf-audit | security-audit | reviewer)')
|
|
30
|
-
.option('-l, --limit <n>', 'max results returned (1..100, default 20)', (v) => Number.parseInt(v, 10))
|
|
31
|
-
.action(async (options) => {
|
|
32
|
-
// 1) Coerce + validate input via the service's Zod schema.
|
|
33
|
-
// The schema's refine rejects empty input — that is the
|
|
34
|
-
// "all-empty → error" contract the spec mandates.
|
|
35
|
-
const raw = {};
|
|
36
|
-
if (options.query !== undefined)
|
|
37
|
-
raw['query'] = options.query;
|
|
38
|
-
if (options.tag !== undefined)
|
|
39
|
-
raw['tag'] = options.tag;
|
|
40
|
-
if (options.domain !== undefined)
|
|
41
|
-
raw['domain'] = options.domain;
|
|
42
|
-
if (options.limit !== undefined)
|
|
43
|
-
raw['limit'] = options.limit;
|
|
44
|
-
const parsed = SkillSearchInputSchema.safeParse(raw);
|
|
45
|
-
if (!parsed.success) {
|
|
46
|
-
// Exit code 1 = invalid args. Emit a human-readable message
|
|
47
|
-
// on stderr so the LLM-side caller can act on it; do NOT
|
|
48
|
-
// pollute stdout (which downstream tools parse as JSON).
|
|
49
|
-
for (const issue of parsed.error.issues) {
|
|
50
|
-
io.stderr(`${issue.path.join('.') || '<root>'}: ${issue.message}`);
|
|
51
|
-
}
|
|
52
|
-
process.exitCode = 1;
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
// 2) Call the service. Any unexpected error (skill pool read
|
|
56
|
-
// fail, etc.) maps to exit code 2.
|
|
57
|
-
try {
|
|
58
|
-
const results = await searchSkills(parsed.data);
|
|
59
|
-
// Always emit a JSON array on stdout. The plan locks this
|
|
60
|
-
// contract: even no-match returns `[]`, never `null`.
|
|
61
|
-
io.stdout(JSON.stringify(results));
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
io.stderr(`skill.search failed: ${getErrorMessage(error)}`);
|
|
65
|
-
process.exitCode = 2;
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
|
-
export interface SkillVisibility {
|
|
3
|
-
name: string;
|
|
4
|
-
userInvocable: boolean;
|
|
5
|
-
visibility: 'public' | 'internal';
|
|
6
|
-
}
|
|
7
|
-
export declare function listSkillsVisibility(repoRoot: string): SkillVisibility[];
|
|
8
|
-
export declare function registerSkillVisibilityCommand(program: Command, repoRoot: string): void;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `peaks skill:visibility` — Skill visibility CLI surface.
|
|
3
|
-
*
|
|
4
|
-
* Slice: Task 1 of peaks-code → peaks-code rename plan.
|
|
5
|
-
*
|
|
6
|
-
* Reads `.claude-plugin/marketplace.json`, resolves each skill entry's
|
|
7
|
-
* visibility (public / internal) from the optional `userInvocable`
|
|
8
|
-
* field, and emits either:
|
|
9
|
-
* - a TSV list (`name \t visibility`) for human use
|
|
10
|
-
* - a JSON envelope `{ ok, skills }` for programmatic use
|
|
11
|
-
*
|
|
12
|
-
* Schema contract:
|
|
13
|
-
* - internal: `userInvocable: false`
|
|
14
|
-
* - public (default): `userInvocable` omitted OR `true`
|
|
15
|
-
*
|
|
16
|
-
* The skill list lives at `plugins[0].skills` in marketplace.json;
|
|
17
|
-
* entries are objects of shape `{ name, path?, userInvocable?, description? }`.
|
|
18
|
-
* Older string-array shapes are auto-coerced (each string is treated as
|
|
19
|
-
* a public skill whose name is the basename of the path).
|
|
20
|
-
*/
|
|
21
|
-
import { readFileSync } from 'node:fs';
|
|
22
|
-
import { join, basename } from 'node:path';
|
|
23
|
-
export function listSkillsVisibility(repoRoot) {
|
|
24
|
-
const marketplacePath = join(repoRoot, '.claude-plugin', 'marketplace.json');
|
|
25
|
-
const raw = readFileSync(marketplacePath, 'utf-8');
|
|
26
|
-
const parsed = JSON.parse(raw);
|
|
27
|
-
const skills = parsed.plugins?.[0]?.skills ?? [];
|
|
28
|
-
return skills.map((entry) => {
|
|
29
|
-
if (typeof entry === 'string') {
|
|
30
|
-
return {
|
|
31
|
-
name: basename(entry),
|
|
32
|
-
userInvocable: true,
|
|
33
|
-
visibility: 'public',
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
const userInvocable = entry.userInvocable !== false;
|
|
37
|
-
return {
|
|
38
|
-
name: entry.name ?? '',
|
|
39
|
-
userInvocable,
|
|
40
|
-
visibility: userInvocable ? 'public' : 'internal',
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
export function registerSkillVisibilityCommand(program, repoRoot) {
|
|
45
|
-
const cmd = program
|
|
46
|
-
.command('skill:visibility')
|
|
47
|
-
.description('List skill visibility (public vs internal)')
|
|
48
|
-
.option('--list', 'List all skills')
|
|
49
|
-
.option('--name <name>', 'Query single skill')
|
|
50
|
-
.option('--json', 'JSON output');
|
|
51
|
-
cmd.action((opts) => {
|
|
52
|
-
const all = listSkillsVisibility(repoRoot);
|
|
53
|
-
const filtered = opts.name ? all.filter((s) => s.name === opts.name) : all;
|
|
54
|
-
if (opts.json) {
|
|
55
|
-
process.stdout.write(JSON.stringify({ ok: true, skills: filtered }, null, 2) + '\n');
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
for (const s of filtered) {
|
|
59
|
-
process.stdout.write(`${s.name}\t${s.visibility}\n`);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { type ProgramIO } from '../cli-helpers.js';
|
|
3
|
-
export declare function registerSliceCommands(program: Command, io: ProgramIO): void;
|
|
4
|
-
interface PickedEnvelope {
|
|
5
|
-
readonly rid: string;
|
|
6
|
-
readonly picked: readonly {
|
|
7
|
-
readonly rid: string;
|
|
8
|
-
readonly files: readonly string[];
|
|
9
|
-
readonly label: string;
|
|
10
|
-
}[];
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Validate a -picked.json envelope. Throws a CLI-friendly Error on any
|
|
14
|
-
* shape violation; the catch in the slice.plan action converts it to
|
|
15
|
-
* a fail() envelope with `code: 'PICKED_ENVELOPE_INVALID'`.
|
|
16
|
-
*
|
|
17
|
-
* Schema:
|
|
18
|
-
* { rid: string; picked: Array<{ rid, files: string[], label }> }
|
|
19
|
-
*
|
|
20
|
-
* Rejects: missing rid, missing/invalid picked array, picked[i] missing
|
|
21
|
-
* rid / files / label, picked[i].files empty.
|
|
22
|
-
*/
|
|
23
|
-
export declare function parsePickedFile(pickedPath: string): PickedEnvelope;
|
|
24
|
-
export {};
|
|
@@ -1,492 +0,0 @@
|
|
|
1
|
-
import { readFileSync, writeFileSync, mkdirSync, existsSync, readdirSync, statSync } from 'node:fs';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { resolveCanonicalProjectRoot } from '../../services/config/config-service.js';
|
|
4
|
-
import { sliceCheck } from '../../services/slice/slice-check-service.js';
|
|
5
|
-
import { decomposeSlices } from '../../services/slice/slice-decompose-service.js';
|
|
6
|
-
import { decomposeSlicesWithBenchmark } from '../../services/slice/slice-benchmark-service.js';
|
|
7
|
-
import { pickSlicesInteractive } from '../../services/slice/slice-pick-service.js';
|
|
8
|
-
import { decompose as multiPassDecompose } from '../../services/slice/multi-pass-orchestrator.js';
|
|
9
|
-
import { readResult as readDecompositionResult, writeResult as writeSchemaResult } from '../../services/slice/schema-router.js';
|
|
10
|
-
import { fail, ok } from '../../shared/result.js';
|
|
11
|
-
import { addJsonOption, getErrorMessage, printResult } from '../cli-helpers.js';
|
|
12
|
-
export function registerSliceCommands(program, io) {
|
|
13
|
-
const slice = program.command('slice').description('Slice lifecycle: check (boundary), decompose (PRD -> 6-stage algorithm), ' +
|
|
14
|
-
'pick (fzf multi-select), plan (apply via peaks request init). ' +
|
|
15
|
-
'`peaks slice check` is the post-micro-cycle boundary gate (4 stages). ' +
|
|
16
|
-
'`decompose/pick/plan` form the new slice-decomposition pipeline.');
|
|
17
|
-
// ---------- peaks slice check (existing) ----------
|
|
18
|
-
addJsonOption(slice
|
|
19
|
-
.command('check')
|
|
20
|
-
.description('Boundary check for a slice (post-micro-cycle, pre-peaks-qa). ' +
|
|
21
|
-
'Runs 4 stages in order: typecheck -> unit-tests (changed-only by default; ' +
|
|
22
|
-
'use --run-tests for the full suite, or --skip-tests to opt out) -> ' +
|
|
23
|
-
'review-fanout -> gate-verify-pipeline. ' +
|
|
24
|
-
'Each stage reports pass / fail / skipped. ' +
|
|
25
|
-
'Exit 0 only if every stage passes or is skipped.')
|
|
26
|
-
.option('--project <path>', 'target project root', '.')
|
|
27
|
-
.option('--rid <rid>', 'request id; defaults to the active current-change binding')
|
|
28
|
-
.option('--refresh-fanout', 're-run the 3-way review fan-out (peaks-rd) even if the review files already exist', false)
|
|
29
|
-
.option('--run-tests', 'opt in to the FULL test suite at the boundary (default is the changed-only suite via `vitest run --changed`); use the peaks-test skill to run the full suite standalone', false)
|
|
30
|
-
.option('--skip-tests', 'skip the unit-test stage entirely (e.g. docs-only slices); use the peaks-test skill to run the full suite manually if you want a separate check', false)
|
|
31
|
-
.option('--allow-pre-existing-failures', 'opt-in: if the unit-test stage fails, report it as `skipped` with a reason naming the failure count (useful when the repo has unrelated pre-existing failures; the long-term fix is to .skip or coverage.exclude those tests). Only meaningful with --run-tests or the default changed-only mode.', false)).action(async (options) => {
|
|
32
|
-
try {
|
|
33
|
-
const projectRoot = resolveCanonicalProjectRoot(options.project);
|
|
34
|
-
const result = await sliceCheck({
|
|
35
|
-
projectRoot,
|
|
36
|
-
...(options.rid ? { rid: options.rid } : {}),
|
|
37
|
-
refreshFanout: options.refreshFanout === true,
|
|
38
|
-
runTests: options.runTests === true,
|
|
39
|
-
skipTests: options.skipTests === true,
|
|
40
|
-
allowPreExistingFailures: options.allowPreExistingFailures === true
|
|
41
|
-
});
|
|
42
|
-
const warnings = [];
|
|
43
|
-
if (result.stages.some((s) => s.status === 'fail')) {
|
|
44
|
-
warnings.push(`${result.stages.filter((s) => s.status === 'fail').length} of ${result.stages.length} stages failed. 边界 NOT ready -- fix the failures and re-run, or proceed at your own risk.`);
|
|
45
|
-
}
|
|
46
|
-
printResult(io, ok('slice.check', result, warnings, result.nextActions), options.json ?? false);
|
|
47
|
-
if (!result.boundaryReady) {
|
|
48
|
-
process.exitCode = 1;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
printResult(io, fail('slice.check', 'SLICE_CHECK_FAILED', getErrorMessage(error), { projectRoot: options.project }, ['Verify the project path is a peaks repo, --rid is correct, and .peaks/_runtime/current-change is valid']), options.json ?? false);
|
|
53
|
-
process.exitCode = 1;
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
// ---------- peaks slice ls (slice 2026-06-27-slice-ls) ----------
|
|
57
|
-
// Read-only listing of every decomposition artifact under
|
|
58
|
-
// .peaks/sc/slice-decomposition/. Used by operators to see what's
|
|
59
|
-
// accumulated; companion to a future `peaks slice cleanup` subcommand.
|
|
60
|
-
// Pure functions (`listDecompositions`, `computeStale`) are kept inline so
|
|
61
|
-
// the listing logic stays co-located with the subcommand (Karpathy #2:
|
|
62
|
-
// simplicity first — no speculative helper file).
|
|
63
|
-
addJsonOption(slice
|
|
64
|
-
.command('ls')
|
|
65
|
-
.description('List slice decomposition artifacts under .peaks/sc/slice-decomposition/. ' +
|
|
66
|
-
'Returns one row per distinct rid with mtime, sizeBytes, pickedPath, and isStale ' +
|
|
67
|
-
'(mtime > 30d). Use --stale-only to filter, --rid <substring> to narrow, ' +
|
|
68
|
-
'--limit <n> to cap. To remove stale entries, use `peaks slice cleanup` (separate slice).')
|
|
69
|
-
.option('--project <path>', 'target project root', '.')
|
|
70
|
-
.option('--limit <n>', 'cap result count (default 50, max 500)', (v) => parseInt(v, 10), 50)
|
|
71
|
-
.option('--stale-only', 'only include rids older than the stale threshold', false)
|
|
72
|
-
.option('--rid <substring>', 'case-insensitive substring filter on rid', '')).action((options) => {
|
|
73
|
-
try {
|
|
74
|
-
const projectRoot = resolveCanonicalProjectRoot(options.project);
|
|
75
|
-
const limit = Math.max(1, Math.min(500, options.limit ?? 50));
|
|
76
|
-
const all = listDecompositions(projectRoot);
|
|
77
|
-
let filtered = all;
|
|
78
|
-
const ridSub = (options.rid ?? '').toLowerCase();
|
|
79
|
-
if (ridSub.length > 0) {
|
|
80
|
-
filtered = filtered.filter((row) => row.rid.toLowerCase().includes(ridSub));
|
|
81
|
-
}
|
|
82
|
-
if (options.staleOnly === true) {
|
|
83
|
-
filtered = filtered.filter((row) => row.isStale);
|
|
84
|
-
}
|
|
85
|
-
const truncated = filtered.length > limit;
|
|
86
|
-
const page = filtered.slice(0, limit);
|
|
87
|
-
if (options.json === true) {
|
|
88
|
-
const nextActions = [];
|
|
89
|
-
if (truncated) {
|
|
90
|
-
nextActions.push(`Result truncated to ${limit} rows; pass --limit <n> to see more.`);
|
|
91
|
-
}
|
|
92
|
-
if (page.some((r) => r.isStale)) {
|
|
93
|
-
nextActions.push('Some entries are stale (>30d). Use `peaks slice cleanup` to remove them.');
|
|
94
|
-
}
|
|
95
|
-
printResult(io, ok('slice.ls', { rids: page, truncated, totalBeforeFilter: filtered.length, totalScanned: all.length }, [], nextActions), true);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
// Plaintext mode: header + table
|
|
99
|
-
const lines = [];
|
|
100
|
-
lines.push('RID'.padEnd(34) + 'MTIME'.padEnd(22) + 'SIZE'.padEnd(8) + 'PICKED'.padEnd(6) + 'STALE');
|
|
101
|
-
lines.push('-'.repeat(76));
|
|
102
|
-
for (const r of page) {
|
|
103
|
-
lines.push(r.rid.padEnd(34) +
|
|
104
|
-
r.mtime.padEnd(22) +
|
|
105
|
-
String(r.sizeBytes).padEnd(8) +
|
|
106
|
-
(r.pickedPath ? 'yes' : 'no').padEnd(6) +
|
|
107
|
-
(r.isStale ? 'yes' : 'no'));
|
|
108
|
-
}
|
|
109
|
-
if (truncated) {
|
|
110
|
-
lines.push(`... (${filtered.length - limit} more, --limit to see more)`);
|
|
111
|
-
}
|
|
112
|
-
if (page.length === 0) {
|
|
113
|
-
lines.push('(no slice decompositions found)');
|
|
114
|
-
}
|
|
115
|
-
process.stdout.write(lines.join('\n') + '\n');
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
printResult(io, fail('slice.ls', 'SLICE_LS_FAILED', getErrorMessage(error), { projectRoot: options.project }, ['Verify the project path is a peaks repo and .peaks/sc/slice-decomposition/ exists or can be created']), options.json ?? false);
|
|
119
|
-
process.exitCode = 1;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
// ---------- peaks slice decompose (NEW) ----------
|
|
123
|
-
addJsonOption(slice
|
|
124
|
-
.command('decompose <rid>')
|
|
125
|
-
.description('Run the 6-stage slice-decomposition algorithm on a PRD. ' +
|
|
126
|
-
'Inputs: PRD body + peaks codegraph + .understand-anything/knowledge-graph.json (optional). ' +
|
|
127
|
-
'Outputs: .peaks/sc/slice-decomposition/<rid>.json with critical-path, ' +
|
|
128
|
-
'parallel-batches, and per-slice work estimates. ' +
|
|
129
|
-
'Algorithm is fzf-free. Replay vs hand-derived 2.1.0 dry-run: +-10% on p50. ' +
|
|
130
|
-
'Pass --benchmark to also emit a SliceBenchmark envelope (totalMs, codegraphQueries, ' +
|
|
131
|
-
'p50ConfidenceDistribution, outputJsonBytes) and persist it under ' +
|
|
132
|
-
'.peaks/_runtime/<sid>/benchmarks/<rid>.benchmark.json for cross-version comparison.')
|
|
133
|
-
.option('--project <path>', 'target project root', '.')
|
|
134
|
-
.option('--refresh', 're-run `peaks codegraph index` before reading', false)
|
|
135
|
-
.option('--benchmark', 'record per-run metrics and attach to the result envelope (2.1.1 algorithm optimization comparison)', false)
|
|
136
|
-
.option('--granularity <value>', 'service | file | both | auto. Default "both" keeps the v1 6-stage path; service / file / auto enable v2 multi-pass decomposition (peaks-loop 2.9+) and emit a DecompositionResultV2 envelope via SchemaRouter', 'both')).action(async (rid, options) => {
|
|
137
|
-
// Validate --granularity BEFORE any I/O so invalid values fail fast with a
|
|
138
|
-
// nextActions hint listing the four allowed strings.
|
|
139
|
-
const granularity = options.granularity ?? 'both';
|
|
140
|
-
if (granularity !== 'service' &&
|
|
141
|
-
granularity !== 'file' &&
|
|
142
|
-
granularity !== 'both' &&
|
|
143
|
-
granularity !== 'auto') {
|
|
144
|
-
printResult(io, fail('slice.decompose', 'SLICE_DECOMPOSE_FAILED', `Invalid --granularity '${options.granularity}'.`, { rid, projectRoot: options.project }, [
|
|
145
|
-
`--granularity accepts one of: service, file, both, auto`,
|
|
146
|
-
`Default (omit the flag or pass "both") keeps the existing v1 path.`,
|
|
147
|
-
`Non-default values (service / file / auto) enable v2 multi-pass decomposition (peaks-loop 2.9+).`
|
|
148
|
-
]), options.json ?? false);
|
|
149
|
-
process.exitCode = 1;
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
try {
|
|
153
|
-
const projectRoot = resolveCanonicalProjectRoot(options.project);
|
|
154
|
-
const prdMarkdown = readPrdBody(rid, projectRoot);
|
|
155
|
-
// Non-default granularity takes the v2 path; default ("both") keeps v1.
|
|
156
|
-
if (granularity !== 'both') {
|
|
157
|
-
const v2Result = await multiPassDecompose(rid, prdMarkdown, projectRoot, {
|
|
158
|
-
...(options.refresh ? { refresh: true } : {}),
|
|
159
|
-
granularity
|
|
160
|
-
});
|
|
161
|
-
const outDir = join(projectRoot, '.peaks', 'sc', 'slice-decomposition');
|
|
162
|
-
if (!existsSync(outDir)) {
|
|
163
|
-
mkdirSync(outDir, { recursive: true });
|
|
164
|
-
}
|
|
165
|
-
const outPath = join(outDir, `${rid}.json`);
|
|
166
|
-
writeSchemaResult(outPath, v2Result);
|
|
167
|
-
const nextActions = [
|
|
168
|
-
`Decomposition (v2) written to ${outPath}`,
|
|
169
|
-
`peaks slice pick/plan: v2 schemas require SchemaRouter-aware consumers (peaks-loop 2.9+).`
|
|
170
|
-
];
|
|
171
|
-
printResult(io, ok('slice.decompose', { ...v2Result, outputPath: outPath }, [], nextActions), options.json ?? false);
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
let result;
|
|
175
|
-
let benchmark = null;
|
|
176
|
-
if (options.benchmark === true) {
|
|
177
|
-
const out = await decomposeSlicesWithBenchmark(rid, prdMarkdown, projectRoot, {
|
|
178
|
-
...(options.refresh ? { refresh: true } : {})
|
|
179
|
-
});
|
|
180
|
-
result = out.result;
|
|
181
|
-
benchmark = out.benchmark;
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
result = await decomposeSlices(rid, prdMarkdown, projectRoot, {
|
|
185
|
-
...(options.refresh ? { refresh: true } : {})
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
const outPath = writeDecompositionFile(rid, result, projectRoot);
|
|
189
|
-
const nextActions = [
|
|
190
|
-
`Decomposition written to ${outPath}`,
|
|
191
|
-
`Next: peaks slice pick ${rid} (requires fzf >= 0.38)`,
|
|
192
|
-
`Or manually craft -picked.json from the JSON output, then peaks slice plan ${rid}`
|
|
193
|
-
];
|
|
194
|
-
if (result.understandAnything.fallback === 'structural-only') {
|
|
195
|
-
nextActions.push('Note: understand-anything not indexed; cuts are structural-only. Run /understand in your IDE to improve semantic-cut quality.');
|
|
196
|
-
}
|
|
197
|
-
if (result.pickHint) {
|
|
198
|
-
nextActions.push(result.pickHint);
|
|
199
|
-
}
|
|
200
|
-
if (benchmark !== null) {
|
|
201
|
-
const benchPath = writeBenchmarkArtifact(rid, benchmark, projectRoot);
|
|
202
|
-
nextActions.push(`Benchmark: totalMs=${benchmark.totalMs} codegraphQueries=${benchmark.codegraphQueries} ` +
|
|
203
|
-
`p50Conf={low:${benchmark.p50ConfidenceDistribution.low},mid:${benchmark.p50ConfidenceDistribution.mid},high:${benchmark.p50ConfidenceDistribution.high}} ` +
|
|
204
|
-
`outputJsonBytes=${benchmark.outputJsonBytes}. Persisted to ${benchPath}`);
|
|
205
|
-
}
|
|
206
|
-
printResult(io, ok('slice.decompose', { ...result, outputPath: outPath, ...(benchmark !== null ? { benchmark } : {}) }, [], nextActions), options.json ?? false);
|
|
207
|
-
}
|
|
208
|
-
catch (error) {
|
|
209
|
-
printResult(io, fail('slice.decompose', 'SLICE_DECOMPOSE_FAILED', getErrorMessage(error), { rid, projectRoot: options.project }, ['Verify codegraph is initialised (npx codegraph init && npx codegraph index), the rid is correct, and the PRD body is non-empty']), options.json ?? false);
|
|
210
|
-
process.exitCode = 1;
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
// ---------- peaks slice pick (NEW) ----------
|
|
214
|
-
addJsonOption(slice
|
|
215
|
-
.command('pick <rid>')
|
|
216
|
-
.description('Interactively select which candidate slices to ship, via fzf. ' +
|
|
217
|
-
'Reads .peaks/sc/slice-decomposition/<rid>.json, ' +
|
|
218
|
-
'spawns fzf --multi, parses selection, writes -picked.json. ' +
|
|
219
|
-
'Requires fzf >= 0.38. Algorithm is fzf-free; this is the only fzf dependency.')
|
|
220
|
-
.option('--project <path>', 'target project root', '.')
|
|
221
|
-
.option('--preview', 'render side-by-side preview window in fzf', false)
|
|
222
|
-
.option('--fzf-bin <path>', 'override fzf binary path (default: fzf on PATH)', 'fzf')).action(async (rid, options) => {
|
|
223
|
-
try {
|
|
224
|
-
const projectRoot = resolveCanonicalProjectRoot(options.project);
|
|
225
|
-
const decompPath = join(projectRoot, '.peaks', 'sc', 'slice-decomposition', `${rid}.json`);
|
|
226
|
-
if (!existsSync(decompPath)) {
|
|
227
|
-
throw new Error(`decomposition not found at ${decompPath}. ` +
|
|
228
|
-
`Run \`peaks slice decompose ${rid}\` first.`);
|
|
229
|
-
}
|
|
230
|
-
const parsed = readDecompositionResult(decompPath);
|
|
231
|
-
if ('schemaVersion' in parsed) {
|
|
232
|
-
throw new Error(`decomposition at ${decompPath} is a v2 envelope (schemaVersion: 'v2'). ` +
|
|
233
|
-
`peaks slice pick supports v1 only in peaks-loop 2.9.0. ` +
|
|
234
|
-
`Re-run \`peaks slice decompose ${rid}\` without --granularity to get a v1 file, ` +
|
|
235
|
-
`or upgrade peaks-loop when v2 pick lands.`);
|
|
236
|
-
}
|
|
237
|
-
const decomposition = parsed;
|
|
238
|
-
const result = await pickSlicesInteractive(rid, decomposition, projectRoot, {
|
|
239
|
-
...(options.preview !== undefined ? { preview: options.preview } : {}),
|
|
240
|
-
...(options.fzfBin ? { fzfBin: options.fzfBin } : {})
|
|
241
|
-
});
|
|
242
|
-
const nextActions = [
|
|
243
|
-
`Picked ${result.picked.length} slice(s); written to ${result.outputPath}`,
|
|
244
|
-
`Next: peaks slice plan ${rid} (--apply to call peaks request init for each chosen slice)`
|
|
245
|
-
];
|
|
246
|
-
printResult(io, ok('slice.pick', result, [], nextActions), options.json ?? false);
|
|
247
|
-
}
|
|
248
|
-
catch (error) {
|
|
249
|
-
const msg = getErrorMessage(error);
|
|
250
|
-
if (/brew install fzf|apt-get install fzf|older than required/.test(msg)) {
|
|
251
|
-
process.exitCode = 127;
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
process.exitCode = 1;
|
|
255
|
-
}
|
|
256
|
-
printResult(io, fail('slice.pick', 'SLICE_PICK_FAILED', msg, { rid, projectRoot: options.project }, ['Verify the decomposition file exists, fzf >= 0.38 is on PATH, and the rid is correct']), options.json ?? false);
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
// ---------- peaks slice plan (NEW) ----------
|
|
260
|
-
addJsonOption(slice
|
|
261
|
-
.command('plan <rid>')
|
|
262
|
-
.description('Apply a picked batch: read -picked.json, call `peaks request init` for each chosen slice ' +
|
|
263
|
-
'with --depends-on edges from the decomposition. Dry-run by default; pass --apply to ' +
|
|
264
|
-
'actually create rids.')
|
|
265
|
-
.option('--project <path>', 'target project root', '.')
|
|
266
|
-
.option('--apply', 'actually call peaks request init (default: dry-run only)', false)).action(async (rid, options) => {
|
|
267
|
-
const projectRoot = resolveCanonicalProjectRoot(options.project);
|
|
268
|
-
const pickedPath = join(projectRoot, '.peaks', 'sc', 'slice-decomposition', `${rid}-picked.json`);
|
|
269
|
-
try {
|
|
270
|
-
if (!existsSync(pickedPath)) {
|
|
271
|
-
throw new Error(`picked file not found at ${pickedPath}. ` +
|
|
272
|
-
`Run \`peaks slice pick ${rid}\` first, or manually craft the file.`);
|
|
273
|
-
}
|
|
274
|
-
const picked = parsePickedFile(pickedPath);
|
|
275
|
-
const plan = picked.picked.map((slice, idx) => ({
|
|
276
|
-
newRid: `${rid}-${idx + 1}-${slice.rid}`,
|
|
277
|
-
type: 'feat',
|
|
278
|
-
dependsOn: idx === 0 ? [] : [picked.picked[idx - 1].rid],
|
|
279
|
-
files: slice.files,
|
|
280
|
-
label: slice.label,
|
|
281
|
-
applied: false
|
|
282
|
-
}));
|
|
283
|
-
const nextActions = [
|
|
284
|
-
`Planned ${plan.length} new rids from ${picked.picked.length} picked slices`,
|
|
285
|
-
options.apply
|
|
286
|
-
? 'Apply mode: would call peaks request init for each (v1.1: wire to spawn child)'
|
|
287
|
-
: 'Dry-run: pass --apply to actually create the rids (v1.1: wire to peaks request init spawn)'
|
|
288
|
-
];
|
|
289
|
-
printResult(io, ok('slice.plan', { parentRid: rid, plan, apply: options.apply ?? false }, [], nextActions), options.json ?? false);
|
|
290
|
-
}
|
|
291
|
-
catch (error) {
|
|
292
|
-
const msg = getErrorMessage(error);
|
|
293
|
-
const isEnvelopeError = msg.startsWith('picked envelope at');
|
|
294
|
-
printResult(io, fail('slice.plan', isEnvelopeError ? 'PICKED_ENVELOPE_INVALID' : 'SLICE_PLAN_FAILED', msg, { rid, projectRoot: options.project, pickedPath }, isEnvelopeError
|
|
295
|
-
? ['Verify the -picked.json envelope matches the schema: { rid: string, picked: Array<{ rid, files: string[], label }> }']
|
|
296
|
-
: ['Verify the picked file exists, the rid is correct, and peaks request init is available']), options.json ?? false);
|
|
297
|
-
process.exitCode = 1;
|
|
298
|
-
}
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
// ---------- helpers ----------
|
|
302
|
-
function readPrdBody(rid, projectRoot) {
|
|
303
|
-
// Search all .peaks/**/prd/requests/*-<rid>.md and .peaks/**/prd/requests/<rid>.md
|
|
304
|
-
const searchRoots = [
|
|
305
|
-
join(projectRoot, '.peaks', '2026'),
|
|
306
|
-
join(projectRoot, '.peaks'),
|
|
307
|
-
join(projectRoot, '.peaks', '_runtime')
|
|
308
|
-
];
|
|
309
|
-
const matchInDir = (dir) => {
|
|
310
|
-
if (!existsSync(dir))
|
|
311
|
-
return null;
|
|
312
|
-
let entries;
|
|
313
|
-
try {
|
|
314
|
-
entries = readdirSync(dir);
|
|
315
|
-
}
|
|
316
|
-
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
317
|
-
return null;
|
|
318
|
-
}
|
|
319
|
-
for (const entry of entries) {
|
|
320
|
-
if (!entry.endsWith('.md'))
|
|
321
|
-
continue;
|
|
322
|
-
if (entry === `${rid}.md` || entry.endsWith(`-${rid}.md`)) {
|
|
323
|
-
return readFileSync(join(dir, entry), 'utf8');
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
return null;
|
|
327
|
-
};
|
|
328
|
-
for (const root of searchRoots) {
|
|
329
|
-
if (!existsSync(root))
|
|
330
|
-
continue;
|
|
331
|
-
// 1) Direct prd/requests/ at this root
|
|
332
|
-
const direct = matchInDir(join(root, 'prd', 'requests'));
|
|
333
|
-
if (direct !== null)
|
|
334
|
-
return direct;
|
|
335
|
-
// 2) One level of subdirs (e.g. .peaks/_runtime/<sid>/prd/requests/)
|
|
336
|
-
let subdirs;
|
|
337
|
-
try {
|
|
338
|
-
subdirs = readdirSync(root);
|
|
339
|
-
}
|
|
340
|
-
catch {
|
|
341
|
-
continue;
|
|
342
|
-
}
|
|
343
|
-
for (const sub of subdirs) {
|
|
344
|
-
const hit = matchInDir(join(root, sub, 'prd', 'requests'));
|
|
345
|
-
if (hit !== null)
|
|
346
|
-
return hit;
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
throw new Error(`PRD body not found for rid=${rid}. Searched under .peaks/2026/prd/requests/, ` +
|
|
350
|
-
`.peaks/prd/requests/, and .peaks/_runtime/*/prd/requests/. ` +
|
|
351
|
-
`Create the PRD with: peaks request init --role prd --id ${rid} --apply --type refactor`);
|
|
352
|
-
}
|
|
353
|
-
function writeDecompositionFile(rid, result, projectRoot) {
|
|
354
|
-
const dir = join(projectRoot, '.peaks', 'sc', 'slice-decomposition');
|
|
355
|
-
if (!existsSync(dir)) {
|
|
356
|
-
mkdirSync(dir, { recursive: true });
|
|
357
|
-
}
|
|
358
|
-
const outPath = join(dir, `${rid}.json`);
|
|
359
|
-
writeFileSync(outPath, JSON.stringify(result, null, 2), 'utf8');
|
|
360
|
-
return outPath;
|
|
361
|
-
}
|
|
362
|
-
/**
|
|
363
|
-
* Stale threshold for slice decomposition artifacts. Matches the default
|
|
364
|
-
* retention window promised by `peaks slice cleanup` (slice 2026-06-27-slice-cleanup,
|
|
365
|
-
* recorded in .peaks/memory/ for follow-up). If that slice ships with a
|
|
366
|
-
* different default, both must update here.
|
|
367
|
-
*/
|
|
368
|
-
const STALE_THRESHOLD_MS = 30 * 24 * 60 * 60 * 1000;
|
|
369
|
-
/**
|
|
370
|
-
* Enumerate every slice decomposition artifact under
|
|
371
|
-
* `.peaks/sc/slice-decomposition/`. Returns one row per distinct rid.
|
|
372
|
-
* Missing directory is treated as empty (returns []), matching the
|
|
373
|
-
* "fresh peaks repo" UX (AC5+AC6).
|
|
374
|
-
*
|
|
375
|
-
* Sorted by mtime descending so the most recent rid is first (AC3).
|
|
376
|
-
*/
|
|
377
|
-
function listDecompositions(projectRoot) {
|
|
378
|
-
const dir = join(projectRoot, '.peaks', 'sc', 'slice-decomposition');
|
|
379
|
-
if (!existsSync(dir))
|
|
380
|
-
return [];
|
|
381
|
-
const nowMs = Date.now();
|
|
382
|
-
const byRid = new Map();
|
|
383
|
-
for (const entry of readdirSync(dir)) {
|
|
384
|
-
// Skip non-matching files (e.g., stray .DS_Store)
|
|
385
|
-
if (!entry.endsWith('.json'))
|
|
386
|
-
continue;
|
|
387
|
-
let rid;
|
|
388
|
-
let isPicked;
|
|
389
|
-
if (entry.endsWith('-picked.json')) {
|
|
390
|
-
rid = entry.slice(0, -('-picked.json'.length));
|
|
391
|
-
isPicked = true;
|
|
392
|
-
}
|
|
393
|
-
else {
|
|
394
|
-
rid = entry.slice(0, -'.json'.length);
|
|
395
|
-
isPicked = false;
|
|
396
|
-
}
|
|
397
|
-
const absPath = join(dir, entry);
|
|
398
|
-
const st = statSync(absPath);
|
|
399
|
-
const existing = byRid.get(rid);
|
|
400
|
-
if (isPicked) {
|
|
401
|
-
// Picked file is supplementary; only fill in pickedPath on the existing row
|
|
402
|
-
if (existing) {
|
|
403
|
-
byRid.set(rid, { ...existing, pickedPath: absPath });
|
|
404
|
-
}
|
|
405
|
-
else {
|
|
406
|
-
// -picked.json without a corresponding <rid>.json: still surface it
|
|
407
|
-
byRid.set(rid, {
|
|
408
|
-
rid,
|
|
409
|
-
decompositionPath: '',
|
|
410
|
-
pickedPath: absPath,
|
|
411
|
-
mtime: st.mtime.toISOString(),
|
|
412
|
-
sizeBytes: 0,
|
|
413
|
-
isStale: nowMs - st.mtime.getTime() > STALE_THRESHOLD_MS
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
|
-
continue;
|
|
417
|
-
}
|
|
418
|
-
byRid.set(rid, {
|
|
419
|
-
rid,
|
|
420
|
-
decompositionPath: absPath,
|
|
421
|
-
pickedPath: existing?.pickedPath ?? null,
|
|
422
|
-
mtime: st.mtime.toISOString(),
|
|
423
|
-
sizeBytes: st.size,
|
|
424
|
-
isStale: nowMs - st.mtime.getTime() > STALE_THRESHOLD_MS
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
return Array.from(byRid.values()).sort((a, b) => (a.mtime < b.mtime ? 1 : a.mtime > b.mtime ? -1 : 0));
|
|
428
|
-
}
|
|
429
|
-
function writeBenchmarkArtifact(rid, benchmark, projectRoot) {
|
|
430
|
-
// Reuse the current session binding if present; otherwise fall back to
|
|
431
|
-
// a deterministic local dir under the project root. The CLI may be
|
|
432
|
-
// invoked from non-CLI contexts (skill layer); we don't require a session.
|
|
433
|
-
const dir = join(projectRoot, '.peaks', '_runtime', 'benchmarks');
|
|
434
|
-
if (!existsSync(dir)) {
|
|
435
|
-
mkdirSync(dir, { recursive: true });
|
|
436
|
-
}
|
|
437
|
-
const outPath = join(dir, `${rid}.benchmark.json`);
|
|
438
|
-
writeFileSync(outPath, JSON.stringify(benchmark, null, 2), 'utf8');
|
|
439
|
-
return outPath;
|
|
440
|
-
}
|
|
441
|
-
/**
|
|
442
|
-
* Validate a -picked.json envelope. Throws a CLI-friendly Error on any
|
|
443
|
-
* shape violation; the catch in the slice.plan action converts it to
|
|
444
|
-
* a fail() envelope with `code: 'PICKED_ENVELOPE_INVALID'`.
|
|
445
|
-
*
|
|
446
|
-
* Schema:
|
|
447
|
-
* { rid: string; picked: Array<{ rid, files: string[], label }> }
|
|
448
|
-
*
|
|
449
|
-
* Rejects: missing rid, missing/invalid picked array, picked[i] missing
|
|
450
|
-
* rid / files / label, picked[i].files empty.
|
|
451
|
-
*/
|
|
452
|
-
export function parsePickedFile(pickedPath) {
|
|
453
|
-
let raw;
|
|
454
|
-
try {
|
|
455
|
-
raw = JSON.parse(readFileSync(pickedPath, 'utf8'));
|
|
456
|
-
}
|
|
457
|
-
catch (err) {
|
|
458
|
-
// JSON.parse errors are always Error-shaped (SyntaxError extends Error),
|
|
459
|
-
// so the cast is safe; we only need `.message`.
|
|
460
|
-
throw new Error(`picked envelope at ${pickedPath} is not valid JSON: ${err.message}`);
|
|
461
|
-
}
|
|
462
|
-
if (typeof raw !== 'object' || raw === null) {
|
|
463
|
-
throw new Error(`picked envelope at ${pickedPath} must be a JSON object, got ${typeof raw}`);
|
|
464
|
-
}
|
|
465
|
-
const obj = raw;
|
|
466
|
-
if (typeof obj.rid !== 'string' || obj.rid.length === 0) {
|
|
467
|
-
throw new Error(`picked envelope at ${pickedPath} is missing required string field 'rid'`);
|
|
468
|
-
}
|
|
469
|
-
if (!Array.isArray(obj.picked)) {
|
|
470
|
-
throw new Error(`picked envelope at ${pickedPath} is missing required array field 'picked'`);
|
|
471
|
-
}
|
|
472
|
-
const picked = obj.picked.map((item, idx) => {
|
|
473
|
-
if (typeof item !== 'object' || item === null) {
|
|
474
|
-
throw new Error(`picked[${idx}] must be an object, got ${typeof item}`);
|
|
475
|
-
}
|
|
476
|
-
const it = item;
|
|
477
|
-
if (typeof it.rid !== 'string' || it.rid.length === 0) {
|
|
478
|
-
throw new Error(`picked[${idx}] is missing required string field 'rid'`);
|
|
479
|
-
}
|
|
480
|
-
if (!Array.isArray(it.files) || it.files.length === 0) {
|
|
481
|
-
throw new Error(`picked[${idx}] is missing or has empty required array field 'files'`);
|
|
482
|
-
}
|
|
483
|
-
if (!it.files.every((f) => typeof f === 'string')) {
|
|
484
|
-
throw new Error(`picked[${idx}].files must contain only strings`);
|
|
485
|
-
}
|
|
486
|
-
if (typeof it.label !== 'string' || it.label.length === 0) {
|
|
487
|
-
throw new Error(`picked[${idx}] is missing required string field 'label'`);
|
|
488
|
-
}
|
|
489
|
-
return { rid: it.rid, files: it.files, label: it.label };
|
|
490
|
-
});
|
|
491
|
-
return { rid: obj.rid, picked };
|
|
492
|
-
}
|