peaks-loop 4.0.0-beta.8 → 4.0.1
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 +955 -141
- package/README-en.md +26 -7
- package/README.md +75 -6
- package/agents/karpathy-reviewer.md +33 -0
- package/bin/peaks.js +1 -1
- package/dist/cli/cli-helpers.d.ts +68 -0
- package/dist/cli/cli-helpers.js +109 -0
- package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
- package/dist/cli/commands/_cli-error-envelope.js +50 -0
- package/dist/cli/commands/_register.d.ts +3 -0
- package/dist/cli/commands/_register.js +139 -0
- package/dist/cli/commands/_super.d.ts +10 -0
- package/dist/cli/commands/_super.js +97 -0
- package/dist/cli/commands/adapter-commands-s2a.d.ts +34 -0
- package/dist/cli/commands/adapter-commands-s2a.js +92 -0
- package/dist/cli/commands/adapter-commands.d.ts +30 -0
- package/dist/cli/commands/adapter-commands.js +35 -0
- package/dist/cli/commands/asset-commands.d.ts +45 -0
- package/dist/cli/commands/asset-commands.js +421 -0
- package/dist/cli/commands/audit-commands.d.ts +28 -0
- package/dist/cli/commands/audit-commands.js +437 -0
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +12 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +120 -0
- package/dist/cli/commands/bee-commands.d.ts +26 -0
- package/dist/cli/commands/bee-commands.js +169 -0
- package/dist/cli/commands/capability-commands.d.ts +16 -0
- package/dist/cli/commands/capability-commands.js +45 -0
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +3 -0
- package/dist/cli/commands/capability-worker-config-sc-commands.js +8 -0
- package/dist/cli/commands/changeset-commands.d.ts +13 -0
- package/dist/cli/commands/changeset-commands.js +46 -0
- package/dist/cli/commands/code-commands.d.ts +90 -0
- package/dist/cli/commands/code-commands.js +118 -0
- package/dist/cli/commands/code-job-shape-commands.d.ts +9 -0
- package/dist/cli/commands/code-job-shape-commands.js +164 -0
- package/dist/cli/commands/code-mode-gate-commands.d.ts +9 -0
- package/dist/cli/commands/code-mode-gate-commands.js +223 -0
- package/dist/cli/commands/code-review-commands.d.ts +34 -0
- package/dist/cli/commands/code-review-commands.js +83 -0
- package/dist/cli/commands/code-run-command.d.ts +12 -0
- package/dist/cli/commands/code-run-command.js +68 -0
- package/dist/cli/commands/code-runtime-commands.d.ts +11 -0
- package/dist/cli/commands/code-runtime-commands.js +391 -0
- package/dist/cli/commands/codegraph-commands.d.ts +3 -0
- package/dist/cli/commands/codegraph-commands.js +99 -0
- package/dist/cli/commands/compact-command.d.ts +21 -0
- package/dist/cli/commands/compact-command.js +304 -0
- package/dist/cli/commands/complexity-commands.d.ts +9 -0
- package/dist/cli/commands/complexity-commands.js +34 -0
- package/dist/cli/commands/config-commands.d.ts +3 -0
- package/dist/cli/commands/config-commands.js +149 -0
- package/dist/cli/commands/container-commands.d.ts +28 -0
- package/dist/cli/commands/container-commands.js +221 -0
- package/dist/cli/commands/context-builder-commands.d.ts +11 -0
- package/dist/cli/commands/context-builder-commands.js +85 -0
- package/dist/cli/commands/context-commands.d.ts +21 -0
- package/dist/cli/commands/context-commands.js +255 -0
- package/dist/cli/commands/core/artifacts-command.d.ts +3 -0
- package/dist/cli/commands/core/artifacts-command.js +62 -0
- package/dist/cli/commands/core/binding-commands.d.ts +3 -0
- package/dist/cli/commands/core/binding-commands.js +58 -0
- package/dist/cli/commands/core/doctor-command.d.ts +11 -0
- package/dist/cli/commands/core/doctor-command.js +264 -0
- package/dist/cli/commands/core/memory-command.d.ts +3 -0
- package/dist/cli/commands/core/memory-command.js +98 -0
- package/dist/cli/commands/core/profile-command.d.ts +3 -0
- package/dist/cli/commands/core/profile-command.js +9 -0
- package/dist/cli/commands/core/proxy-command.d.ts +3 -0
- package/dist/cli/commands/core/proxy-command.js +26 -0
- package/dist/cli/commands/core/session-command.d.ts +3 -0
- package/dist/cli/commands/core/session-command.js +243 -0
- package/dist/cli/commands/core/skill-command.d.ts +3 -0
- package/dist/cli/commands/core/skill-command.js +303 -0
- package/dist/cli/commands/core/standards-command.d.ts +3 -0
- package/dist/cli/commands/core/standards-command.js +95 -0
- package/dist/cli/commands/core-artifact-commands.d.ts +15 -0
- package/dist/cli/commands/core-artifact-commands.js +31 -0
- package/dist/cli/commands/cron-commands.d.ts +57 -0
- package/dist/cli/commands/cron-commands.js +257 -0
- package/dist/cli/commands/cron-scheduler-commands.d.ts +47 -0
- package/dist/cli/commands/cron-scheduler-commands.js +284 -0
- package/dist/cli/commands/dashboard-commands.d.ts +4 -0
- package/dist/cli/commands/dashboard-commands.js +10 -0
- package/dist/cli/commands/dashboard-long-run.d.ts +25 -0
- package/dist/cli/commands/dashboard-long-run.js +122 -0
- package/dist/cli/commands/dashboard-summary.d.ts +12 -0
- package/dist/cli/commands/dashboard-summary.js +58 -0
- package/dist/cli/commands/dispatch-commands.d.ts +3 -0
- package/dist/cli/commands/dispatch-commands.js +715 -0
- package/dist/cli/commands/dispatch-from-dag.d.ts +3 -0
- package/dist/cli/commands/dispatch-from-dag.js +254 -0
- package/dist/cli/commands/doc-commands.d.ts +11 -0
- package/dist/cli/commands/doc-commands.js +65 -0
- package/dist/cli/commands/ecc-commands.d.ts +30 -0
- package/dist/cli/commands/ecc-commands.js +119 -0
- package/dist/cli/commands/evolution-commands.d.ts +27 -0
- package/dist/cli/commands/evolution-commands.js +393 -0
- package/dist/cli/commands/feedback-commands.d.ts +18 -0
- package/dist/cli/commands/feedback-commands.js +145 -0
- package/dist/cli/commands/final-review-commands.d.ts +31 -0
- package/dist/cli/commands/final-review-commands.js +161 -0
- package/dist/cli/commands/fixture-commands.d.ts +32 -0
- package/dist/cli/commands/fixture-commands.js +91 -0
- package/dist/cli/commands/fork-commands.d.ts +16 -0
- package/dist/cli/commands/fork-commands.js +163 -0
- package/dist/cli/commands/gate-commands.d.ts +3 -0
- package/dist/cli/commands/gate-commands.js +239 -0
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +21 -0
- package/dist/cli/commands/governance-classify-contract-commands.js +273 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +3 -0
- package/dist/cli/commands/heartbeat-commands.js +206 -0
- package/dist/cli/commands/heartbeat-watch-command.d.ts +31 -0
- package/dist/cli/commands/heartbeat-watch-command.js +146 -0
- package/dist/cli/commands/hook-handle.d.ts +17 -0
- package/dist/cli/commands/hook-handle.js +157 -0
- package/dist/cli/commands/hooks-commands.d.ts +3 -0
- package/dist/cli/commands/hooks-commands.js +272 -0
- package/dist/cli/commands/ide-commands.d.ts +25 -0
- package/dist/cli/commands/ide-commands.js +42 -0
- package/dist/cli/commands/impact-commands.d.ts +15 -0
- package/dist/cli/commands/impact-commands.js +62 -0
- package/dist/cli/commands/job-commands.d.ts +3 -0
- package/dist/cli/commands/job-commands.js +322 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +67 -0
- package/dist/cli/commands/lease-metrics-commands.js +231 -0
- package/dist/cli/commands/lease-stats-commands.d.ts +65 -0
- package/dist/cli/commands/lease-stats-commands.js +107 -0
- package/dist/cli/commands/legacy-commands.d.ts +11 -0
- package/dist/cli/commands/legacy-commands.js +32 -0
- package/dist/cli/commands/log-commands.d.ts +17 -0
- package/dist/cli/commands/log-commands.js +64 -0
- package/dist/cli/commands/loop-commands.d.ts +27 -0
- package/dist/cli/commands/loop-commands.js +262 -0
- package/dist/cli/commands/loop-eval-commands.d.ts +20 -0
- package/dist/cli/commands/loop-eval-commands.js +526 -0
- package/dist/cli/commands/memory-commands.d.ts +23 -0
- package/dist/cli/commands/memory-commands.js +129 -0
- package/dist/cli/commands/migrate-1-4-1-command.d.ts +11 -0
- package/dist/cli/commands/migrate-1-4-1-command.js +34 -0
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +20 -0
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +52 -0
- package/dist/cli/commands/mut-commands.d.ts +20 -0
- package/dist/cli/commands/mut-commands.js +235 -0
- package/dist/cli/commands/observability-commands.d.ts +22 -0
- package/dist/cli/commands/observability-commands.js +201 -0
- package/dist/cli/commands/openspec-commands.d.ts +3 -0
- package/dist/cli/commands/openspec-commands.js +298 -0
- package/dist/cli/commands/perf-audit-commands.d.ts +22 -0
- package/dist/cli/commands/perf-audit-commands.js +132 -0
- package/dist/cli/commands/perf-commands.d.ts +3 -0
- package/dist/cli/commands/perf-commands.js +41 -0
- package/dist/cli/commands/playwright-commands.d.ts +95 -0
- package/dist/cli/commands/playwright-commands.js +432 -0
- package/dist/cli/commands/polyrepo-commands.d.ts +37 -0
- package/dist/cli/commands/polyrepo-commands.js +155 -0
- package/dist/cli/commands/prd-blocks-commands.d.ts +18 -0
- package/dist/cli/commands/prd-blocks-commands.js +50 -0
- package/dist/cli/commands/prd-commands.d.ts +18 -0
- package/dist/cli/commands/prd-commands.js +143 -0
- package/dist/cli/commands/preferences-commands.d.ts +2 -0
- package/dist/cli/commands/preferences-commands.js +217 -0
- package/dist/cli/commands/project-commands.d.ts +3 -0
- package/dist/cli/commands/project-commands.js +253 -0
- package/dist/cli/commands/qa-business-review-commands.d.ts +17 -0
- package/dist/cli/commands/qa-business-review-commands.js +148 -0
- package/dist/cli/commands/qa-commands.d.ts +94 -0
- package/dist/cli/commands/qa-commands.js +307 -0
- package/dist/cli/commands/release-commands.d.ts +39 -0
- package/dist/cli/commands/release-commands.js +323 -0
- package/dist/cli/commands/request-commands.d.ts +3 -0
- package/dist/cli/commands/request-commands.js +548 -0
- package/dist/cli/commands/retrospective-commands.d.ts +12 -0
- package/dist/cli/commands/retrospective-commands.js +175 -0
- package/dist/cli/commands/reviewer-commands.d.ts +14 -0
- package/dist/cli/commands/reviewer-commands.js +64 -0
- package/dist/cli/commands/role-commands.d.ts +13 -0
- package/dist/cli/commands/role-commands.js +85 -0
- package/dist/cli/commands/runtime-commands-helpers.d.ts +7 -0
- package/dist/cli/commands/runtime-commands-helpers.js +24 -0
- package/dist/cli/commands/runtime-commands.d.ts +52 -0
- package/dist/cli/commands/runtime-commands.js +149 -0
- package/dist/cli/commands/sc-commands.d.ts +3 -0
- package/dist/cli/commands/sc-commands.js +47 -0
- package/dist/cli/commands/scan-commands.d.ts +3 -0
- package/dist/cli/commands/scan-commands.js +445 -0
- package/dist/cli/commands/security-audit-commands.d.ts +23 -0
- package/dist/cli/commands/security-audit-commands.js +132 -0
- package/dist/cli/commands/sediment-commands.d.ts +80 -0
- package/dist/cli/commands/sediment-commands.js +658 -0
- package/dist/cli/commands/session-24h-mode.d.ts +26 -0
- package/dist/cli/commands/session-24h-mode.js +196 -0
- package/dist/cli/commands/session-checkpoint-command.d.ts +10 -0
- package/dist/cli/commands/session-checkpoint-command.js +100 -0
- package/dist/cli/commands/session-migrate-skill-name.d.ts +17 -0
- package/dist/cli/commands/session-migrate-skill-name.js +41 -0
- package/dist/cli/commands/session-resume-command.d.ts +11 -0
- package/dist/cli/commands/session-resume-command.js +83 -0
- package/dist/cli/commands/share-commands.d.ts +36 -0
- package/dist/cli/commands/share-commands.js +415 -0
- package/dist/cli/commands/skill-conformance-commands.d.ts +9 -0
- package/dist/cli/commands/skill-conformance-commands.js +39 -0
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.d.ts +67 -0
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +173 -0
- package/dist/cli/commands/skill-search-commands.d.ts +25 -0
- package/dist/cli/commands/skill-search-commands.js +71 -0
- package/dist/cli/commands/skill-visibility.d.ts +8 -0
- package/dist/cli/commands/skill-visibility.js +63 -0
- package/dist/cli/commands/slice-commands.d.ts +24 -0
- package/dist/cli/commands/slice-commands.js +492 -0
- package/dist/cli/commands/slice-integrate-commands.d.ts +11 -0
- package/dist/cli/commands/slice-integrate-commands.js +74 -0
- package/dist/cli/commands/slice-review-commands.d.ts +23 -0
- package/dist/cli/commands/slice-review-commands.js +162 -0
- package/dist/cli/commands/smoke-commands.d.ts +21 -0
- package/dist/cli/commands/smoke-commands.js +203 -0
- package/dist/cli/commands/sop-commands.d.ts +3 -0
- package/dist/cli/commands/sop-commands.js +215 -0
- package/dist/cli/commands/spill-demo-command.d.ts +7 -0
- package/dist/cli/commands/spill-demo-command.js +29 -0
- package/dist/cli/commands/statusline-commands.d.ts +15 -0
- package/dist/cli/commands/statusline-commands.js +231 -0
- package/dist/cli/commands/sub-agent-commands.d.ts +22 -0
- package/dist/cli/commands/sub-agent-commands.js +20 -0
- package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +55 -0
- package/dist/cli/commands/sub-agent-dispatch-guard.js +57 -0
- package/dist/cli/commands/sub-agent-shared.d.ts +109 -0
- package/dist/cli/commands/sub-agent-shared.js +90 -0
- package/dist/cli/commands/swarm-commands.d.ts +13 -0
- package/dist/cli/commands/swarm-commands.js +77 -0
- package/dist/cli/commands/tech-commands.d.ts +64 -0
- package/dist/cli/commands/tech-commands.js +195 -0
- package/dist/cli/commands/test-commands.d.ts +47 -0
- package/dist/cli/commands/test-commands.js +204 -0
- package/dist/cli/commands/understand-commands.d.ts +3 -0
- package/dist/cli/commands/understand-commands.js +148 -0
- package/dist/cli/commands/upgrade-commands.d.ts +25 -0
- package/dist/cli/commands/upgrade-commands.js +154 -0
- package/dist/cli/commands/user-touchpoint-commands.d.ts +18 -0
- package/dist/cli/commands/user-touchpoint-commands.js +78 -0
- package/dist/cli/commands/verdict-aggregate-command.d.ts +14 -0
- package/dist/cli/commands/verdict-aggregate-command.js +106 -0
- package/dist/cli/commands/vm-commands.d.ts +31 -0
- package/dist/cli/commands/vm-commands.js +274 -0
- package/dist/cli/commands/workflow-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-commands.js +567 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +39 -0
- package/dist/cli/commands/workflow-plan-commands.js +163 -0
- package/dist/cli/commands/workspace/clean-command.d.ts +14 -0
- package/dist/cli/commands/workspace/clean-command.js +49 -0
- package/dist/cli/commands/workspace/helpers.d.ts +28 -0
- package/dist/cli/commands/workspace/helpers.js +87 -0
- package/dist/cli/commands/workspace/init-command.d.ts +139 -0
- package/dist/cli/commands/workspace/init-command.js +505 -0
- package/dist/cli/commands/workspace/migrate-command.d.ts +11 -0
- package/dist/cli/commands/workspace/migrate-command.js +91 -0
- package/dist/cli/commands/workspace/reconcile-command.d.ts +14 -0
- package/dist/cli/commands/workspace/reconcile-command.js +103 -0
- package/dist/cli/commands/workspace-commands.d.ts +18 -0
- package/dist/cli/commands/workspace-commands.js +50 -0
- package/dist/cli/commands/worktree-auth-commands.d.ts +29 -0
- package/dist/cli/commands/worktree-auth-commands.js +652 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +75 -0
- package/dist/cli/program.d.ts +5 -0
- package/dist/cli/program.js +213 -0
- package/dist/hooks/pre-tool-use-sub-agent.d.ts +28 -0
- package/dist/hooks/pre-tool-use-sub-agent.js +105 -0
- package/dist/lib/render/message-renderer.d.ts +20 -0
- package/dist/lib/render/message-renderer.js +80 -0
- package/dist/services/24h-mode/decider.d.ts +103 -0
- package/dist/services/24h-mode/decider.js +144 -0
- package/dist/services/24h-mode/index.d.ts +12 -0
- package/dist/services/24h-mode/index.js +12 -0
- package/dist/services/24h-mode/state.d.ts +48 -0
- package/dist/services/24h-mode/state.js +51 -0
- package/dist/services/24h-mode/store.d.ts +27 -0
- package/dist/services/24h-mode/store.js +119 -0
- package/dist/services/adapter/adapter-registry.d.ts +48 -0
- package/dist/services/adapter/adapter-registry.js +186 -0
- package/dist/services/adapter/adapter.d.ts +27 -0
- package/dist/services/adapter/adapter.js +5 -0
- package/dist/services/adapter/auto-adapter.d.ts +11 -0
- package/dist/services/adapter/auto-adapter.js +15 -0
- package/dist/services/adapter/claude-adapter.d.ts +14 -0
- package/dist/services/adapter/claude-adapter.js +40 -0
- package/dist/services/adapter/codex-adapter.d.ts +14 -0
- package/dist/services/adapter/codex-adapter.js +14 -0
- package/dist/services/adapter/copilot-adapter.d.ts +14 -0
- package/dist/services/adapter/copilot-adapter.js +14 -0
- package/dist/services/artifacts/artifact-lint-service.d.ts +23 -0
- package/dist/services/artifacts/artifact-lint-service.js +99 -0
- package/dist/services/artifacts/artifact-prerequisites.d.ts +78 -0
- package/dist/services/artifacts/artifact-prerequisites.js +491 -0
- package/dist/services/artifacts/artifact-service.d.ts +43 -0
- package/dist/services/artifacts/artifact-service.js +98 -0
- package/dist/services/artifacts/artifact-templates.d.ts +30 -0
- package/dist/services/artifacts/artifact-templates.js +302 -0
- package/dist/services/artifacts/repair-cycle-service.d.ts +23 -0
- package/dist/services/artifacts/repair-cycle-service.js +52 -0
- package/dist/services/artifacts/request-artifact-service.d.ts +116 -0
- package/dist/services/artifacts/request-artifact-service.js +451 -0
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +51 -0
- package/dist/services/artifacts/request-artifact-state-helpers.js +114 -0
- package/dist/services/artifacts/workspace-service.d.ts +34 -0
- package/dist/services/artifacts/workspace-service.js +272 -0
- package/dist/services/audit/artifact-writer.d.ts +93 -0
- package/dist/services/audit/artifact-writer.js +303 -0
- package/dist/services/audit/audit-goal-service.d.ts +35 -0
- package/dist/services/audit/audit-goal-service.js +75 -0
- package/dist/services/audit/audit-goal-types.d.ts +40 -0
- package/dist/services/audit/audit-goal-types.js +15 -0
- package/dist/services/audit/backing-detector.d.ts +24 -0
- package/dist/services/audit/backing-detector.js +59 -0
- package/dist/services/audit/classifier.d.ts +38 -0
- package/dist/services/audit/classifier.js +134 -0
- package/dist/services/audit/decision-writer.d.ts +76 -0
- package/dist/services/audit/decision-writer.js +217 -0
- package/dist/services/audit/enforcers/active-skill-resolver.d.ts +29 -0
- package/dist/services/audit/enforcers/active-skill-resolver.js +71 -0
- package/dist/services/audit/enforcers/code-ban.d.ts +23 -0
- package/dist/services/audit/enforcers/code-ban.js +27 -0
- package/dist/services/audit/enforcers/design-draft-confirm.d.ts +24 -0
- package/dist/services/audit/enforcers/design-draft-confirm.js +58 -0
- package/dist/services/audit/enforcers/lint-audit-regression.d.ts +21 -0
- package/dist/services/audit/enforcers/lint-audit-regression.js +86 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +91 -0
- package/dist/services/audit/enforcers/lint-catalog-governance.d.ts +32 -0
- package/dist/services/audit/enforcers/lint-catalog-governance.js +48 -0
- package/dist/services/audit/enforcers/lint-cli-back.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-cli-back.js +35 -0
- package/dist/services/audit/enforcers/lint-output-style.d.ts +11 -0
- package/dist/services/audit/enforcers/lint-output-style.js +94 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +31 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.d.ts +23 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +59 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.d.ts +28 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +86 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +41 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +27 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +47 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.d.ts +19 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +47 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.d.ts +18 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +70 -0
- package/dist/services/audit/enforcers/lint-reference-integrity.d.ts +6 -0
- package/dist/services/audit/enforcers/lint-reference-integrity.js +83 -0
- package/dist/services/audit/enforcers/lint-reference-shape.d.ts +30 -0
- package/dist/services/audit/enforcers/lint-reference-shape.js +272 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +53 -0
- package/dist/services/audit/enforcers/lint-style.d.ts +49 -0
- package/dist/services/audit/enforcers/lint-style.js +173 -0
- package/dist/services/audit/enforcers/lint-workflow-shape.d.ts +4 -0
- package/dist/services/audit/enforcers/lint-workflow-shape.js +100 -0
- package/dist/services/audit/enforcers/login-gate.d.ts +23 -0
- package/dist/services/audit/enforcers/login-gate.js +40 -0
- package/dist/services/audit/enforcers/mock-placement.d.ts +25 -0
- package/dist/services/audit/enforcers/mock-placement.js +48 -0
- package/dist/services/audit/enforcers/no-root-pollution.d.ts +21 -0
- package/dist/services/audit/enforcers/no-root-pollution.js +56 -0
- package/dist/services/audit/enforcers/pre-rd-scan.d.ts +22 -0
- package/dist/services/audit/enforcers/pre-rd-scan.js +23 -0
- package/dist/services/audit/enforcers/prototype-fidelity.d.ts +25 -0
- package/dist/services/audit/enforcers/prototype-fidelity.js +75 -0
- package/dist/services/audit/enforcers/resume-detection.d.ts +21 -0
- package/dist/services/audit/enforcers/resume-detection.js +52 -0
- package/dist/services/audit/enforcers/sub-agent-sid.d.ts +25 -0
- package/dist/services/audit/enforcers/sub-agent-sid.js +63 -0
- package/dist/services/audit/prose-ratio-calculator.d.ts +45 -0
- package/dist/services/audit/prose-ratio-calculator.js +52 -0
- package/dist/services/audit/red-line-catalog-p2-a.d.ts +15 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +458 -0
- package/dist/services/audit/red-line-catalog-p2-b.d.ts +19 -0
- package/dist/services/audit/red-line-catalog-p2-b.js +225 -0
- package/dist/services/audit/red-line-catalog.d.ts +51 -0
- package/dist/services/audit/red-line-catalog.js +195 -0
- package/dist/services/audit/red-lines-service.d.ts +23 -0
- package/dist/services/audit/red-lines-service.js +464 -0
- package/dist/services/audit/scanners/openspec-scanner.d.ts +15 -0
- package/dist/services/audit/scanners/openspec-scanner.js +55 -0
- package/dist/services/audit/scanners/rules-tree-scanner.d.ts +16 -0
- package/dist/services/audit/scanners/rules-tree-scanner.js +56 -0
- package/dist/services/audit/scanners/skills-tree-scanner.d.ts +17 -0
- package/dist/services/audit/scanners/skills-tree-scanner.js +68 -0
- package/dist/services/audit/static-service.d.ts +67 -0
- package/dist/services/audit/static-service.js +51 -0
- package/dist/services/audit/types.d.ts +86 -0
- package/dist/services/audit/types.js +13 -0
- package/dist/services/audit-independent/index.d.ts +2 -0
- package/dist/services/audit-independent/index.js +2 -0
- package/dist/services/audit-independent/perf-audit-service.d.ts +151 -0
- package/dist/services/audit-independent/perf-audit-service.js +316 -0
- package/dist/services/audit-independent/security-audit-service.d.ts +155 -0
- package/dist/services/audit-independent/security-audit-service.js +316 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +127 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +446 -0
- package/dist/services/changeset/changeset-check-service.d.ts +22 -0
- package/dist/services/changeset/changeset-check-service.js +47 -0
- package/dist/services/classify/classify-service.d.ts +42 -0
- package/dist/services/classify/classify-service.js +122 -0
- package/dist/services/classify/classify-types.d.ts +79 -0
- package/dist/services/classify/classify-types.js +90 -0
- package/dist/services/code/auto-compact-modes.d.ts +30 -0
- package/dist/services/code/auto-compact-modes.js +38 -0
- package/dist/services/code/auto-compact-orchestrator.d.ts +136 -0
- package/dist/services/code/auto-compact-orchestrator.js +423 -0
- package/dist/services/code/batch-heartbeat-poller.d.ts +51 -0
- package/dist/services/code/batch-heartbeat-poller.js +88 -0
- package/dist/services/code/dag-orchestrator.d.ts +157 -0
- package/dist/services/code/dag-orchestrator.js +409 -0
- package/dist/services/code/emit-handoff.d.ts +49 -0
- package/dist/services/code/emit-handoff.js +79 -0
- package/dist/services/code/job-shape-decision.d.ts +71 -0
- package/dist/services/code/job-shape-decision.js +151 -0
- package/dist/services/code/mode-gate.d.ts +163 -0
- package/dist/services/code/mode-gate.js +212 -0
- package/dist/services/code/post-compact-detector.d.ts +61 -0
- package/dist/services/code/post-compact-detector.js +240 -0
- package/dist/services/code/status-line-renderer.d.ts +36 -0
- package/dist/services/code/status-line-renderer.js +73 -0
- package/dist/services/code/step-08-gate.d.ts +90 -0
- package/dist/services/code/step-08-gate.js +136 -0
- package/dist/services/code/user-touchpoint-classifier.d.ts +44 -0
- package/dist/services/code/user-touchpoint-classifier.js +145 -0
- package/dist/services/code-review/ecc-bridge.d.ts +148 -0
- package/dist/services/code-review/ecc-bridge.js +242 -0
- package/dist/services/code-review/ocr-service.d.ts +129 -0
- package/dist/services/code-review/ocr-service.js +372 -0
- package/dist/services/codegraph/codegraph-process-runner.d.ts +2 -0
- package/dist/services/codegraph/codegraph-process-runner.js +93 -0
- package/dist/services/codegraph/codegraph-service.d.ts +43 -0
- package/dist/services/codegraph/codegraph-service.js +160 -0
- package/dist/services/compact/decision-tables.d.ts +66 -0
- package/dist/services/compact/decision-tables.js +127 -0
- package/dist/services/compact/request-transition-hook.d.ts +20 -0
- package/dist/services/compact/request-transition-hook.js +110 -0
- package/dist/services/compact/suggest-service.d.ts +74 -0
- package/dist/services/compact/suggest-service.js +203 -0
- package/dist/services/compact-history/compact-history-service.d.ts +41 -0
- package/dist/services/compact-history/compact-history-service.js +62 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +16 -0
- package/dist/services/compact-statusline/compact-statusline-service.js +83 -0
- package/dist/services/complexity/complexity-estimator.d.ts +34 -0
- package/dist/services/complexity/complexity-estimator.js +64 -0
- package/dist/services/config/config-migration.d.ts +45 -0
- package/dist/services/config/config-migration.js +154 -0
- package/dist/services/config/config-restore.d.ts +10 -0
- package/dist/services/config/config-restore.js +47 -0
- package/dist/services/config/config-rollback.d.ts +13 -0
- package/dist/services/config/config-rollback.js +26 -0
- package/dist/services/config/config-safety.d.ts +40 -0
- package/dist/services/config/config-safety.js +359 -0
- package/dist/services/config/config-service.d.ts +58 -0
- package/dist/services/config/config-service.js +745 -0
- package/dist/services/config/config-types.d.ts +117 -0
- package/dist/services/config/config-types.js +18 -0
- package/dist/services/config/model-routing.d.ts +66 -0
- package/dist/services/config/model-routing.js +105 -0
- package/dist/services/config/proxy-service.d.ts +21 -0
- package/dist/services/config/proxy-service.js +44 -0
- package/dist/services/config/sidecar-store.d.ts +25 -0
- package/dist/services/config/sidecar-store.js +61 -0
- package/dist/services/config/workspace-state-service.d.ts +30 -0
- package/dist/services/config/workspace-state-service.js +142 -0
- package/dist/services/container/container-lease.d.ts +67 -0
- package/dist/services/container/container-lease.js +135 -0
- package/dist/services/context/artifact-meta.d.ts +72 -0
- package/dist/services/context/artifact-meta.js +105 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +72 -0
- package/dist/services/context/auto-compact-dispatcher.js +170 -0
- package/dist/services/context/auto-compact-reader.d.ts +51 -0
- package/dist/services/context/auto-compact-reader.js +164 -0
- package/dist/services/context/auto-compact-types.d.ts +168 -0
- package/dist/services/context/auto-compact-types.js +43 -0
- package/dist/services/context/build-dispatch-system-prompt.d.ts +75 -0
- package/dist/services/context/build-dispatch-system-prompt.js +117 -0
- package/dist/services/context/collector.d.ts +24 -0
- package/dist/services/context/collector.js +133 -0
- package/dist/services/context/context-builder.d.ts +30 -0
- package/dist/services/context/context-builder.js +78 -0
- package/dist/services/context/context-guard.d.ts +49 -0
- package/dist/services/context/context-guard.js +91 -0
- package/dist/services/context/context-schema.d.ts +415 -0
- package/dist/services/context/context-schema.js +73 -0
- package/dist/services/context/doc-retriever.d.ts +26 -0
- package/dist/services/context/doc-retriever.js +51 -0
- package/dist/services/context/headroom-client.d.ts +34 -0
- package/dist/services/context/headroom-client.js +117 -0
- package/dist/services/context/headroom-fetcher.d.ts +6 -0
- package/dist/services/context/headroom-fetcher.js +28 -0
- package/dist/services/context/headroom-prefs.d.ts +46 -0
- package/dist/services/context/headroom-prefs.js +34 -0
- package/dist/services/context/ide-detect.d.ts +4 -0
- package/dist/services/context/ide-detect.js +24 -0
- package/dist/services/context/index.d.ts +7 -0
- package/dist/services/context/index.js +6 -0
- package/dist/services/context/main-session-monitor.d.ts +86 -0
- package/dist/services/context/main-session-monitor.js +119 -0
- package/dist/services/context/memory-index-reader.d.ts +8 -0
- package/dist/services/context/memory-index-reader.js +57 -0
- package/dist/services/context/memory-lru-cache.d.ts +12 -0
- package/dist/services/context/memory-lru-cache.js +60 -0
- package/dist/services/context/memory-preflight-config.d.ts +19 -0
- package/dist/services/context/memory-preflight-config.js +25 -0
- package/dist/services/context/memory-preflight-service.d.ts +19 -0
- package/dist/services/context/memory-preflight-service.js +120 -0
- package/dist/services/context/renderer.d.ts +20 -0
- package/dist/services/context/renderer.js +30 -0
- package/dist/services/context/spillover-store.d.ts +23 -0
- package/dist/services/context/spillover-store.js +155 -0
- package/dist/services/context/spillover-types.d.ts +18 -0
- package/dist/services/context/spillover-types.js +1 -0
- package/dist/services/context/threshold.d.ts +35 -0
- package/dist/services/context/threshold.js +76 -0
- package/dist/services/context/tokenizer.d.ts +12 -0
- package/dist/services/context/tokenizer.js +43 -0
- package/dist/services/context/types.d.ts +93 -0
- package/dist/services/context/types.js +9 -0
- package/dist/services/crystallization/crystallization-service.d.ts +256 -0
- package/dist/services/crystallization/crystallization-service.js +391 -0
- package/dist/services/crystallization/crystallization-store.d.ts +75 -0
- package/dist/services/crystallization/crystallization-store.js +193 -0
- package/dist/services/crystallization/crystallization-types.d.ts +313 -0
- package/dist/services/crystallization/crystallization-types.js +299 -0
- package/dist/services/crystallization/evidence-brief-builder.d.ts +237 -0
- package/dist/services/crystallization/evidence-brief-builder.js +240 -0
- package/dist/services/crystallization/index.d.ts +13 -0
- package/dist/services/crystallization/index.js +13 -0
- package/dist/services/dashboard/project-dashboard-service.d.ts +91 -0
- package/dist/services/dashboard/project-dashboard-service.js +147 -0
- package/dist/services/dispatch/await-batch.d.ts +70 -0
- package/dist/services/dispatch/await-batch.js +272 -0
- package/dist/services/dispatch/batch-counter.d.ts +27 -0
- package/dist/services/dispatch/batch-counter.js +102 -0
- package/dist/services/dispatch/contract-store.d.ts +63 -0
- package/dist/services/dispatch/contract-store.js +157 -0
- package/dist/services/dispatch/dispatch-record-writer.d.ts +260 -0
- package/dist/services/dispatch/dispatch-record-writer.js +690 -0
- package/dist/services/dispatch/heartbeat-truncator.d.ts +26 -0
- package/dist/services/dispatch/heartbeat-truncator.js +13 -0
- package/dist/services/dispatch/leak-detector.d.ts +11 -0
- package/dist/services/dispatch/leak-detector.js +72 -0
- package/dist/services/dispatch/slice-dag.d.ts +127 -0
- package/dist/services/dispatch/slice-dag.js +244 -0
- package/dist/services/dispatch/stage-enum.d.ts +27 -0
- package/dist/services/dispatch/stage-enum.js +48 -0
- package/dist/services/dispatch/startup-timeout.d.ts +86 -0
- package/dist/services/dispatch/startup-timeout.js +97 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +239 -0
- package/dist/services/dispatch/sub-agent-dispatcher.js +333 -0
- package/dist/services/dispatch/test-tool-detection.d.ts +60 -0
- package/dist/services/dispatch/test-tool-detection.js +126 -0
- package/dist/services/doc/doc-generator.d.ts +38 -0
- package/dist/services/doc/doc-generator.js +122 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.d.ts +18 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +64 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +69 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.d.ts +32 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +110 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.d.ts +24 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +164 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +57 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +19 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +66 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +33 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.d.ts +20 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.js +85 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.js +30 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.js +25 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.js +19 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.d.ts +21 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +75 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.js +47 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +32 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +30 -0
- package/dist/services/doctor/doctor-service/checks/user-config.d.ts +11 -0
- package/dist/services/doctor/doctor-service/checks/user-config.js +27 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +34 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.d.ts +33 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +180 -0
- package/dist/services/doctor/doctor-service/index.d.ts +48 -0
- package/dist/services/doctor/doctor-service/index.js +254 -0
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +41 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +77 -0
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +20 -0
- package/dist/services/doctor/doctor-service/report/final-summary.js +29 -0
- package/dist/services/doctor/doctor-service/types.d.ts +245 -0
- package/dist/services/doctor/doctor-service/types.js +15 -0
- package/dist/services/doctor/doctor-service.d.ts +18 -0
- package/dist/services/doctor/doctor-service.js +25 -0
- package/dist/services/doctor/index.d.ts +22 -0
- package/dist/services/doctor/index.js +22 -0
- package/dist/services/env/shell-probe.d.ts +71 -0
- package/dist/services/env/shell-probe.js +161 -0
- package/dist/services/evolution/evolution-service.d.ts +137 -0
- package/dist/services/evolution/evolution-service.js +281 -0
- package/dist/services/evolution/evolution-store.d.ts +57 -0
- package/dist/services/evolution/evolution-store.js +232 -0
- package/dist/services/evolution/evolution-types.d.ts +706 -0
- package/dist/services/evolution/evolution-types.js +286 -0
- package/dist/services/evolution/independent-evaluator-runner.d.ts +90 -0
- package/dist/services/evolution/independent-evaluator-runner.js +106 -0
- package/dist/services/evolution/regression-skeptic-runner.d.ts +64 -0
- package/dist/services/evolution/regression-skeptic-runner.js +113 -0
- package/dist/services/feedback/feedback-promotion-service.d.ts +123 -0
- package/dist/services/feedback/feedback-promotion-service.js +300 -0
- package/dist/services/final-review/final-review-service.d.ts +22 -0
- package/dist/services/final-review/final-review-service.js +52 -0
- package/dist/services/final-review/final-review-types.d.ts +42 -0
- package/dist/services/final-review/final-review-types.js +18 -0
- package/dist/services/final-review/index.d.ts +2 -0
- package/dist/services/final-review/index.js +1 -0
- package/dist/services/fixture/fixture-capture-service.d.ts +87 -0
- package/dist/services/fixture/fixture-capture-service.js +317 -0
- package/dist/services/fixture/fixture-sanitize-service.d.ts +117 -0
- package/dist/services/fixture/fixture-sanitize-service.js +161 -0
- package/dist/services/fixture/index.d.ts +8 -0
- package/dist/services/fixture/index.js +8 -0
- package/dist/services/fork/fork-sync-state.d.ts +85 -0
- package/dist/services/fork/fork-sync-state.js +130 -0
- package/dist/services/fuzzy-matching/fuzzy-match-service.d.ts +15 -0
- package/dist/services/fuzzy-matching/fuzzy-match-service.js +56 -0
- package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +68 -0
- package/dist/services/fuzzy-matching/fzf-pick-service.js +158 -0
- package/dist/services/fuzzy-matching/types.d.ts +20 -0
- package/dist/services/fuzzy-matching/types.js +1 -0
- package/dist/services/handoff/handoff-parser.d.ts +28 -0
- package/dist/services/handoff/handoff-parser.js +69 -0
- package/dist/services/handoff/handoff-types.d.ts +39 -0
- package/dist/services/handoff/handoff-types.js +19 -0
- package/dist/services/handoff/handoff-writer.d.ts +23 -0
- package/dist/services/handoff/handoff-writer.js +30 -0
- package/dist/services/hooks/auto-compact-hook-install.d.ts +103 -0
- package/dist/services/hooks/auto-compact-hook-install.js +156 -0
- package/dist/services/hooks/output.d.ts +92 -0
- package/dist/services/hooks/output.js +111 -0
- package/dist/services/hooks/presence-marker-detector.d.ts +16 -0
- package/dist/services/hooks/presence-marker-detector.js +105 -0
- package/dist/services/hooks/worktree-authorization-gate.d.ts +205 -0
- package/dist/services/hooks/worktree-authorization-gate.js +492 -0
- package/dist/services/ide/adapters/claude-code-adapter.d.ts +18 -0
- package/dist/services/ide/adapters/claude-code-adapter.js +103 -0
- package/dist/services/ide/adapters/codex-adapter.d.ts +46 -0
- package/dist/services/ide/adapters/codex-adapter.js +97 -0
- package/dist/services/ide/adapters/cursor-adapter.d.ts +36 -0
- package/dist/services/ide/adapters/cursor-adapter.js +84 -0
- package/dist/services/ide/adapters/hermes-adapter.d.ts +21 -0
- package/dist/services/ide/adapters/hermes-adapter.js +51 -0
- package/dist/services/ide/adapters/openclaw-adapter.d.ts +14 -0
- package/dist/services/ide/adapters/openclaw-adapter.js +42 -0
- package/dist/services/ide/adapters/qoder-adapter.d.ts +25 -0
- package/dist/services/ide/adapters/qoder-adapter.js +57 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +16 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +45 -0
- package/dist/services/ide/adapters/trae-adapter.d.ts +42 -0
- package/dist/services/ide/adapters/trae-adapter.js +83 -0
- package/dist/services/ide/adapters/zcode-adapter.d.ts +40 -0
- package/dist/services/ide/adapters/zcode-adapter.js +220 -0
- package/dist/services/ide/current-model-detector.d.ts +14 -0
- package/dist/services/ide/current-model-detector.js +60 -0
- package/dist/services/ide/hook-protocol.d.ts +47 -0
- package/dist/services/ide/hook-protocol.js +74 -0
- package/dist/services/ide/hook-translator.d.ts +72 -0
- package/dist/services/ide/hook-translator.js +128 -0
- package/dist/services/ide/ide-detector.d.ts +10 -0
- package/dist/services/ide/ide-detector.js +19 -0
- package/dist/services/ide/ide-registry.d.ts +14 -0
- package/dist/services/ide/ide-registry.js +69 -0
- package/dist/services/ide/ide-types.d.ts +253 -0
- package/dist/services/ide/ide-types.js +2 -0
- package/dist/services/ide/resource-profile.d.ts +52 -0
- package/dist/services/ide/resource-profile.js +33 -0
- package/dist/services/ide/shared/atomic-json.d.ts +15 -0
- package/dist/services/ide/shared/atomic-json.js +58 -0
- package/dist/services/ide/shared/safe-path.d.ts +11 -0
- package/dist/services/ide/shared/safe-path.js +29 -0
- package/dist/services/impact/impact-scan-service.d.ts +66 -0
- package/dist/services/impact/impact-scan-service.js +197 -0
- package/dist/services/job/job-event-emitter.d.ts +30 -0
- package/dist/services/job/job-event-emitter.js +5 -0
- package/dist/services/job/job-orchestrator.d.ts +50 -0
- package/dist/services/job/job-orchestrator.js +104 -0
- package/dist/services/job/job-progress-store.d.ts +60 -0
- package/dist/services/job/job-progress-store.js +70 -0
- package/dist/services/job/job-rotation.d.ts +17 -0
- package/dist/services/job/job-rotation.js +30 -0
- package/dist/services/job/job-state-store.d.ts +24 -0
- package/dist/services/job/job-state-store.js +60 -0
- package/dist/services/job/job-types.d.ts +444 -0
- package/dist/services/job/job-types.js +87 -0
- package/dist/services/job/subagent-job-wrapper.d.ts +35 -0
- package/dist/services/job/subagent-job-wrapper.js +30 -0
- package/dist/services/job-snapshot/index.d.ts +8 -0
- package/dist/services/job-snapshot/index.js +7 -0
- package/dist/services/job-snapshot/snapshot.d.ts +7 -0
- package/dist/services/job-snapshot/snapshot.js +75 -0
- package/dist/services/job-snapshot/types.d.ts +7 -0
- package/dist/services/job-snapshot/types.js +1 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.d.ts +67 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +108 -0
- package/dist/services/legacy/legacy-detector.d.ts +34 -0
- package/dist/services/legacy/legacy-detector.js +111 -0
- package/dist/services/log/log-commands-service.d.ts +54 -0
- package/dist/services/log/log-commands-service.js +83 -0
- package/dist/services/log/logger.d.ts +103 -0
- package/dist/services/log/logger.js +224 -0
- package/dist/services/log/redact.d.ts +32 -0
- package/dist/services/log/redact.js +89 -0
- package/dist/services/log/retention.d.ts +50 -0
- package/dist/services/log/retention.js +95 -0
- package/dist/services/loop/evaluator-dispatcher.d.ts +50 -0
- package/dist/services/loop/evaluator-dispatcher.js +552 -0
- package/dist/services/loop/loop-bee-relation-service.d.ts +107 -0
- package/dist/services/loop/loop-bee-relation-service.js +211 -0
- package/dist/services/loop/loop-bee-relation-store.d.ts +53 -0
- package/dist/services/loop/loop-bee-relation-store.js +130 -0
- package/dist/services/loop/loop-bee-relation-types.d.ts +118 -0
- package/dist/services/loop/loop-bee-relation-types.js +114 -0
- package/dist/services/loop/loop-release-service.d.ts +46 -0
- package/dist/services/loop/loop-release-service.js +66 -0
- package/dist/services/loop/loop-release-store.d.ts +55 -0
- package/dist/services/loop/loop-release-store.js +134 -0
- package/dist/services/loop/loop-release-types.d.ts +250 -0
- package/dist/services/loop/loop-release-types.js +162 -0
- package/dist/services/loop/monotonic-guard.d.ts +80 -0
- package/dist/services/loop/monotonic-guard.js +232 -0
- package/dist/services/loop/monotonic-runner.d.ts +64 -0
- package/dist/services/loop/monotonic-runner.js +270 -0
- package/dist/services/loop/run-driver.d.ts +70 -0
- package/dist/services/loop/run-driver.js +400 -0
- package/dist/services/loop/spec-service.d.ts +90 -0
- package/dist/services/loop/spec-service.js +497 -0
- package/dist/services/memory/llm-reranker.d.ts +174 -0
- package/dist/services/memory/llm-reranker.js +284 -0
- package/dist/services/memory/memory-search-service.d.ts +93 -0
- package/dist/services/memory/memory-search-service.js +117 -0
- package/dist/services/memory/project-context-service.d.ts +21 -0
- package/dist/services/memory/project-context-service.js +161 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +8 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +253 -0
- package/dist/services/memory/project-memory-service/index/ranking.d.ts +6 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +171 -0
- package/dist/services/memory/project-memory-service/index/search.d.ts +34 -0
- package/dist/services/memory/project-memory-service/index/search.js +194 -0
- package/dist/services/memory/project-memory-service/index.d.ts +9 -0
- package/dist/services/memory/project-memory-service/index.js +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +9 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +106 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.d.ts +7 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +96 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +5 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +56 -0
- package/dist/services/memory/project-memory-service/store/paths.d.ts +8 -0
- package/dist/services/memory/project-memory-service/store/paths.js +116 -0
- package/dist/services/memory/project-memory-service/types.d.ts +128 -0
- package/dist/services/memory/project-memory-service/types.js +9 -0
- package/dist/services/memory/project-memory-service.d.ts +1 -0
- package/dist/services/memory/project-memory-service.js +20 -0
- package/dist/services/migrate-skill-name/migrate.d.ts +17 -0
- package/dist/services/migrate-skill-name/migrate.js +152 -0
- package/dist/services/migrate-skill-name/schema.d.ts +42 -0
- package/dist/services/migrate-skill-name/schema.js +25 -0
- package/dist/services/migration/v2-10-to-v2-11-service.d.ts +44 -0
- package/dist/services/migration/v2-10-to-v2-11-service.js +190 -0
- package/dist/services/migration/v2-10-to-v2-11-types.d.ts +41 -0
- package/dist/services/migration/v2-10-to-v2-11-types.js +23 -0
- package/dist/services/mode/bypass-tracker.d.ts +4 -0
- package/dist/services/mode/bypass-tracker.js +31 -0
- package/dist/services/mode/mode-enforcement.d.ts +14 -0
- package/dist/services/mode/mode-enforcement.js +84 -0
- package/dist/services/observability/aggregation.d.ts +91 -0
- package/dist/services/observability/aggregation.js +289 -0
- package/dist/services/observability/jsonl-store.d.ts +59 -0
- package/dist/services/observability/jsonl-store.js +120 -0
- package/dist/services/observability/observability-service.d.ts +161 -0
- package/dist/services/observability/observability-service.js +205 -0
- package/dist/services/observability/report-formatter.d.ts +42 -0
- package/dist/services/observability/report-formatter.js +156 -0
- package/dist/services/openspec/artifact-boundary.d.ts +138 -0
- package/dist/services/openspec/artifact-boundary.js +150 -0
- package/dist/services/openspec/coverage-evidence-reader.d.ts +191 -0
- package/dist/services/openspec/coverage-evidence-reader.js +386 -0
- package/dist/services/openspec/openspec-archive-service.d.ts +82 -0
- package/dist/services/openspec/openspec-archive-service.js +340 -0
- package/dist/services/openspec/openspec-bridge-service.d.ts +16 -0
- package/dist/services/openspec/openspec-bridge-service.js +76 -0
- package/dist/services/openspec/openspec-init-service.d.ts +23 -0
- package/dist/services/openspec/openspec-init-service.js +122 -0
- package/dist/services/openspec/openspec-propose-from-doctor-service.d.ts +31 -0
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +95 -0
- package/dist/services/openspec/openspec-render-service.d.ts +38 -0
- package/dist/services/openspec/openspec-render-service.js +133 -0
- package/dist/services/openspec/openspec-scan-service.d.ts +6 -0
- package/dist/services/openspec/openspec-scan-service.js +123 -0
- package/dist/services/openspec/openspec-types.d.ts +39 -0
- package/dist/services/openspec/openspec-types.js +1 -0
- package/dist/services/openspec/openspec-validate-service.d.ts +27 -0
- package/dist/services/openspec/openspec-validate-service.js +78 -0
- package/dist/services/perf/perf-baseline-service.d.ts +70 -0
- package/dist/services/perf/perf-baseline-service.js +214 -0
- package/dist/services/polyrepo/polyrepo-dispatcher.d.ts +34 -0
- package/dist/services/polyrepo/polyrepo-dispatcher.js +119 -0
- package/dist/services/polyrepo/polyrepo-scanner.d.ts +9 -0
- package/dist/services/polyrepo/polyrepo-scanner.js +94 -0
- package/dist/services/polyrepo/polyrepo-service.d.ts +34 -0
- package/dist/services/polyrepo/polyrepo-service.js +49 -0
- package/dist/services/polyrepo/polyrepo-types.d.ts +55 -0
- package/dist/services/polyrepo/polyrepo-types.js +1 -0
- package/dist/services/prd/handoff-auto-regen.d.ts +22 -0
- package/dist/services/prd/handoff-auto-regen.js +73 -0
- package/dist/services/prd/handoff-service.d.ts +54 -0
- package/dist/services/prd/handoff-service.js +142 -0
- package/dist/services/prd/handoff-types.d.ts +64 -0
- package/dist/services/prd/handoff-types.js +22 -0
- package/dist/services/prd/prd-blocks-checker.d.ts +51 -0
- package/dist/services/prd/prd-blocks-checker.js +130 -0
- package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
- package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
- package/dist/services/prd/project-scan-reader.d.ts +24 -0
- package/dist/services/prd/project-scan-reader.js +150 -0
- package/dist/services/prd/project-scan-sediment.d.ts +97 -0
- package/dist/services/prd/project-scan-sediment.js +445 -0
- package/dist/services/prd/project-scan-types.d.ts +66 -0
- package/dist/services/prd/project-scan-types.js +20 -0
- package/dist/services/preferences/preferences-service.d.ts +38 -0
- package/dist/services/preferences/preferences-service.js +208 -0
- package/dist/services/preferences/preferences-types.d.ts +161 -0
- package/dist/services/preferences/preferences-types.js +64 -0
- package/dist/services/profiles/profile-service.d.ts +6 -0
- package/dist/services/profiles/profile-service.js +19 -0
- package/dist/services/progress/progress-service.d.ts +125 -0
- package/dist/services/progress/progress-service.js +192 -0
- package/dist/services/proxy/proxy-service.d.ts +7 -0
- package/dist/services/proxy/proxy-service.js +31 -0
- package/dist/services/qa/browser-event-logger.d.ts +40 -0
- package/dist/services/qa/browser-event-logger.js +54 -0
- package/dist/services/qa/browser-restart-detector.d.ts +74 -0
- package/dist/services/qa/browser-restart-detector.js +138 -0
- package/dist/services/qa/browser-reuse-hint.d.ts +18 -0
- package/dist/services/qa/browser-reuse-hint.js +18 -0
- package/dist/services/qa/browser-wrapper-service.d.ts +37 -0
- package/dist/services/qa/browser-wrapper-service.js +88 -0
- package/dist/services/qa/qa-business-review-state.d.ts +47 -0
- package/dist/services/qa/qa-business-review-state.js +96 -0
- package/dist/services/qa/screenshot-archive-service.d.ts +51 -0
- package/dist/services/qa/screenshot-archive-service.js +134 -0
- package/dist/services/rd/ast-gate.d.ts +19 -0
- package/dist/services/rd/ast-gate.js +71 -0
- package/dist/services/rd/impl.d.ts +9 -0
- package/dist/services/rd/impl.js +57 -0
- package/dist/services/rd/rd-service.d.ts +129 -0
- package/dist/services/rd/rd-service.js +440 -0
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +122 -0
- package/dist/services/rd/reviewer-dispatch-policy.js +148 -0
- package/dist/services/rd/standards-diagnostic.d.ts +76 -0
- package/dist/services/rd/standards-diagnostic.js +166 -0
- package/dist/services/rd/strategic-stage.d.ts +4 -0
- package/dist/services/rd/strategic-stage.js +15 -0
- package/dist/services/rd/strategy.d.ts +13 -0
- package/dist/services/rd/strategy.js +60 -0
- package/dist/services/rd/tactical-stage.d.ts +33 -0
- package/dist/services/rd/tactical-stage.js +62 -0
- package/dist/services/rd/types.d.ts +252 -0
- package/dist/services/rd/types.js +47 -0
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +60 -0
- package/dist/services/rd-swarm/rd-swarm-service.js +93 -0
- package/dist/services/recommendations/capability-availability.d.ts +5 -0
- package/dist/services/recommendations/capability-availability.js +40 -0
- package/dist/services/recommendations/capability-map-service.d.ts +7 -0
- package/dist/services/recommendations/capability-map-service.js +131 -0
- package/dist/services/recommendations/capability-seed-items.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-items.js +139 -0
- package/dist/services/recommendations/capability-seed-mappings.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-mappings.js +53 -0
- package/dist/services/recommendations/capability-seed-sources.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-sources.js +34 -0
- package/dist/services/recommendations/recommendation-service.d.ts +8 -0
- package/dist/services/recommendations/recommendation-service.js +106 -0
- package/dist/services/recommendations/recommendation-types.d.ts +129 -0
- package/dist/services/recommendations/recommendation-types.js +1 -0
- package/dist/services/recommendations/seed-capability-catalog.d.ts +3 -0
- package/dist/services/recommendations/seed-capability-catalog.js +3 -0
- package/dist/services/refactor/refactor-service.d.ts +9 -0
- package/dist/services/refactor/refactor-service.js +36 -0
- package/dist/services/release/release-state.d.ts +70 -0
- package/dist/services/release/release-state.js +140 -0
- package/dist/services/release/version-precheck-service.d.ts +51 -0
- package/dist/services/release/version-precheck-service.js +257 -0
- package/dist/services/retrospective/retrospective-index.d.ts +37 -0
- package/dist/services/retrospective/retrospective-index.js +110 -0
- package/dist/services/retrospective/retrospective-search-service.d.ts +55 -0
- package/dist/services/retrospective/retrospective-search-service.js +107 -0
- package/dist/services/retrospective/retrospective-show.d.ts +40 -0
- package/dist/services/retrospective/retrospective-show.js +109 -0
- package/dist/services/reviewer/model-family.d.ts +18 -0
- package/dist/services/reviewer/model-family.js +70 -0
- package/dist/services/reviewer/providers/anthropic.d.ts +2 -0
- package/dist/services/reviewer/providers/anthropic.js +61 -0
- package/dist/services/reviewer/providers/ollama.d.ts +26 -0
- package/dist/services/reviewer/providers/ollama.js +38 -0
- package/dist/services/reviewer/providers/openai.d.ts +2 -0
- package/dist/services/reviewer/providers/openai.js +63 -0
- package/dist/services/reviewer/reviewer-config.d.ts +34 -0
- package/dist/services/reviewer/reviewer-config.js +100 -0
- package/dist/services/reviewer/reviewer-service.d.ts +56 -0
- package/dist/services/reviewer/reviewer-service.js +263 -0
- package/dist/services/reviewer/selection-strategies.d.ts +27 -0
- package/dist/services/reviewer/selection-strategies.js +53 -0
- package/dist/services/role/role-registry.d.ts +38 -0
- package/dist/services/role/role-registry.js +83 -0
- package/dist/services/runtime/runtime-detector.d.ts +15 -0
- package/dist/services/runtime/runtime-detector.js +62 -0
- package/dist/services/runtime/runtime-service.d.ts +59 -0
- package/dist/services/runtime/runtime-service.js +51 -0
- package/dist/services/runtime/vendor-adapter.d.ts +59 -0
- package/dist/services/runtime/vendor-adapter.js +1 -0
- package/dist/services/runtime/vendors/claude-code.d.ts +7 -0
- package/dist/services/runtime/vendors/claude-code.js +39 -0
- package/dist/services/runtime/vendors/codex.d.ts +7 -0
- package/dist/services/runtime/vendors/codex.js +43 -0
- package/dist/services/runtime/vendors/copilot.d.ts +7 -0
- package/dist/services/runtime/vendors/copilot.js +40 -0
- package/dist/services/sc/index.d.ts +1 -0
- package/dist/services/sc/index.js +1 -0
- package/dist/services/sc/sc-service.d.ts +131 -0
- package/dist/services/sc/sc-service.js +552 -0
- package/dist/services/scan/acceptance-coverage-service.d.ts +42 -0
- package/dist/services/scan/acceptance-coverage-service.js +140 -0
- package/dist/services/scan/api-surface-service.d.ts +69 -0
- package/dist/services/scan/api-surface-service.js +239 -0
- package/dist/services/scan/archetype-service.d.ts +5 -0
- package/dist/services/scan/archetype-service.js +254 -0
- package/dist/services/scan/diff-scope-service.d.ts +40 -0
- package/dist/services/scan/diff-scope-service.js +198 -0
- package/dist/services/scan/existing-system-service.d.ts +7 -0
- package/dist/services/scan/existing-system-service.js +300 -0
- package/dist/services/scan/file-size-scan.d.ts +23 -0
- package/dist/services/scan/file-size-scan.js +68 -0
- package/dist/services/scan/karpathy-service.d.ts +60 -0
- package/dist/services/scan/karpathy-service.js +228 -0
- package/dist/services/scan/libraries-service.d.ts +24 -0
- package/dist/services/scan/libraries-service.js +419 -0
- package/dist/services/scan/libraries-types.d.ts +59 -0
- package/dist/services/scan/libraries-types.js +9 -0
- package/dist/services/scan/orphan-service.d.ts +76 -0
- package/dist/services/scan/orphan-service.js +538 -0
- package/dist/services/scan/scan-types.d.ts +59 -0
- package/dist/services/scan/scan-types.js +1 -0
- package/dist/services/scan/type-sanity-service.d.ts +23 -0
- package/dist/services/scan/type-sanity-service.js +116 -0
- package/dist/services/security/safe-settings-path.d.ts +12 -0
- package/dist/services/security/safe-settings-path.js +104 -0
- package/dist/services/sediment/dispose-confirm.d.ts +9 -0
- package/dist/services/sediment/dispose-confirm.js +5 -0
- package/dist/services/sediment/json-schema.d.ts +247 -0
- package/dist/services/sediment/json-schema.js +26 -0
- package/dist/services/sediment/manifest-lint.d.ts +13 -0
- package/dist/services/sediment/manifest-lint.js +11 -0
- package/dist/services/sediment/pool-paths.d.ts +22 -0
- package/dist/services/sediment/pool-paths.js +25 -0
- package/dist/services/sediment/pool-read.d.ts +20 -0
- package/dist/services/sediment/pool-read.js +73 -0
- package/dist/services/sediment/pool-rebuild-index.d.ts +15 -0
- package/dist/services/sediment/pool-rebuild-index.js +28 -0
- package/dist/services/sediment/pool-write.d.ts +14 -0
- package/dist/services/sediment/pool-write.js +25 -0
- package/dist/services/sediment/promotion-gate.d.ts +12 -0
- package/dist/services/sediment/promotion-gate.js +20 -0
- package/dist/services/sediment/types.d.ts +52 -0
- package/dist/services/sediment/types.js +1 -0
- package/dist/services/session/binding-status-service.d.ts +56 -0
- package/dist/services/session/binding-status-service.js +106 -0
- package/dist/services/session/binding-store.d.ts +161 -0
- package/dist/services/session/binding-store.js +509 -0
- package/dist/services/session/caller-binding-service.d.ts +70 -0
- package/dist/services/session/caller-binding-service.js +148 -0
- package/dist/services/session/caller-id-types.d.ts +77 -0
- package/dist/services/session/caller-id-types.js +46 -0
- package/dist/services/session/getSessionDir.d.ts +1 -0
- package/dist/services/session/getSessionDir.js +27 -0
- package/dist/services/session/index.d.ts +6 -0
- package/dist/services/session/index.js +7 -0
- package/dist/services/session/platform-fallbacks.d.ts +31 -0
- package/dist/services/session/platform-fallbacks.js +35 -0
- package/dist/services/session/resolve-caller-id.d.ts +57 -0
- package/dist/services/session/resolve-caller-id.js +88 -0
- package/dist/services/session/session-binding-bridge.d.ts +76 -0
- package/dist/services/session/session-binding-bridge.js +247 -0
- package/dist/services/session/session-checkpoint-service.d.ts +57 -0
- package/dist/services/session/session-checkpoint-service.js +143 -0
- package/dist/services/session/session-manager.d.ts +168 -0
- package/dist/services/session/session-manager.js +502 -0
- package/dist/services/session/session-resume-service.d.ts +25 -0
- package/dist/services/session/session-resume-service.js +101 -0
- package/dist/services/share/bundle-reader.d.ts +100 -0
- package/dist/services/share/bundle-reader.js +434 -0
- package/dist/services/share/bundle-types.d.ts +392 -0
- package/dist/services/share/bundle-types.js +318 -0
- package/dist/services/share/bundle-writer.d.ts +97 -0
- package/dist/services/share/bundle-writer.js +429 -0
- package/dist/services/share/run-state-contract.d.ts +133 -0
- package/dist/services/share/run-state-contract.js +138 -0
- package/dist/services/signal/cancel-handler.d.ts +14 -0
- package/dist/services/signal/cancel-handler.js +76 -0
- package/dist/services/skill/resume-detector.d.ts +54 -0
- package/dist/services/skill/resume-detector.js +334 -0
- package/dist/services/skill/skill-scheduler.d.ts +40 -0
- package/dist/services/skill/skill-scheduler.js +53 -0
- package/dist/services/skill/skill-search-service.d.ts +93 -0
- package/dist/services/skill/skill-search-service.js +232 -0
- package/dist/services/skillhub/migrations/001-initial.sql +71 -0
- package/dist/services/skillhub/migrations/002-loop-release.sql +32 -0
- package/dist/services/skillhub/migrations/003-loop-bee-relation.sql +35 -0
- package/dist/services/skillhub/migrations/004-loop-bee-extension.sql +65 -0
- package/dist/services/skillhub/migrations/005-evolution-evaluation.sql +81 -0
- package/dist/services/skillhub/migrations/006-crystallization-event.sql +92 -0
- package/dist/services/skillhub/release-diff.d.ts +18 -0
- package/dist/services/skillhub/release-diff.js +38 -0
- package/dist/services/skillhub/release-export.d.ts +8 -0
- package/dist/services/skillhub/release-export.js +31 -0
- package/dist/services/skillhub/release-gc-blobs.d.ts +13 -0
- package/dist/services/skillhub/release-gc-blobs.js +32 -0
- package/dist/services/skillhub/release-import.d.ts +7 -0
- package/dist/services/skillhub/release-import.js +64 -0
- package/dist/services/skillhub/release-retain.d.ts +23 -0
- package/dist/services/skillhub/release-retain.js +94 -0
- package/dist/services/skillhub/sqlite-store.d.ts +22 -0
- package/dist/services/skillhub/sqlite-store.js +63 -0
- package/dist/services/skillhub/tar-runtime.d.ts +21 -0
- package/dist/services/skillhub/tar-runtime.js +91 -0
- package/dist/services/skillhub/types.d.ts +115 -0
- package/dist/services/skillhub/types.js +1 -0
- package/dist/services/skills/hooks-settings-service.d.ts +212 -0
- package/dist/services/skills/hooks-settings-service.js +624 -0
- package/dist/services/skills/skill-conformance-service.d.ts +40 -0
- package/dist/services/skills/skill-conformance-service.js +139 -0
- package/dist/services/skills/skill-presence-service.d.ts +158 -0
- package/dist/services/skills/skill-presence-service.js +474 -0
- package/dist/services/skills/skill-registry.d.ts +18 -0
- package/dist/services/skills/skill-registry.js +69 -0
- package/dist/services/skills/skill-runbook-service.d.ts +11 -0
- package/dist/services/skills/skill-runbook-service.js +128 -0
- package/dist/services/skills/skill-statusline-renderer.d.ts +6 -0
- package/dist/services/skills/skill-statusline-renderer.js +55 -0
- package/dist/services/skills/skill-statusline-service.d.ts +24 -0
- package/dist/services/skills/skill-statusline-service.js +110 -0
- package/dist/services/skills/statusline-settings-service.d.ts +59 -0
- package/dist/services/skills/statusline-settings-service.js +141 -0
- package/dist/services/skills/sync-service.d.ts +86 -0
- package/dist/services/skills/sync-service.js +271 -0
- package/dist/services/slice/calibration-store.d.ts +39 -0
- package/dist/services/slice/calibration-store.js +68 -0
- package/dist/services/slice/cross-pass-edge-merger.d.ts +53 -0
- package/dist/services/slice/cross-pass-edge-merger.js +246 -0
- package/dist/services/slice/granularity-decider.d.ts +37 -0
- package/dist/services/slice/granularity-decider.js +40 -0
- package/dist/services/slice/llm-arbitrator.d.ts +35 -0
- package/dist/services/slice/llm-arbitrator.js +63 -0
- package/dist/services/slice/multi-pass-orchestrator.d.ts +67 -0
- package/dist/services/slice/multi-pass-orchestrator.js +225 -0
- package/dist/services/slice/schema-router.d.ts +44 -0
- package/dist/services/slice/schema-router.js +61 -0
- package/dist/services/slice/slice-archive-service.d.ts +20 -0
- package/dist/services/slice/slice-archive-service.js +111 -0
- package/dist/services/slice/slice-benchmark-service.d.ts +19 -0
- package/dist/services/slice/slice-benchmark-service.js +60 -0
- package/dist/services/slice/slice-check-service.d.ts +2 -0
- package/dist/services/slice/slice-check-service.js +459 -0
- package/dist/services/slice/slice-check-types.d.ts +104 -0
- package/dist/services/slice/slice-check-types.js +28 -0
- package/dist/services/slice/slice-decompose-runners.d.ts +23 -0
- package/dist/services/slice/slice-decompose-runners.js +174 -0
- package/dist/services/slice/slice-decompose-service.d.ts +24 -0
- package/dist/services/slice/slice-decompose-service.js +532 -0
- package/dist/services/slice/slice-decompose-types.d.ts +263 -0
- package/dist/services/slice/slice-decompose-types.js +30 -0
- package/dist/services/slice/slice-integration.d.ts +43 -0
- package/dist/services/slice/slice-integration.js +106 -0
- package/dist/services/slice/slice-pick-service.d.ts +32 -0
- package/dist/services/slice/slice-pick-service.js +75 -0
- package/dist/services/slice/slice-review-state.d.ts +70 -0
- package/dist/services/slice/slice-review-state.js +109 -0
- package/dist/services/slice/slice-topology-types.d.ts +115 -0
- package/dist/services/slice/slice-topology-types.js +20 -0
- package/dist/services/smoke/smoke-paths-state.d.ts +73 -0
- package/dist/services/smoke/smoke-paths-state.js +117 -0
- package/dist/services/sop/gate-enforce-service.d.ts +33 -0
- package/dist/services/sop/gate-enforce-service.js +168 -0
- package/dist/services/sop/sop-advance-service.d.ts +74 -0
- package/dist/services/sop/sop-advance-service.js +115 -0
- package/dist/services/sop/sop-check-service.d.ts +45 -0
- package/dist/services/sop/sop-check-service.js +181 -0
- package/dist/services/sop/sop-paths.d.ts +62 -0
- package/dist/services/sop/sop-paths.js +92 -0
- package/dist/services/sop/sop-registry-service.d.ts +46 -0
- package/dist/services/sop/sop-registry-service.js +89 -0
- package/dist/services/sop/sop-service.d.ts +55 -0
- package/dist/services/sop/sop-service.js +222 -0
- package/dist/services/sop/sop-types.d.ts +95 -0
- package/dist/services/sop/sop-types.js +11 -0
- package/dist/services/standards/ide-aware-standards-service.d.ts +94 -0
- package/dist/services/standards/ide-aware-standards-service.js +91 -0
- package/dist/services/standards/loop-engineering-lint.d.ts +38 -0
- package/dist/services/standards/loop-engineering-lint.js +101 -0
- package/dist/services/standards/loop-engineering-readiness-lint.d.ts +111 -0
- package/dist/services/standards/loop-engineering-readiness-lint.js +248 -0
- package/dist/services/standards/main-session-monitor-ban-hook.d.ts +14 -0
- package/dist/services/standards/main-session-monitor-ban-hook.js +19 -0
- package/dist/services/standards/migrate-claude-rules-service.d.ts +19 -0
- package/dist/services/standards/migrate-claude-rules-service.js +214 -0
- package/dist/services/standards/migrate-service.d.ts +63 -0
- package/dist/services/standards/migrate-service.js +193 -0
- package/dist/services/standards/missing-standards-detector.d.ts +106 -0
- package/dist/services/standards/missing-standards-detector.js +170 -0
- package/dist/services/standards/project-context.d.ts +24 -0
- package/dist/services/standards/project-context.js +314 -0
- package/dist/services/standards/project-standards-service.d.ts +114 -0
- package/dist/services/standards/project-standards-service.js +693 -0
- package/dist/services/tech/tech-change-id-service.d.ts +82 -0
- package/dist/services/tech/tech-change-id-service.js +117 -0
- package/dist/services/tech/tech-service.d.ts +69 -0
- package/dist/services/tech/tech-service.js +299 -0
- package/dist/services/test-cache/test-cache-service.d.ts +70 -0
- package/dist/services/test-cache/test-cache-service.js +175 -0
- package/dist/services/understand/hybrid-types.d.ts +32 -0
- package/dist/services/understand/hybrid-types.js +1 -0
- package/dist/services/understand/understand-hybrid-service.d.ts +10 -0
- package/dist/services/understand/understand-hybrid-service.js +100 -0
- package/dist/services/understand/understand-scan-service.d.ts +28 -0
- package/dist/services/understand/understand-scan-service.js +170 -0
- package/dist/services/understand/understand-types.d.ts +50 -0
- package/dist/services/understand/understand-types.js +1 -0
- package/dist/services/upgrade/1x-detector-service.d.ts +7 -0
- package/dist/services/upgrade/1x-detector-service.js +94 -0
- package/dist/services/upgrade/gitignore-migrate-service.d.ts +56 -0
- package/dist/services/upgrade/gitignore-migrate-service.js +170 -0
- package/dist/services/upgrade/upgrade-service.d.ts +81 -0
- package/dist/services/upgrade/upgrade-service.js +404 -0
- package/dist/services/verdict/envelopes.d.ts +93 -0
- package/dist/services/verdict/envelopes.js +349 -0
- package/dist/services/verdict/verdict-aggregator.d.ts +94 -0
- package/dist/services/verdict/verdict-aggregator.js +112 -0
- package/dist/services/vm/vm-lease.d.ts +40 -0
- package/dist/services/vm/vm-lease.js +137 -0
- package/dist/services/workflow/artifact-paths.d.ts +59 -0
- package/dist/services/workflow/artifact-paths.js +166 -0
- package/dist/services/workflow/autonomous-resume-writer.d.ts +16 -0
- package/dist/services/workflow/autonomous-resume-writer.js +170 -0
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +47 -0
- package/dist/services/workflow/pipeline-verify-gate-support.js +194 -0
- package/dist/services/workflow/pipeline-verify-service.d.ts +26 -0
- package/dist/services/workflow/pipeline-verify-service.js +273 -0
- package/dist/services/workflow/pipeline-verify-types.d.ts +90 -0
- package/dist/services/workflow/pipeline-verify-types.js +10 -0
- package/dist/services/workflow/plan-reader.d.ts +29 -0
- package/dist/services/workflow/plan-reader.js +174 -0
- package/dist/services/workflow/plan-refresher.d.ts +32 -0
- package/dist/services/workflow/plan-refresher.js +353 -0
- package/dist/services/workflow/plan-trigger-detector.d.ts +55 -0
- package/dist/services/workflow/plan-trigger-detector.js +142 -0
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +19 -0
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +300 -0
- package/dist/services/workflow/workflow-autonomous-service.d.ts +4 -0
- package/dist/services/workflow/workflow-autonomous-service.js +306 -0
- package/dist/services/workflow/workflow-autonomous-types.d.ts +114 -0
- package/dist/services/workflow/workflow-autonomous-types.js +21 -0
- package/dist/services/workflow/workflow-loader.d.ts +63 -0
- package/dist/services/workflow/workflow-loader.js +168 -0
- package/dist/services/workflow/workflow-router-service.d.ts +85 -0
- package/dist/services/workflow/workflow-router-service.js +235 -0
- package/dist/services/workflow/workflow-skip-service.d.ts +106 -0
- package/dist/services/workflow/workflow-skip-service.js +209 -0
- package/dist/services/workflow/workflow-spec-lint.d.ts +13 -0
- package/dist/services/workflow/workflow-spec-lint.js +75 -0
- package/dist/services/workflow/workflow-spec-types.d.ts +100 -0
- package/dist/services/workflow/workflow-spec-types.js +13 -0
- package/dist/services/workflow/workflow-spec-yaml.d.ts +17 -0
- package/dist/services/workflow/workflow-spec-yaml.js +88 -0
- package/dist/services/workflow/workflow-spec.d.ts +36 -0
- package/dist/services/workflow/workflow-spec.js +302 -0
- package/dist/services/workflow/workflow-state-store.d.ts +27 -0
- package/dist/services/workflow/workflow-state-store.js +95 -0
- package/dist/services/workspace/claude-settings-template.d.ts +101 -0
- package/dist/services/workspace/claude-settings-template.js +254 -0
- package/dist/services/workspace/migrate-1-4-1-service.d.ts +44 -0
- package/dist/services/workspace/migrate-1-4-1-service.js +195 -0
- package/dist/services/workspace/migrate-service.d.ts +2 -0
- package/dist/services/workspace/migrate-service.js +613 -0
- package/dist/services/workspace/migrate-types.d.ts +127 -0
- package/dist/services/workspace/migrate-types.js +21 -0
- package/dist/services/workspace/reconcile-service.d.ts +188 -0
- package/dist/services/workspace/reconcile-service.js +683 -0
- package/dist/services/workspace/reconcile-types.d.ts +130 -0
- package/dist/services/workspace/reconcile-types.js +13 -0
- package/dist/services/workspace/sid-naming-guard.d.ts +17 -0
- package/dist/services/workspace/sid-naming-guard.js +34 -0
- package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
- package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
- package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
- package/dist/services/workspace/templates/project-scan/index.js +60 -0
- package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
- package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
- package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +45 -0
- package/dist/services/workspace/workspace-claude-settings-materializer.js +194 -0
- package/dist/services/workspace/workspace-clean-service.d.ts +28 -0
- package/dist/services/workspace/workspace-clean-service.js +46 -0
- package/dist/services/workspace/workspace-service.d.ts +177 -0
- package/dist/services/workspace/workspace-service.js +432 -0
- package/dist/services/workspace/workspace-state-service.d.ts +7 -0
- package/dist/services/workspace/workspace-state-service.js +43 -0
- package/dist/services/worktree/worktree-lease.d.ts +170 -0
- package/dist/services/worktree/worktree-lease.js +242 -0
- package/dist/shared/format-md-compact.d.ts +32 -0
- package/dist/shared/format-md-compact.js +297 -0
- package/dist/shared/frontmatter.d.ts +6 -0
- package/dist/shared/frontmatter.js +165 -0
- package/dist/shared/fs-utils.d.ts +4 -0
- package/dist/shared/fs-utils.js +16 -0
- package/dist/shared/incrementing-number.d.ts +23 -0
- package/dist/shared/incrementing-number.js +68 -0
- package/dist/shared/json-schema-mini.d.ts +10 -0
- package/dist/shared/json-schema-mini.js +113 -0
- package/dist/shared/path-safety.d.ts +21 -0
- package/dist/shared/path-safety.js +54 -0
- package/dist/shared/path-utils.d.ts +13 -0
- package/dist/shared/path-utils.js +56 -0
- package/dist/shared/planner-response.d.ts +21 -0
- package/dist/shared/planner-response.js +26 -0
- package/dist/shared/platform.d.ts +6 -0
- package/dist/shared/platform.js +11 -0
- package/dist/shared/process.d.ts +5 -0
- package/dist/shared/process.js +12 -0
- package/dist/shared/stale-policy.d.ts +67 -0
- package/dist/shared/stale-policy.js +85 -0
- package/dist/skills/peaks-maker/index.d.ts +5 -0
- package/dist/skills/peaks-maker/index.js +32 -0
- package/package.json +51 -54
- package/scripts/clean-dist.mjs +31 -1
- package/scripts/copy-templates.mjs +17 -1
- package/scripts/sync-version.mjs +53 -2
- package/skills/bee/peaks-perf-audit/SKILL.md +17 -0
- package/skills/bee/peaks-prd/SKILL.md +16 -0
- package/skills/bee/peaks-prd/test-prompts.json +12 -0
- package/skills/bee/peaks-qa/SKILL.md +16 -1
- package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +22 -0
- package/skills/bee/peaks-qa/test-prompts.json +12 -0
- package/skills/bee/peaks-rd/SKILL.md +29 -20
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +39 -0
- package/skills/bee/peaks-rd/test-prompts.json +12 -0
- package/skills/bee/peaks-reviewer/SKILL.md +17 -0
- package/skills/bee/peaks-sc/SKILL.md +16 -0
- package/skills/bee/peaks-security-audit/SKILL.md +17 -0
- package/skills/bee/peaks-txt/SKILL.md +16 -0
- package/skills/bee/peaks-txt/test-prompts.json +12 -0
- package/skills/bee/peaks-ui/SKILL.md +49 -43
- package/skills/bee/peaks-ui/test-prompts.json +12 -0
- package/skills/peaks-code/SKILL.md +54 -109
- package/skills/peaks-code/references/boundaries.md +15 -1
- package/skills/peaks-code/references/cron-scheduler-deployment.md +313 -0
- package/skills/peaks-code/references/external-skill-invocation.md +27 -0
- package/skills/peaks-code/references/lease-dashboard.html +224 -0
- package/skills/peaks-code/references/lease-stats.sample.json +26 -0
- package/skills/peaks-code/references/peaks-worktree-l2-enforcers.md +208 -0
- package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
- package/skills/peaks-code/references/runbook.md +63 -1
- package/skills/peaks-code/references/startup-sequence.md +110 -0
- package/skills/peaks-code/references/step-0-8-gate.md +1 -1
- package/skills/peaks-code/references/sub-agent-dispatch.md +92 -1
- package/skills/peaks-code/references/worktree-governance.md +123 -0
- package/skills/peaks-code/test-prompts.json +12 -0
- package/skills/peaks-doctor/SKILL.md +1 -1
- package/skills/peaks-ide/SKILL.md +1 -1
- package/skills/peaks-solo/SKILL.md +21 -0
- package/skills/peaks-solo/references/triage-decision-table.md +6 -0
- package/skills/peaks-sop/test-prompts.json +17 -0
- package/examples/video-demo/README.md +0 -142
- package/examples/video-demo/out/en-closing-960.png +0 -0
- package/examples/video-demo/out/zh-closing-960.png +0 -0
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-workflow — internal support helpers for pipeline verification.
|
|
3
|
+
*
|
|
4
|
+
* Private helpers used by the slimmed `pipeline-verify-service.ts`
|
|
5
|
+
* orchestrator. NOT publicly re-exported; not part of the public API
|
|
6
|
+
* surface. Kept in a sibling file so the orchestrator can stay under
|
|
7
|
+
* the 400-line file-size cap (rid-006 split).
|
|
8
|
+
*
|
|
9
|
+
* File budget: ≤ 400 lines (rid-006 split).
|
|
10
|
+
*/
|
|
11
|
+
import { existsSync } from 'node:fs';
|
|
12
|
+
import { join } from 'node:path';
|
|
13
|
+
import { showRequestArtifact } from '../artifacts/request-artifact-service.js';
|
|
14
|
+
import { resolveSecurityFindingsPath, resolvePerformanceFindingsPath } from './artifact-paths.js';
|
|
15
|
+
export function extractState(markdown) {
|
|
16
|
+
for (const rawLine of markdown.split(/\r?\n/)) {
|
|
17
|
+
const match = /^-\s*state:\s*(.+?)\s*$/.exec(rawLine.trim());
|
|
18
|
+
if (match?.[1])
|
|
19
|
+
return match[1];
|
|
20
|
+
}
|
|
21
|
+
return 'unknown';
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* As of slice 2026-06-05-change-id-as-unit-of-work, the file's durable
|
|
25
|
+
* scope is the change-id (the `.peaks/_runtime/<sessionId>/` dir the file lives
|
|
26
|
+
* in), NOT the session-id. We resolve the on-disk location via
|
|
27
|
+
* `showRequestArtifact` (which scans all top-level dirs and returns the
|
|
28
|
+
* actual dir the file was found in) instead of assuming
|
|
29
|
+
* `.peaks/_runtime/<sessionId>/<role>/requests/`.
|
|
30
|
+
*/
|
|
31
|
+
export async function findRequestFile(projectRoot, role, rid) {
|
|
32
|
+
const artifact = await showRequestArtifact({ projectRoot, role: role, requestId: rid });
|
|
33
|
+
if (artifact === null)
|
|
34
|
+
return null;
|
|
35
|
+
// Slice 2026-06-28-code-mode-bypass-fix (defect #3): the legacy
|
|
36
|
+
// `showRequestArtifact` returns the FULL SCOPE (`_runtime/<sid>`)
|
|
37
|
+
// as `sessionId`, not just the trailing id segment. The canonical
|
|
38
|
+
// evidence lookup needs only the bare id (`.peaks/_runtime/change/<id>/`).
|
|
39
|
+
// When the scope starts with `_runtime/`, strip that prefix so the
|
|
40
|
+
// path resolver builds the right canonical location.
|
|
41
|
+
let sessionId = artifact.sessionId;
|
|
42
|
+
if (sessionId.startsWith('_runtime/') || sessionId.startsWith('_runtime\\')) {
|
|
43
|
+
sessionId = sessionId.replace(/^_runtime[\\/]/, '');
|
|
44
|
+
}
|
|
45
|
+
return { path: artifact.path, content: artifact.content, sessionId };
|
|
46
|
+
}
|
|
47
|
+
export function rdGatesForType(requestType) {
|
|
48
|
+
const gates = [
|
|
49
|
+
{ name: 'rd-request-exists', description: 'RD request artifact created', passed: false, detail: '' }
|
|
50
|
+
];
|
|
51
|
+
if (requestType === 'feature' || requestType === 'refactor') {
|
|
52
|
+
gates.push({ name: 'tech-doc', description: 'Technical design doc', passed: false, detail: '' });
|
|
53
|
+
}
|
|
54
|
+
if (requestType === 'bugfix') {
|
|
55
|
+
gates.push({ name: 'bug-analysis', description: 'Bug root-cause analysis', passed: false, detail: '' });
|
|
56
|
+
}
|
|
57
|
+
if (requestType !== 'docs' && requestType !== 'chore' && requestType !== 'config') {
|
|
58
|
+
gates.push({ name: 'code-review', description: 'Code review evidence', passed: false, detail: '' });
|
|
59
|
+
}
|
|
60
|
+
if (requestType === 'feature' || requestType === 'refactor' || requestType === 'bugfix' || requestType === 'config') {
|
|
61
|
+
gates.push({ name: 'security-review', description: 'Security review evidence', passed: false, detail: '' });
|
|
62
|
+
}
|
|
63
|
+
return gates;
|
|
64
|
+
}
|
|
65
|
+
export function qaGatesForType(requestType) {
|
|
66
|
+
const gates = [
|
|
67
|
+
{ name: 'qa-request-exists', description: 'QA request artifact created', passed: false, detail: '' }
|
|
68
|
+
];
|
|
69
|
+
if (requestType === 'feature' || requestType === 'refactor' || requestType === 'bugfix') {
|
|
70
|
+
gates.push({ name: 'test-cases', description: 'QA test cases', passed: false, detail: '' });
|
|
71
|
+
gates.push({ name: 'test-report', description: 'QA test report with execution results', passed: false, detail: '' });
|
|
72
|
+
}
|
|
73
|
+
if (requestType === 'feature' || requestType === 'refactor' || requestType === 'bugfix' || requestType === 'config') {
|
|
74
|
+
gates.push({ name: 'security-findings', description: 'QA security findings', passed: false, detail: '' });
|
|
75
|
+
}
|
|
76
|
+
if (requestType === 'feature' || requestType === 'refactor') {
|
|
77
|
+
gates.push({ name: 'performance-findings', description: 'QA performance findings', passed: false, detail: '' });
|
|
78
|
+
}
|
|
79
|
+
return gates;
|
|
80
|
+
}
|
|
81
|
+
export const RD_QA_HANDOFF_STATES = new Set(['qa-handoff', 'handed-off', 'implemented']);
|
|
82
|
+
export const QA_COMPLETE_STATES = new Set(['verdict-issued']);
|
|
83
|
+
/** Resolve RD evidence files (tech-doc / bug-analysis / code-review / security-review)
|
|
84
|
+
* by probing canonical + legacy paths for each gate. Mutates the gate.passed /
|
|
85
|
+
* gate.detail fields in place and pushes violations / nextActions. Returns the
|
|
86
|
+
* updated tracker. Verbatim-move from `pipeline-verify-service.ts`. */
|
|
87
|
+
export function resolveRdEvidencePaths(gates, rdEvidenceDir, projectRoot, violations, nextActions, tracker) {
|
|
88
|
+
const RD_EVIDENCE_FILE = {
|
|
89
|
+
'tech-doc': 'tech-doc.md',
|
|
90
|
+
'bug-analysis': 'bug-analysis.md',
|
|
91
|
+
'code-review': 'code-review.md',
|
|
92
|
+
'security-review': 'security-review.md'
|
|
93
|
+
};
|
|
94
|
+
let anyEvidenceResolved = tracker.anyEvidenceResolved;
|
|
95
|
+
let allResolvedPathsCanonical = tracker.allResolvedPathsCanonical;
|
|
96
|
+
for (const gate of gates.slice(1)) {
|
|
97
|
+
const fileName = RD_EVIDENCE_FILE[gate.name];
|
|
98
|
+
const canonicalPath = join(projectRoot, '.peaks', '_runtime', rdEvidenceDir, 'rd', fileName);
|
|
99
|
+
const legacyMisplacedPath = join(projectRoot, '.peaks', rdEvidenceDir, 'rd', fileName);
|
|
100
|
+
const legacyChangeAxisPath = join(projectRoot, '.peaks', '_runtime', 'change', rdEvidenceDir, 'rd', fileName);
|
|
101
|
+
let resolvedPath = null;
|
|
102
|
+
let usedLegacy = false;
|
|
103
|
+
for (const candidate of [canonicalPath, legacyMisplacedPath, legacyChangeAxisPath]) {
|
|
104
|
+
if (existsSync(candidate)) {
|
|
105
|
+
resolvedPath = candidate;
|
|
106
|
+
usedLegacy = candidate !== canonicalPath;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (resolvedPath !== null) {
|
|
111
|
+
anyEvidenceResolved = true;
|
|
112
|
+
if (usedLegacy)
|
|
113
|
+
allResolvedPathsCanonical = false;
|
|
114
|
+
gate.passed = true;
|
|
115
|
+
gate.detail = resolvedPath + (usedLegacy ? ' [DEPRECATION_LEGACY_PATH_USED]' : '');
|
|
116
|
+
if (usedLegacy) {
|
|
117
|
+
violations.push(`DEPRECATION_LEGACY_PATH_USED: ${resolvedPath} — move the file into .peaks/_runtime/${rdEvidenceDir}/rd/ (the canonical location) so subsequent runs resolve on the canonical path. The legacy \`peaks workspace migrate-change-scope\` helper was removed in v2.19.0; use \`peaks workspace migrate\` to relocate misplaced content.`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
gate.detail = `missing: ${canonicalPath}`;
|
|
122
|
+
violations.push(`RD evidence missing: ${gate.description} (${fileName})`);
|
|
123
|
+
nextActions.push(`Create .peaks/_runtime/${rdEvidenceDir}/rd/${fileName}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return { anyEvidenceResolved, allResolvedPathsCanonical };
|
|
127
|
+
}
|
|
128
|
+
/** Resolve QA evidence files (test-cases / test-report / security-findings /
|
|
129
|
+
* performance-findings) by probing canonical + legacy paths for each gate.
|
|
130
|
+
* For security/perf findings, delegates to the artifact-paths resolver.
|
|
131
|
+
* Mutates the gate.passed / gate.detail fields in place and pushes
|
|
132
|
+
* violations / nextActions. Returns the updated tracker. Verbatim-move
|
|
133
|
+
* from `pipeline-verify-service.ts`. */
|
|
134
|
+
export function resolveQaEvidencePaths(gates, projectRoot, rdEvidenceDir, changeIdForResolver, rid, violations, nextActions, tracker) {
|
|
135
|
+
const QA_EVIDENCE_FILE = {
|
|
136
|
+
'test-cases': `test-cases/${rid}.md`,
|
|
137
|
+
'test-report': `test-reports/${rid}.md`,
|
|
138
|
+
'security-findings': '',
|
|
139
|
+
'performance-findings': ''
|
|
140
|
+
};
|
|
141
|
+
let anyEvidenceResolved = tracker.anyEvidenceResolved;
|
|
142
|
+
let allResolvedPathsCanonical = tracker.allResolvedPathsCanonical;
|
|
143
|
+
for (const gate of gates.slice(1)) {
|
|
144
|
+
if (gate.name === 'security-findings' || gate.name === 'performance-findings') {
|
|
145
|
+
const resolver = gate.name === 'security-findings' ? resolveSecurityFindingsPath : resolvePerformanceFindingsPath;
|
|
146
|
+
const resolved = resolver({ projectRoot, sessionId: changeIdForResolver, rid });
|
|
147
|
+
if (existsSync(resolved.path)) {
|
|
148
|
+
anyEvidenceResolved = true;
|
|
149
|
+
if (resolved.form === 'legacy')
|
|
150
|
+
allResolvedPathsCanonical = false;
|
|
151
|
+
gate.passed = true;
|
|
152
|
+
gate.detail = resolved.path;
|
|
153
|
+
if (resolved.form === 'legacy') {
|
|
154
|
+
violations.push(`QA evidence accepted in legacy form (will be rejected after next minor release): ${resolved.path} — re-run peaks workflow plan refresh to migrate`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
gate.detail = `missing: ${resolved.path}`;
|
|
159
|
+
violations.push(`QA evidence missing: ${gate.description} (${resolved.path})`);
|
|
160
|
+
nextActions.push(`Create ${resolved.path} (or use the legacy non-suffixed form during the 1-minor-release back-compat window)`);
|
|
161
|
+
}
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
const fileName = QA_EVIDENCE_FILE[gate.name];
|
|
165
|
+
const canonicalQaPath = join(projectRoot, '.peaks', '_runtime', rdEvidenceDir, 'qa', fileName);
|
|
166
|
+
const legacyMisplacedQaPath = join(projectRoot, '.peaks', rdEvidenceDir, 'qa', fileName);
|
|
167
|
+
const legacyChangeAxisQaPath = join(projectRoot, '.peaks', '_runtime', 'change', rdEvidenceDir, 'qa', fileName);
|
|
168
|
+
let resolvedQaPath = null;
|
|
169
|
+
let usedLegacyQa = false;
|
|
170
|
+
for (const candidate of [canonicalQaPath, legacyMisplacedQaPath, legacyChangeAxisQaPath]) {
|
|
171
|
+
if (existsSync(candidate)) {
|
|
172
|
+
resolvedQaPath = candidate;
|
|
173
|
+
usedLegacyQa = candidate !== canonicalQaPath;
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (resolvedQaPath !== null) {
|
|
178
|
+
anyEvidenceResolved = true;
|
|
179
|
+
if (usedLegacyQa)
|
|
180
|
+
allResolvedPathsCanonical = false;
|
|
181
|
+
gate.passed = true;
|
|
182
|
+
gate.detail = resolvedQaPath + (usedLegacyQa ? ' [DEPRECATION_LEGACY_PATH_USED]' : '');
|
|
183
|
+
if (usedLegacyQa) {
|
|
184
|
+
violations.push(`DEPRECATION_LEGACY_PATH_USED: ${resolvedQaPath} — move the file into .peaks/_runtime/${rdEvidenceDir}/qa/ (the canonical location) so subsequent runs resolve on the canonical path. The legacy \`peaks workspace migrate-change-scope\` helper was removed in v2.19.0; use \`peaks workspace migrate\` to relocate misplaced content.`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
gate.detail = `missing: ${canonicalQaPath}`;
|
|
189
|
+
violations.push(`QA evidence missing: ${gate.description} (${fileName})`);
|
|
190
|
+
nextActions.push(`Create .peaks/_runtime/${rdEvidenceDir}/qa/${fileName}`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return { anyEvidenceResolved, allResolvedPathsCanonical };
|
|
194
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-workflow — pipeline verification orchestrator (slimmed per rid-006).
|
|
3
|
+
*
|
|
4
|
+
* `verifyPipeline` resolves RD / QA evidence files for a given rid and
|
|
5
|
+
* returns a structured `PipelineVerification` envelope. Type
|
|
6
|
+
* declarations live in `pipeline-verify-types.ts`; private gate
|
|
7
|
+
* helpers (`rdGatesForType`, `qaGatesForType`, `extractState`,
|
|
8
|
+
* `findRequestFile`, the `_runtime/` prefix strip, the RD/QA handoff
|
|
9
|
+
* state sets, and the RD/QA evidence path probes) live in
|
|
10
|
+
* `pipeline-verify-gate-support.ts`. The re-export shim at the
|
|
11
|
+
* bottom preserves the original public surface so existing import
|
|
12
|
+
* paths compile unchanged.
|
|
13
|
+
*
|
|
14
|
+
* File budget: ≤ 400 lines (rid-006 split).
|
|
15
|
+
*/
|
|
16
|
+
import type { PipelineVerification } from './pipeline-verify-types.js';
|
|
17
|
+
export declare function verifyPipeline(options: {
|
|
18
|
+
projectRoot: string;
|
|
19
|
+
rid: string;
|
|
20
|
+
/** Optional explicit session-id; when omitted, the RD/QA on-disk location
|
|
21
|
+
* is resolved via showRequestArtifact (which scans all top-level dirs and
|
|
22
|
+
* returns the actual session-id the file lives in). */
|
|
23
|
+
sessionId?: string;
|
|
24
|
+
requestType?: string;
|
|
25
|
+
}): Promise<PipelineVerification>;
|
|
26
|
+
export type { PipelineGate, PipelineVerification } from './pipeline-verify-types.js';
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-workflow — pipeline verification orchestrator (slimmed per rid-006).
|
|
3
|
+
*
|
|
4
|
+
* `verifyPipeline` resolves RD / QA evidence files for a given rid and
|
|
5
|
+
* returns a structured `PipelineVerification` envelope. Type
|
|
6
|
+
* declarations live in `pipeline-verify-types.ts`; private gate
|
|
7
|
+
* helpers (`rdGatesForType`, `qaGatesForType`, `extractState`,
|
|
8
|
+
* `findRequestFile`, the `_runtime/` prefix strip, the RD/QA handoff
|
|
9
|
+
* state sets, and the RD/QA evidence path probes) live in
|
|
10
|
+
* `pipeline-verify-gate-support.ts`. The re-export shim at the
|
|
11
|
+
* bottom preserves the original public surface so existing import
|
|
12
|
+
* paths compile unchanged.
|
|
13
|
+
*
|
|
14
|
+
* File budget: ≤ 400 lines (rid-006 split).
|
|
15
|
+
*/
|
|
16
|
+
import { isRequestType } from '../artifacts/artifact-prerequisites.js';
|
|
17
|
+
import { readSkipState } from './workflow-state-store.js';
|
|
18
|
+
import { getSessionIdCanonical } from '../session/session-manager.js';
|
|
19
|
+
import { listUnpromotedFeedback } from '../feedback/feedback-promotion-service.js';
|
|
20
|
+
import { QA_COMPLETE_STATES, RD_QA_HANDOFF_STATES, extractState, findRequestFile, qaGatesForType, rdGatesForType, resolveQaEvidencePaths, resolveRdEvidencePaths } from './pipeline-verify-gate-support.js';
|
|
21
|
+
export async function verifyPipeline(options) {
|
|
22
|
+
const requestType = isRequestType(options.requestType ?? '') ? options.requestType : 'feature';
|
|
23
|
+
const violations = [];
|
|
24
|
+
const nextActions = [];
|
|
25
|
+
const rdGates = rdGatesForType(requestType);
|
|
26
|
+
const qaGates = qaGatesForType(requestType);
|
|
27
|
+
// Slice 2026-06-13-peaks-workflow-skip: read the skip-state (if any)
|
|
28
|
+
// and pre-mark matching gates as `status: 'skipped'`. We do this
|
|
29
|
+
// BEFORE evaluating evidence files, so a skipped gate never
|
|
30
|
+
// emits a "missing evidence" violation. The boolean `passed` is
|
|
31
|
+
// set to `true` so legacy consumers (which only check `passed`)
|
|
32
|
+
// treat skipped gates as satisfied; the new `status` field
|
|
33
|
+
// distinguishes the bypass from an actual pass.
|
|
34
|
+
const skippedGateNames = new Set();
|
|
35
|
+
if (options.sessionId !== undefined) {
|
|
36
|
+
const skipState = readSkipState(options.projectRoot, options.sessionId, options.rid);
|
|
37
|
+
if (skipState !== null) {
|
|
38
|
+
for (const gateName of skipState.skippedGates) {
|
|
39
|
+
if (gateName === 'QA' || gateName === 'qa-phase' || gateName === 'qa') {
|
|
40
|
+
for (const g of qaGates)
|
|
41
|
+
skippedGateNames.add(g.name);
|
|
42
|
+
}
|
|
43
|
+
else if (gateName === 'RD' || gateName === 'rd-phase' || gateName === 'rd') {
|
|
44
|
+
for (const g of rdGates)
|
|
45
|
+
skippedGateNames.add(g.name);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
skippedGateNames.add(gateName);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
nextActions.push(`Skipped gates (via peaks workflow skip): [${skipState.skippedGates.join(', ')}] — reason: ${skipState.skipReason}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function markIfSkipped(gate) {
|
|
55
|
+
if (skippedGateNames.has(gate.name)) {
|
|
56
|
+
gate.status = 'skipped';
|
|
57
|
+
gate.passed = true;
|
|
58
|
+
gate.detail = 'skipped via peaks workflow skip';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Resolve RD + QA on-disk locations via showRequestArtifact (the change-id
|
|
62
|
+
// is whatever dir the file actually lives in, not the caller's session-id).
|
|
63
|
+
const rdFile = await findRequestFile(options.projectRoot, 'rd', options.rid);
|
|
64
|
+
let rdInvoked = false;
|
|
65
|
+
let rdState = 'missing';
|
|
66
|
+
// The resolved change-id is the on-disk location the file actually
|
|
67
|
+
// lives in. The caller's `options.sessionId` is a hint used for
|
|
68
|
+
// path construction (nextActions strings), NOT for the resolved
|
|
69
|
+
// sessionId field — the on-disk location is the source of truth.
|
|
70
|
+
let resolvedChangeId = '';
|
|
71
|
+
if (rdFile) {
|
|
72
|
+
rdInvoked = true;
|
|
73
|
+
rdState = extractState(rdFile.content);
|
|
74
|
+
rdGates[0].passed = true;
|
|
75
|
+
rdGates[0].detail = `found at ${rdFile.path}`;
|
|
76
|
+
resolvedChangeId = rdFile.sessionId;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
violations.push('RD phase skipped: peaks-rd was never invoked for this request (no RD request artifact found)');
|
|
80
|
+
nextActions.push('Invoke Skill(skill="peaks-rd") with the request-id, then run unit tests + code review + security review');
|
|
81
|
+
rdGates[0].detail = 'not found';
|
|
82
|
+
}
|
|
83
|
+
// Check RD evidence files (under the change-id dir the RD request lives in).
|
|
84
|
+
// v2.17.0 hard-kill — change-id axis removed as filesystem scope. The
|
|
85
|
+
// canonical evidence location is now the session axis
|
|
86
|
+
// `.peaks/_runtime/<sessionId>/<role>/...` (where `<sessionId>` is the
|
|
87
|
+
// on-disk dir the request artifact lives in; for back-compat with the
|
|
88
|
+
// legacy `_runtime/<sessionId>/` and `.peaks/<sessionId>/` layouts the
|
|
89
|
+
// helper also probes those). When the legacy fallback fires, the gate
|
|
90
|
+
// detail / nextActions surface the `DEPRECATION_LEGACY_PATH_USED`
|
|
91
|
+
// warning so QA / TXT can nudge users to migrate via
|
|
92
|
+
// `peaks workspace migrate`.
|
|
93
|
+
// v2.18.1 bug #5 fix: when `resolvedChangeId` is empty (no RD/QA
|
|
94
|
+
// artifact on disk yet), the canonical session id from the
|
|
95
|
+
// binding-store is the preferred filesystem scope; falling through
|
|
96
|
+
// to `options.rid` would make every missing-evidence path look like
|
|
97
|
+
// a per-rid scope dir.
|
|
98
|
+
const rdEvidenceDir = resolvedChangeId || options.sessionId || getSessionIdCanonical(options.projectRoot) || options.rid;
|
|
99
|
+
const rdTracker = resolveRdEvidencePaths(rdGates, rdEvidenceDir, options.projectRoot, violations, nextActions, { anyEvidenceResolved: false, allResolvedPathsCanonical: true });
|
|
100
|
+
// Check if RD reached qa-handoff
|
|
101
|
+
if (rdInvoked && !RD_QA_HANDOFF_STATES.has(rdState)) {
|
|
102
|
+
violations.push(`RD not ready for QA: state is "${rdState}" — must reach "qa-handoff" (unit tests, karpathy-guidelines §1 Think / §2 Simplicity / §3 Surgical / §4 Goal-Driven, code review, security review complete)`);
|
|
103
|
+
nextActions.push(`Complete RD gates → peaks request transition ${options.rid} --role rd --state qa-handoff`);
|
|
104
|
+
}
|
|
105
|
+
// Check QA phase
|
|
106
|
+
const qaFile = await findRequestFile(options.projectRoot, 'qa', options.rid);
|
|
107
|
+
let qaInvoked = false;
|
|
108
|
+
let qaState = 'missing';
|
|
109
|
+
if (qaFile) {
|
|
110
|
+
qaInvoked = true;
|
|
111
|
+
qaState = extractState(qaFile.content);
|
|
112
|
+
qaGates[0].passed = true;
|
|
113
|
+
qaGates[0].detail = `found at ${qaFile.path}`;
|
|
114
|
+
resolvedChangeId = qaFile.sessionId || resolvedChangeId;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
violations.push('QA phase skipped: peaks-qa was never invoked for this request (no QA request artifact found)');
|
|
118
|
+
nextActions.push('Invoke Skill(skill="peaks-qa") with the request-id for functional/performance/security testing');
|
|
119
|
+
qaGates[0].detail = 'not found';
|
|
120
|
+
}
|
|
121
|
+
// Check QA evidence files.
|
|
122
|
+
// v2.18.1 bug #5 fix: when no RD/QA artifact is on disk yet
|
|
123
|
+
// (resolvedChangeId is empty), fall back to the current session id
|
|
124
|
+
// from the binding-store instead of `rdEvidenceDir` (= the rid). The
|
|
125
|
+
// session axis `.peaks/_runtime/<sessionId>/qa/...` is the canonical
|
|
126
|
+
// v2.17.0 home; the legacy `_runtime/change/<sessionId>/qa/...` probe
|
|
127
|
+
// should only fire for pre-v2.17.0 workspaces, not as a default for
|
|
128
|
+
// new requests.
|
|
129
|
+
const changeIdForResolver = resolvedChangeId || getSessionIdCanonical(options.projectRoot) || rdEvidenceDir;
|
|
130
|
+
const qaTracker = resolveQaEvidencePaths(qaGates, options.projectRoot, rdEvidenceDir, changeIdForResolver, options.rid, violations, nextActions, rdTracker);
|
|
131
|
+
const anyEvidenceResolved = qaTracker.anyEvidenceResolved;
|
|
132
|
+
const allResolvedPathsCanonical = qaTracker.allResolvedPathsCanonical;
|
|
133
|
+
// Check if QA reached verdict-issued
|
|
134
|
+
if (qaInvoked && !QA_COMPLETE_STATES.has(qaState)) {
|
|
135
|
+
violations.push(`QA not complete: state is "${qaState}" — must reach "verdict-issued" (functional + performance + security checks done)`);
|
|
136
|
+
nextActions.push(`Complete QA gates → peaks request transition ${options.rid} --role qa --state verdict-issued`);
|
|
137
|
+
}
|
|
138
|
+
// RD invoked without QA — check is moved to AFTER markIfSkipped
|
|
139
|
+
// (slice 2026-06-13-peaks-workflow-skip) because the gate.status
|
|
140
|
+
// values are only final after the post-process pass. We track the
|
|
141
|
+
// decision with a placeholder here and resolve it below.
|
|
142
|
+
const rdInvokedWithoutQaRaw = rdInvoked && !qaInvoked;
|
|
143
|
+
// Slice 2026-06-13-peaks-workflow-skip: post-process. For any gate
|
|
144
|
+
// the user marked as skipped, override the evaluation result. The
|
|
145
|
+
// boolean `passed` is set to true so the gate counts as satisfied;
|
|
146
|
+
// the new `status: 'skipped'` field signals the bypass to
|
|
147
|
+
// downstream consumers. Violations and nextActions pushed for
|
|
148
|
+
// skipped gates are filtered out (the user explicitly chose to
|
|
149
|
+
// skip — the missing-evidence message is no longer actionable).
|
|
150
|
+
for (const gate of [...rdGates, ...qaGates]) {
|
|
151
|
+
if (skippedGateNames.has(gate.name)) {
|
|
152
|
+
markIfSkipped(gate);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (skippedGateNames.size > 0) {
|
|
156
|
+
const skippedViolations = new Set();
|
|
157
|
+
for (const gate of [...rdGates, ...qaGates]) {
|
|
158
|
+
if (gate.status === 'skipped') {
|
|
159
|
+
skippedViolations.add(`RD evidence missing: ${gate.description}`);
|
|
160
|
+
skippedViolations.add(`QA evidence missing: ${gate.description}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
for (let i = violations.length - 1; i >= 0; i -= 1) {
|
|
164
|
+
const v = violations[i];
|
|
165
|
+
for (const sv of skippedViolations) {
|
|
166
|
+
if (v.startsWith(sv)) {
|
|
167
|
+
violations.splice(i, 1);
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// Resolve the "RD invoked without QA" check now that markIfSkipped
|
|
174
|
+
// has run. The check is suppressed when every QA gate is skipped
|
|
175
|
+
// (slice 2026-06-13-peaks-workflow-skip: the user explicitly chose
|
|
176
|
+
// to skip the QA phase).
|
|
177
|
+
if (rdInvokedWithoutQaRaw) {
|
|
178
|
+
const allQaSkipped = qaGates.every((g) => g.status === 'skipped');
|
|
179
|
+
if (!allQaSkipped) {
|
|
180
|
+
violations.push('CRITICAL: peaks-rd was invoked but peaks-qa was NOT — QA functional/performance/security testing is mandatory after all RD work');
|
|
181
|
+
nextActions.push('MUST invoke Skill(skill="peaks-qa") before declaring workflow complete');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
// Slice 002 (v2.15.0) AC-3 — Gate H "feedback-promotion". Scans
|
|
185
|
+
// `.peaks/memory/*.md` for `metadata.type === 'feedback'` entries
|
|
186
|
+
// without a promotion marker (HTML comment or `.promotion.json`
|
|
187
|
+
// sidecar). When any unpromoted feedback is found, the gate fails
|
|
188
|
+
// and the pipeline does not complete until the user promotes via
|
|
189
|
+
// `peaks feedback promote <memory-file> --layer <A|B|C>`.
|
|
190
|
+
//
|
|
191
|
+
// The scan is intentionally non-throwing — a missing or unreadable
|
|
192
|
+
// memory dir is treated as "no feedback found, gate passes" so
|
|
193
|
+
// empty projects / pre-feedback-epoch projects don't false-positive.
|
|
194
|
+
const feedbackGates = [
|
|
195
|
+
{
|
|
196
|
+
name: 'feedback-promotion',
|
|
197
|
+
description: 'Every feedback memory is promoted to at least one enforcement layer (sop / hooks / hard-floor)',
|
|
198
|
+
passed: false,
|
|
199
|
+
detail: ''
|
|
200
|
+
}
|
|
201
|
+
];
|
|
202
|
+
try {
|
|
203
|
+
const unpromoted = listUnpromotedFeedback({ projectRoot: options.projectRoot });
|
|
204
|
+
if (unpromoted.length === 0) {
|
|
205
|
+
feedbackGates[0].passed = true;
|
|
206
|
+
feedbackGates[0].detail = `0 unpromoted feedback memories in .peaks/memory/`;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
feedbackGates[0].detail = `${unpromoted.length} unpromoted feedback memor${unpromoted.length === 1 ? 'y' : 'ies'}: ${unpromoted.map((u) => u.name).join(', ')}`;
|
|
210
|
+
violations.push(`Gate H feedback-promotion FAILED: ${unpromoted.length} feedback memor${unpromoted.length === 1 ? 'y is' : 'ies are'} not yet promoted to an enforcement layer (${unpromoted.map((u) => u.name).join(', ')}). Run \`peaks feedback promote <memory-file> --layer <A|B|C>\` for each. See sops/feedback-promotion-sop.md.`);
|
|
211
|
+
nextActions.push(`Run \`peaks feedback promote <memory-file> --layer <A|B|C>\` for each unpromoted feedback memory to satisfy Gate H.`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
// listUnpromotedFeedback swallows IO errors internally; the
|
|
216
|
+
// outer catch is a belt-and-braces guard for unexpected
|
|
217
|
+
// failures (e.g. permission denied). Treat as "no feedback" —
|
|
218
|
+
// fail-open on gate infrastructure rather than blocking ship.
|
|
219
|
+
feedbackGates[0].passed = true;
|
|
220
|
+
feedbackGates[0].detail = 'feedback-promotion scan skipped (memory dir unreadable; treating as no feedback)';
|
|
221
|
+
}
|
|
222
|
+
const allFeedbackGatesPassed = feedbackGates.every((g) => g.passed);
|
|
223
|
+
const allRdGatesPassed = rdGates.every((g) => g.passed);
|
|
224
|
+
const allQaGatesPassed = qaGates.every((g) => g.passed);
|
|
225
|
+
const complete = rdInvoked && qaInvoked && allRdGatesPassed && allQaGatesPassed && allFeedbackGatesPassed
|
|
226
|
+
&& RD_QA_HANDOFF_STATES.has(rdState) && QA_COMPLETE_STATES.has(qaState);
|
|
227
|
+
// Slice 025 — derive the `acceptedForm` and `gateC` verdict. The form is
|
|
228
|
+
// 'suffixed' if both the security + perf gates passed via the new
|
|
229
|
+
// per-rid path; 'legacy' if either was consumed via the legacy fallback;
|
|
230
|
+
// 'none' if neither passed.
|
|
231
|
+
const secGate = qaGates.find((g) => g.name === 'security-findings');
|
|
232
|
+
const perfGate = qaGates.find((g) => g.name === 'performance-findings');
|
|
233
|
+
const secForm = secGate?.detail?.includes(`-${options.rid}.md`) ? 'suffixed' : 'legacy';
|
|
234
|
+
const perfForm = perfGate?.detail?.includes(`-${options.rid}.md`) ? 'suffixed' : 'legacy';
|
|
235
|
+
const acceptedForm = !secGate?.passed && !perfGate?.passed
|
|
236
|
+
? 'none'
|
|
237
|
+
: (secForm === 'suffixed' && perfForm === 'suffixed')
|
|
238
|
+
? 'suffixed'
|
|
239
|
+
: (secForm === 'legacy' || perfForm === 'legacy')
|
|
240
|
+
? 'legacy'
|
|
241
|
+
: 'suffixed';
|
|
242
|
+
const gateC = allQaGatesPassed ? 'pass' : 'fail';
|
|
243
|
+
const gateH = allFeedbackGatesPassed ? 'pass' : 'fail';
|
|
244
|
+
// Slice 2026-06-28-code-mode-bypass-fix (defect #3): `true` when
|
|
245
|
+
// every gate resolved on the canonical path; `false` when at least
|
|
246
|
+
// one fell back to a legacy form. QA / TXT surface the value so the
|
|
247
|
+
// user knows the legacy content must be moved into the canonical
|
|
248
|
+
// location (the legacy `peaks workspace migrate-change-scope` helper
|
|
249
|
+
// was removed in v2.19.0; use `peaks workspace migrate` to relocate
|
|
250
|
+
// misplaced content).
|
|
251
|
+
//
|
|
252
|
+
// If NO evidence file resolved (e.g. all gates missing), the field is
|
|
253
|
+
// `true` — there is nothing non-canonical to worry about. If every
|
|
254
|
+
// resolved gate was skipped via `peaks workflow skip`, the field is
|
|
255
|
+
// `true` — the user opted out of the canonical/legacy decision.
|
|
256
|
+
const allGatesSkipped = [...rdGates, ...qaGates].every((g) => g.status === 'skipped');
|
|
257
|
+
const usedCanonicalPath = !anyEvidenceResolved || allGatesSkipped || allResolvedPathsCanonical;
|
|
258
|
+
return {
|
|
259
|
+
rid: options.rid,
|
|
260
|
+
sessionId: resolvedChangeId,
|
|
261
|
+
requestType,
|
|
262
|
+
complete,
|
|
263
|
+
rdPhase: { invoked: rdInvoked, state: rdState, gates: rdGates },
|
|
264
|
+
qaPhase: { invoked: qaInvoked, state: qaState, gates: qaGates },
|
|
265
|
+
feedbackPhase: { gates: feedbackGates },
|
|
266
|
+
violations,
|
|
267
|
+
nextActions,
|
|
268
|
+
acceptedForm,
|
|
269
|
+
gateC,
|
|
270
|
+
gateH,
|
|
271
|
+
usedCanonicalPath
|
|
272
|
+
};
|
|
273
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-workflow — public type declarations for pipeline verification.
|
|
3
|
+
*
|
|
4
|
+
* Pure type module. No runtime helpers, no constants. The slimmed
|
|
5
|
+
* `pipeline-verify-service.ts` re-exports the types so existing
|
|
6
|
+
* import paths compile unchanged (rid-006 split).
|
|
7
|
+
*
|
|
8
|
+
* File budget: ≤ 400 lines (rid-006 split).
|
|
9
|
+
*/
|
|
10
|
+
import type { RequestType } from '../artifacts/artifact-prerequisites.js';
|
|
11
|
+
export type PipelineGate = {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
passed: boolean;
|
|
15
|
+
detail: string;
|
|
16
|
+
/**
|
|
17
|
+
* Slice 2026-06-13-peaks-workflow-skip: optional status that
|
|
18
|
+
* distinguishes a gate that was BYPASSED via `peaks workflow skip`
|
|
19
|
+
* from one that actually passed evaluation. When set, the gate
|
|
20
|
+
* was NOT evaluated by `evaluateGate` — the user/CLI explicitly
|
|
21
|
+
* marked it as skipped. The boolean `passed` is set to `true` so
|
|
22
|
+
* existing consumers (which only check `passed`) treat a skipped
|
|
23
|
+
* gate as "satisfied", but downstream consumers that need
|
|
24
|
+
* audit-grade distinction (e.g. CI badges, dashboards) can read
|
|
25
|
+
* `status` to tell pass / fail / skipped apart.
|
|
26
|
+
*
|
|
27
|
+
* - omitted (default): not set, gate was evaluated; treat as legacy.
|
|
28
|
+
* - 'pass': gate evaluated and passed.
|
|
29
|
+
* - 'fail': gate evaluated and failed.
|
|
30
|
+
* - 'skipped': gate was bypassed; never evaluated.
|
|
31
|
+
*/
|
|
32
|
+
status?: 'pass' | 'fail' | 'skipped';
|
|
33
|
+
};
|
|
34
|
+
export type PipelineVerification = {
|
|
35
|
+
rid: string;
|
|
36
|
+
sessionId: string;
|
|
37
|
+
requestType: RequestType;
|
|
38
|
+
complete: boolean;
|
|
39
|
+
rdPhase: {
|
|
40
|
+
invoked: boolean;
|
|
41
|
+
state: string;
|
|
42
|
+
gates: PipelineGate[];
|
|
43
|
+
};
|
|
44
|
+
qaPhase: {
|
|
45
|
+
invoked: boolean;
|
|
46
|
+
state: string;
|
|
47
|
+
gates: PipelineGate[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Slice 002 (v2.15.0) AC-3: Gate H "feedback-promotion". Always
|
|
51
|
+
* present (single-element array). Evaluates whether every
|
|
52
|
+
* `metadata.type === 'feedback'` memory in `.peaks/memory/`
|
|
53
|
+
* carries a promotion marker (comment OR sidecar). Failures
|
|
54
|
+
* block the `complete` verdict via the `gateH` field below; the
|
|
55
|
+
* pipeline only completes when every gate in this array passes.
|
|
56
|
+
*/
|
|
57
|
+
feedbackPhase?: {
|
|
58
|
+
gates: PipelineGate[];
|
|
59
|
+
};
|
|
60
|
+
violations: string[];
|
|
61
|
+
nextActions: string[];
|
|
62
|
+
/** Form of the security/performance findings artifacts Gate C accepted
|
|
63
|
+
* (slice 025). `'suffixed'` for the new per-rid form, `'legacy'` for the
|
|
64
|
+
* pre-slice-025 non-suffixed form, `'none'` when neither was found. */
|
|
65
|
+
acceptedForm?: 'suffixed' | 'legacy' | 'none';
|
|
66
|
+
/** `gateC` is the pre-computed verdict string (AC7 dogfood shape). */
|
|
67
|
+
gateC?: 'pass' | 'fail';
|
|
68
|
+
/**
|
|
69
|
+
* Slice 002 (v2.15.0) AC-3: Gate H verdict string. `'pass'` when
|
|
70
|
+
* all feedback memories are promoted; `'fail'` when at least one
|
|
71
|
+
* unpromoted feedback memory was found.
|
|
72
|
+
*/
|
|
73
|
+
gateH?: 'pass' | 'fail';
|
|
74
|
+
/**
|
|
75
|
+
* Slice 2026-06-28-code-mode-bypass-fix (defect #3): `true` when
|
|
76
|
+
* every evidence file resolved on the canonical path
|
|
77
|
+
* (`.peaks/_runtime/change/<sessionId>/...`). `false` when at least
|
|
78
|
+
* one evidence file resolved via a legacy fallback (`.peaks/<sessionId>/...`
|
|
79
|
+
* or `.peaks/_runtime/<sessionId>/...`). QA / TXT surface the value
|
|
80
|
+
* so users know to move misplaced evidence into the canonical
|
|
81
|
+
* location.
|
|
82
|
+
*
|
|
83
|
+
* Slice 2026-06-29-change-id-root-removal: the legacy
|
|
84
|
+
* `peaks workspace migrate-change-scope` migration tool is gone;
|
|
85
|
+
* users must now move misplaced content into the canonical
|
|
86
|
+
* `.peaks/_runtime/change/<sessionId>/<role>/` dir manually (or via
|
|
87
|
+
* `peaks workspace migrate`).
|
|
88
|
+
*/
|
|
89
|
+
usedCanonicalPath?: boolean;
|
|
90
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-workflow — public type declarations for pipeline verification.
|
|
3
|
+
*
|
|
4
|
+
* Pure type module. No runtime helpers, no constants. The slimmed
|
|
5
|
+
* `pipeline-verify-service.ts` re-exports the types so existing
|
|
6
|
+
* import paths compile unchanged (rid-006 split).
|
|
7
|
+
*
|
|
8
|
+
* File budget: ≤ 400 lines (rid-006 split).
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ResultEnvelope } from 'peaks-loop-shared/result';
|
|
2
|
+
export type PlanType = 'security' | 'perf';
|
|
3
|
+
/** Back-compat env-var. When set to "1", fall back to legacy paths. */
|
|
4
|
+
export declare const BACK_COMPAT_FLAG = "PEAKS_PLAN_LEGACY_FALLBACK";
|
|
5
|
+
/** F-1 (slice 025 security): canonical session-id shape. */
|
|
6
|
+
export declare const SESSION_ID_PATTERN: RegExp;
|
|
7
|
+
export interface ReadPlanArgs {
|
|
8
|
+
readonly type: PlanType;
|
|
9
|
+
readonly project: string;
|
|
10
|
+
readonly sessionId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ReadPlanData {
|
|
13
|
+
readonly type: PlanType;
|
|
14
|
+
readonly exists: boolean;
|
|
15
|
+
readonly path: string;
|
|
16
|
+
readonly hash: string | null;
|
|
17
|
+
readonly refreshedAt: string | null;
|
|
18
|
+
/** `'canonical' | 'legacy' | 'missing'` — surfaced to the slice workflow
|
|
19
|
+
* so it can warn the user about a back-compat fallback. */
|
|
20
|
+
readonly source: 'canonical' | 'legacy' | 'missing';
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Normalize a markdown body for hashing. Sections sorted, blank lines
|
|
24
|
+
* collapsed, leading/trailing whitespace stripped. Hash is sha256[0:12].
|
|
25
|
+
*/
|
|
26
|
+
export declare function normalizePlanBody(body: string): string;
|
|
27
|
+
/** Compute the deterministic plan hash on a normalized body. */
|
|
28
|
+
export declare function hashNormalizedBody(body: string): string;
|
|
29
|
+
export declare function readPlan(args: ReadPlanArgs): ResultEnvelope<ReadPlanData>;
|