peaks-loop 4.0.0-beta.7 → 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 +90 -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/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 +18 -49
- 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/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/ide-commands.d.ts +0 -25
- package/dist/src/cli/commands/ide-commands.js +0 -42
- 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 -408
- 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 -57
- package/dist/src/services/config/model-routing.js +0 -93
- 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/adapters/zcode-adapter.d.ts +0 -40
- package/dist/src/services/ide/adapters/zcode-adapter.js +0 -220
- package/dist/src/services/ide/current-model-detector.d.ts +0 -14
- package/dist/src/services/ide/current-model-detector.js +0 -60
- 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 -63
- package/dist/src/services/ide/ide-types.d.ts +0 -253
- 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 -441
- 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 -233
- 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,177 +0,0 @@
|
|
|
1
|
-
import { type MissingProjectStandardsDiagnostic } from '../standards/missing-standards-detector.js';
|
|
2
|
-
import { type StandardsLanguage } from '../standards/project-standards-service.js';
|
|
3
|
-
export type WorkspaceInitOptions = {
|
|
4
|
-
projectRoot: string;
|
|
5
|
-
sessionId: string;
|
|
6
|
-
/**
|
|
7
|
-
* When true, the conflict check is skipped and the new session id is
|
|
8
|
-
* written to .peaks/.session.json even if the project is already bound
|
|
9
|
-
* to a different (real) session. Use only with explicit user authorization
|
|
10
|
-
* — the CLI surfaces this as `--allow-session-rebind`.
|
|
11
|
-
*/
|
|
12
|
-
allowSessionRebind?: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Slice 2.0.1-bug3-fact-forcing-bypass: opt out of writing the
|
|
15
|
-
* consumer-project `.claude/settings.local.json` file. Default
|
|
16
|
-
* (`false`) writes the file so the [Fact-Forcing Gate] is bypassed
|
|
17
|
-
* for tool calls inside `.peaks/**`. The CLI surfaces this as
|
|
18
|
-
* `--no-claude-hooks`.
|
|
19
|
-
*/
|
|
20
|
-
noClaudeHooks?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Slice 2026-06-16-peaks-code-auto-scaffold (RD#7): opt-in flag for
|
|
23
|
-
* auto-applying `peaks standards init` when the consumer project's
|
|
24
|
-
* `.claude/rules/` is missing or empty. Default (`false`) only emits
|
|
25
|
-
* the diagnostic; set to `true` to also scaffold the rules tree via
|
|
26
|
-
* `executeProjectStandardsInit({ projectRoot, apply: true })`. The
|
|
27
|
-
* CLI surfaces this as `--init-standards`.
|
|
28
|
-
*/
|
|
29
|
-
initStandards?: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Optional language override for the standards scaffold. When unset,
|
|
32
|
-
* `detectLanguage(projectRoot)` is used (looks for tsconfig.json /
|
|
33
|
-
* package.json / pyproject.toml / go.mod / Cargo.toml). Pass this to
|
|
34
|
-
* force a specific language for the auto-apply path.
|
|
35
|
-
*/
|
|
36
|
-
language?: StandardsLanguage;
|
|
37
|
-
};
|
|
38
|
-
export type WorkspaceInitReport = {
|
|
39
|
-
sessionId: string;
|
|
40
|
-
sessionRoot: string;
|
|
41
|
-
created: string[];
|
|
42
|
-
alreadyExisted: string[];
|
|
43
|
-
bound: boolean;
|
|
44
|
-
previousSessionId: string | null;
|
|
45
|
-
/**
|
|
46
|
-
* Slice 2.0.1-bug3-fact-forcing-bypass: what the consumer-project
|
|
47
|
-
* `.claude/settings.local.json` materialization did this call.
|
|
48
|
-
* - written: the file was freshly written
|
|
49
|
-
* - refreshed: the file already existed and was rewritten to
|
|
50
|
-
* match the current peaks-loop release's template
|
|
51
|
-
* - already-current: the file already matched the template; no
|
|
52
|
-
* rewrite needed
|
|
53
|
-
* - skipped: the caller passed noClaudeHooks=true
|
|
54
|
-
* The LLM and the user both see this in the JSON envelope so they
|
|
55
|
-
* can decide whether the bypass is in effect.
|
|
56
|
-
*
|
|
57
|
-
* Slice 2026-06-13-selfheal-claude-settings-template: adds the
|
|
58
|
-
* `offlineTemplate` sub-field, which describes the self-heal action
|
|
59
|
-
* taken on the offline `.peaks/.claude-settings-template.json` copy.
|
|
60
|
-
* The offline copy is ALWAYS written/checked (regardless of
|
|
61
|
-
* noClaudeHooks) because it is the manual-recovery anchor — see
|
|
62
|
-
* `skills/peaks-code/references/anchoring-and-session-info.md`.
|
|
63
|
-
* - written: the file did not exist; it was created
|
|
64
|
-
* - refreshed: the file existed but its parsed hooks tree
|
|
65
|
-
* diverged from the current `buildClaudeSettingsLocalJson()`;
|
|
66
|
-
* it was rewritten
|
|
67
|
-
* - already-current: the file already matched; no rewrite needed
|
|
68
|
-
*/
|
|
69
|
-
claudeSettings: {
|
|
70
|
-
action: 'written' | 'refreshed' | 'already-current' | 'skipped';
|
|
71
|
-
path: string;
|
|
72
|
-
offlineTemplate: {
|
|
73
|
-
action: 'written' | 'refreshed' | 'already-current';
|
|
74
|
-
path: string;
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* Slice 2026-06-16-peaks-code-auto-scaffold (RD#7): structured
|
|
79
|
-
* diagnostic for missing or empty `.claude/rules/{common,<language>}/`.
|
|
80
|
-
* Always present (the detector runs on every init); `missing: false`
|
|
81
|
-
* means the project's rules tree is already populated and no action is
|
|
82
|
-
* required. The CLI copies this descriptor into the JSON envelope's
|
|
83
|
-
* `data.standardsMissing` so the LLM can read it programmatically.
|
|
84
|
-
*/
|
|
85
|
-
standardsMissing: MissingProjectStandardsDiagnostic;
|
|
86
|
-
/**
|
|
87
|
-
* Slice 2026-06-16-peaks-code-auto-scaffold (RD#7): when the caller
|
|
88
|
-
* passed `initStandards: true` AND the detector reported `missing:
|
|
89
|
-
* true`, this field lists the files written by
|
|
90
|
-
* `executeProjectStandardsInit({ projectRoot, apply: true })`.
|
|
91
|
-
* Undefined when `initStandards` was not requested.
|
|
92
|
-
*/
|
|
93
|
-
standardsApplied?: {
|
|
94
|
-
readonly language: StandardsLanguage;
|
|
95
|
-
readonly writtenFiles: string[];
|
|
96
|
-
readonly skippedFiles: string[];
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
/**
|
|
100
|
-
* Slice C10 (2026-06-24-legacy-change-id-sibling): the relative path
|
|
101
|
-
* patterns under `.peaks/_runtime/<sessionId>/` that the lazy WRITER (peaks-qa,
|
|
102
|
-
* peaks-rd, peaks-prd, peaks-txt, peaks-sc) creates via
|
|
103
|
-
* `mkdir(parent, { recursive: true })` immediately before a write. When
|
|
104
|
-
* a sibling `.peaks/_runtime/<sessionId>/` exists on disk AND every entry below
|
|
105
|
-
* it matches one of these patterns (AND no entry is a symlink), the
|
|
106
|
-
* dir is treated as legitimate writer output and `initWorkspace`
|
|
107
|
-
* re-init is tolerant — the binding is rewritten without throwing.
|
|
108
|
-
*
|
|
109
|
-
* Adding a new pattern here is a deliberate, reviewed change because
|
|
110
|
-
* it widens the heuristic. The list is intentionally narrow:
|
|
111
|
-
* - `qa/screenshots/<file>.{png,jpg,jpeg,webp,gif}` — peaks-qa screenshots
|
|
112
|
-
* - `<role>/requests/<file>.md` — RD/QA/PRD/TXT/SC artifacts
|
|
113
|
-
* - `<role>/findings/<file>.md` — QA findings files
|
|
114
|
-
*
|
|
115
|
-
* Re-exported so unit tests can assert the pattern list directly.
|
|
116
|
-
*/
|
|
117
|
-
export declare const WRITER_ALLOWED_RELATIVE_PATTERNS: ReadonlyArray<RegExp>;
|
|
118
|
-
export declare class InvalidSessionIdError extends Error {
|
|
119
|
-
readonly code = "INVALID_SESSION_ID";
|
|
120
|
-
constructor(message: string);
|
|
121
|
-
}
|
|
122
|
-
export declare class ConflictingSessionError extends Error {
|
|
123
|
-
readonly existingSessionId: string;
|
|
124
|
-
readonly requestedSessionId: string;
|
|
125
|
-
readonly code = "CONFLICTING_SESSION";
|
|
126
|
-
constructor(message: string, existingSessionId: string, requestedSessionId: string);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Thrown when `peaks workspace init --change-id <id>` is invoked but a
|
|
130
|
-
* 2.8.0-era legacy sibling directory `.peaks/_runtime/<sessionId>/` already exists
|
|
131
|
-
* at top level. Under the 2.8.0+ two-axis convention, change-id is a
|
|
132
|
-
* logical identifier in the SESSION axis — NOT a top-level sibling dir.
|
|
133
|
-
*
|
|
134
|
-
* The caller is expected to:
|
|
135
|
-
* 1. Inspect `.peaks/_runtime/<sessionId>/` to see if it contains user-authored
|
|
136
|
-
* content worth preserving.
|
|
137
|
-
* 2. Migrate or delete the sibling dir.
|
|
138
|
-
* 3. Re-run `peaks workspace init --change-id <id>`.
|
|
139
|
-
*/
|
|
140
|
-
export declare class LegacyChangeIdSiblingError extends Error {
|
|
141
|
-
readonly sessionId: string;
|
|
142
|
-
readonly legacyPath: string;
|
|
143
|
-
readonly code = "LEGACY_CHANGE_ID_SIBLING";
|
|
144
|
-
constructor(sessionId: string, legacyPath: string);
|
|
145
|
-
}
|
|
146
|
-
export declare function validateSessionId(sessionId: string): void;
|
|
147
|
-
export declare function initWorkspace(options: WorkspaceInitOptions): Promise<WorkspaceInitReport>;
|
|
148
|
-
export { materializeClaudeSettingsLocal } from './workspace-claude-settings-materializer.js';
|
|
149
|
-
/**
|
|
150
|
-
* Slice C10 (2026-06-24-legacy-change-id-sibling): whole-dir shape check
|
|
151
|
-
* for the legacy sibling `.peaks/_runtime/<sessionId>/`. Returns `true` ONLY when
|
|
152
|
-
* every leaf path under the sibling matches one of
|
|
153
|
-
* `WRITER_ALLOWED_RELATIVE_PATTERNS` AND no entry is a symlink (anywhere
|
|
154
|
-
* in the tree).
|
|
155
|
-
*
|
|
156
|
-
* Heuristic rationale (Karpathy #1 — name the tradeoff):
|
|
157
|
-
* - False negative (reject writer-shaped content): we accept this
|
|
158
|
-
* failure mode because it preserves the 2.8.3+ hard ban. The user
|
|
159
|
-
* gets a clear migration message and can re-run after deleting the
|
|
160
|
-
* sibling dir.
|
|
161
|
-
* - False positive (accept legacy residue as writer output): we
|
|
162
|
-
* REJECT this failure mode by requiring EVERY entry to match the
|
|
163
|
-
* writer-allowed shape. One mismatched leaf ⇒ `false`. The whole-dir
|
|
164
|
-
* check is conservative on purpose.
|
|
165
|
-
*
|
|
166
|
-
* Symlink rejection (Karpathy #3 — surgical): any symlinked entry — at
|
|
167
|
-
* the root or nested — returns `false` immediately. A symlinked
|
|
168
|
-
* `.peaks/_runtime/<sessionId>/qa/foo.png` could otherwise bypass the file-extension
|
|
169
|
-
* check by resolving to user content outside the project.
|
|
170
|
-
*
|
|
171
|
-
* Implementation note: the helper is synchronous and uses `lstatSync`
|
|
172
|
-
* recursively so the caller (the guard in `initWorkspace`) can decide
|
|
173
|
-
* inline without paying an async round-trip. Tree depth is bounded by
|
|
174
|
-
* the writer's mkdir pattern (≤3 levels: `<role>/<subdir>/<file>`).
|
|
175
|
-
* We cap the recursion at 8 levels as a defense-in-depth limit.
|
|
176
|
-
*/
|
|
177
|
-
export declare function isWriterCreatedSiblingShape(siblingDir: string): boolean;
|
|
@@ -1,432 +0,0 @@
|
|
|
1
|
-
import { mkdir } from 'node:fs/promises';
|
|
2
|
-
import { existsSync, lstatSync, readdirSync } from 'node:fs';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { isDirectory } from '../../shared/fs.js';
|
|
5
|
-
import { getSessionId, setCurrentSessionBinding, setSessionMeta } from '../session/session-manager.js';
|
|
6
|
-
/**
|
|
7
|
-
* Slice 2026-06-29-change-id-root-removal: list the immediate children of
|
|
8
|
-
* `.peaks/` so the legacy sibling-dir guard can enumerate date-stamped
|
|
9
|
-
* residue dirs without re-implementing `readdirSync` inline. Returns
|
|
10
|
-
* `[]` when the `.peaks/` dir does not exist (legitimate first-run
|
|
11
|
-
* outcome).
|
|
12
|
-
*/
|
|
13
|
-
function listPeaksRuntimeSiblings(projectRoot) {
|
|
14
|
-
const peaksDir = join(projectRoot, '.peaks');
|
|
15
|
-
if (!existsSync(peaksDir))
|
|
16
|
-
return [];
|
|
17
|
-
try {
|
|
18
|
-
return readdirSync(peaksDir);
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
return [];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Slice 2026-06-29-change-id-root-removal: list the immediate children of
|
|
26
|
-
* `.peaks/_runtime/` so the legacy sibling-dir guard can enumerate
|
|
27
|
-
* date-stamped residue dirs at the runtime layer. Returns `[]` when
|
|
28
|
-
* the `.peaks/_runtime/` dir does not exist.
|
|
29
|
-
*/
|
|
30
|
-
function listRuntimeSiblings(projectRoot) {
|
|
31
|
-
const runtimeDir = join(projectRoot, '.peaks', '_runtime');
|
|
32
|
-
if (!existsSync(runtimeDir))
|
|
33
|
-
return [];
|
|
34
|
-
try {
|
|
35
|
-
return readdirSync(runtimeDir);
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
return [];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Slice 2026-06-29-change-id-root-removal: returns `true` when the
|
|
43
|
-
* basename matches the auto-generated session-id shape
|
|
44
|
-
* `YYYY-MM-DD-<slug>` (the v2.8.3 hard-ban target). Bare dates
|
|
45
|
-
* (`YYYY-MM-DD`) are NOT auto-generated and are kept as plain dates.
|
|
46
|
-
*/
|
|
47
|
-
function isDateStampedSiblingId(name) {
|
|
48
|
-
if (!/^\d{4}-\d{2}-\d{2}-/.test(name))
|
|
49
|
-
return false;
|
|
50
|
-
if (/^\d{4}-\d{2}-\d{2}$/.test(name))
|
|
51
|
-
return false;
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
// Slice 2026-06-29-change-id-root-removal: `setCurrentChangeId` and
|
|
55
|
-
// `validateChangeIdOrThrow` were removed with the change-id axis. Init
|
|
56
|
-
// preserves the legacy-sibling-dir guard via inline `lstatSync`; the
|
|
57
|
-
// path-safety helpers moved to `shared/path-safety.ts` but this module
|
|
58
|
-
// does not currently use them.
|
|
59
|
-
import { detectMissingProjectStandards } from '../standards/missing-standards-detector.js';
|
|
60
|
-
import { detectLanguage, executeProjectStandardsInit } from '../standards/project-standards-service.js';
|
|
61
|
-
const SESSION_ID_PATTERN = /^\d{4}-\d{2}-\d{2}-[a-z][a-z0-9-]*[a-z0-9]$/;
|
|
62
|
-
const PROHIBITED_SUFFIXES = ['session', 'work', 'task', 'test', 'temp', 'tmp'];
|
|
63
|
-
// Auto-generated session ID pattern: YYYY-MM-DD-session-<6位hex>
|
|
64
|
-
const AUTO_SESSION_PATTERN = /^\d{4}-\d{2}-\d{2}-session-[a-f0-9]{6}$/;
|
|
65
|
-
/**
|
|
66
|
-
* Slice C10 (2026-06-24-legacy-change-id-sibling): the relative path
|
|
67
|
-
* patterns under `.peaks/_runtime/<sessionId>/` that the lazy WRITER (peaks-qa,
|
|
68
|
-
* peaks-rd, peaks-prd, peaks-txt, peaks-sc) creates via
|
|
69
|
-
* `mkdir(parent, { recursive: true })` immediately before a write. When
|
|
70
|
-
* a sibling `.peaks/_runtime/<sessionId>/` exists on disk AND every entry below
|
|
71
|
-
* it matches one of these patterns (AND no entry is a symlink), the
|
|
72
|
-
* dir is treated as legitimate writer output and `initWorkspace`
|
|
73
|
-
* re-init is tolerant — the binding is rewritten without throwing.
|
|
74
|
-
*
|
|
75
|
-
* Adding a new pattern here is a deliberate, reviewed change because
|
|
76
|
-
* it widens the heuristic. The list is intentionally narrow:
|
|
77
|
-
* - `qa/screenshots/<file>.{png,jpg,jpeg,webp,gif}` — peaks-qa screenshots
|
|
78
|
-
* - `<role>/requests/<file>.md` — RD/QA/PRD/TXT/SC artifacts
|
|
79
|
-
* - `<role>/findings/<file>.md` — QA findings files
|
|
80
|
-
*
|
|
81
|
-
* Re-exported so unit tests can assert the pattern list directly.
|
|
82
|
-
*/
|
|
83
|
-
export const WRITER_ALLOWED_RELATIVE_PATTERNS = [
|
|
84
|
-
/^qa\/screenshots\/[^/]+\.(png|jpg|jpeg|webp|gif)$/i,
|
|
85
|
-
/^[^/]+\/requests\/[^/]+\.md$/,
|
|
86
|
-
/^[^/]+\/findings\/[^/]+\.md$/
|
|
87
|
-
];
|
|
88
|
-
export class InvalidSessionIdError extends Error {
|
|
89
|
-
code = 'INVALID_SESSION_ID';
|
|
90
|
-
constructor(message) {
|
|
91
|
-
super(message);
|
|
92
|
-
this.name = 'InvalidSessionIdError';
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
export class ConflictingSessionError extends Error {
|
|
96
|
-
existingSessionId;
|
|
97
|
-
requestedSessionId;
|
|
98
|
-
code = 'CONFLICTING_SESSION';
|
|
99
|
-
constructor(message, existingSessionId, requestedSessionId) {
|
|
100
|
-
super(message);
|
|
101
|
-
this.existingSessionId = existingSessionId;
|
|
102
|
-
this.requestedSessionId = requestedSessionId;
|
|
103
|
-
this.name = 'ConflictingSessionError';
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Thrown when `peaks workspace init --change-id <id>` is invoked but a
|
|
108
|
-
* 2.8.0-era legacy sibling directory `.peaks/_runtime/<sessionId>/` already exists
|
|
109
|
-
* at top level. Under the 2.8.0+ two-axis convention, change-id is a
|
|
110
|
-
* logical identifier in the SESSION axis — NOT a top-level sibling dir.
|
|
111
|
-
*
|
|
112
|
-
* The caller is expected to:
|
|
113
|
-
* 1. Inspect `.peaks/_runtime/<sessionId>/` to see if it contains user-authored
|
|
114
|
-
* content worth preserving.
|
|
115
|
-
* 2. Migrate or delete the sibling dir.
|
|
116
|
-
* 3. Re-run `peaks workspace init --change-id <id>`.
|
|
117
|
-
*/
|
|
118
|
-
export class LegacyChangeIdSiblingError extends Error {
|
|
119
|
-
sessionId;
|
|
120
|
-
legacyPath;
|
|
121
|
-
code = 'LEGACY_CHANGE_ID_SIBLING';
|
|
122
|
-
constructor(sessionId, legacyPath) {
|
|
123
|
-
super(`peaks-loop 2.8.3+ forbids the legacy sibling dir ${legacyPath}. ` +
|
|
124
|
-
`Under the two-axis convention, change-id "${sessionId}" must live in the SESSION axis ` +
|
|
125
|
-
`(.peaks/_runtime/<sessionId>/), not as a top-level sibling of .peaks/_runtime/. ` +
|
|
126
|
-
`Migration: (1) inspect ${legacyPath} for user-authored content; ` +
|
|
127
|
-
`(2) move any desired files into .peaks/_runtime/<sessionId>/<role>/; ` +
|
|
128
|
-
`(3) delete ${legacyPath}; (4) re-run 'peaks workspace init --change-id ${sessionId}'.`);
|
|
129
|
-
this.sessionId = sessionId;
|
|
130
|
-
this.legacyPath = legacyPath;
|
|
131
|
-
this.name = 'LegacyChangeIdSiblingError';
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
export function validateSessionId(sessionId) {
|
|
135
|
-
// Auto-generated session IDs (YYYY-MM-DD-session-<hex>) bypass manual validation
|
|
136
|
-
if (AUTO_SESSION_PATTERN.test(sessionId)) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
if (/^\d+$/.test(sessionId)) {
|
|
140
|
-
throw new InvalidSessionIdError(`Session id "${sessionId}" is numeric-only. Use the format YYYY-MM-DD-<kebab-slug> with a 2-5 word topic description.`);
|
|
141
|
-
}
|
|
142
|
-
if (/^\d{8}T\d{6}$/.test(sessionId) || /^\d{8}$/.test(sessionId)) {
|
|
143
|
-
throw new InvalidSessionIdError(`Session id "${sessionId}" looks like a bare timestamp. Use YYYY-MM-DD-<kebab-slug>.`);
|
|
144
|
-
}
|
|
145
|
-
if (/^\d{4}-\d{2}-\d{2}$/.test(sessionId)) {
|
|
146
|
-
throw new InvalidSessionIdError(`Session id "${sessionId}" is a bare date. Append a 2-5 word topic slug (e.g. "${sessionId}-add-user-auth").`);
|
|
147
|
-
}
|
|
148
|
-
if (!SESSION_ID_PATTERN.test(sessionId)) {
|
|
149
|
-
throw new InvalidSessionIdError(`Session id "${sessionId}" must match YYYY-MM-DD-<kebab-slug>, all lowercase, dashes only.`);
|
|
150
|
-
}
|
|
151
|
-
const suffix = sessionId.slice(11); // strip "YYYY-MM-DD-"
|
|
152
|
-
if (PROHIBITED_SUFFIXES.includes(suffix)) {
|
|
153
|
-
throw new InvalidSessionIdError(`Session id suffix "${suffix}" is a generic placeholder. Use a real topic slug (e.g. "add-user-auth", "v3-indicator-model").`);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
export async function initWorkspace(options) {
|
|
157
|
-
validateSessionId(options.sessionId);
|
|
158
|
-
// Phase 6 refactor (slice 2026-06-05-change-id-as-unit-of-work) +
|
|
159
|
-
// slice 006 (2026-06-06-change-folder-simplify-and-lazy-role-subdirs) +
|
|
160
|
-
// slice 2026-06-22-top-level-change-id-cleanup (2.8.3):
|
|
161
|
-
// - Reviewable artifacts (rd/, qa/, prd/, txt/) live at
|
|
162
|
-
// `.peaks/_runtime/<change-id>/<role>/` (tracked in git) when a change-id
|
|
163
|
-
// is given. The role subdirs are NOT pre-created — the writer
|
|
164
|
-
// (e.g. `peaks request init`, `peaks rd`) creates the parent
|
|
165
|
-
// dirs on demand via `mkdirSync(..., { recursive: true })`.
|
|
166
|
-
// - The session dir `.peaks/_runtime/<session-id>/` (gitignored)
|
|
167
|
-
// now holds ONLY the canonical `session.json` metadata. The
|
|
168
|
-
// F3-introduced `system/` subdir is gone — slice 006 removes
|
|
169
|
-
// it via `peaks workspace reconcile`; new init calls do not
|
|
170
|
-
// pre-create it.
|
|
171
|
-
// - The change-id dir is NOT created at top level when `--change-id`
|
|
172
|
-
// is given. Slice 2.8.3+ redirects the binding to
|
|
173
|
-
// `.peaks/_runtime/current-change` as a plain text file (see
|
|
174
|
-
// `LegacyChangeIdSiblingError` for the migration guard). Reviewable
|
|
175
|
-
// artifacts still land under `.peaks/_runtime/<sessionId>/<role>/`, but
|
|
176
|
-
// that dir is created lazily by the WRITER, not by init. Init only
|
|
177
|
-
// writes the binding.
|
|
178
|
-
//
|
|
179
|
-
// The CLI accepts `--change-id <id>` to bind the change. The legacy
|
|
180
|
-
// session-scoped layout (`.peaks/_runtime/<session-id>/<role>/<file>`) is
|
|
181
|
-
// no longer used by writes; pre-1.3.1 trees get their session
|
|
182
|
-
// files migrated to the change-id dir by `peaks workspace reconcile`.
|
|
183
|
-
const runtimeRoot = join(options.projectRoot, '.peaks', '_runtime');
|
|
184
|
-
const sessionRoot = join(runtimeRoot, options.sessionId);
|
|
185
|
-
const created = [];
|
|
186
|
-
const alreadyExisted = [];
|
|
187
|
-
// 1. Create the session dir (canonical location `.peaks/_runtime/<sid>/`)
|
|
188
|
-
// with NO subdirs. The session dir is gitignored; the role
|
|
189
|
-
// subdirs and the `system/` subdir are gone entirely (slice 006).
|
|
190
|
-
if (await isDirectory(sessionRoot)) {
|
|
191
|
-
alreadyExisted.push('.');
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
await mkdir(sessionRoot, { recursive: true });
|
|
195
|
-
created.push('.');
|
|
196
|
-
}
|
|
197
|
-
// 1a. Write the per-session metadata file. Slice 006 makes
|
|
198
|
-
// `.peaks/_runtime/<sid>/session.json` the durable session
|
|
199
|
-
// metadata (the body's source of truth, the `peaks workspace
|
|
200
|
-
// reconcile` discovery source). The file is created on first
|
|
201
|
-
// init and refreshed on every subsequent init. Idempotent.
|
|
202
|
-
setSessionMeta(options.projectRoot, options.sessionId, {});
|
|
203
|
-
// 2. Slice 2026-06-29-change-id-root-removal: the change-id axis is
|
|
204
|
-
// gone. The session id IS the binding — there is no separate
|
|
205
|
-
// `.peaks/_runtime/current-change` file. The v2.8.3 hard-ban on
|
|
206
|
-
// `.peaks/<YYYY-MM-DD-*>/` siblings still fires via the inline
|
|
207
|
-
// `lstatSync` block below, scoped to legacy residue
|
|
208
|
-
// directories (NOT the canonical session dir, which lives at
|
|
209
|
-
// `.peaks/_runtime/<sid>/`).
|
|
210
|
-
//
|
|
211
|
-
// Pre-flight guard: refuse to silently walk into a date-stamped
|
|
212
|
-
// sibling dir at the `.peaks/` top level. `lstatSync`
|
|
213
|
-
// distinguishes file/dir/symlink/broken-symlink. ENOENT (path
|
|
214
|
-
// absent) is the legitimate outcome. The guard fires ONLY on
|
|
215
|
-
// date-stamped sibling dirs at `.peaks/<date-stamped>/` —
|
|
216
|
-
// NOT on the canonical session dir at `.peaks/_runtime/<sid>/`,
|
|
217
|
-
// which is a legitimate in-flight or completed session.
|
|
218
|
-
for (const entry of listPeaksRuntimeSiblings(options.projectRoot)) {
|
|
219
|
-
if (entry === '_runtime')
|
|
220
|
-
continue; // canonical session dir layer
|
|
221
|
-
if (!isDateStampedSiblingId(entry))
|
|
222
|
-
continue;
|
|
223
|
-
const legacySiblingDir = join(options.projectRoot, '.peaks', entry);
|
|
224
|
-
let legacyStat;
|
|
225
|
-
try {
|
|
226
|
-
legacyStat = lstatSync(legacySiblingDir);
|
|
227
|
-
}
|
|
228
|
-
catch {
|
|
229
|
-
// ENOENT or transient — accept.
|
|
230
|
-
continue;
|
|
231
|
-
}
|
|
232
|
-
if (!legacyStat.isDirectory())
|
|
233
|
-
continue;
|
|
234
|
-
if (legacyStat.isSymbolicLink()) {
|
|
235
|
-
// A symlink AT a date-stamped sibling path is unambiguous
|
|
236
|
-
// evasion — even if the target is writer-shaped, refuse.
|
|
237
|
-
throw new LegacyChangeIdSiblingError(entry, legacySiblingDir);
|
|
238
|
-
}
|
|
239
|
-
const shapeOk = isWriterCreatedSiblingShape(legacySiblingDir);
|
|
240
|
-
if (!shapeOk) {
|
|
241
|
-
throw new LegacyChangeIdSiblingError(entry, legacySiblingDir);
|
|
242
|
-
}
|
|
243
|
-
// Writer-shaped content: silently tolerate. No binding file is
|
|
244
|
-
// written (the change-id binding store is gone).
|
|
245
|
-
}
|
|
246
|
-
// 4. Bind this session as the project's current one.
|
|
247
|
-
//
|
|
248
|
-
// Single source of truth: `peaks workspace init` is the only CLI entry point
|
|
249
|
-
// that takes an explicit --session-id, so it owns the binding to .session.json.
|
|
250
|
-
// Without this write, downstream commands that fall through to
|
|
251
|
-
// `ensureSession()` would auto-generate a *different* id and create a second
|
|
252
|
-
// session directory — the bug that confuses the LLM in peaks-code.
|
|
253
|
-
//
|
|
254
|
-
// Conflict rule: if .session.json already points at a different session
|
|
255
|
-
// whose directory is real (has session.json inside), the caller is starting
|
|
256
|
-
// a parallel session without closing the previous one. Refuse to bind —
|
|
257
|
-
// this is the "strict" mode the user picked. The user must finish or delete
|
|
258
|
-
// the existing session first.
|
|
259
|
-
const existingSessionId = getSessionId(options.projectRoot);
|
|
260
|
-
let previousSessionId = null;
|
|
261
|
-
let bound = false;
|
|
262
|
-
if (existingSessionId === null) {
|
|
263
|
-
// No prior binding — adopt the requested id.
|
|
264
|
-
setCurrentSessionBinding(options.projectRoot, options.sessionId);
|
|
265
|
-
bound = true;
|
|
266
|
-
}
|
|
267
|
-
else if (existingSessionId === options.sessionId) {
|
|
268
|
-
// Already bound to the same id — idempotent.
|
|
269
|
-
bound = true;
|
|
270
|
-
}
|
|
271
|
-
else {
|
|
272
|
-
// Different id already bound. The existing session is "real" if its
|
|
273
|
-
// directory is non-empty — that holds the user's data (rd/, qa/, ui/,
|
|
274
|
-
// etc.) regardless of whether the per-session metadata file is present.
|
|
275
|
-
// Refuse to rebind without explicit authorization.
|
|
276
|
-
previousSessionId = existingSessionId;
|
|
277
|
-
const existingSessionDir = join(runtimeRoot, existingSessionId);
|
|
278
|
-
if (await isDirectory(existingSessionDir) && !options.allowSessionRebind) {
|
|
279
|
-
const { readdirSync } = await import('node:fs');
|
|
280
|
-
const entries = readdirSync(existingSessionDir);
|
|
281
|
-
if (entries.length > 0) {
|
|
282
|
-
throw new ConflictingSessionError(`Project is already bound to session "${existingSessionId}". ` +
|
|
283
|
-
`Cannot start session "${options.sessionId}" without closing the previous one. ` +
|
|
284
|
-
`Either finish/abandon the prior session first, or pass --allow-session-rebind to override.`, existingSessionId, options.sessionId);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
// Either: existing session dir is empty (true leftover, no user data),
|
|
288
|
-
// or the caller explicitly authorised a rebind. Overwrite.
|
|
289
|
-
setCurrentSessionBinding(options.projectRoot, options.sessionId);
|
|
290
|
-
bound = true;
|
|
291
|
-
}
|
|
292
|
-
// Slice 2026-06-16-peaks-code-auto-scaffold (RD#7):
|
|
293
|
-
// - Always run the detector and surface the descriptor so the CLI can
|
|
294
|
-
// put it on stderr + into the JSON envelope's `data.standardsMissing`.
|
|
295
|
-
// - When `initStandards: true` AND the detector reports missing, run
|
|
296
|
-
// `executeProjectStandardsInit({ apply: true })` to auto-apply.
|
|
297
|
-
const detectedLanguage = options.language ?? detectLanguage(options.projectRoot);
|
|
298
|
-
const standardsMissing = detectMissingProjectStandards(options.projectRoot, detectedLanguage);
|
|
299
|
-
let standardsApplied;
|
|
300
|
-
if (options.initStandards === true && standardsMissing.missing) {
|
|
301
|
-
const initResult = executeProjectStandardsInit({
|
|
302
|
-
projectRoot: options.projectRoot,
|
|
303
|
-
apply: true
|
|
304
|
-
});
|
|
305
|
-
standardsApplied = {
|
|
306
|
-
language: initResult.language,
|
|
307
|
-
writtenFiles: initResult.writtenFiles,
|
|
308
|
-
skippedFiles: initResult.plannedWrites
|
|
309
|
-
.filter((write) => write.status === 'existing')
|
|
310
|
-
.map((write) => write.relativePath)
|
|
311
|
-
};
|
|
312
|
-
}
|
|
313
|
-
return {
|
|
314
|
-
sessionId: options.sessionId,
|
|
315
|
-
sessionRoot,
|
|
316
|
-
created,
|
|
317
|
-
alreadyExisted,
|
|
318
|
-
bound,
|
|
319
|
-
previousSessionId,
|
|
320
|
-
claudeSettings: await materializeClaudeSettingsLocal(options.projectRoot, options.noClaudeHooks === true),
|
|
321
|
-
standardsMissing,
|
|
322
|
-
...(standardsApplied !== undefined ? { standardsApplied } : {})
|
|
323
|
-
};
|
|
324
|
-
}
|
|
325
|
-
// Re-export the consumer `.claude/settings.local.json` materialization
|
|
326
|
-
// surface so external callers (CLI, tests) keep importing from this
|
|
327
|
-
// module unchanged. The 3 helpers (`materializeClaudeSettingsLocal`,
|
|
328
|
-
// `writeOfflineTemplateCopy`, `upsertPeaksGitignoreSnippet`) and the
|
|
329
|
-
// `PEAKS_GITIGNORE_*` constants live in the sibling
|
|
330
|
-
// `workspace-claude-settings-materializer.ts` module — see v2.18.3
|
|
331
|
-
// file-split for the rationale. Function signatures and behaviour
|
|
332
|
-
// are unchanged (verbatim move).
|
|
333
|
-
import { materializeClaudeSettingsLocal } from './workspace-claude-settings-materializer.js';
|
|
334
|
-
export { materializeClaudeSettingsLocal } from './workspace-claude-settings-materializer.js';
|
|
335
|
-
/**
|
|
336
|
-
* Slice C10 (2026-06-24-legacy-change-id-sibling): whole-dir shape check
|
|
337
|
-
* for the legacy sibling `.peaks/_runtime/<sessionId>/`. Returns `true` ONLY when
|
|
338
|
-
* every leaf path under the sibling matches one of
|
|
339
|
-
* `WRITER_ALLOWED_RELATIVE_PATTERNS` AND no entry is a symlink (anywhere
|
|
340
|
-
* in the tree).
|
|
341
|
-
*
|
|
342
|
-
* Heuristic rationale (Karpathy #1 — name the tradeoff):
|
|
343
|
-
* - False negative (reject writer-shaped content): we accept this
|
|
344
|
-
* failure mode because it preserves the 2.8.3+ hard ban. The user
|
|
345
|
-
* gets a clear migration message and can re-run after deleting the
|
|
346
|
-
* sibling dir.
|
|
347
|
-
* - False positive (accept legacy residue as writer output): we
|
|
348
|
-
* REJECT this failure mode by requiring EVERY entry to match the
|
|
349
|
-
* writer-allowed shape. One mismatched leaf ⇒ `false`. The whole-dir
|
|
350
|
-
* check is conservative on purpose.
|
|
351
|
-
*
|
|
352
|
-
* Symlink rejection (Karpathy #3 — surgical): any symlinked entry — at
|
|
353
|
-
* the root or nested — returns `false` immediately. A symlinked
|
|
354
|
-
* `.peaks/_runtime/<sessionId>/qa/foo.png` could otherwise bypass the file-extension
|
|
355
|
-
* check by resolving to user content outside the project.
|
|
356
|
-
*
|
|
357
|
-
* Implementation note: the helper is synchronous and uses `lstatSync`
|
|
358
|
-
* recursively so the caller (the guard in `initWorkspace`) can decide
|
|
359
|
-
* inline without paying an async round-trip. Tree depth is bounded by
|
|
360
|
-
* the writer's mkdir pattern (≤3 levels: `<role>/<subdir>/<file>`).
|
|
361
|
-
* We cap the recursion at 8 levels as a defense-in-depth limit.
|
|
362
|
-
*/
|
|
363
|
-
export function isWriterCreatedSiblingShape(siblingDir) {
|
|
364
|
-
const MAX_DEPTH = 8;
|
|
365
|
-
const stack = [
|
|
366
|
-
{ abs: siblingDir, rel: '', depth: 0 }
|
|
367
|
-
];
|
|
368
|
-
while (stack.length > 0) {
|
|
369
|
-
const node = stack.pop();
|
|
370
|
-
if (node === undefined)
|
|
371
|
-
break;
|
|
372
|
-
if (node.depth > MAX_DEPTH) {
|
|
373
|
-
// Pathological depth — reject. The writer never goes this deep.
|
|
374
|
-
return false;
|
|
375
|
-
}
|
|
376
|
-
let stat;
|
|
377
|
-
try {
|
|
378
|
-
stat = lstatSync(node.abs);
|
|
379
|
-
}
|
|
380
|
-
catch {
|
|
381
|
-
// Any lstat failure (broken symlink, EACCES, etc.) ⇒ not
|
|
382
|
-
// writer-shaped. Be conservative.
|
|
383
|
-
return false;
|
|
384
|
-
}
|
|
385
|
-
if (stat.isSymbolicLink()) {
|
|
386
|
-
// Symlink anywhere — reject.
|
|
387
|
-
return false;
|
|
388
|
-
}
|
|
389
|
-
if (stat.isDirectory()) {
|
|
390
|
-
let entries;
|
|
391
|
-
try {
|
|
392
|
-
entries = readdirSync(node.abs);
|
|
393
|
-
}
|
|
394
|
-
catch {
|
|
395
|
-
return false;
|
|
396
|
-
}
|
|
397
|
-
if (entries.length === 0) {
|
|
398
|
-
if (node.depth === 0) {
|
|
399
|
-
// The top-level sibling dir is empty — no writer output.
|
|
400
|
-
// Reject: an empty `.peaks/<YYYY-MM-DD-*>/` dir is the most
|
|
401
|
-
// common legacy residue shape (the user mkdir'd it then
|
|
402
|
-
// forgot). The writer never creates an empty top-level
|
|
403
|
-
// dir; it always writes at least one file.
|
|
404
|
-
return false;
|
|
405
|
-
}
|
|
406
|
-
// Nested empty subdir under the sibling is fine — writer
|
|
407
|
-
// creates parent dirs lazily and may leave a placeholder
|
|
408
|
-
// behind. Skip.
|
|
409
|
-
continue;
|
|
410
|
-
}
|
|
411
|
-
for (const entry of entries) {
|
|
412
|
-
stack.push({
|
|
413
|
-
abs: join(node.abs, entry),
|
|
414
|
-
rel: node.rel.length > 0 ? `${node.rel}/${entry}` : entry,
|
|
415
|
-
depth: node.depth + 1
|
|
416
|
-
});
|
|
417
|
-
}
|
|
418
|
-
continue;
|
|
419
|
-
}
|
|
420
|
-
if (stat.isFile()) {
|
|
421
|
-
const rel = node.rel.replace(/\\/g, '/');
|
|
422
|
-
const matches = WRITER_ALLOWED_RELATIVE_PATTERNS.some((re) => re.test(rel));
|
|
423
|
-
if (!matches) {
|
|
424
|
-
return false;
|
|
425
|
-
}
|
|
426
|
-
continue;
|
|
427
|
-
}
|
|
428
|
-
// Sockets, FIFOs, devices, etc. — not writer-shaped.
|
|
429
|
-
return false;
|
|
430
|
-
}
|
|
431
|
-
return true;
|
|
432
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare function isLegacyDecisionDotfile(name: string): boolean;
|
|
2
|
-
export declare function stateDirPath(projectRoot: string): string;
|
|
3
|
-
export interface CollectResult {
|
|
4
|
-
moved: string[];
|
|
5
|
-
skipped: string[];
|
|
6
|
-
}
|
|
7
|
-
export declare function collectLegacyDecisionDotfiles(projectRoot: string): CollectResult;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readFileSync, renameSync } from 'node:fs';
|
|
2
|
-
import { join, posix } from 'node:path';
|
|
3
|
-
/**
|
|
4
|
-
* Spec §8.4 + §8.5 — `.peaks/_state/` collects one-time decision dotfiles.
|
|
5
|
-
* Migrates from legacy `.peaks/_runtime/<name>` flat layout.
|
|
6
|
-
*
|
|
7
|
-
* `stateDirPath` returns a POSIX-normalized logical path so callers and tests
|
|
8
|
-
* can compare against a platform-independent string (the .peaks tree is a
|
|
9
|
-
* config key, not a direct fs call). `mkdirSync` / `renameSync` below use
|
|
10
|
-
* the platform-native `join` so files actually land on disk.
|
|
11
|
-
*/
|
|
12
|
-
const LEGACY_DOTFILES = [
|
|
13
|
-
'.peaks-init-hooks-decision.json',
|
|
14
|
-
'.peaks-openspec-opt-in.json',
|
|
15
|
-
];
|
|
16
|
-
const STATE_DIR_NAME = '_state';
|
|
17
|
-
export function isLegacyDecisionDotfile(name) {
|
|
18
|
-
return LEGACY_DOTFILES.includes(name);
|
|
19
|
-
}
|
|
20
|
-
export function stateDirPath(projectRoot) {
|
|
21
|
-
return posix.join(projectRoot, '.peaks', STATE_DIR_NAME);
|
|
22
|
-
}
|
|
23
|
-
export function collectLegacyDecisionDotfiles(projectRoot) {
|
|
24
|
-
const peaksDir = join(projectRoot, '.peaks');
|
|
25
|
-
// Use the platform-native join for actual filesystem operations;
|
|
26
|
-
// `stateDirPath` (POSIX) is only the public/portable surface for callers.
|
|
27
|
-
const stateDir = join(projectRoot, '.peaks', STATE_DIR_NAME);
|
|
28
|
-
mkdirSync(stateDir, { recursive: true });
|
|
29
|
-
const moved = [];
|
|
30
|
-
const skipped = [];
|
|
31
|
-
for (const name of LEGACY_DOTFILES) {
|
|
32
|
-
const from = join(peaksDir, name);
|
|
33
|
-
const to = join(stateDir, name);
|
|
34
|
-
if (!existsSync(from))
|
|
35
|
-
continue;
|
|
36
|
-
if (existsSync(to)) {
|
|
37
|
-
throw new Error(`DOTFILE_COLLISION: ${name} already exists in ${stateDir} (${readFileSync(to, 'utf8').length} bytes); refusing to overwrite`);
|
|
38
|
-
}
|
|
39
|
-
renameSync(from, to);
|
|
40
|
-
moved.push(name);
|
|
41
|
-
}
|
|
42
|
-
return { moved, skipped };
|
|
43
|
-
}
|