peaks-loop 4.0.0-beta.6 → 4.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +152 -0
- package/README-en.md +178 -67
- package/README.md +178 -57
- package/examples/video-demo/README.md +108 -23
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
- package/package.json +19 -6
- package/scripts/copy-templates.mjs +64 -0
- package/scripts/install-skills.mjs +13 -10
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/library-version-awareness.md +2 -2
- package/skills/bee/peaks-rd/references/mock-data-placement.md +1 -1
- package/skills/bee/peaks-rd/references/rd-runbook.md +2 -2
- package/skills/bee/peaks-rd/references/rd-transition-gates.md +2 -2
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +1 -1
- package/skills/bee/peaks-ui/SKILL.md +2 -2
- package/skills/peaks-code/SKILL.md +35 -45
- package/skills/peaks-code/references/project-scan-checklist.md +3 -1
- package/skills/peaks-code/references/runbook.md +2 -2
- package/skills/peaks-code/references/standards-preflight.md +1 -1
- package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
- package/skills/peaks-code/references/swarm-dispatch-contract.md +1 -1
- package/skills/peaks-code/references/workflow-gates-and-types.md +3 -3
- package/skills/peaks-slice-decompose/SKILL.md +61 -1
- package/dist/src/cli/cli-helpers.d.ts +0 -43
- package/dist/src/cli/cli-helpers.js +0 -86
- package/dist/src/cli/commands/adapter-commands-s2a.d.ts +0 -34
- package/dist/src/cli/commands/adapter-commands-s2a.js +0 -92
- package/dist/src/cli/commands/adapter-commands.d.ts +0 -30
- package/dist/src/cli/commands/adapter-commands.js +0 -35
- package/dist/src/cli/commands/agent-commands.d.ts +0 -20
- package/dist/src/cli/commands/agent-commands.js +0 -48
- package/dist/src/cli/commands/asset-commands.d.ts +0 -45
- package/dist/src/cli/commands/asset-commands.js +0 -404
- package/dist/src/cli/commands/audit-commands.d.ts +0 -28
- package/dist/src/cli/commands/audit-commands.js +0 -437
- package/dist/src/cli/commands/bee-commands.d.ts +0 -26
- package/dist/src/cli/commands/bee-commands.js +0 -169
- package/dist/src/cli/commands/capability-commands.d.ts +0 -16
- package/dist/src/cli/commands/capability-commands.js +0 -45
- package/dist/src/cli/commands/capability-worker-config-sc-commands.d.ts +0 -3
- package/dist/src/cli/commands/capability-worker-config-sc-commands.js +0 -10
- package/dist/src/cli/commands/classify-classify-commands.d.ts +0 -19
- package/dist/src/cli/commands/classify-classify-commands.js +0 -151
- package/dist/src/cli/commands/code-commands.d.ts +0 -80
- package/dist/src/cli/commands/code-commands.js +0 -798
- package/dist/src/cli/commands/code-review-commands.d.ts +0 -34
- package/dist/src/cli/commands/code-review-commands.js +0 -83
- package/dist/src/cli/commands/codegraph-commands.d.ts +0 -3
- package/dist/src/cli/commands/codegraph-commands.js +0 -99
- package/dist/src/cli/commands/compact-command.d.ts +0 -21
- package/dist/src/cli/commands/compact-command.js +0 -252
- package/dist/src/cli/commands/complexity-commands.d.ts +0 -9
- package/dist/src/cli/commands/complexity-commands.js +0 -34
- package/dist/src/cli/commands/config-commands.d.ts +0 -3
- package/dist/src/cli/commands/config-commands.js +0 -220
- package/dist/src/cli/commands/context-builder-commands.d.ts +0 -11
- package/dist/src/cli/commands/context-builder-commands.js +0 -85
- package/dist/src/cli/commands/context-commands.d.ts +0 -21
- package/dist/src/cli/commands/context-commands.js +0 -254
- package/dist/src/cli/commands/contract-commands.d.ts +0 -26
- package/dist/src/cli/commands/contract-commands.js +0 -114
- package/dist/src/cli/commands/core/artifacts-command.d.ts +0 -3
- package/dist/src/cli/commands/core/artifacts-command.js +0 -62
- package/dist/src/cli/commands/core/binding-commands.d.ts +0 -3
- package/dist/src/cli/commands/core/binding-commands.js +0 -58
- package/dist/src/cli/commands/core/doctor-command.d.ts +0 -11
- package/dist/src/cli/commands/core/doctor-command.js +0 -204
- package/dist/src/cli/commands/core/memory-command.d.ts +0 -3
- package/dist/src/cli/commands/core/memory-command.js +0 -98
- package/dist/src/cli/commands/core/profile-command.d.ts +0 -3
- package/dist/src/cli/commands/core/profile-command.js +0 -9
- package/dist/src/cli/commands/core/proxy-command.d.ts +0 -3
- package/dist/src/cli/commands/core/proxy-command.js +0 -26
- package/dist/src/cli/commands/core/session-command.d.ts +0 -3
- package/dist/src/cli/commands/core/session-command.js +0 -241
- package/dist/src/cli/commands/core/skill-command.d.ts +0 -3
- package/dist/src/cli/commands/core/skill-command.js +0 -297
- package/dist/src/cli/commands/core/standards-command.d.ts +0 -3
- package/dist/src/cli/commands/core/standards-command.js +0 -95
- package/dist/src/cli/commands/core-artifact-commands.d.ts +0 -15
- package/dist/src/cli/commands/core-artifact-commands.js +0 -31
- package/dist/src/cli/commands/dispatch-commands.d.ts +0 -10
- package/dist/src/cli/commands/dispatch-commands.js +0 -351
- package/dist/src/cli/commands/dispatch-from-dag.d.ts +0 -3
- package/dist/src/cli/commands/dispatch-from-dag.js +0 -251
- package/dist/src/cli/commands/doc-commands.d.ts +0 -11
- package/dist/src/cli/commands/doc-commands.js +0 -65
- package/dist/src/cli/commands/evolution-commands.d.ts +0 -27
- package/dist/src/cli/commands/evolution-commands.js +0 -393
- package/dist/src/cli/commands/feedback-commands.d.ts +0 -18
- package/dist/src/cli/commands/feedback-commands.js +0 -145
- package/dist/src/cli/commands/final-review-commands.d.ts +0 -31
- package/dist/src/cli/commands/final-review-commands.js +0 -161
- package/dist/src/cli/commands/fixture-commands.d.ts +0 -32
- package/dist/src/cli/commands/fixture-commands.js +0 -91
- package/dist/src/cli/commands/fork-commands.d.ts +0 -16
- package/dist/src/cli/commands/fork-commands.js +0 -163
- package/dist/src/cli/commands/gate-commands.d.ts +0 -3
- package/dist/src/cli/commands/gate-commands.js +0 -117
- package/dist/src/cli/commands/heartbeat-commands.d.ts +0 -3
- package/dist/src/cli/commands/heartbeat-commands.js +0 -135
- package/dist/src/cli/commands/hook-handle.d.ts +0 -17
- package/dist/src/cli/commands/hook-handle.js +0 -157
- package/dist/src/cli/commands/hooks-commands.d.ts +0 -3
- package/dist/src/cli/commands/hooks-commands.js +0 -156
- package/dist/src/cli/commands/impact-commands.d.ts +0 -15
- package/dist/src/cli/commands/impact-commands.js +0 -62
- package/dist/src/cli/commands/job-commands.d.ts +0 -3
- package/dist/src/cli/commands/job-commands.js +0 -289
- package/dist/src/cli/commands/legacy-commands.d.ts +0 -11
- package/dist/src/cli/commands/legacy-commands.js +0 -32
- package/dist/src/cli/commands/log-commands.d.ts +0 -17
- package/dist/src/cli/commands/log-commands.js +0 -64
- package/dist/src/cli/commands/loop-commands.d.ts +0 -27
- package/dist/src/cli/commands/loop-commands.js +0 -262
- package/dist/src/cli/commands/loop-eval-commands.d.ts +0 -20
- package/dist/src/cli/commands/loop-eval-commands.js +0 -526
- package/dist/src/cli/commands/memory-commands.d.ts +0 -23
- package/dist/src/cli/commands/memory-commands.js +0 -129
- package/dist/src/cli/commands/migrate-1-4-1-command.d.ts +0 -11
- package/dist/src/cli/commands/migrate-1-4-1-command.js +0 -34
- package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -20
- package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.js +0 -52
- package/dist/src/cli/commands/mut-commands.d.ts +0 -20
- package/dist/src/cli/commands/mut-commands.js +0 -239
- package/dist/src/cli/commands/observability-commands.d.ts +0 -22
- package/dist/src/cli/commands/observability-commands.js +0 -201
- package/dist/src/cli/commands/openspec-commands.d.ts +0 -3
- package/dist/src/cli/commands/openspec-commands.js +0 -237
- package/dist/src/cli/commands/perf-audit-commands.d.ts +0 -22
- package/dist/src/cli/commands/perf-audit-commands.js +0 -132
- package/dist/src/cli/commands/perf-commands.d.ts +0 -3
- package/dist/src/cli/commands/perf-commands.js +0 -41
- package/dist/src/cli/commands/playwright-commands.d.ts +0 -95
- package/dist/src/cli/commands/playwright-commands.js +0 -432
- package/dist/src/cli/commands/polyrepo-commands.d.ts +0 -37
- package/dist/src/cli/commands/polyrepo-commands.js +0 -155
- package/dist/src/cli/commands/prd-blocks-commands.d.ts +0 -18
- package/dist/src/cli/commands/prd-blocks-commands.js +0 -50
- package/dist/src/cli/commands/prd-commands.d.ts +0 -18
- package/dist/src/cli/commands/prd-commands.js +0 -141
- package/dist/src/cli/commands/preferences-commands.d.ts +0 -2
- package/dist/src/cli/commands/preferences-commands.js +0 -197
- package/dist/src/cli/commands/project-commands.d.ts +0 -3
- package/dist/src/cli/commands/project-commands.js +0 -248
- package/dist/src/cli/commands/qa-business-review-commands.d.ts +0 -17
- package/dist/src/cli/commands/qa-business-review-commands.js +0 -148
- package/dist/src/cli/commands/qa-commands.d.ts +0 -94
- package/dist/src/cli/commands/qa-commands.js +0 -271
- package/dist/src/cli/commands/release-commands.d.ts +0 -24
- package/dist/src/cli/commands/release-commands.js +0 -231
- package/dist/src/cli/commands/request-commands.d.ts +0 -3
- package/dist/src/cli/commands/request-commands.js +0 -548
- package/dist/src/cli/commands/retrospective-commands.d.ts +0 -12
- package/dist/src/cli/commands/retrospective-commands.js +0 -175
- package/dist/src/cli/commands/reviewer-commands.d.ts +0 -14
- package/dist/src/cli/commands/reviewer-commands.js +0 -64
- package/dist/src/cli/commands/role-commands.d.ts +0 -13
- package/dist/src/cli/commands/role-commands.js +0 -85
- package/dist/src/cli/commands/runtime-commands.d.ts +0 -52
- package/dist/src/cli/commands/runtime-commands.js +0 -150
- package/dist/src/cli/commands/sc-commands.d.ts +0 -3
- package/dist/src/cli/commands/sc-commands.js +0 -45
- package/dist/src/cli/commands/scan-commands.d.ts +0 -3
- package/dist/src/cli/commands/scan-commands.js +0 -445
- package/dist/src/cli/commands/security-audit-commands.d.ts +0 -23
- package/dist/src/cli/commands/security-audit-commands.js +0 -132
- package/dist/src/cli/commands/sediment-commands.d.ts +0 -80
- package/dist/src/cli/commands/sediment-commands.js +0 -649
- package/dist/src/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
- package/dist/src/cli/commands/session-auto-compact-hook-command.js +0 -127
- package/dist/src/cli/commands/session-checkpoint-command.d.ts +0 -10
- package/dist/src/cli/commands/session-checkpoint-command.js +0 -100
- package/dist/src/cli/commands/session-migrate-skill-name.d.ts +0 -17
- package/dist/src/cli/commands/session-migrate-skill-name.js +0 -41
- package/dist/src/cli/commands/session-resume-command.d.ts +0 -11
- package/dist/src/cli/commands/session-resume-command.js +0 -83
- package/dist/src/cli/commands/share-commands.d.ts +0 -17
- package/dist/src/cli/commands/share-commands.js +0 -296
- package/dist/src/cli/commands/skill-conformance-commands.d.ts +0 -9
- package/dist/src/cli/commands/skill-conformance-commands.js +0 -39
- package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.d.ts +0 -67
- package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.js +0 -173
- package/dist/src/cli/commands/skill-search-commands.d.ts +0 -25
- package/dist/src/cli/commands/skill-search-commands.js +0 -68
- package/dist/src/cli/commands/skill-visibility.d.ts +0 -8
- package/dist/src/cli/commands/skill-visibility.js +0 -63
- package/dist/src/cli/commands/slice-commands.d.ts +0 -24
- package/dist/src/cli/commands/slice-commands.js +0 -492
- package/dist/src/cli/commands/slice-integrate-commands.d.ts +0 -11
- package/dist/src/cli/commands/slice-integrate-commands.js +0 -74
- package/dist/src/cli/commands/slice-review-commands.d.ts +0 -23
- package/dist/src/cli/commands/slice-review-commands.js +0 -162
- package/dist/src/cli/commands/smoke-commands.d.ts +0 -21
- package/dist/src/cli/commands/smoke-commands.js +0 -203
- package/dist/src/cli/commands/sop-commands.d.ts +0 -3
- package/dist/src/cli/commands/sop-commands.js +0 -215
- package/dist/src/cli/commands/statusline-commands.d.ts +0 -3
- package/dist/src/cli/commands/statusline-commands.js +0 -169
- package/dist/src/cli/commands/sub-agent-commands.d.ts +0 -22
- package/dist/src/cli/commands/sub-agent-commands.js +0 -19
- package/dist/src/cli/commands/sub-agent-dispatch-guard.d.ts +0 -55
- package/dist/src/cli/commands/sub-agent-dispatch-guard.js +0 -57
- package/dist/src/cli/commands/sub-agent-shared.d.ts +0 -99
- package/dist/src/cli/commands/sub-agent-shared.js +0 -67
- package/dist/src/cli/commands/test-commands.d.ts +0 -47
- package/dist/src/cli/commands/test-commands.js +0 -204
- package/dist/src/cli/commands/understand-commands.d.ts +0 -3
- package/dist/src/cli/commands/understand-commands.js +0 -148
- package/dist/src/cli/commands/upgrade-commands.d.ts +0 -23
- package/dist/src/cli/commands/upgrade-commands.js +0 -119
- package/dist/src/cli/commands/user-touchpoint-commands.d.ts +0 -18
- package/dist/src/cli/commands/user-touchpoint-commands.js +0 -78
- package/dist/src/cli/commands/verdict-aggregate-command.d.ts +0 -14
- package/dist/src/cli/commands/verdict-aggregate-command.js +0 -106
- package/dist/src/cli/commands/worker-commands.d.ts +0 -3
- package/dist/src/cli/commands/worker-commands.js +0 -52
- package/dist/src/cli/commands/workflow-commands.d.ts +0 -3
- package/dist/src/cli/commands/workflow-commands.js +0 -535
- package/dist/src/cli/commands/workflow-plan-commands.d.ts +0 -39
- package/dist/src/cli/commands/workflow-plan-commands.js +0 -163
- package/dist/src/cli/commands/workspace/clean-command.d.ts +0 -14
- package/dist/src/cli/commands/workspace/clean-command.js +0 -49
- package/dist/src/cli/commands/workspace/helpers.d.ts +0 -28
- package/dist/src/cli/commands/workspace/helpers.js +0 -87
- package/dist/src/cli/commands/workspace/init-command.d.ts +0 -121
- package/dist/src/cli/commands/workspace/init-command.js +0 -436
- package/dist/src/cli/commands/workspace/migrate-command.d.ts +0 -11
- package/dist/src/cli/commands/workspace/migrate-command.js +0 -91
- package/dist/src/cli/commands/workspace/reconcile-command.d.ts +0 -14
- package/dist/src/cli/commands/workspace/reconcile-command.js +0 -103
- package/dist/src/cli/commands/workspace-commands.d.ts +0 -18
- package/dist/src/cli/commands/workspace-commands.js +0 -50
- package/dist/src/cli/index.d.ts +0 -1
- package/dist/src/cli/index.js +0 -30
- package/dist/src/cli/program.d.ts +0 -5
- package/dist/src/cli/program.js +0 -401
- package/dist/src/hooks/pre-tool-use-sub-agent.d.ts +0 -28
- package/dist/src/hooks/pre-tool-use-sub-agent.js +0 -105
- package/dist/src/lib/render/message-renderer.d.ts +0 -20
- package/dist/src/lib/render/message-renderer.js +0 -80
- package/dist/src/services/adapter/adapter-registry.d.ts +0 -48
- package/dist/src/services/adapter/adapter-registry.js +0 -186
- package/dist/src/services/adapter/adapter.d.ts +0 -27
- package/dist/src/services/adapter/adapter.js +0 -5
- package/dist/src/services/adapter/auto-adapter.d.ts +0 -11
- package/dist/src/services/adapter/auto-adapter.js +0 -15
- package/dist/src/services/adapter/claude-adapter.d.ts +0 -14
- package/dist/src/services/adapter/claude-adapter.js +0 -40
- package/dist/src/services/adapter/codex-adapter.d.ts +0 -14
- package/dist/src/services/adapter/codex-adapter.js +0 -14
- package/dist/src/services/adapter/copilot-adapter.d.ts +0 -14
- package/dist/src/services/adapter/copilot-adapter.js +0 -14
- package/dist/src/services/agent/ecc-agent-service.d.ts +0 -47
- package/dist/src/services/agent/ecc-agent-service.js +0 -143
- package/dist/src/services/artifacts/artifact-lint-service.d.ts +0 -23
- package/dist/src/services/artifacts/artifact-lint-service.js +0 -99
- package/dist/src/services/artifacts/artifact-prerequisites.d.ts +0 -78
- package/dist/src/services/artifacts/artifact-prerequisites.js +0 -491
- package/dist/src/services/artifacts/artifact-service.d.ts +0 -43
- package/dist/src/services/artifacts/artifact-service.js +0 -98
- package/dist/src/services/artifacts/artifact-templates.d.ts +0 -30
- package/dist/src/services/artifacts/artifact-templates.js +0 -302
- package/dist/src/services/artifacts/repair-cycle-service.d.ts +0 -23
- package/dist/src/services/artifacts/repair-cycle-service.js +0 -52
- package/dist/src/services/artifacts/request-artifact-service.d.ts +0 -116
- package/dist/src/services/artifacts/request-artifact-service.js +0 -451
- package/dist/src/services/artifacts/request-artifact-state-helpers.d.ts +0 -51
- package/dist/src/services/artifacts/request-artifact-state-helpers.js +0 -114
- package/dist/src/services/artifacts/workspace-service.d.ts +0 -34
- package/dist/src/services/artifacts/workspace-service.js +0 -272
- package/dist/src/services/audit/artifact-writer.d.ts +0 -93
- package/dist/src/services/audit/artifact-writer.js +0 -303
- package/dist/src/services/audit/audit-goal-service.d.ts +0 -35
- package/dist/src/services/audit/audit-goal-service.js +0 -75
- package/dist/src/services/audit/audit-goal-types.d.ts +0 -40
- package/dist/src/services/audit/audit-goal-types.js +0 -15
- package/dist/src/services/audit/backing-detector.d.ts +0 -24
- package/dist/src/services/audit/backing-detector.js +0 -59
- package/dist/src/services/audit/classifier.d.ts +0 -38
- package/dist/src/services/audit/classifier.js +0 -134
- package/dist/src/services/audit/decision-writer.d.ts +0 -76
- package/dist/src/services/audit/decision-writer.js +0 -217
- package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +0 -29
- package/dist/src/services/audit/enforcers/active-skill-resolver.js +0 -71
- package/dist/src/services/audit/enforcers/code-ban.d.ts +0 -23
- package/dist/src/services/audit/enforcers/code-ban.js +0 -27
- package/dist/src/services/audit/enforcers/design-draft-confirm.d.ts +0 -24
- package/dist/src/services/audit/enforcers/design-draft-confirm.js +0 -58
- package/dist/src/services/audit/enforcers/lint-audit-regression.d.ts +0 -21
- package/dist/src/services/audit/enforcers/lint-audit-regression.js +0 -86
- package/dist/src/services/audit/enforcers/lint-catalog-governance.d.ts +0 -32
- package/dist/src/services/audit/enforcers/lint-catalog-governance.js +0 -48
- package/dist/src/services/audit/enforcers/lint-cli-back.d.ts +0 -16
- package/dist/src/services/audit/enforcers/lint-cli-back.js +0 -35
- package/dist/src/services/audit/enforcers/lint-output-style.d.ts +0 -11
- package/dist/src/services/audit/enforcers/lint-output-style.js +0 -94
- package/dist/src/services/audit/enforcers/lint-reference-integrity.d.ts +0 -6
- package/dist/src/services/audit/enforcers/lint-reference-integrity.js +0 -83
- package/dist/src/services/audit/enforcers/lint-reference-shape.d.ts +0 -30
- package/dist/src/services/audit/enforcers/lint-reference-shape.js +0 -272
- package/dist/src/services/audit/enforcers/lint-style.d.ts +0 -49
- package/dist/src/services/audit/enforcers/lint-style.js +0 -173
- package/dist/src/services/audit/enforcers/lint-workflow-shape.d.ts +0 -4
- package/dist/src/services/audit/enforcers/lint-workflow-shape.js +0 -100
- package/dist/src/services/audit/enforcers/login-gate.d.ts +0 -23
- package/dist/src/services/audit/enforcers/login-gate.js +0 -40
- package/dist/src/services/audit/enforcers/mock-placement.d.ts +0 -25
- package/dist/src/services/audit/enforcers/mock-placement.js +0 -48
- package/dist/src/services/audit/enforcers/no-root-pollution.d.ts +0 -21
- package/dist/src/services/audit/enforcers/no-root-pollution.js +0 -56
- package/dist/src/services/audit/enforcers/pre-rd-scan.d.ts +0 -22
- package/dist/src/services/audit/enforcers/pre-rd-scan.js +0 -23
- package/dist/src/services/audit/enforcers/prototype-fidelity.d.ts +0 -25
- package/dist/src/services/audit/enforcers/prototype-fidelity.js +0 -75
- package/dist/src/services/audit/enforcers/resume-detection.d.ts +0 -21
- package/dist/src/services/audit/enforcers/resume-detection.js +0 -52
- package/dist/src/services/audit/enforcers/sub-agent-sid.d.ts +0 -25
- package/dist/src/services/audit/enforcers/sub-agent-sid.js +0 -63
- package/dist/src/services/audit/prose-ratio-calculator.d.ts +0 -45
- package/dist/src/services/audit/prose-ratio-calculator.js +0 -52
- package/dist/src/services/audit/red-line-catalog-p2-a.d.ts +0 -21
- package/dist/src/services/audit/red-line-catalog-p2-a.js +0 -229
- package/dist/src/services/audit/red-line-catalog-p2-b.d.ts +0 -19
- package/dist/src/services/audit/red-line-catalog-p2-b.js +0 -225
- package/dist/src/services/audit/red-line-catalog.d.ts +0 -51
- package/dist/src/services/audit/red-line-catalog.js +0 -195
- package/dist/src/services/audit/red-lines-service.d.ts +0 -23
- package/dist/src/services/audit/red-lines-service.js +0 -464
- package/dist/src/services/audit/scanners/openspec-scanner.d.ts +0 -15
- package/dist/src/services/audit/scanners/openspec-scanner.js +0 -55
- package/dist/src/services/audit/scanners/rules-tree-scanner.d.ts +0 -16
- package/dist/src/services/audit/scanners/rules-tree-scanner.js +0 -56
- package/dist/src/services/audit/scanners/skills-tree-scanner.d.ts +0 -17
- package/dist/src/services/audit/scanners/skills-tree-scanner.js +0 -68
- package/dist/src/services/audit/static-service.d.ts +0 -60
- package/dist/src/services/audit/static-service.js +0 -130
- package/dist/src/services/audit/types.d.ts +0 -86
- package/dist/src/services/audit/types.js +0 -13
- package/dist/src/services/audit-independent/perf-audit-service.d.ts +0 -151
- package/dist/src/services/audit-independent/perf-audit-service.js +0 -316
- package/dist/src/services/audit-independent/security-audit-service.d.ts +0 -155
- package/dist/src/services/audit-independent/security-audit-service.js +0 -316
- package/dist/src/services/classify/classify-service.d.ts +0 -42
- package/dist/src/services/classify/classify-service.js +0 -122
- package/dist/src/services/classify/classify-types.d.ts +0 -79
- package/dist/src/services/classify/classify-types.js +0 -90
- package/dist/src/services/code/auto-compact-orchestrator.d.ts +0 -98
- package/dist/src/services/code/auto-compact-orchestrator.js +0 -343
- package/dist/src/services/code/batch-heartbeat-poller.d.ts +0 -51
- package/dist/src/services/code/batch-heartbeat-poller.js +0 -88
- package/dist/src/services/code/dag-orchestrator.d.ts +0 -128
- package/dist/src/services/code/dag-orchestrator.js +0 -304
- package/dist/src/services/code/emit-handoff.d.ts +0 -49
- package/dist/src/services/code/emit-handoff.js +0 -79
- package/dist/src/services/code/job-shape-decision.d.ts +0 -71
- package/dist/src/services/code/job-shape-decision.js +0 -151
- package/dist/src/services/code/mode-gate.d.ts +0 -163
- package/dist/src/services/code/mode-gate.js +0 -212
- package/dist/src/services/code/post-compact-detector.d.ts +0 -61
- package/dist/src/services/code/post-compact-detector.js +0 -240
- package/dist/src/services/code/status-line-renderer.d.ts +0 -34
- package/dist/src/services/code/status-line-renderer.js +0 -55
- package/dist/src/services/code/step-08-gate.d.ts +0 -90
- package/dist/src/services/code/step-08-gate.js +0 -136
- package/dist/src/services/code/user-touchpoint-classifier.d.ts +0 -44
- package/dist/src/services/code/user-touchpoint-classifier.js +0 -145
- package/dist/src/services/code-review/ecc-bridge.d.ts +0 -148
- package/dist/src/services/code-review/ecc-bridge.js +0 -242
- package/dist/src/services/code-review/ocr-service.d.ts +0 -129
- package/dist/src/services/code-review/ocr-service.js +0 -369
- package/dist/src/services/codegraph/codegraph-process-runner.d.ts +0 -2
- package/dist/src/services/codegraph/codegraph-process-runner.js +0 -93
- package/dist/src/services/codegraph/codegraph-service.d.ts +0 -43
- package/dist/src/services/codegraph/codegraph-service.js +0 -160
- package/dist/src/services/compact/decision-tables.d.ts +0 -66
- package/dist/src/services/compact/decision-tables.js +0 -127
- package/dist/src/services/compact/request-transition-hook.d.ts +0 -20
- package/dist/src/services/compact/request-transition-hook.js +0 -110
- package/dist/src/services/compact/suggest-service.d.ts +0 -74
- package/dist/src/services/compact/suggest-service.js +0 -203
- package/dist/src/services/complexity/complexity-estimator.d.ts +0 -34
- package/dist/src/services/complexity/complexity-estimator.js +0 -64
- package/dist/src/services/config/config-migration.d.ts +0 -45
- package/dist/src/services/config/config-migration.js +0 -154
- package/dist/src/services/config/config-restore.d.ts +0 -10
- package/dist/src/services/config/config-restore.js +0 -47
- package/dist/src/services/config/config-rollback.d.ts +0 -13
- package/dist/src/services/config/config-rollback.js +0 -26
- package/dist/src/services/config/config-safety.d.ts +0 -40
- package/dist/src/services/config/config-safety.js +0 -359
- package/dist/src/services/config/config-service.d.ts +0 -69
- package/dist/src/services/config/config-service.js +0 -814
- package/dist/src/services/config/config-types.d.ts +0 -119
- package/dist/src/services/config/config-types.js +0 -18
- package/dist/src/services/config/model-routing.d.ts +0 -4
- package/dist/src/services/config/model-routing.js +0 -17
- package/dist/src/services/config/provider-service.d.ts +0 -48
- package/dist/src/services/config/provider-service.js +0 -143
- package/dist/src/services/config/proxy-service.d.ts +0 -21
- package/dist/src/services/config/proxy-service.js +0 -44
- package/dist/src/services/config/sidecar-store.d.ts +0 -25
- package/dist/src/services/config/sidecar-store.js +0 -61
- package/dist/src/services/config/workspace-state-service.d.ts +0 -30
- package/dist/src/services/config/workspace-state-service.js +0 -142
- package/dist/src/services/context/artifact-meta.d.ts +0 -72
- package/dist/src/services/context/artifact-meta.js +0 -105
- package/dist/src/services/context/auto-compact-dispatcher.d.ts +0 -37
- package/dist/src/services/context/auto-compact-dispatcher.js +0 -240
- package/dist/src/services/context/auto-compact-reader.d.ts +0 -51
- package/dist/src/services/context/auto-compact-reader.js +0 -164
- package/dist/src/services/context/auto-compact-types.d.ts +0 -143
- package/dist/src/services/context/auto-compact-types.js +0 -36
- package/dist/src/services/context/collector.d.ts +0 -24
- package/dist/src/services/context/collector.js +0 -133
- package/dist/src/services/context/context-builder.d.ts +0 -30
- package/dist/src/services/context/context-builder.js +0 -78
- package/dist/src/services/context/context-guard.d.ts +0 -49
- package/dist/src/services/context/context-guard.js +0 -91
- package/dist/src/services/context/context-schema.d.ts +0 -415
- package/dist/src/services/context/context-schema.js +0 -73
- package/dist/src/services/context/dispatch-context-guard.d.ts +0 -27
- package/dist/src/services/context/dispatch-context-guard.js +0 -192
- package/dist/src/services/context/doc-retriever.d.ts +0 -26
- package/dist/src/services/context/doc-retriever.js +0 -51
- package/dist/src/services/context/headroom-client.d.ts +0 -34
- package/dist/src/services/context/headroom-client.js +0 -117
- package/dist/src/services/context/headroom-fetcher.d.ts +0 -6
- package/dist/src/services/context/headroom-fetcher.js +0 -28
- package/dist/src/services/context/headroom-prefs.d.ts +0 -46
- package/dist/src/services/context/headroom-prefs.js +0 -34
- package/dist/src/services/context/index.d.ts +0 -7
- package/dist/src/services/context/index.js +0 -6
- package/dist/src/services/context/main-session-monitor.d.ts +0 -89
- package/dist/src/services/context/main-session-monitor.js +0 -142
- package/dist/src/services/context/renderer.d.ts +0 -20
- package/dist/src/services/context/renderer.js +0 -30
- package/dist/src/services/context/shared-channel.d.ts +0 -93
- package/dist/src/services/context/shared-channel.js +0 -308
- package/dist/src/services/context/threshold.d.ts +0 -35
- package/dist/src/services/context/threshold.js +0 -76
- package/dist/src/services/context/tokenizer.d.ts +0 -12
- package/dist/src/services/context/tokenizer.js +0 -43
- package/dist/src/services/context/types.d.ts +0 -93
- package/dist/src/services/context/types.js +0 -9
- package/dist/src/services/crystallization/crystallization-service.d.ts +0 -239
- package/dist/src/services/crystallization/crystallization-service.js +0 -397
- package/dist/src/services/crystallization/crystallization-store.d.ts +0 -75
- package/dist/src/services/crystallization/crystallization-store.js +0 -193
- package/dist/src/services/crystallization/crystallization-types.d.ts +0 -313
- package/dist/src/services/crystallization/crystallization-types.js +0 -299
- package/dist/src/services/crystallization/evidence-brief-builder.d.ts +0 -237
- package/dist/src/services/crystallization/evidence-brief-builder.js +0 -240
- package/dist/src/services/dashboard/project-dashboard-service.d.ts +0 -91
- package/dist/src/services/dashboard/project-dashboard-service.js +0 -147
- package/dist/src/services/dispatch/batch-counter.d.ts +0 -27
- package/dist/src/services/dispatch/batch-counter.js +0 -102
- package/dist/src/services/dispatch/contract-store.d.ts +0 -63
- package/dist/src/services/dispatch/contract-store.js +0 -157
- package/dist/src/services/dispatch/dispatch-record-writer.d.ts +0 -138
- package/dist/src/services/dispatch/dispatch-record-writer.js +0 -460
- package/dist/src/services/dispatch/heartbeat-truncator.d.ts +0 -26
- package/dist/src/services/dispatch/heartbeat-truncator.js +0 -13
- package/dist/src/services/dispatch/leak-detector.d.ts +0 -11
- package/dist/src/services/dispatch/leak-detector.js +0 -72
- package/dist/src/services/dispatch/slice-dag.d.ts +0 -81
- package/dist/src/services/dispatch/slice-dag.js +0 -238
- package/dist/src/services/dispatch/sub-agent-dispatcher.d.ts +0 -239
- package/dist/src/services/dispatch/sub-agent-dispatcher.js +0 -382
- package/dist/src/services/dispatch/test-tool-detection.d.ts +0 -36
- package/dist/src/services/dispatch/test-tool-detection.js +0 -46
- package/dist/src/services/doc/doc-generator.d.ts +0 -38
- package/dist/src/services/doc/doc-generator.js +0 -122
- package/dist/src/services/doctor/doctor-service.d.ts +0 -149
- package/dist/src/services/doctor/doctor-service.js +0 -929
- package/dist/src/services/evolution/evolution-service.d.ts +0 -137
- package/dist/src/services/evolution/evolution-service.js +0 -281
- package/dist/src/services/evolution/evolution-store.d.ts +0 -57
- package/dist/src/services/evolution/evolution-store.js +0 -232
- package/dist/src/services/evolution/evolution-types.d.ts +0 -706
- package/dist/src/services/evolution/evolution-types.js +0 -286
- package/dist/src/services/evolution/independent-evaluator-runner.d.ts +0 -90
- package/dist/src/services/evolution/independent-evaluator-runner.js +0 -106
- package/dist/src/services/evolution/regression-skeptic-runner.d.ts +0 -64
- package/dist/src/services/evolution/regression-skeptic-runner.js +0 -113
- package/dist/src/services/feedback/feedback-promotion-service.d.ts +0 -123
- package/dist/src/services/feedback/feedback-promotion-service.js +0 -300
- package/dist/src/services/filesystem/file-lock.d.ts +0 -11
- package/dist/src/services/filesystem/file-lock.js +0 -129
- package/dist/src/services/final-review/final-review-service.d.ts +0 -12
- package/dist/src/services/final-review/final-review-service.js +0 -52
- package/dist/src/services/final-review/final-review-types.d.ts +0 -42
- package/dist/src/services/final-review/final-review-types.js +0 -18
- package/dist/src/services/fixture/fixture-capture-service.d.ts +0 -87
- package/dist/src/services/fixture/fixture-capture-service.js +0 -317
- package/dist/src/services/fixture/fixture-sanitize-service.d.ts +0 -117
- package/dist/src/services/fixture/fixture-sanitize-service.js +0 -161
- package/dist/src/services/fixture/index.d.ts +0 -8
- package/dist/src/services/fixture/index.js +0 -8
- package/dist/src/services/fork/fork-sync-state.d.ts +0 -85
- package/dist/src/services/fork/fork-sync-state.js +0 -130
- package/dist/src/services/fuzzy-matching/fuzzy-match-service.d.ts +0 -15
- package/dist/src/services/fuzzy-matching/fuzzy-match-service.js +0 -56
- package/dist/src/services/fuzzy-matching/fzf-pick-service.d.ts +0 -68
- package/dist/src/services/fuzzy-matching/fzf-pick-service.js +0 -158
- package/dist/src/services/fuzzy-matching/types.d.ts +0 -20
- package/dist/src/services/fuzzy-matching/types.js +0 -1
- package/dist/src/services/handoff/handoff-parser.d.ts +0 -28
- package/dist/src/services/handoff/handoff-parser.js +0 -69
- package/dist/src/services/handoff/handoff-types.d.ts +0 -39
- package/dist/src/services/handoff/handoff-types.js +0 -19
- package/dist/src/services/handoff/handoff-writer.d.ts +0 -23
- package/dist/src/services/handoff/handoff-writer.js +0 -30
- package/dist/src/services/hooks/auto-compact-hook-install.d.ts +0 -104
- package/dist/src/services/hooks/auto-compact-hook-install.js +0 -157
- package/dist/src/services/hooks/output.d.ts +0 -92
- package/dist/src/services/hooks/output.js +0 -111
- package/dist/src/services/hooks/presence-marker-detector.d.ts +0 -16
- package/dist/src/services/hooks/presence-marker-detector.js +0 -105
- package/dist/src/services/ide/adapters/claude-code-adapter.d.ts +0 -18
- package/dist/src/services/ide/adapters/claude-code-adapter.js +0 -103
- package/dist/src/services/ide/adapters/codex-adapter.d.ts +0 -46
- package/dist/src/services/ide/adapters/codex-adapter.js +0 -97
- package/dist/src/services/ide/adapters/cursor-adapter.d.ts +0 -36
- package/dist/src/services/ide/adapters/cursor-adapter.js +0 -84
- package/dist/src/services/ide/adapters/hermes-adapter.d.ts +0 -21
- package/dist/src/services/ide/adapters/hermes-adapter.js +0 -51
- package/dist/src/services/ide/adapters/openclaw-adapter.d.ts +0 -14
- package/dist/src/services/ide/adapters/openclaw-adapter.js +0 -42
- package/dist/src/services/ide/adapters/trae-adapter.d.ts +0 -42
- package/dist/src/services/ide/adapters/trae-adapter.js +0 -83
- package/dist/src/services/ide/hook-protocol.d.ts +0 -47
- package/dist/src/services/ide/hook-protocol.js +0 -74
- package/dist/src/services/ide/hook-translator.d.ts +0 -72
- package/dist/src/services/ide/hook-translator.js +0 -128
- package/dist/src/services/ide/ide-detector.d.ts +0 -10
- package/dist/src/services/ide/ide-detector.js +0 -19
- package/dist/src/services/ide/ide-registry.d.ts +0 -14
- package/dist/src/services/ide/ide-registry.js +0 -60
- package/dist/src/services/ide/ide-types.d.ts +0 -230
- package/dist/src/services/ide/ide-types.js +0 -2
- package/dist/src/services/ide/resource-profile.d.ts +0 -52
- package/dist/src/services/ide/resource-profile.js +0 -33
- package/dist/src/services/ide/shared/atomic-json.d.ts +0 -15
- package/dist/src/services/ide/shared/atomic-json.js +0 -58
- package/dist/src/services/ide/shared/safe-path.d.ts +0 -11
- package/dist/src/services/ide/shared/safe-path.js +0 -29
- package/dist/src/services/impact/impact-scan-service.d.ts +0 -66
- package/dist/src/services/impact/impact-scan-service.js +0 -197
- package/dist/src/services/job/job-event-emitter.d.ts +0 -30
- package/dist/src/services/job/job-event-emitter.js +0 -5
- package/dist/src/services/job/job-orchestrator.d.ts +0 -50
- package/dist/src/services/job/job-orchestrator.js +0 -104
- package/dist/src/services/job/job-progress-store.d.ts +0 -60
- package/dist/src/services/job/job-progress-store.js +0 -70
- package/dist/src/services/job/job-resource-snapshot.d.ts +0 -7
- package/dist/src/services/job/job-resource-snapshot.js +0 -75
- package/dist/src/services/job/job-rotation.d.ts +0 -17
- package/dist/src/services/job/job-rotation.js +0 -30
- package/dist/src/services/job/job-state-store.d.ts +0 -24
- package/dist/src/services/job/job-state-store.js +0 -60
- package/dist/src/services/job/job-types.d.ts +0 -444
- package/dist/src/services/job/job-types.js +0 -87
- package/dist/src/services/job/subagent-job-wrapper.d.ts +0 -35
- package/dist/src/services/job/subagent-job-wrapper.js +0 -30
- package/dist/src/services/legacy/legacy-detector.d.ts +0 -34
- package/dist/src/services/legacy/legacy-detector.js +0 -111
- package/dist/src/services/log/log-commands-service.d.ts +0 -54
- package/dist/src/services/log/log-commands-service.js +0 -83
- package/dist/src/services/log/logger.d.ts +0 -103
- package/dist/src/services/log/logger.js +0 -224
- package/dist/src/services/log/redact.d.ts +0 -32
- package/dist/src/services/log/redact.js +0 -89
- package/dist/src/services/log/retention.d.ts +0 -34
- package/dist/src/services/log/retention.js +0 -78
- package/dist/src/services/loop/evaluator-dispatcher.d.ts +0 -50
- package/dist/src/services/loop/evaluator-dispatcher.js +0 -552
- package/dist/src/services/loop/loop-bee-relation-service.d.ts +0 -107
- package/dist/src/services/loop/loop-bee-relation-service.js +0 -211
- package/dist/src/services/loop/loop-bee-relation-store.d.ts +0 -53
- package/dist/src/services/loop/loop-bee-relation-store.js +0 -130
- package/dist/src/services/loop/loop-bee-relation-types.d.ts +0 -118
- package/dist/src/services/loop/loop-bee-relation-types.js +0 -114
- package/dist/src/services/loop/loop-release-service.d.ts +0 -46
- package/dist/src/services/loop/loop-release-service.js +0 -66
- package/dist/src/services/loop/loop-release-store.d.ts +0 -55
- package/dist/src/services/loop/loop-release-store.js +0 -134
- package/dist/src/services/loop/loop-release-types.d.ts +0 -250
- package/dist/src/services/loop/loop-release-types.js +0 -162
- package/dist/src/services/loop/monotonic-guard.d.ts +0 -80
- package/dist/src/services/loop/monotonic-guard.js +0 -232
- package/dist/src/services/loop/monotonic-runner.d.ts +0 -58
- package/dist/src/services/loop/monotonic-runner.js +0 -231
- package/dist/src/services/loop/run-driver.d.ts +0 -70
- package/dist/src/services/loop/run-driver.js +0 -400
- package/dist/src/services/loop/spec-service.d.ts +0 -90
- package/dist/src/services/loop/spec-service.js +0 -497
- package/dist/src/services/memory/llm-reranker.d.ts +0 -174
- package/dist/src/services/memory/llm-reranker.js +0 -284
- package/dist/src/services/memory/memory-search-service.d.ts +0 -93
- package/dist/src/services/memory/memory-search-service.js +0 -117
- package/dist/src/services/memory/project-context-service.d.ts +0 -11
- package/dist/src/services/memory/project-context-service.js +0 -148
- package/dist/src/services/memory/project-memory-service.d.ts +0 -167
- package/dist/src/services/memory/project-memory-service.js +0 -817
- package/dist/src/services/migrate-skill-name/migrate.d.ts +0 -17
- package/dist/src/services/migrate-skill-name/migrate.js +0 -152
- package/dist/src/services/migrate-skill-name/schema.d.ts +0 -42
- package/dist/src/services/migrate-skill-name/schema.js +0 -25
- package/dist/src/services/migration/v2-10-to-v2-11-service.d.ts +0 -44
- package/dist/src/services/migration/v2-10-to-v2-11-service.js +0 -190
- package/dist/src/services/migration/v2-10-to-v2-11-types.d.ts +0 -41
- package/dist/src/services/migration/v2-10-to-v2-11-types.js +0 -23
- package/dist/src/services/mode/bypass-tracker.d.ts +0 -4
- package/dist/src/services/mode/bypass-tracker.js +0 -31
- package/dist/src/services/mode/mode-enforcement.d.ts +0 -14
- package/dist/src/services/mode/mode-enforcement.js +0 -84
- package/dist/src/services/mut/assert-scanner.d.ts +0 -6
- package/dist/src/services/mut/assert-scanner.js +0 -116
- package/dist/src/services/mut/index.d.ts +0 -8
- package/dist/src/services/mut/index.js +0 -7
- package/dist/src/services/mut/mut-runner.d.ts +0 -39
- package/dist/src/services/mut/mut-runner.js +0 -29
- package/dist/src/services/mut/production-stryker.d.ts +0 -2
- package/dist/src/services/mut/production-stryker.js +0 -75
- package/dist/src/services/mut/report-builder.d.ts +0 -11
- package/dist/src/services/mut/report-builder.js +0 -110
- package/dist/src/services/mut/report-loader.d.ts +0 -31
- package/dist/src/services/mut/report-loader.js +0 -78
- package/dist/src/services/mut/thresholds.d.ts +0 -21
- package/dist/src/services/mut/thresholds.js +0 -22
- package/dist/src/services/mut/types.d.ts +0 -336
- package/dist/src/services/mut/types.js +0 -59
- package/dist/src/services/observability/aggregation.d.ts +0 -64
- package/dist/src/services/observability/aggregation.js +0 -217
- package/dist/src/services/observability/jsonl-store.d.ts +0 -59
- package/dist/src/services/observability/jsonl-store.js +0 -120
- package/dist/src/services/observability/observability-service.d.ts +0 -95
- package/dist/src/services/observability/observability-service.js +0 -119
- package/dist/src/services/observability/report-formatter.d.ts +0 -42
- package/dist/src/services/observability/report-formatter.js +0 -156
- package/dist/src/services/openspec/openspec-archive-service.d.ts +0 -12
- package/dist/src/services/openspec/openspec-archive-service.js +0 -28
- package/dist/src/services/openspec/openspec-bridge-service.d.ts +0 -16
- package/dist/src/services/openspec/openspec-bridge-service.js +0 -76
- package/dist/src/services/openspec/openspec-init-service.d.ts +0 -23
- package/dist/src/services/openspec/openspec-init-service.js +0 -122
- package/dist/src/services/openspec/openspec-propose-from-doctor-service.d.ts +0 -31
- package/dist/src/services/openspec/openspec-propose-from-doctor-service.js +0 -95
- package/dist/src/services/openspec/openspec-render-service.d.ts +0 -38
- package/dist/src/services/openspec/openspec-render-service.js +0 -130
- package/dist/src/services/openspec/openspec-scan-service.d.ts +0 -6
- package/dist/src/services/openspec/openspec-scan-service.js +0 -123
- package/dist/src/services/openspec/openspec-types.d.ts +0 -39
- package/dist/src/services/openspec/openspec-types.js +0 -1
- package/dist/src/services/openspec/openspec-validate-service.d.ts +0 -27
- package/dist/src/services/openspec/openspec-validate-service.js +0 -77
- package/dist/src/services/perf/perf-baseline-service.d.ts +0 -70
- package/dist/src/services/perf/perf-baseline-service.js +0 -214
- package/dist/src/services/polyrepo/polyrepo-dispatcher.d.ts +0 -34
- package/dist/src/services/polyrepo/polyrepo-dispatcher.js +0 -119
- package/dist/src/services/polyrepo/polyrepo-scanner.d.ts +0 -9
- package/dist/src/services/polyrepo/polyrepo-scanner.js +0 -94
- package/dist/src/services/polyrepo/polyrepo-service.d.ts +0 -34
- package/dist/src/services/polyrepo/polyrepo-service.js +0 -49
- package/dist/src/services/polyrepo/polyrepo-types.d.ts +0 -55
- package/dist/src/services/polyrepo/polyrepo-types.js +0 -1
- package/dist/src/services/prd/handoff-auto-regen.d.ts +0 -22
- package/dist/src/services/prd/handoff-auto-regen.js +0 -73
- package/dist/src/services/prd/handoff-service.d.ts +0 -54
- package/dist/src/services/prd/handoff-service.js +0 -142
- package/dist/src/services/prd/handoff-types.d.ts +0 -64
- package/dist/src/services/prd/handoff-types.js +0 -22
- package/dist/src/services/prd/prd-blocks-checker.d.ts +0 -51
- package/dist/src/services/prd/prd-blocks-checker.js +0 -130
- package/dist/src/services/prd/project-scan-reader.d.ts +0 -24
- package/dist/src/services/prd/project-scan-reader.js +0 -150
- package/dist/src/services/prd/project-scan-sediment.d.ts +0 -97
- package/dist/src/services/prd/project-scan-sediment.js +0 -445
- package/dist/src/services/prd/project-scan-types.d.ts +0 -66
- package/dist/src/services/prd/project-scan-types.js +0 -20
- package/dist/src/services/preferences/preferences-service.d.ts +0 -38
- package/dist/src/services/preferences/preferences-service.js +0 -198
- package/dist/src/services/preferences/preferences-types.d.ts +0 -148
- package/dist/src/services/preferences/preferences-types.js +0 -53
- package/dist/src/services/profiles/profile-service.d.ts +0 -6
- package/dist/src/services/profiles/profile-service.js +0 -19
- package/dist/src/services/progress/progress-service.d.ts +0 -125
- package/dist/src/services/progress/progress-service.js +0 -192
- package/dist/src/services/providers/minimax-provider-service.d.ts +0 -24
- package/dist/src/services/providers/minimax-provider-service.js +0 -143
- package/dist/src/services/providers/minimax-worker-service.d.ts +0 -21
- package/dist/src/services/providers/minimax-worker-service.js +0 -83
- package/dist/src/services/proxy/proxy-service.d.ts +0 -7
- package/dist/src/services/proxy/proxy-service.js +0 -31
- package/dist/src/services/qa/browser-event-logger.d.ts +0 -40
- package/dist/src/services/qa/browser-event-logger.js +0 -54
- package/dist/src/services/qa/browser-restart-detector.d.ts +0 -74
- package/dist/src/services/qa/browser-restart-detector.js +0 -138
- package/dist/src/services/qa/browser-reuse-hint.d.ts +0 -18
- package/dist/src/services/qa/browser-reuse-hint.js +0 -18
- package/dist/src/services/qa/browser-wrapper-service.d.ts +0 -37
- package/dist/src/services/qa/browser-wrapper-service.js +0 -88
- package/dist/src/services/qa/qa-business-review-state.d.ts +0 -47
- package/dist/src/services/qa/qa-business-review-state.js +0 -96
- package/dist/src/services/rd/ast-gate.d.ts +0 -19
- package/dist/src/services/rd/ast-gate.js +0 -71
- package/dist/src/services/rd/impl.d.ts +0 -9
- package/dist/src/services/rd/impl.js +0 -57
- package/dist/src/services/rd/rd-service.d.ts +0 -129
- package/dist/src/services/rd/rd-service.js +0 -438
- package/dist/src/services/rd/reviewer-dispatch-policy.d.ts +0 -122
- package/dist/src/services/rd/reviewer-dispatch-policy.js +0 -148
- package/dist/src/services/rd/standards-diagnostic.d.ts +0 -76
- package/dist/src/services/rd/standards-diagnostic.js +0 -166
- package/dist/src/services/rd/strategic-stage.d.ts +0 -4
- package/dist/src/services/rd/strategic-stage.js +0 -15
- package/dist/src/services/rd/strategy.d.ts +0 -13
- package/dist/src/services/rd/strategy.js +0 -60
- package/dist/src/services/rd/tactical-stage.d.ts +0 -33
- package/dist/src/services/rd/tactical-stage.js +0 -62
- package/dist/src/services/rd/types.d.ts +0 -252
- package/dist/src/services/rd/types.js +0 -47
- package/dist/src/services/recommendations/capability-availability.d.ts +0 -5
- package/dist/src/services/recommendations/capability-availability.js +0 -40
- package/dist/src/services/recommendations/capability-map-service.d.ts +0 -7
- package/dist/src/services/recommendations/capability-map-service.js +0 -131
- package/dist/src/services/recommendations/capability-seed-items.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-items.js +0 -140
- package/dist/src/services/recommendations/capability-seed-mappings.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-mappings.js +0 -54
- package/dist/src/services/recommendations/capability-seed-sources.d.ts +0 -2
- package/dist/src/services/recommendations/capability-seed-sources.js +0 -35
- package/dist/src/services/recommendations/recommendation-service.d.ts +0 -8
- package/dist/src/services/recommendations/recommendation-service.js +0 -106
- package/dist/src/services/recommendations/recommendation-types.d.ts +0 -129
- package/dist/src/services/recommendations/recommendation-types.js +0 -1
- package/dist/src/services/recommendations/seed-capability-catalog.d.ts +0 -3
- package/dist/src/services/recommendations/seed-capability-catalog.js +0 -3
- package/dist/src/services/refactor/refactor-service.d.ts +0 -9
- package/dist/src/services/refactor/refactor-service.js +0 -36
- package/dist/src/services/release/release-state.d.ts +0 -70
- package/dist/src/services/release/release-state.js +0 -140
- package/dist/src/services/retrospective/retrospective-index.d.ts +0 -37
- package/dist/src/services/retrospective/retrospective-index.js +0 -110
- package/dist/src/services/retrospective/retrospective-search-service.d.ts +0 -55
- package/dist/src/services/retrospective/retrospective-search-service.js +0 -107
- package/dist/src/services/retrospective/retrospective-show.d.ts +0 -40
- package/dist/src/services/retrospective/retrospective-show.js +0 -109
- package/dist/src/services/reviewer/model-family.d.ts +0 -18
- package/dist/src/services/reviewer/model-family.js +0 -70
- package/dist/src/services/reviewer/providers/anthropic.d.ts +0 -2
- package/dist/src/services/reviewer/providers/anthropic.js +0 -61
- package/dist/src/services/reviewer/providers/ollama.d.ts +0 -26
- package/dist/src/services/reviewer/providers/ollama.js +0 -38
- package/dist/src/services/reviewer/providers/openai.d.ts +0 -2
- package/dist/src/services/reviewer/providers/openai.js +0 -63
- package/dist/src/services/reviewer/reviewer-config.d.ts +0 -34
- package/dist/src/services/reviewer/reviewer-config.js +0 -100
- package/dist/src/services/reviewer/reviewer-service.d.ts +0 -56
- package/dist/src/services/reviewer/reviewer-service.js +0 -263
- package/dist/src/services/reviewer/selection-strategies.d.ts +0 -27
- package/dist/src/services/reviewer/selection-strategies.js +0 -53
- package/dist/src/services/role/role-registry.d.ts +0 -38
- package/dist/src/services/role/role-registry.js +0 -83
- package/dist/src/services/runtime/runtime-detector.d.ts +0 -15
- package/dist/src/services/runtime/runtime-detector.js +0 -62
- package/dist/src/services/runtime/runtime-service.d.ts +0 -59
- package/dist/src/services/runtime/runtime-service.js +0 -51
- package/dist/src/services/runtime/vendor-adapter.d.ts +0 -59
- package/dist/src/services/runtime/vendor-adapter.js +0 -1
- package/dist/src/services/runtime/vendors/claude-code.d.ts +0 -7
- package/dist/src/services/runtime/vendors/claude-code.js +0 -39
- package/dist/src/services/runtime/vendors/codex.d.ts +0 -7
- package/dist/src/services/runtime/vendors/codex.js +0 -43
- package/dist/src/services/runtime/vendors/copilot.d.ts +0 -7
- package/dist/src/services/runtime/vendors/copilot.js +0 -40
- package/dist/src/services/sc/index.d.ts +0 -1
- package/dist/src/services/sc/index.js +0 -1
- package/dist/src/services/sc/sc-service.d.ts +0 -131
- package/dist/src/services/sc/sc-service.js +0 -552
- package/dist/src/services/scan/acceptance-coverage-service.d.ts +0 -42
- package/dist/src/services/scan/acceptance-coverage-service.js +0 -140
- package/dist/src/services/scan/api-surface-service.d.ts +0 -69
- package/dist/src/services/scan/api-surface-service.js +0 -239
- package/dist/src/services/scan/archetype-service.d.ts +0 -5
- package/dist/src/services/scan/archetype-service.js +0 -242
- package/dist/src/services/scan/diff-scope-service.d.ts +0 -40
- package/dist/src/services/scan/diff-scope-service.js +0 -198
- package/dist/src/services/scan/existing-system-service.d.ts +0 -7
- package/dist/src/services/scan/existing-system-service.js +0 -300
- package/dist/src/services/scan/file-size-scan.d.ts +0 -23
- package/dist/src/services/scan/file-size-scan.js +0 -68
- package/dist/src/services/scan/karpathy-service.d.ts +0 -60
- package/dist/src/services/scan/karpathy-service.js +0 -228
- package/dist/src/services/scan/libraries-service.d.ts +0 -24
- package/dist/src/services/scan/libraries-service.js +0 -419
- package/dist/src/services/scan/libraries-types.d.ts +0 -59
- package/dist/src/services/scan/libraries-types.js +0 -9
- package/dist/src/services/scan/orphan-service.d.ts +0 -76
- package/dist/src/services/scan/orphan-service.js +0 -538
- package/dist/src/services/scan/scan-types.d.ts +0 -59
- package/dist/src/services/scan/scan-types.js +0 -1
- package/dist/src/services/scan/type-sanity-service.d.ts +0 -23
- package/dist/src/services/scan/type-sanity-service.js +0 -116
- package/dist/src/services/security/safe-settings-path.d.ts +0 -12
- package/dist/src/services/security/safe-settings-path.js +0 -104
- package/dist/src/services/sediment/dispose-confirm.d.ts +0 -9
- package/dist/src/services/sediment/dispose-confirm.js +0 -5
- package/dist/src/services/sediment/json-schema.d.ts +0 -247
- package/dist/src/services/sediment/json-schema.js +0 -26
- package/dist/src/services/sediment/manifest-lint.d.ts +0 -13
- package/dist/src/services/sediment/manifest-lint.js +0 -11
- package/dist/src/services/sediment/pool-paths.d.ts +0 -22
- package/dist/src/services/sediment/pool-paths.js +0 -25
- package/dist/src/services/sediment/pool-read.d.ts +0 -20
- package/dist/src/services/sediment/pool-read.js +0 -73
- package/dist/src/services/sediment/pool-rebuild-index.d.ts +0 -15
- package/dist/src/services/sediment/pool-rebuild-index.js +0 -28
- package/dist/src/services/sediment/pool-write.d.ts +0 -14
- package/dist/src/services/sediment/pool-write.js +0 -25
- package/dist/src/services/sediment/promotion-gate.d.ts +0 -12
- package/dist/src/services/sediment/promotion-gate.js +0 -20
- package/dist/src/services/sediment/types.d.ts +0 -52
- package/dist/src/services/sediment/types.js +0 -1
- package/dist/src/services/session/binding-status-service.d.ts +0 -56
- package/dist/src/services/session/binding-status-service.js +0 -106
- package/dist/src/services/session/binding-store.d.ts +0 -161
- package/dist/src/services/session/binding-store.js +0 -509
- package/dist/src/services/session/caller-binding-service.d.ts +0 -70
- package/dist/src/services/session/caller-binding-service.js +0 -148
- package/dist/src/services/session/caller-id-types.d.ts +0 -77
- package/dist/src/services/session/caller-id-types.js +0 -46
- package/dist/src/services/session/getSessionDir.d.ts +0 -1
- package/dist/src/services/session/getSessionDir.js +0 -27
- package/dist/src/services/session/index.d.ts +0 -6
- package/dist/src/services/session/index.js +0 -7
- package/dist/src/services/session/platform-fallbacks.d.ts +0 -31
- package/dist/src/services/session/platform-fallbacks.js +0 -35
- package/dist/src/services/session/resolve-caller-id.d.ts +0 -57
- package/dist/src/services/session/resolve-caller-id.js +0 -88
- package/dist/src/services/session/session-binding-bridge.d.ts +0 -76
- package/dist/src/services/session/session-binding-bridge.js +0 -247
- package/dist/src/services/session/session-checkpoint-service.d.ts +0 -57
- package/dist/src/services/session/session-checkpoint-service.js +0 -143
- package/dist/src/services/session/session-manager.d.ts +0 -168
- package/dist/src/services/session/session-manager.js +0 -502
- package/dist/src/services/session/session-resume-service.d.ts +0 -25
- package/dist/src/services/session/session-resume-service.js +0 -101
- package/dist/src/services/share/bundle-reader.d.ts +0 -100
- package/dist/src/services/share/bundle-reader.js +0 -434
- package/dist/src/services/share/bundle-types.d.ts +0 -392
- package/dist/src/services/share/bundle-types.js +0 -318
- package/dist/src/services/share/bundle-writer.d.ts +0 -97
- package/dist/src/services/share/bundle-writer.js +0 -429
- package/dist/src/services/share/run-state-contract.d.ts +0 -133
- package/dist/src/services/share/run-state-contract.js +0 -138
- package/dist/src/services/signal/cancel-handler.d.ts +0 -14
- package/dist/src/services/signal/cancel-handler.js +0 -76
- package/dist/src/services/skill/resume-detector.d.ts +0 -54
- package/dist/src/services/skill/resume-detector.js +0 -334
- package/dist/src/services/skill/skill-scheduler.d.ts +0 -40
- package/dist/src/services/skill/skill-scheduler.js +0 -53
- package/dist/src/services/skill/skill-search-service.d.ts +0 -88
- package/dist/src/services/skill/skill-search-service.js +0 -228
- package/dist/src/services/skillhub/release-diff.d.ts +0 -18
- package/dist/src/services/skillhub/release-diff.js +0 -38
- package/dist/src/services/skillhub/release-export.d.ts +0 -8
- package/dist/src/services/skillhub/release-export.js +0 -31
- package/dist/src/services/skillhub/release-gc-blobs.d.ts +0 -13
- package/dist/src/services/skillhub/release-gc-blobs.js +0 -32
- package/dist/src/services/skillhub/release-import.d.ts +0 -7
- package/dist/src/services/skillhub/release-import.js +0 -64
- package/dist/src/services/skillhub/release-retain.d.ts +0 -23
- package/dist/src/services/skillhub/release-retain.js +0 -94
- package/dist/src/services/skillhub/sqlite-store.d.ts +0 -22
- package/dist/src/services/skillhub/sqlite-store.js +0 -63
- package/dist/src/services/skillhub/tar-runtime.d.ts +0 -21
- package/dist/src/services/skillhub/tar-runtime.js +0 -91
- package/dist/src/services/skillhub/types.d.ts +0 -115
- package/dist/src/services/skillhub/types.js +0 -1
- package/dist/src/services/skills/hooks-settings-service.d.ts +0 -137
- package/dist/src/services/skills/hooks-settings-service.js +0 -396
- package/dist/src/services/skills/skill-conformance-service.d.ts +0 -40
- package/dist/src/services/skills/skill-conformance-service.js +0 -139
- package/dist/src/services/skills/skill-presence-service.d.ts +0 -158
- package/dist/src/services/skills/skill-presence-service.js +0 -474
- package/dist/src/services/skills/skill-registry.d.ts +0 -17
- package/dist/src/services/skills/skill-registry.js +0 -67
- package/dist/src/services/skills/skill-runbook-service.d.ts +0 -11
- package/dist/src/services/skills/skill-runbook-service.js +0 -128
- package/dist/src/services/skills/skill-statusline-renderer.d.ts +0 -6
- package/dist/src/services/skills/skill-statusline-renderer.js +0 -55
- package/dist/src/services/skills/skill-statusline-service.d.ts +0 -24
- package/dist/src/services/skills/skill-statusline-service.js +0 -110
- package/dist/src/services/skills/statusline-settings-service.d.ts +0 -59
- package/dist/src/services/skills/statusline-settings-service.js +0 -141
- package/dist/src/services/skills/sync-service.d.ts +0 -86
- package/dist/src/services/skills/sync-service.js +0 -271
- package/dist/src/services/slice/calibration-store.d.ts +0 -39
- package/dist/src/services/slice/calibration-store.js +0 -68
- package/dist/src/services/slice/cross-pass-edge-merger.d.ts +0 -53
- package/dist/src/services/slice/cross-pass-edge-merger.js +0 -246
- package/dist/src/services/slice/granularity-decider.d.ts +0 -37
- package/dist/src/services/slice/granularity-decider.js +0 -40
- package/dist/src/services/slice/llm-arbitrator.d.ts +0 -35
- package/dist/src/services/slice/llm-arbitrator.js +0 -63
- package/dist/src/services/slice/multi-pass-orchestrator.d.ts +0 -67
- package/dist/src/services/slice/multi-pass-orchestrator.js +0 -225
- package/dist/src/services/slice/schema-router.d.ts +0 -44
- package/dist/src/services/slice/schema-router.js +0 -61
- package/dist/src/services/slice/slice-archive-service.d.ts +0 -20
- package/dist/src/services/slice/slice-archive-service.js +0 -111
- package/dist/src/services/slice/slice-benchmark-service.d.ts +0 -19
- package/dist/src/services/slice/slice-benchmark-service.js +0 -60
- package/dist/src/services/slice/slice-check-service.d.ts +0 -2
- package/dist/src/services/slice/slice-check-service.js +0 -459
- package/dist/src/services/slice/slice-check-types.d.ts +0 -104
- package/dist/src/services/slice/slice-check-types.js +0 -28
- package/dist/src/services/slice/slice-decompose-runners.d.ts +0 -23
- package/dist/src/services/slice/slice-decompose-runners.js +0 -174
- package/dist/src/services/slice/slice-decompose-service.d.ts +0 -24
- package/dist/src/services/slice/slice-decompose-service.js +0 -532
- package/dist/src/services/slice/slice-decompose-types.d.ts +0 -263
- package/dist/src/services/slice/slice-decompose-types.js +0 -30
- package/dist/src/services/slice/slice-integration.d.ts +0 -43
- package/dist/src/services/slice/slice-integration.js +0 -106
- package/dist/src/services/slice/slice-pick-service.d.ts +0 -32
- package/dist/src/services/slice/slice-pick-service.js +0 -75
- package/dist/src/services/slice/slice-review-state.d.ts +0 -70
- package/dist/src/services/slice/slice-review-state.js +0 -109
- package/dist/src/services/slice/slice-topology-types.d.ts +0 -115
- package/dist/src/services/slice/slice-topology-types.js +0 -20
- package/dist/src/services/smoke/smoke-paths-state.d.ts +0 -73
- package/dist/src/services/smoke/smoke-paths-state.js +0 -117
- package/dist/src/services/sop/gate-enforce-service.d.ts +0 -33
- package/dist/src/services/sop/gate-enforce-service.js +0 -168
- package/dist/src/services/sop/sop-advance-service.d.ts +0 -74
- package/dist/src/services/sop/sop-advance-service.js +0 -115
- package/dist/src/services/sop/sop-check-service.d.ts +0 -45
- package/dist/src/services/sop/sop-check-service.js +0 -181
- package/dist/src/services/sop/sop-paths.d.ts +0 -62
- package/dist/src/services/sop/sop-paths.js +0 -92
- package/dist/src/services/sop/sop-registry-service.d.ts +0 -46
- package/dist/src/services/sop/sop-registry-service.js +0 -89
- package/dist/src/services/sop/sop-service.d.ts +0 -55
- package/dist/src/services/sop/sop-service.js +0 -222
- package/dist/src/services/sop/sop-types.d.ts +0 -95
- package/dist/src/services/sop/sop-types.js +0 -11
- package/dist/src/services/standards/ide-aware-standards-service.d.ts +0 -94
- package/dist/src/services/standards/ide-aware-standards-service.js +0 -89
- package/dist/src/services/standards/loop-engineering-lint.d.ts +0 -38
- package/dist/src/services/standards/loop-engineering-lint.js +0 -101
- package/dist/src/services/standards/loop-engineering-readiness-lint.d.ts +0 -111
- package/dist/src/services/standards/loop-engineering-readiness-lint.js +0 -248
- package/dist/src/services/standards/migrate-claude-rules-service.d.ts +0 -19
- package/dist/src/services/standards/migrate-claude-rules-service.js +0 -193
- package/dist/src/services/standards/migrate-service.d.ts +0 -63
- package/dist/src/services/standards/migrate-service.js +0 -193
- package/dist/src/services/standards/missing-standards-detector.d.ts +0 -79
- package/dist/src/services/standards/missing-standards-detector.js +0 -132
- package/dist/src/services/standards/project-context.d.ts +0 -24
- package/dist/src/services/standards/project-context.js +0 -314
- package/dist/src/services/standards/project-standards-service.d.ts +0 -114
- package/dist/src/services/standards/project-standards-service.js +0 -574
- package/dist/src/services/tech/tech-service.d.ts +0 -69
- package/dist/src/services/tech/tech-service.js +0 -299
- package/dist/src/services/test-cache/test-cache-service.d.ts +0 -70
- package/dist/src/services/test-cache/test-cache-service.js +0 -175
- package/dist/src/services/understand/hybrid-types.d.ts +0 -32
- package/dist/src/services/understand/hybrid-types.js +0 -1
- package/dist/src/services/understand/understand-hybrid-service.d.ts +0 -10
- package/dist/src/services/understand/understand-hybrid-service.js +0 -100
- package/dist/src/services/understand/understand-scan-service.d.ts +0 -28
- package/dist/src/services/understand/understand-scan-service.js +0 -170
- package/dist/src/services/understand/understand-types.d.ts +0 -50
- package/dist/src/services/understand/understand-types.js +0 -1
- package/dist/src/services/upgrade/1x-detector-service.d.ts +0 -7
- package/dist/src/services/upgrade/1x-detector-service.js +0 -94
- package/dist/src/services/upgrade/gitignore-migrate-service.d.ts +0 -56
- package/dist/src/services/upgrade/gitignore-migrate-service.js +0 -170
- package/dist/src/services/upgrade/upgrade-service.d.ts +0 -81
- package/dist/src/services/upgrade/upgrade-service.js +0 -403
- package/dist/src/services/verdict/envelopes.d.ts +0 -93
- package/dist/src/services/verdict/envelopes.js +0 -349
- package/dist/src/services/verdict/verdict-aggregator.d.ts +0 -94
- package/dist/src/services/verdict/verdict-aggregator.js +0 -112
- package/dist/src/services/workflow/artifact-paths.d.ts +0 -59
- package/dist/src/services/workflow/artifact-paths.js +0 -166
- package/dist/src/services/workflow/autonomous-resume-writer.d.ts +0 -16
- package/dist/src/services/workflow/autonomous-resume-writer.js +0 -170
- package/dist/src/services/workflow/pipeline-verify-service.d.ts +0 -90
- package/dist/src/services/workflow/pipeline-verify-service.js +0 -449
- package/dist/src/services/workflow/plan-reader.d.ts +0 -29
- package/dist/src/services/workflow/plan-reader.js +0 -174
- package/dist/src/services/workflow/plan-refresher.d.ts +0 -32
- package/dist/src/services/workflow/plan-refresher.js +0 -353
- package/dist/src/services/workflow/plan-trigger-detector.d.ts +0 -55
- package/dist/src/services/workflow/plan-trigger-detector.js +0 -142
- package/dist/src/services/workflow/workflow-autonomous-resume-helpers.d.ts +0 -19
- package/dist/src/services/workflow/workflow-autonomous-resume-helpers.js +0 -300
- package/dist/src/services/workflow/workflow-autonomous-service.d.ts +0 -100
- package/dist/src/services/workflow/workflow-autonomous-service.js +0 -306
- package/dist/src/services/workflow/workflow-loader.d.ts +0 -63
- package/dist/src/services/workflow/workflow-loader.js +0 -168
- package/dist/src/services/workflow/workflow-router-service.d.ts +0 -85
- package/dist/src/services/workflow/workflow-router-service.js +0 -227
- package/dist/src/services/workflow/workflow-skip-service.d.ts +0 -106
- package/dist/src/services/workflow/workflow-skip-service.js +0 -209
- package/dist/src/services/workflow/workflow-spec.d.ts +0 -116
- package/dist/src/services/workflow/workflow-spec.js +0 -431
- package/dist/src/services/workflow/workflow-state-store.d.ts +0 -27
- package/dist/src/services/workflow/workflow-state-store.js +0 -95
- package/dist/src/services/workspace/claude-settings-template.d.ts +0 -101
- package/dist/src/services/workspace/claude-settings-template.js +0 -254
- package/dist/src/services/workspace/migrate-1-4-1-service.d.ts +0 -44
- package/dist/src/services/workspace/migrate-1-4-1-service.js +0 -195
- package/dist/src/services/workspace/migrate-service.d.ts +0 -2
- package/dist/src/services/workspace/migrate-service.js +0 -613
- package/dist/src/services/workspace/migrate-types.d.ts +0 -127
- package/dist/src/services/workspace/migrate-types.js +0 -21
- package/dist/src/services/workspace/reconcile-service.d.ts +0 -188
- package/dist/src/services/workspace/reconcile-service.js +0 -683
- package/dist/src/services/workspace/reconcile-types.d.ts +0 -130
- package/dist/src/services/workspace/reconcile-types.js +0 -13
- package/dist/src/services/workspace/sid-naming-guard.d.ts +0 -17
- package/dist/src/services/workspace/sid-naming-guard.js +0 -34
- package/dist/src/services/workspace/workspace-claude-settings-materializer.d.ts +0 -45
- package/dist/src/services/workspace/workspace-claude-settings-materializer.js +0 -194
- package/dist/src/services/workspace/workspace-clean-service.d.ts +0 -28
- package/dist/src/services/workspace/workspace-clean-service.js +0 -46
- package/dist/src/services/workspace/workspace-service.d.ts +0 -177
- package/dist/src/services/workspace/workspace-service.js +0 -432
- package/dist/src/services/workspace/workspace-state-service.d.ts +0 -7
- package/dist/src/services/workspace/workspace-state-service.js +0 -43
- package/dist/src/shared/format-md-compact.d.ts +0 -32
- package/dist/src/shared/format-md-compact.js +0 -297
- package/dist/src/shared/frontmatter.d.ts +0 -6
- package/dist/src/shared/frontmatter.js +0 -165
- package/dist/src/shared/fs-utils.d.ts +0 -4
- package/dist/src/shared/fs-utils.js +0 -16
- package/dist/src/shared/fs.d.ts +0 -4
- package/dist/src/shared/fs.js +0 -26
- package/dist/src/shared/incrementing-number.d.ts +0 -23
- package/dist/src/shared/incrementing-number.js +0 -68
- package/dist/src/shared/json-schema-mini.d.ts +0 -10
- package/dist/src/shared/json-schema-mini.js +0 -113
- package/dist/src/shared/path-safety.d.ts +0 -21
- package/dist/src/shared/path-safety.js +0 -54
- package/dist/src/shared/path-utils.d.ts +0 -13
- package/dist/src/shared/path-utils.js +0 -56
- package/dist/src/shared/paths.d.ts +0 -6
- package/dist/src/shared/paths.js +0 -50
- package/dist/src/shared/planner-response.d.ts +0 -21
- package/dist/src/shared/planner-response.js +0 -26
- package/dist/src/shared/platform.d.ts +0 -6
- package/dist/src/shared/platform.js +0 -11
- package/dist/src/shared/process.d.ts +0 -5
- package/dist/src/shared/process.js +0 -12
- package/dist/src/shared/result.d.ts +0 -22
- package/dist/src/shared/result.js +0 -46
- package/dist/src/shared/stale-policy.d.ts +0 -67
- package/dist/src/shared/stale-policy.js +0 -85
- package/dist/src/shared/version.d.ts +0 -1
- package/dist/src/shared/version.js +0 -1
- package/dist/src/skills/peaks-maker/index.d.ts +0 -5
- package/dist/src/skills/peaks-maker/index.js +0 -32
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import { getConfiguredExecutionModelId, STRONGEST_MODEL_ID } from '../config/model-routing.js';
|
|
2
|
-
import { getLocalArtifactPath } from '../artifacts/workspace-service.js';
|
|
3
|
-
import { createRdSwarmPlan } from '../rd/rd-service.js';
|
|
4
|
-
import { createTechPlan, getTechStatus } from '../tech/tech-service.js';
|
|
5
|
-
// Slice 2026-06-29-change-id-root-removal: `validateChangeIdOrThrow`
|
|
6
|
-
// was removed with the change-id axis. Path-safety helpers now live
|
|
7
|
-
// at `shared/path-safety.ts` if this module ever needs them.
|
|
8
|
-
import { WORKSPACE_UNAVAILABLE_NEXT_ACTIONS } from '../../shared/planner-response.js';
|
|
9
|
-
const WORKFLOW_CONSTRAINTS = Object.freeze([
|
|
10
|
-
'dry-run-only',
|
|
11
|
-
'requires-swarm-execution-for-rd-and-qa-when-enabled',
|
|
12
|
-
'execution-model-from-config-providers',
|
|
13
|
-
'do-not-launch-agents',
|
|
14
|
-
'do-not-write-artifacts',
|
|
15
|
-
'do-not-mutate-target-repo'
|
|
16
|
-
]);
|
|
17
|
-
const EXECUTION_STAGES = ['coding-execution', 'unit-test-execution'];
|
|
18
|
-
const GUIDED_DECISION_STAGES = ['product-direction', 'design-direction'];
|
|
19
|
-
const GOVERNED_DECISION_STAGES = ['product-direction', 'design-direction', 'tech-direction', 'tech-review'];
|
|
20
|
-
export function isWorkflowMode(mode) {
|
|
21
|
-
return mode === 'code' || mode === 'team';
|
|
22
|
-
}
|
|
23
|
-
function assertSupportedMode(mode) {
|
|
24
|
-
if (!isWorkflowMode(mode)) {
|
|
25
|
-
throw new Error('Unsupported workflow mode');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function normalizeGoal(goal) {
|
|
29
|
-
const normalized = goal.trim();
|
|
30
|
-
if (!normalized) {
|
|
31
|
-
throw new Error('Goal must be non-empty');
|
|
32
|
-
}
|
|
33
|
-
return normalized;
|
|
34
|
-
}
|
|
35
|
-
function assertCodeModeAllowed(mode, codeMode) {
|
|
36
|
-
if (mode !== 'code' && codeMode !== undefined) {
|
|
37
|
-
throw new Error('codeMode requires code workflow mode');
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
function step(input, executionModelId) {
|
|
41
|
-
const modelRole = EXECUTION_STAGES.includes(input.stage) ? 'execution' : 'strongest';
|
|
42
|
-
return {
|
|
43
|
-
...input,
|
|
44
|
-
modelRole,
|
|
45
|
-
modelId: modelRole === 'execution' ? executionModelId : STRONGEST_MODEL_ID,
|
|
46
|
-
dryRunOnly: true,
|
|
47
|
-
invokesAgents: false,
|
|
48
|
-
writesArtifacts: false
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export function isCodeMode(value) {
|
|
52
|
-
return value === 'full-auto' || value === 'guided' || value === 'rnd';
|
|
53
|
-
}
|
|
54
|
-
function getDecisionProfileSummary(mode, codeMode) {
|
|
55
|
-
if (mode === 'team') {
|
|
56
|
-
return 'Team mode keeps product and design governance on a human-controlled path while RD execution follows recommended defaults.';
|
|
57
|
-
}
|
|
58
|
-
if (codeMode === 'guided') {
|
|
59
|
-
return 'Guided mode keeps the user in the decision loop for the early recommended defaults, while later execution remains bounded by the routing plan.';
|
|
60
|
-
}
|
|
61
|
-
if (codeMode === 'rnd') {
|
|
62
|
-
return 'R&D mode asks for technical confirmation up front, then applies recommended defaults for implementation, testing, review, and safety checks.';
|
|
63
|
-
}
|
|
64
|
-
return 'Full-auto mode applies recommended defaults for product, design, and tech decisions, then runs the engineering pipeline end to end under routing gates.';
|
|
65
|
-
}
|
|
66
|
-
function annotateSteps(steps, codeMode) {
|
|
67
|
-
const decisionStages = codeMode === 'guided'
|
|
68
|
-
? GUIDED_DECISION_STAGES
|
|
69
|
-
: GOVERNED_DECISION_STAGES;
|
|
70
|
-
return steps.map((currentStep) => {
|
|
71
|
-
const isDecisionStage = decisionStages.includes(currentStep.stage);
|
|
72
|
-
const reasonPrefix = isDecisionStage
|
|
73
|
-
? `[${codeMode}] decision stage`
|
|
74
|
-
: '[routed] execution stage';
|
|
75
|
-
return {
|
|
76
|
-
...currentStep,
|
|
77
|
-
reason: `${reasonPrefix}: ${currentStep.reason}`
|
|
78
|
-
};
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
function createSoloSteps(executionModelId) {
|
|
82
|
-
return [
|
|
83
|
-
step({ id: 'code-product-direction', stage: 'product-direction', owner: 'peaks-code', modelTier: 'top-tier', reason: 'Product direction needs strong judgment before execution work is delegated.', dependsOn: [] }, executionModelId),
|
|
84
|
-
step({ id: 'code-design-direction', stage: 'design-direction', owner: 'peaks-code', modelTier: 'top-tier', reason: 'Design direction uses the recommended default before cheaper implementation work.', dependsOn: ['code-product-direction'] }, executionModelId),
|
|
85
|
-
step({ id: 'code-tech-direction', stage: 'tech-direction', owner: 'peaks-tech', modelTier: 'top-tier', reason: 'Technical boundaries and approval gates use the recommended default with high-confidence planning.', dependsOn: ['code-design-direction'] }, executionModelId),
|
|
86
|
-
step({ id: 'code-tech-review', stage: 'tech-review', owner: 'peaks-tech', modelTier: 'top-tier', reason: 'Tech artifacts and gate decisions require strong review and a recommended default path.', dependsOn: ['code-tech-direction'] }, executionModelId),
|
|
87
|
-
step({ id: 'code-rd-planning', stage: 'rd-planning', owner: 'peaks-rd', modelTier: 'top-tier', reason: 'RD task decomposition and acceptance criteria use the recommended default before execution delegation.', dependsOn: ['code-tech-review'] }, executionModelId),
|
|
88
|
-
step({ id: 'code-coding-execution', stage: 'coding-execution', owner: 'peaks-rd', modelTier: executionModelId === STRONGEST_MODEL_ID ? 'top-tier' : 'mid-tier', reason: `Coding and routine refactoring must use the configured execution worker model ${executionModelId}.`, dependsOn: ['code-rd-planning'] }, executionModelId),
|
|
89
|
-
step({ id: 'code-unit-test-execution', stage: 'unit-test-execution', owner: 'peaks-rd', modelTier: executionModelId === STRONGEST_MODEL_ID ? 'top-tier' : 'mid-tier', reason: `Unit test authoring and focused test runs must use the configured execution worker model ${executionModelId}.`, dependsOn: ['code-coding-execution'] }, executionModelId),
|
|
90
|
-
step({ id: 'code-quality-review', stage: 'quality-review', owner: 'peaks-code', modelTier: 'top-tier', reason: 'Reducer and final quality gates need strong synthesis and risk review.', dependsOn: ['code-unit-test-execution'] }, executionModelId)
|
|
91
|
-
];
|
|
92
|
-
}
|
|
93
|
-
function createSoloStepsForMode(codeMode, executionModelId) {
|
|
94
|
-
return annotateSteps(createSoloSteps(executionModelId), codeMode);
|
|
95
|
-
}
|
|
96
|
-
function createTeamSteps(executionModelId) {
|
|
97
|
-
return [
|
|
98
|
-
step({ id: 'team-product-direction', stage: 'product-direction', owner: 'human', modelTier: 'top-tier', reason: 'Team product direction should stay on the governed planning path.', dependsOn: [] }, executionModelId),
|
|
99
|
-
step({ id: 'team-design-direction', stage: 'design-direction', owner: 'human', modelTier: 'top-tier', reason: 'Team design direction should preserve reviewability and accountability.', dependsOn: ['team-product-direction'] }, executionModelId),
|
|
100
|
-
step({ id: 'team-tech-direction', stage: 'tech-direction', owner: 'peaks-tech', modelTier: 'top-tier', reason: 'Team technical plans should remain strongly governed before RD execution.', dependsOn: ['team-design-direction'] }, executionModelId),
|
|
101
|
-
step({ id: 'team-tech-review', stage: 'tech-review', owner: 'peaks-tech', modelTier: 'top-tier', reason: 'Team tech approval requires strong review before execution.', dependsOn: ['team-tech-direction'] }, executionModelId),
|
|
102
|
-
step({ id: 'team-rd-planning', stage: 'rd-planning', owner: 'peaks-rd', modelTier: 'top-tier', reason: 'Team RD task decomposition remains on the governed strongest-model path.', dependsOn: ['team-tech-review'] }, executionModelId),
|
|
103
|
-
step({ id: 'team-coding-execution', stage: 'coding-execution', owner: 'peaks-rd', modelTier: executionModelId === STRONGEST_MODEL_ID ? 'top-tier' : 'mid-tier', reason: `Bounded coding tasks must use the configured execution worker model ${executionModelId}.`, dependsOn: ['team-rd-planning'] }, executionModelId),
|
|
104
|
-
step({ id: 'team-unit-test-execution', stage: 'unit-test-execution', owner: 'peaks-rd', modelTier: executionModelId === STRONGEST_MODEL_ID ? 'top-tier' : 'mid-tier', reason: `Unit-test tasks must use the configured execution worker model ${executionModelId}.`, dependsOn: ['team-coding-execution'] }, executionModelId),
|
|
105
|
-
step({ id: 'team-quality-review', stage: 'quality-review', owner: 'peaks-rd', modelTier: 'top-tier', reason: 'Team RD outputs still need reducer and quality review gates.', dependsOn: ['team-unit-test-execution'] }, executionModelId)
|
|
106
|
-
];
|
|
107
|
-
}
|
|
108
|
-
function uniqueStrings(values) {
|
|
109
|
-
return [...new Set(values)];
|
|
110
|
-
}
|
|
111
|
-
function createModelRouting(steps, executionModelId) {
|
|
112
|
-
return {
|
|
113
|
-
strongestModel: {
|
|
114
|
-
modelId: STRONGEST_MODEL_ID,
|
|
115
|
-
uses: steps.filter((step) => step.modelRole === 'strongest').map((step) => step.stage)
|
|
116
|
-
},
|
|
117
|
-
executionModel: {
|
|
118
|
-
modelId: executionModelId,
|
|
119
|
-
uses: steps.filter((step) => step.modelRole === 'execution').map((step) => step.stage)
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
function createModelAssignments(steps) {
|
|
124
|
-
return steps.map((step) => ({
|
|
125
|
-
stage: step.stage,
|
|
126
|
-
owner: step.owner,
|
|
127
|
-
modelTier: step.modelTier,
|
|
128
|
-
modelRole: step.modelRole,
|
|
129
|
-
modelId: step.modelId
|
|
130
|
-
}));
|
|
131
|
-
}
|
|
132
|
-
function getTechPlanBlockedReasons(techPlan) {
|
|
133
|
-
return techPlan.available ? techPlan.blockedReasons : techPlan.preview.blockedReasons;
|
|
134
|
-
}
|
|
135
|
-
function getTechPlanNextActions(techPlan) {
|
|
136
|
-
return [...techPlan.nextActions];
|
|
137
|
-
}
|
|
138
|
-
function createModeStatus(economyMode, swarmMode, executionModelId, executionModelSource) {
|
|
139
|
-
const economySummary = economyMode
|
|
140
|
-
? `Economy mode enabled: code worker and test worker strictly use ${executionModelId} from config providers.`
|
|
141
|
-
: `Economy mode disabled: code worker and test worker use ${STRONGEST_MODEL_ID}, matching planner/reviewer.`;
|
|
142
|
-
const swarmSummary = swarmMode
|
|
143
|
-
? 'Swarm mode enabled: peaks-rd coding, unit-test, and peaks-qa quality work must be represented as swarm worker tasks.'
|
|
144
|
-
: 'Swarm mode disabled: swarm worker graph generation is bypassed.';
|
|
145
|
-
return {
|
|
146
|
-
economyModeEnabled: economyMode,
|
|
147
|
-
swarmModeEnabled: swarmMode,
|
|
148
|
-
executionModelId,
|
|
149
|
-
executionModelSource,
|
|
150
|
-
summary: `${economySummary} ${swarmSummary}`
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
function getCodeMode(mode, codeMode) {
|
|
154
|
-
if (mode !== 'code') {
|
|
155
|
-
return undefined;
|
|
156
|
-
}
|
|
157
|
-
if (codeMode === undefined) {
|
|
158
|
-
return 'full-auto';
|
|
159
|
-
}
|
|
160
|
-
if (!isCodeMode(codeMode)) {
|
|
161
|
-
throw new Error('Unsupported code mode');
|
|
162
|
-
}
|
|
163
|
-
return codeMode;
|
|
164
|
-
}
|
|
165
|
-
export function createWorkflowRouterPlan(request) {
|
|
166
|
-
assertSupportedMode(request.mode);
|
|
167
|
-
assertCodeModeAllowed(request.mode, request.codeMode);
|
|
168
|
-
// Slice 2026-06-29-change-id-root-removal: change-id is metadata-only;
|
|
169
|
-
// no structural validation gate fires here.
|
|
170
|
-
const goal = normalizeGoal(request.goal);
|
|
171
|
-
const maxWorkers = request.maxWorkers ?? 40;
|
|
172
|
-
// Slice 2.0.1-bug1 round 3: project policy defaults. The slim 2.0.1 DEFAULT_CONFIG
|
|
173
|
-
// no longer carries economyMode / swarmMode (those moved to per-project preferences),
|
|
174
|
-
// so we cannot fall back to `DEFAULT_CONFIG.economyMode` / `swarmMode` here. Both
|
|
175
|
-
// flags are project-policy opt-outs: the absence of an explicit `false` means
|
|
176
|
-
// "enabled" (matches the pre-2.0.1 implicit default).
|
|
177
|
-
const economyMode = request.config?.economyMode ?? true;
|
|
178
|
-
const swarmMode = request.config?.swarmMode ?? true;
|
|
179
|
-
// Pre-2.0.1 DEFAULT_CONFIG carried an implicit `minimax-2.7` provider
|
|
180
|
-
// for test fixtures that did not pass `config.providers`. The slim
|
|
181
|
-
// DEFAULT_CONFIG removed that field, so we re-supply it here only when
|
|
182
|
-
// the caller did not pass any providers at all. An explicit empty
|
|
183
|
-
// object (`config: { providers: {} }`) still surfaces the "must be
|
|
184
|
-
// configured" error from `getConfiguredExecutionModelId`.
|
|
185
|
-
const effectiveProviders = request.config?.providers ?? { minimax: { model: 'minimax-2.7' } };
|
|
186
|
-
const executionModelId = economyMode !== false ? getConfiguredExecutionModelId(effectiveProviders) : STRONGEST_MODEL_ID;
|
|
187
|
-
const modeStatus = createModeStatus(economyMode, swarmMode, executionModelId, economyMode ? 'config.providers' : 'planner-reviewer-strongest-model');
|
|
188
|
-
const codeMode = getCodeMode(request.mode, request.codeMode);
|
|
189
|
-
const decisionProfile = getDecisionProfileSummary(request.mode, codeMode);
|
|
190
|
-
const artifactWorkspacePath = request.artifactWorkspacePath ?? (request.workspace ? getLocalArtifactPath(request.workspace) : undefined);
|
|
191
|
-
const sharedWorkspaceOptions = {
|
|
192
|
-
...(artifactWorkspacePath ? { artifactWorkspacePath } : {}),
|
|
193
|
-
...(request.workspace ? { workspace: request.workspace } : {})
|
|
194
|
-
};
|
|
195
|
-
const techStatus = getTechStatus({ sessionId: request.sessionId, ...sharedWorkspaceOptions });
|
|
196
|
-
const techPlan = createTechPlan({ sessionId: request.sessionId, goal, swarm: swarmMode, dryRun: true, ...sharedWorkspaceOptions });
|
|
197
|
-
const rdPlan = createRdSwarmPlan({ skill: 'rd', sessionId: request.sessionId, goal, maxWorkers, swarmMode, executionModelId, dryRun: true, ...sharedWorkspaceOptions });
|
|
198
|
-
const steps = codeMode ? createSoloStepsForMode(codeMode, executionModelId) : createTeamSteps(executionModelId);
|
|
199
|
-
const blockedReasons = uniqueStrings([
|
|
200
|
-
...techStatus.blockedReasons,
|
|
201
|
-
...getTechPlanBlockedReasons(techPlan),
|
|
202
|
-
...rdPlan.blockedReasons
|
|
203
|
-
]);
|
|
204
|
-
const nextActions = blockedReasons.includes('artifact-workspace-unavailable')
|
|
205
|
-
? [...WORKSPACE_UNAVAILABLE_NEXT_ACTIONS]
|
|
206
|
-
: uniqueStrings([...techStatus.nextActions, ...getTechPlanNextActions(techPlan), ...rdPlan.nextActions]);
|
|
207
|
-
return {
|
|
208
|
-
sessionId: request.sessionId,
|
|
209
|
-
goal,
|
|
210
|
-
mode: request.mode,
|
|
211
|
-
...(codeMode ? { codeMode } : {}),
|
|
212
|
-
executionMode: 'autonomous',
|
|
213
|
-
decisionProfile,
|
|
214
|
-
dryRun: true,
|
|
215
|
-
routePolicy: request.mode === 'code' ? 'code-broad-multi-model' : 'team-rd-limited-multi-model',
|
|
216
|
-
modelRouting: createModelRouting(steps, executionModelId),
|
|
217
|
-
modelAssignments: createModelAssignments(steps),
|
|
218
|
-
modeStatus,
|
|
219
|
-
techStatus,
|
|
220
|
-
techPlan,
|
|
221
|
-
rdPlan,
|
|
222
|
-
steps,
|
|
223
|
-
blockedReasons,
|
|
224
|
-
nextActions,
|
|
225
|
-
constraints: [...WORKFLOW_CONSTRAINTS]
|
|
226
|
-
};
|
|
227
|
-
}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Slice 2026-06-13-peaks-workflow-skip — `peaks workflow skip` service.
|
|
3
|
-
*
|
|
4
|
-
* Pure-function classifier (`canSkipSlice`) + side-effecting applicator
|
|
5
|
-
* (`applySkip`). Both are testable without filesystem mocks (the
|
|
6
|
-
* applicator accepts an injected `readSkipState` / `writeSkipState`
|
|
7
|
-
* pair so the unit tests use in-memory fakes; the production caller
|
|
8
|
-
* passes the real store from `workflow-state-store.ts`).
|
|
9
|
-
*
|
|
10
|
-
* Three rules (per RD §Why + Tech Doc §2-4):
|
|
11
|
-
* - Rule 1 (slice type allowlist): `bugfix` / `feature` / `refactor`
|
|
12
|
-
* can never skip QA, regardless of `--reason`. The allowlist is
|
|
13
|
-
* `['docs', 'config', 'chore']`.
|
|
14
|
-
* - Rule 2 (one-time semantics): if a skip-marker already exists for
|
|
15
|
-
* this rid AND the requested skip is the same → idempotent
|
|
16
|
-
* no-op (`applied: false, idempotent: true`). If different → deny
|
|
17
|
-
* with `reason: "rid already has a different skip applied"`.
|
|
18
|
-
* - Rule 3 (role-based authorization): scripts (caller kind derived
|
|
19
|
-
* from `$PEAKS_CALLER_ID` env var) MUST pass `--i-have-reviewed`
|
|
20
|
-
* in addition to `--reason`.
|
|
21
|
-
*/
|
|
22
|
-
import { type WorkflowSkipState } from './workflow-state-store.js';
|
|
23
|
-
import type { RequestType } from '../artifacts/artifact-prerequisites.js';
|
|
24
|
-
export type SkipArgs = {
|
|
25
|
-
/** Request id this skip applies to. */
|
|
26
|
-
rid: string;
|
|
27
|
-
/** Comma-separated gate names from the CLI; parsed to string[]. */
|
|
28
|
-
gatesRaw: string;
|
|
29
|
-
/** Required, free-text justification. */
|
|
30
|
-
reason: string;
|
|
31
|
-
/** Optional. When set, the apply is previewed but no state is written. */
|
|
32
|
-
dryRun?: boolean;
|
|
33
|
-
/** Required for script callers (see Rule 3). */
|
|
34
|
-
iHaveReviewed?: boolean;
|
|
35
|
-
/** Caller kind, derived from $PEAKS_CALLER_ID by the CLI. When omitted,
|
|
36
|
-
* defaults to 'human' (the CLI's normal terminal path). */
|
|
37
|
-
callerKind?: 'human' | 'llm' | 'script';
|
|
38
|
-
};
|
|
39
|
-
export type CanSkipVerdict = {
|
|
40
|
-
allowed: true;
|
|
41
|
-
reason: null;
|
|
42
|
-
sliceType: RequestType;
|
|
43
|
-
callerKind: 'human' | 'llm' | 'script';
|
|
44
|
-
} | {
|
|
45
|
-
allowed: false;
|
|
46
|
-
reason: string;
|
|
47
|
-
sliceType?: RequestType;
|
|
48
|
-
};
|
|
49
|
-
export type ApplySkipResult = {
|
|
50
|
-
applied: true;
|
|
51
|
-
idempotent: false;
|
|
52
|
-
skippedGates: string[];
|
|
53
|
-
rid: string;
|
|
54
|
-
persistedTo: string;
|
|
55
|
-
sliceType: RequestType;
|
|
56
|
-
} | {
|
|
57
|
-
applied: false;
|
|
58
|
-
idempotent: true;
|
|
59
|
-
skippedGates: string[];
|
|
60
|
-
rid: string;
|
|
61
|
-
persistedTo: string | null;
|
|
62
|
-
sliceType: RequestType;
|
|
63
|
-
} | {
|
|
64
|
-
applied: false;
|
|
65
|
-
idempotent: false;
|
|
66
|
-
skippedGates: string[];
|
|
67
|
-
rid: string;
|
|
68
|
-
persistedTo: string | null;
|
|
69
|
-
sliceType?: RequestType;
|
|
70
|
-
reason: string;
|
|
71
|
-
};
|
|
72
|
-
/** Parse the `--gates` CLI arg (e.g. "QA,slice-check") into string[]. */
|
|
73
|
-
export declare function parseGatesList(raw: string): string[];
|
|
74
|
-
/**
|
|
75
|
-
* Determine the caller kind for Rule 3. CLI passes
|
|
76
|
-
* `args.callerKind` directly when the user invoked the command
|
|
77
|
-
* interactively; for script callers (CI / postinstall) the CLI
|
|
78
|
-
* inspects `$PEAKS_CALLER_ID` and passes 'script'.
|
|
79
|
-
*/
|
|
80
|
-
export declare function detectCallerKind(envCallerId: string | undefined): 'human' | 'llm' | 'script';
|
|
81
|
-
/**
|
|
82
|
-
* Pure three-rule classifier. Does NOT touch the filesystem; the
|
|
83
|
-
* `currentState` argument is the result of a prior `readSkipState`
|
|
84
|
-
* call (or null if no state file exists). The slice type is
|
|
85
|
-
* read from the RD request artifact via `showRequestArtifact`.
|
|
86
|
-
*
|
|
87
|
-
* Returns a verdict; the caller is expected to either apply or
|
|
88
|
-
* surface the rejection reason. Reasons are user-readable English
|
|
89
|
-
* suitable for the `nextActions` envelope.
|
|
90
|
-
*/
|
|
91
|
-
export declare function canSkipSlice(projectRoot: string, sessionId: string, args: SkipArgs, currentState: WorkflowSkipState | null): Promise<CanSkipVerdict>;
|
|
92
|
-
/**
|
|
93
|
-
* Apply a skip. Caller is expected to have already called
|
|
94
|
-
* `canSkipSlice` and received `allowed: true`. The function is
|
|
95
|
-
* still defensive — if the verdict is `allowed: false`, it returns
|
|
96
|
-
* the rejection as `applied: false` without writing.
|
|
97
|
-
*/
|
|
98
|
-
export declare function applySkip(projectRoot: string, sessionId: string, args: SkipArgs): Promise<ApplySkipResult>;
|
|
99
|
-
declare function sameStringSet(a: readonly string[], b: readonly string[]): boolean;
|
|
100
|
-
/** Exposed for tests. */
|
|
101
|
-
export declare const _internal: {
|
|
102
|
-
SKIPPABLE_TYPES: readonly RequestType[];
|
|
103
|
-
SCRIPT_CALLER_IDS: readonly string[];
|
|
104
|
-
sameStringSet: typeof sameStringSet;
|
|
105
|
-
};
|
|
106
|
-
export {};
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Slice 2026-06-13-peaks-workflow-skip — `peaks workflow skip` service.
|
|
3
|
-
*
|
|
4
|
-
* Pure-function classifier (`canSkipSlice`) + side-effecting applicator
|
|
5
|
-
* (`applySkip`). Both are testable without filesystem mocks (the
|
|
6
|
-
* applicator accepts an injected `readSkipState` / `writeSkipState`
|
|
7
|
-
* pair so the unit tests use in-memory fakes; the production caller
|
|
8
|
-
* passes the real store from `workflow-state-store.ts`).
|
|
9
|
-
*
|
|
10
|
-
* Three rules (per RD §Why + Tech Doc §2-4):
|
|
11
|
-
* - Rule 1 (slice type allowlist): `bugfix` / `feature` / `refactor`
|
|
12
|
-
* can never skip QA, regardless of `--reason`. The allowlist is
|
|
13
|
-
* `['docs', 'config', 'chore']`.
|
|
14
|
-
* - Rule 2 (one-time semantics): if a skip-marker already exists for
|
|
15
|
-
* this rid AND the requested skip is the same → idempotent
|
|
16
|
-
* no-op (`applied: false, idempotent: true`). If different → deny
|
|
17
|
-
* with `reason: "rid already has a different skip applied"`.
|
|
18
|
-
* - Rule 3 (role-based authorization): scripts (caller kind derived
|
|
19
|
-
* from `$PEAKS_CALLER_ID` env var) MUST pass `--i-have-reviewed`
|
|
20
|
-
* in addition to `--reason`.
|
|
21
|
-
*/
|
|
22
|
-
import { readSkipState, writeSkipState } from './workflow-state-store.js';
|
|
23
|
-
import { showRequestArtifact } from '../artifacts/request-artifact-service.js';
|
|
24
|
-
const SKIPPABLE_TYPES = ['docs', 'config', 'chore'];
|
|
25
|
-
const SCRIPT_CALLER_IDS = ['ci', 'postinstall', 'cron'];
|
|
26
|
-
/** Parse the `--gates` CLI arg (e.g. "QA,slice-check") into string[]. */
|
|
27
|
-
export function parseGatesList(raw) {
|
|
28
|
-
return raw
|
|
29
|
-
.split(',')
|
|
30
|
-
.map((s) => s.trim())
|
|
31
|
-
.filter((s) => s.length > 0);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Determine the caller kind for Rule 3. CLI passes
|
|
35
|
-
* `args.callerKind` directly when the user invoked the command
|
|
36
|
-
* interactively; for script callers (CI / postinstall) the CLI
|
|
37
|
-
* inspects `$PEAKS_CALLER_ID` and passes 'script'.
|
|
38
|
-
*/
|
|
39
|
-
export function detectCallerKind(envCallerId) {
|
|
40
|
-
if (envCallerId === undefined || envCallerId.length === 0) {
|
|
41
|
-
return 'human';
|
|
42
|
-
}
|
|
43
|
-
return SCRIPT_CALLER_IDS.includes(envCallerId) ? 'script' : 'llm';
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Pure three-rule classifier. Does NOT touch the filesystem; the
|
|
47
|
-
* `currentState` argument is the result of a prior `readSkipState`
|
|
48
|
-
* call (or null if no state file exists). The slice type is
|
|
49
|
-
* read from the RD request artifact via `showRequestArtifact`.
|
|
50
|
-
*
|
|
51
|
-
* Returns a verdict; the caller is expected to either apply or
|
|
52
|
-
* surface the rejection reason. Reasons are user-readable English
|
|
53
|
-
* suitable for the `nextActions` envelope.
|
|
54
|
-
*/
|
|
55
|
-
export async function canSkipSlice(projectRoot, sessionId, args, currentState) {
|
|
56
|
-
// Argument validation (no filesystem).
|
|
57
|
-
if (args.reason.trim().length === 0) {
|
|
58
|
-
return { allowed: false, reason: 'skip requires --reason; what is the user-visible justification for this QA bypass?' };
|
|
59
|
-
}
|
|
60
|
-
const gates = parseGatesList(args.gatesRaw);
|
|
61
|
-
if (gates.length === 0) {
|
|
62
|
-
return { allowed: false, reason: '--gates must list at least one gate name (e.g. "QA" or "QA,slice-check")' };
|
|
63
|
-
}
|
|
64
|
-
// Resolve caller kind.
|
|
65
|
-
const callerKind = args.callerKind ?? 'human';
|
|
66
|
-
// Rule 3: script callers must carry --i-have-reviewed.
|
|
67
|
-
if (callerKind === 'script' && args.iHaveReviewed !== true) {
|
|
68
|
-
return { allowed: false, reason: 'script caller must pass --i-have-reviewed' };
|
|
69
|
-
}
|
|
70
|
-
// Read the slice type from the RD request.
|
|
71
|
-
let sliceType;
|
|
72
|
-
try {
|
|
73
|
-
const rdArtifact = await showRequestArtifact({ projectRoot, role: 'rd', requestId: args.rid });
|
|
74
|
-
if (rdArtifact === null) {
|
|
75
|
-
return { allowed: false, reason: `RD request artifact not found for rid "${args.rid}"; cannot determine slice type` };
|
|
76
|
-
}
|
|
77
|
-
sliceType = rdArtifact.requestType;
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
return {
|
|
81
|
-
allowed: false,
|
|
82
|
-
reason: `failed to read slice type from RD artifact: ${error instanceof Error ? error.message : 'unknown error'}`
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
// Rule 1: type allowlist.
|
|
86
|
-
if (!SKIPPABLE_TYPES.includes(sliceType)) {
|
|
87
|
-
return {
|
|
88
|
-
allowed: false,
|
|
89
|
-
reason: `slice type "${sliceType}" cannot skip QA (allowlist: docs, config, chore)`,
|
|
90
|
-
sliceType
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
// Rule 2: one-time semantics — same skip on the same rid is idempotent.
|
|
94
|
-
if (currentState !== null) {
|
|
95
|
-
const sameGates = sameStringSet(currentState.skippedGates, gates);
|
|
96
|
-
if (sameGates) {
|
|
97
|
-
return { allowed: true, reason: null, sliceType, callerKind };
|
|
98
|
-
}
|
|
99
|
-
return {
|
|
100
|
-
allowed: false,
|
|
101
|
-
reason: `rid already has a different skip applied (existing: [${currentState.skippedGates.join(', ')}]; requested: [${gates.join(', ')}]); abandon or amend manually`,
|
|
102
|
-
sliceType
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
return { allowed: true, reason: null, sliceType, callerKind };
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Apply a skip. Caller is expected to have already called
|
|
109
|
-
* `canSkipSlice` and received `allowed: true`. The function is
|
|
110
|
-
* still defensive — if the verdict is `allowed: false`, it returns
|
|
111
|
-
* the rejection as `applied: false` without writing.
|
|
112
|
-
*/
|
|
113
|
-
export async function applySkip(projectRoot, sessionId, args) {
|
|
114
|
-
const verdict = await canSkipSlice(projectRoot, sessionId, args, readSkipState(projectRoot, sessionId, args.rid));
|
|
115
|
-
if (!verdict.allowed) {
|
|
116
|
-
return {
|
|
117
|
-
applied: false,
|
|
118
|
-
idempotent: false,
|
|
119
|
-
skippedGates: parseGatesList(args.gatesRaw),
|
|
120
|
-
rid: args.rid,
|
|
121
|
-
persistedTo: null,
|
|
122
|
-
reason: verdict.reason
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
const gates = parseGatesList(args.gatesRaw);
|
|
126
|
-
const existing = readSkipState(projectRoot, sessionId, args.rid);
|
|
127
|
-
if (existing !== null && sameStringSet(existing.skippedGates, gates)) {
|
|
128
|
-
// Idempotent re-skip.
|
|
129
|
-
return {
|
|
130
|
-
applied: false,
|
|
131
|
-
idempotent: true,
|
|
132
|
-
skippedGates: existing.skippedGates,
|
|
133
|
-
rid: args.rid,
|
|
134
|
-
persistedTo: existing ? pathFromStateFile(projectRoot, sessionId, args.rid) : null,
|
|
135
|
-
sliceType: verdict.sliceType
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
if (args.dryRun === true) {
|
|
139
|
-
return {
|
|
140
|
-
applied: false,
|
|
141
|
-
idempotent: false,
|
|
142
|
-
skippedGates: gates,
|
|
143
|
-
rid: args.rid,
|
|
144
|
-
persistedTo: null,
|
|
145
|
-
sliceType: verdict.sliceType,
|
|
146
|
-
reason: 'dry-run: no state written'
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
const callerKind = verdict.callerKind;
|
|
150
|
-
const state = {
|
|
151
|
-
rid: args.rid,
|
|
152
|
-
skippedGates: gates,
|
|
153
|
-
skipReason: args.reason.trim(),
|
|
154
|
-
skipAppliedAt: new Date().toISOString(),
|
|
155
|
-
skipAppliedBy: resolveSkipAppliedBy(),
|
|
156
|
-
callerKind
|
|
157
|
-
};
|
|
158
|
-
const persistedTo = writeSkipState(projectRoot, sessionId, state);
|
|
159
|
-
return {
|
|
160
|
-
applied: true,
|
|
161
|
-
idempotent: false,
|
|
162
|
-
skippedGates: gates,
|
|
163
|
-
rid: args.rid,
|
|
164
|
-
persistedTo,
|
|
165
|
-
sliceType: verdict.sliceType
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
function sameStringSet(a, b) {
|
|
169
|
-
if (a.length !== b.length)
|
|
170
|
-
return false;
|
|
171
|
-
const aSorted = [...a].sort();
|
|
172
|
-
const bSorted = [...b].sort();
|
|
173
|
-
return aSorted.every((v, i) => v === bSorted[i]);
|
|
174
|
-
}
|
|
175
|
-
function pathFromStateFile(projectRoot, sessionId, rid) {
|
|
176
|
-
// Re-export the path-computation from the state store. We avoid
|
|
177
|
-
// importing the internal helper to keep the public surface narrow.
|
|
178
|
-
return `${projectRoot}/.peaks/_runtime/${sessionId}/workflow-state/${rid}.json`;
|
|
179
|
-
}
|
|
180
|
-
/** Resolve the author of the skip. Reads `git config --global user.name`
|
|
181
|
-
* synchronously; falls back to the OS user if git config is
|
|
182
|
-
* unavailable. Never throws. */
|
|
183
|
-
function resolveSkipAppliedBy() {
|
|
184
|
-
try {
|
|
185
|
-
// Lazy require so the unit tests can stub via process.env.
|
|
186
|
-
const { execFileSync } = require('node:child_process');
|
|
187
|
-
const out = execFileSync('git', ['config', '--global', 'user.name'], {
|
|
188
|
-
encoding: 'utf8',
|
|
189
|
-
stdio: ['ignore', 'pipe', 'ignore']
|
|
190
|
-
});
|
|
191
|
-
const trimmed = out.trim();
|
|
192
|
-
if (trimmed.length > 0) {
|
|
193
|
-
return trimmed;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
197
|
-
// fall through
|
|
198
|
-
}
|
|
199
|
-
try {
|
|
200
|
-
const os = require('node:os');
|
|
201
|
-
const info = os.userInfo();
|
|
202
|
-
return info.username;
|
|
203
|
-
}
|
|
204
|
-
catch {
|
|
205
|
-
return 'unknown';
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
/** Exposed for tests. */
|
|
209
|
-
export const _internal = { SKIPPABLE_TYPES, SCRIPT_CALLER_IDS, sameStringSet };
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* peaks-workflow v3.0.0 — Slice A.1 + Slice B.1
|
|
3
|
-
*
|
|
4
|
-
* Schema for `.peaks/workflows/<id>.yaml` (text + git, reviewable per ADR
|
|
5
|
-
* 0007 v2 concern #1). Workflows are the WHO/HOW/WITH-WHAT layer; SOPs
|
|
6
|
-
* remain the WHAT layer (gate definitions). Workflows reference SOPs
|
|
7
|
-
* for their gates — never duplicate gate logic.
|
|
8
|
-
*
|
|
9
|
-
* The schema is intentionally narrow on v3.0.0:
|
|
10
|
-
* - phases[] (ordered or grouped for parallelism)
|
|
11
|
-
* - gates[] (sop-id references — the leaf primitive)
|
|
12
|
-
* - evaluators[] (native evaluator types the runtime can call directly
|
|
13
|
-
* without LLM scheduling)
|
|
14
|
-
* - contextSnapshot (files + scope the LLM/worker should preload)
|
|
15
|
-
* - budget (token + wall + cycle caps)
|
|
16
|
-
*
|
|
17
|
-
* Karpathy §2 Simplicity First: no external framework, no DSL, no new
|
|
18
|
-
* IO. Pure types + a single `parseWorkflowYaml` / `lintWorkflowSpec`
|
|
19
|
-
* pair. Anything more elaborate (e.g. conditionals on outputs) belongs
|
|
20
|
-
* in a future minor.
|
|
21
|
-
*
|
|
22
|
-
* File budget: ≤ 800 lines (Karpathy §2).
|
|
23
|
-
*/
|
|
24
|
-
/** A workflow phase = a single step the runtime executes. */
|
|
25
|
-
export interface WorkflowPhase {
|
|
26
|
-
/** Stable id within the workflow (kebab-case). Used as the SOP gate key. */
|
|
27
|
-
readonly id: string;
|
|
28
|
-
/** peaks-* role that runs the phase (e.g. "peaks-rd"). */
|
|
29
|
-
readonly role: string;
|
|
30
|
-
/** Free-text prompt template sent to the role. */
|
|
31
|
-
readonly promptTemplate: string;
|
|
32
|
-
/** Phase-level gate references; runtime looks up the SOP gate by id. */
|
|
33
|
-
readonly gates: readonly string[];
|
|
34
|
-
/** Output contract — keys the runtime should expect in the role's verdict. */
|
|
35
|
-
readonly outputContract: readonly string[];
|
|
36
|
-
/** Optional ordered list of sibling phase ids that must complete first. */
|
|
37
|
-
readonly dependsOn?: readonly string[];
|
|
38
|
-
/** When true, runtime may run this phase in parallel with siblings at the same depth. */
|
|
39
|
-
readonly parallelGroup?: string;
|
|
40
|
-
}
|
|
41
|
-
/** A gate entry is a thin pointer to a peaks-sop gate; the gate definition
|
|
42
|
-
* itself lives in peaks-sop, never in the workflow yaml. */
|
|
43
|
-
export interface WorkflowGate {
|
|
44
|
-
/** Gate id (matches peaks-sop gate-id). */
|
|
45
|
-
readonly id: string;
|
|
46
|
-
/** SOP id that owns the gate definition. */
|
|
47
|
-
readonly sopId: string;
|
|
48
|
-
/** Optional human-readable hint shown when the gate fails. */
|
|
49
|
-
readonly description?: string;
|
|
50
|
-
}
|
|
51
|
-
/** Native evaluator types — the 4 reviewer fan-out members + verdict aggregator
|
|
52
|
-
* + Slice C monotonic-improvement guard + Slice D G13/G14/G15 quality-loop
|
|
53
|
-
* primitives. Sketch-grade: the 3 quality-loop evaluators shell out to
|
|
54
|
-
* existing `peaks impact scan`, `peaks smoke run`, and
|
|
55
|
-
* `peaks release canary` CLI surfaces. The authoritative score
|
|
56
|
-
* conversion for the monotonic guard lives in
|
|
57
|
-
* `src/services/loop/monotonic-guard.ts`. */
|
|
58
|
-
export type EvaluatorKind = 'karpathy' | 'code-review' | 'security-review' | 'perf-baseline' | 'verdict-aggregate' | 'monotonic-improvement' | 'impact-scan' | 'smoke-run' | 'canary-watch';
|
|
59
|
-
/** Evaluator binding — runtime calls `peaks loop eval` directly, no LLM scheduling. */
|
|
60
|
-
export interface WorkflowEvaluator {
|
|
61
|
-
readonly type: EvaluatorKind;
|
|
62
|
-
/** Optional gate id this evaluator produces evidence for (e.g. "Gate B3"). */
|
|
63
|
-
readonly gate?: string;
|
|
64
|
-
/** Optional scope expression (path or glob) — kept as string for v3.0.0. */
|
|
65
|
-
readonly scope?: string;
|
|
66
|
-
/** Optional SLA threshold (evaluator-specific; evaluators interpret their own scale). */
|
|
67
|
-
readonly threshold?: string;
|
|
68
|
-
}
|
|
69
|
-
/** Context snapshot — files + scope the role/worker should preload. */
|
|
70
|
-
export interface WorkflowContextSnapshot {
|
|
71
|
-
/** Files the role should read before running (paths, relative to project root). */
|
|
72
|
-
readonly files: readonly string[];
|
|
73
|
-
/** Optional memory anchors (e.g. ".peaks/memory/parked-peaks-workflow-primitive.md"). */
|
|
74
|
-
readonly memory: readonly string[];
|
|
75
|
-
}
|
|
76
|
-
/** Budget caps — runtime stops the loop when any cap is exceeded. */
|
|
77
|
-
export interface WorkflowBudget {
|
|
78
|
-
/** Hard token cap (sum of role invocations + evaluator outputs). */
|
|
79
|
-
readonly tokens?: number;
|
|
80
|
-
/** Wall-clock cap in seconds. */
|
|
81
|
-
readonly wallSeconds?: number;
|
|
82
|
-
/** Cycle cap — maximum repair iterations before guard aborts. */
|
|
83
|
-
readonly cycles?: number;
|
|
84
|
-
}
|
|
85
|
-
export interface WorkflowSpec {
|
|
86
|
-
/** Schema version; always 1 for v3.0.0. */
|
|
87
|
-
readonly schemaVersion: 1;
|
|
88
|
-
/** Stable id (matches filename `<id>.yaml`). */
|
|
89
|
-
readonly id: string;
|
|
90
|
-
/** Human-readable label shown in `peaks workflow list`. */
|
|
91
|
-
readonly label: string;
|
|
92
|
-
/** Description; one short paragraph. */
|
|
93
|
-
readonly description: string;
|
|
94
|
-
/** Phases in declaration order; runtime may parallelize siblings within a group. */
|
|
95
|
-
readonly phases: readonly WorkflowPhase[];
|
|
96
|
-
/** Gates referenced by phases; runtime resolves them via peaks-sop. */
|
|
97
|
-
readonly gates: readonly WorkflowGate[];
|
|
98
|
-
/** Native evaluators the runtime should invoke. */
|
|
99
|
-
readonly evaluators: readonly WorkflowEvaluator[];
|
|
100
|
-
/** Context snapshot for the workflow. */
|
|
101
|
-
readonly contextSnapshot: WorkflowContextSnapshot;
|
|
102
|
-
/** Budget caps. */
|
|
103
|
-
readonly budget: WorkflowBudget;
|
|
104
|
-
}
|
|
105
|
-
/** Result of `lintWorkflowSpec` — pure data, never throws. */
|
|
106
|
-
export interface WorkflowLintReport {
|
|
107
|
-
readonly ok: boolean;
|
|
108
|
-
readonly errors: readonly string[];
|
|
109
|
-
readonly warnings: readonly string[];
|
|
110
|
-
readonly normalizedSpec?: WorkflowSpec;
|
|
111
|
-
}
|
|
112
|
-
/** Parse a raw yaml string into a workflow spec. Pure (no IO), throws on
|
|
113
|
-
* unparseable input. Use `lintWorkflowSpec` after parsing for semantic checks. */
|
|
114
|
-
export declare function parseWorkflowYaml(raw: string, expectedId: string): WorkflowSpec;
|
|
115
|
-
/** Lint a parsed spec — returns a report with semantic errors / warnings. */
|
|
116
|
-
export declare function lintWorkflowSpec(spec: WorkflowSpec): WorkflowLintReport;
|