peaks-loop 4.0.0-beta.8 → 4.0.0-beta.9
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 +45 -0
- package/bin/peaks.js +1 -1
- package/dist/cli/cli-helpers.d.ts +43 -0
- package/dist/cli/cli-helpers.js +86 -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/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/agent-commands.d.ts +20 -0
- package/dist/cli/commands/agent-commands.js +48 -0
- package/dist/cli/commands/asset-commands.d.ts +45 -0
- package/dist/cli/commands/asset-commands.js +404 -0
- package/dist/cli/commands/audit-commands.d.ts +28 -0
- package/dist/cli/commands/audit-commands.js +437 -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 +10 -0
- package/dist/cli/commands/classify-classify-commands.d.ts +19 -0
- package/dist/cli/commands/classify-classify-commands.js +151 -0
- package/dist/cli/commands/code-commands.d.ts +80 -0
- package/dist/cli/commands/code-commands.js +798 -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/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 +252 -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 +220 -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 +254 -0
- package/dist/cli/commands/contract-commands.d.ts +26 -0
- package/dist/cli/commands/contract-commands.js +114 -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 +204 -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 +241 -0
- package/dist/cli/commands/core/skill-command.d.ts +3 -0
- package/dist/cli/commands/core/skill-command.js +300 -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/dispatch-commands.d.ts +10 -0
- package/dist/cli/commands/dispatch-commands.js +351 -0
- package/dist/cli/commands/dispatch-from-dag.d.ts +3 -0
- package/dist/cli/commands/dispatch-from-dag.js +251 -0
- package/dist/cli/commands/doc-commands.d.ts +11 -0
- package/dist/cli/commands/doc-commands.js +65 -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 +117 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +3 -0
- package/dist/cli/commands/heartbeat-commands.js +135 -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 +156 -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 +289 -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 +239 -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 +237 -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 +141 -0
- package/dist/cli/commands/preferences-commands.d.ts +2 -0
- package/dist/cli/commands/preferences-commands.js +197 -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 +271 -0
- package/dist/cli/commands/release-commands.d.ts +24 -0
- package/dist/cli/commands/release-commands.js +231 -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.d.ts +52 -0
- package/dist/cli/commands/runtime-commands.js +150 -0
- package/dist/cli/commands/sc-commands.d.ts +3 -0
- package/dist/cli/commands/sc-commands.js +45 -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 +649 -0
- package/dist/cli/commands/session-auto-compact-hook-command.d.ts +37 -0
- package/dist/cli/commands/session-auto-compact-hook-command.js +127 -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 +17 -0
- package/dist/cli/commands/share-commands.js +296 -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 +68 -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/statusline-commands.d.ts +3 -0
- package/dist/cli/commands/statusline-commands.js +169 -0
- package/dist/cli/commands/sub-agent-commands.d.ts +22 -0
- package/dist/cli/commands/sub-agent-commands.js +19 -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 +99 -0
- package/dist/cli/commands/sub-agent-shared.js +67 -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 +23 -0
- package/dist/cli/commands/upgrade-commands.js +119 -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/worker-commands.d.ts +3 -0
- package/dist/cli/commands/worker-commands.js +52 -0
- package/dist/cli/commands/workflow-commands.d.ts +3 -0
- package/dist/cli/commands/workflow-commands.js +544 -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/index.d.ts +1 -0
- package/dist/cli/index.js +30 -0
- package/dist/cli/program.d.ts +5 -0
- package/dist/cli/program.js +408 -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/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/agent/ecc-agent-service.d.ts +47 -0
- package/dist/services/agent/ecc-agent-service.js +143 -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-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-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-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 +21 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +229 -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 +60 -0
- package/dist/services/audit/static-service.js +130 -0
- package/dist/services/audit/types.d.ts +86 -0
- package/dist/services/audit/types.js +13 -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/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-orchestrator.d.ts +98 -0
- package/dist/services/code/auto-compact-orchestrator.js +343 -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 +128 -0
- package/dist/services/code/dag-orchestrator.js +304 -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 +34 -0
- package/dist/services/code/status-line-renderer.js +55 -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 +369 -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/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 +69 -0
- package/dist/services/config/config-service.js +814 -0
- package/dist/services/config/config-types.d.ts +119 -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/provider-service.d.ts +48 -0
- package/dist/services/config/provider-service.js +143 -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/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 +37 -0
- package/dist/services/context/auto-compact-dispatcher.js +240 -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 +143 -0
- package/dist/services/context/auto-compact-types.js +36 -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/dispatch-context-guard.d.ts +27 -0
- package/dist/services/context/dispatch-context-guard.js +192 -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/index.d.ts +7 -0
- package/dist/services/context/index.js +6 -0
- package/dist/services/context/main-session-monitor.d.ts +89 -0
- package/dist/services/context/main-session-monitor.js +142 -0
- package/dist/services/context/renderer.d.ts +20 -0
- package/dist/services/context/renderer.js +30 -0
- package/dist/services/context/shared-channel.d.ts +93 -0
- package/dist/services/context/shared-channel.js +308 -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 +239 -0
- package/dist/services/crystallization/crystallization-service.js +397 -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/dashboard/project-dashboard-service.d.ts +91 -0
- package/dist/services/dashboard/project-dashboard-service.js +147 -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 +138 -0
- package/dist/services/dispatch/dispatch-record-writer.js +460 -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 +81 -0
- package/dist/services/dispatch/slice-dag.js +238 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +239 -0
- package/dist/services/dispatch/sub-agent-dispatcher.js +382 -0
- package/dist/services/dispatch/test-tool-detection.d.ts +36 -0
- package/dist/services/dispatch/test-tool-detection.js +46 -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.d.ts +149 -0
- package/dist/services/doctor/doctor-service.js +929 -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/filesystem/file-lock.d.ts +11 -0
- package/dist/services/filesystem/file-lock.js +152 -0
- package/dist/services/final-review/final-review-service.d.ts +12 -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/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 +104 -0
- package/dist/services/hooks/auto-compact-hook-install.js +157 -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/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/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 +63 -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-resource-snapshot.d.ts +7 -0
- package/dist/services/job/job-resource-snapshot.js +75 -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/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 +34 -0
- package/dist/services/log/retention.js +78 -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 +58 -0
- package/dist/services/loop/monotonic-runner.js +231 -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.d.ts +167 -0
- package/dist/services/memory/project-memory-service.js +817 -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/mut/assert-scanner.d.ts +6 -0
- package/dist/services/mut/assert-scanner.js +116 -0
- package/dist/services/mut/index.d.ts +8 -0
- package/dist/services/mut/index.js +7 -0
- package/dist/services/mut/mut-runner.d.ts +39 -0
- package/dist/services/mut/mut-runner.js +29 -0
- package/dist/services/mut/production-stryker.d.ts +2 -0
- package/dist/services/mut/production-stryker.js +75 -0
- package/dist/services/mut/report-builder.d.ts +11 -0
- package/dist/services/mut/report-builder.js +110 -0
- package/dist/services/mut/report-loader.d.ts +31 -0
- package/dist/services/mut/report-loader.js +78 -0
- package/dist/services/mut/thresholds.d.ts +21 -0
- package/dist/services/mut/thresholds.js +22 -0
- package/dist/services/mut/types.d.ts +336 -0
- package/dist/services/mut/types.js +59 -0
- package/dist/services/observability/aggregation.d.ts +64 -0
- package/dist/services/observability/aggregation.js +217 -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 +95 -0
- package/dist/services/observability/observability-service.js +119 -0
- package/dist/services/observability/report-formatter.d.ts +42 -0
- package/dist/services/observability/report-formatter.js +156 -0
- package/dist/services/openspec/openspec-archive-service.d.ts +12 -0
- package/dist/services/openspec/openspec-archive-service.js +28 -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 +130 -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 +77 -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 +198 -0
- package/dist/services/preferences/preferences-types.d.ts +148 -0
- package/dist/services/preferences/preferences-types.js +53 -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/providers/minimax-provider-service.d.ts +24 -0
- package/dist/services/providers/minimax-provider-service.js +143 -0
- package/dist/services/providers/minimax-worker-service.d.ts +21 -0
- package/dist/services/providers/minimax-worker-service.js +83 -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/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 +441 -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/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 +140 -0
- package/dist/services/recommendations/capability-seed-mappings.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-mappings.js +54 -0
- package/dist/services/recommendations/capability-seed-sources.d.ts +2 -0
- package/dist/services/recommendations/capability-seed-sources.js +35 -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/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 +88 -0
- package/dist/services/skill/skill-search-service.js +228 -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 +137 -0
- package/dist/services/skills/hooks-settings-service.js +396 -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 +17 -0
- package/dist/services/skills/skill-registry.js +67 -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/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 +81 -0
- package/dist/services/standards/missing-standards-detector.js +139 -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-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 +403 -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/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-service.d.ts +90 -0
- package/dist/services/workflow/pipeline-verify-service.js +449 -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 +100 -0
- package/dist/services/workflow/workflow-autonomous-service.js +306 -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 +233 -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.d.ts +116 -0
- package/dist/services/workflow/workflow-spec.js +431 -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/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/fs.d.ts +4 -0
- package/dist/shared/fs.js +26 -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/paths.d.ts +6 -0
- package/dist/shared/paths.js +50 -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/result.d.ts +22 -0
- package/dist/shared/result.js +46 -0
- package/dist/shared/stale-policy.d.ts +67 -0
- package/dist/shared/stale-policy.js +85 -0
- package/dist/shared/version.d.ts +1 -0
- package/dist/shared/version.js +1 -0
- package/dist/skills/peaks-maker/index.d.ts +5 -0
- package/dist/skills/peaks-maker/index.js +32 -0
- package/package.json +5 -4
- package/scripts/copy-templates.mjs +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice 2026-06-24-efficiency-4p-bundle / G4 (P1.3) — karpathy-skip policy
|
|
3
|
+
* Slice v2.12.0 Group B (Tier 4) — collapse 5-way → 3-way fanout.
|
|
4
|
+
*
|
|
5
|
+
* Background — peaks-rd's "Parallel review fan-out" (SKILL.md §130) is
|
|
6
|
+
* a fanout triggered at the end of implementation. The shape changed
|
|
7
|
+
* across releases:
|
|
8
|
+
*
|
|
9
|
+
* v2.11.x (legacy, 5-way):
|
|
10
|
+
* 1. code-reviewer
|
|
11
|
+
* 2. security-reviewer
|
|
12
|
+
* 3. perf-baseline-reviewer
|
|
13
|
+
* 4. qa-test-cases-writer
|
|
14
|
+
* 5. karpathy-reviewer (the hard Karpathy-Gate)
|
|
15
|
+
*
|
|
16
|
+
* v2.12.0 (canonical, 3-way):
|
|
17
|
+
* 1. code-reviewer
|
|
18
|
+
* 2. qa-test-cases-writer
|
|
19
|
+
* 3. karpathy-reviewer (the hard Karpathy-Gate)
|
|
20
|
+
*
|
|
21
|
+
* The `security-reviewer` and `perf-baseline-reviewer` slots were
|
|
22
|
+
* moved out of the RD fanout into two new independent skills:
|
|
23
|
+
* - `peaks-security-audit` (skill id: peaks-security-audit)
|
|
24
|
+
* - `peaks-perf-audit` (skill id: peaks-perf-audit)
|
|
25
|
+
* Both are dispatched as pre-RD audit runs that consume the public
|
|
26
|
+
* PRD handoff + the project-scoped audit templates (slice v2.12.0
|
|
27
|
+
* Tier 1+2+3 = Group A).
|
|
28
|
+
*
|
|
29
|
+
* The dispatch policy here is the **canonical decision table** consumed
|
|
30
|
+
* by the LLM-side runner and pinned by tests:
|
|
31
|
+
* - `tests/unit/rd/karpathy-skip-on-config-docs-chore.test.ts`
|
|
32
|
+
* (5 → 3 element pinning)
|
|
33
|
+
* - `tests/unit/rd/deprecated-reviewer-back-compat.test.ts`
|
|
34
|
+
* (NEW in v2.12.0 — 8 cases; back-compat for the 2 removed slots)
|
|
35
|
+
*
|
|
36
|
+
* For `config | docs | chore` request types, the slice already skips
|
|
37
|
+
* the entire fanout (SKILL.md line 132 says "Config / docs / chore: no
|
|
38
|
+
* fan-out"). This helper makes the policy **explicit and testable**:
|
|
39
|
+
*
|
|
40
|
+
* - `shouldDispatchKarpathy(type)` returns `false` for
|
|
41
|
+
* `config | docs | chore`, `true` for the other types.
|
|
42
|
+
* - `reviewerListFor(type)` returns the 3-sub-agent list when the
|
|
43
|
+
* type triggers the fanout, otherwise returns the empty list.
|
|
44
|
+
*
|
|
45
|
+
* The 2 removed reviewers (`security-reviewer`, `perf-baseline-reviewer`)
|
|
46
|
+
* are exposed as `RD_DEPRECATED_REVIEWERS` for the 1-minor-release
|
|
47
|
+
* back-compat window. The `isDeprecatedReviewer(name)` predicate lets
|
|
48
|
+
* dispatchers (or legacy on-disk rd/{security-review,perf-baseline}.md
|
|
49
|
+
* readers) detect a removed slot and route to the new audit skill
|
|
50
|
+
* instead of failing the gate. See Tier 5 (`artifact-prerequisites.ts`)
|
|
51
|
+
* for the matching prereq-side back-compat (`mustContainAny` form).
|
|
52
|
+
*/
|
|
53
|
+
export declare const RD_REVIEW_REQUEST_TYPES: readonly ["feat", "bugfix", "refactor", "config", "docs", "chore"];
|
|
54
|
+
export type RdReviewRequestType = (typeof RD_REVIEW_REQUEST_TYPES)[number];
|
|
55
|
+
/**
|
|
56
|
+
* The 3-sub-agent fanout triggered at the end of RD implementation
|
|
57
|
+
* (v2.12.0). In v2.11.x this was a 5-element list; the
|
|
58
|
+
* `security-reviewer` and `perf-baseline-reviewer` slots moved to
|
|
59
|
+
* the standalone `peaks-security-audit` / `peaks-perf-audit` skills.
|
|
60
|
+
*/
|
|
61
|
+
export declare const RD_FANOUT_REVIEWERS: readonly ["code-reviewer", "qa-test-cases-writer", "karpathy-reviewer"];
|
|
62
|
+
export type RdFanoutReviewer = (typeof RD_FANOUT_REVIEWERS)[number];
|
|
63
|
+
/**
|
|
64
|
+
* Reviewer roles removed from the v2.11.x 5-way fanout. Exposed as a
|
|
65
|
+
* separate constant so:
|
|
66
|
+
* (a) back-compat code paths can detect a legacy dispatch record
|
|
67
|
+
* (e.g. `.peaks/_sub_agents/<sid>/dispatch/security-reviewer.json`)
|
|
68
|
+
* and route to the new audit skill instead of failing,
|
|
69
|
+
* (b) the 1-minor-release window (v2.12.0) preserves read access to
|
|
70
|
+
* `rd/{security-review,perf-baseline}.md` on disk; v2.13.0
|
|
71
|
+
* hard-deletes them.
|
|
72
|
+
*
|
|
73
|
+
* Use `isDeprecatedReviewer(name)` (not direct array membership) so
|
|
74
|
+
* future deprecations can use the same predicate without churn.
|
|
75
|
+
*/
|
|
76
|
+
export declare const RD_DEPRECATED_REVIEWERS: readonly ["security-reviewer", "perf-baseline-reviewer"];
|
|
77
|
+
export type RdDeprecatedReviewer = (typeof RD_DEPRECATED_REVIEWERS)[number];
|
|
78
|
+
/** Subset of request types that fire the 3-way fanout. */
|
|
79
|
+
export declare const RD_FANOUT_REQUEST_TYPES: readonly ["feat", "bugfix", "refactor"];
|
|
80
|
+
export type RdFanoutRequestType = (typeof RD_FANOUT_REQUEST_TYPES)[number];
|
|
81
|
+
/**
|
|
82
|
+
* True iff the karpathy-reviewer sub-agent should be dispatched for
|
|
83
|
+
* this request type. For `config | docs | chore` the entire 3-way
|
|
84
|
+
* fanout is skipped; karpathy is a no-op there.
|
|
85
|
+
*/
|
|
86
|
+
export declare function shouldDispatchKarpathy(type: RdReviewRequestType): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* True iff the request type triggers the 3-way review fanout.
|
|
89
|
+
*/
|
|
90
|
+
export declare function isFanoutTriggerType(type: RdReviewRequestType): type is RdFanoutRequestType;
|
|
91
|
+
/**
|
|
92
|
+
* Returns the ordered list of reviewer roles to dispatch for this
|
|
93
|
+
* request type. Empty list when the type does not trigger the
|
|
94
|
+
* fanout (config/docs/chore) — the karpathy-reviewer (and the rest
|
|
95
|
+
* of the 3-way fanout) is skipped.
|
|
96
|
+
*
|
|
97
|
+
* For `feat`, `bugfix`, and `refactor`: the 3 reviewers
|
|
98
|
+
* (code-reviewer, qa-test-cases-writer, karpathy-reviewer).
|
|
99
|
+
*
|
|
100
|
+
* The `security-reviewer` and `perf-baseline-reviewer` slots that
|
|
101
|
+
* used to live here (v2.11.x 5-way) are now independent audit
|
|
102
|
+
* skills — see `peaks-security-audit` / `peaks-perf-audit`. Their
|
|
103
|
+
* outputs land at `audit/security.md` / `audit/perf.md` (see
|
|
104
|
+
* `artifact-prerequisites.ts` `AUDIT_SECURITY` / `AUDIT_PERF`).
|
|
105
|
+
*/
|
|
106
|
+
export declare function reviewerListFor(type: RdReviewRequestType): readonly RdFanoutReviewer[];
|
|
107
|
+
/**
|
|
108
|
+
* Returns the karpathy-reviewer's slot index in the 3-way fanout
|
|
109
|
+
* (or -1 if it should be skipped for this type). Used by the
|
|
110
|
+
* dispatch record writer so the count of emitted dispatch records
|
|
111
|
+
* matches the policy: 3 for feat/bugfix/refactor, 0 for
|
|
112
|
+
* config/docs/chore.
|
|
113
|
+
*/
|
|
114
|
+
export declare function karpathySlotIndex(type: RdReviewRequestType): number;
|
|
115
|
+
/**
|
|
116
|
+
* True iff `name` is one of the reviewer roles removed in v2.12.0.
|
|
117
|
+
* Used by back-compat readers to detect legacy dispatch records or
|
|
118
|
+
* on-disk artifacts and route to the new audit skill instead of
|
|
119
|
+
* failing the gate. See `RD_DEPRECATED_REVIEWERS` for the canonical
|
|
120
|
+
* list.
|
|
121
|
+
*/
|
|
122
|
+
export declare function isDeprecatedReviewer(name: string): name is RdDeprecatedReviewer;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice 2026-06-24-efficiency-4p-bundle / G4 (P1.3) — karpathy-skip policy
|
|
3
|
+
* Slice v2.12.0 Group B (Tier 4) — collapse 5-way → 3-way fanout.
|
|
4
|
+
*
|
|
5
|
+
* Background — peaks-rd's "Parallel review fan-out" (SKILL.md §130) is
|
|
6
|
+
* a fanout triggered at the end of implementation. The shape changed
|
|
7
|
+
* across releases:
|
|
8
|
+
*
|
|
9
|
+
* v2.11.x (legacy, 5-way):
|
|
10
|
+
* 1. code-reviewer
|
|
11
|
+
* 2. security-reviewer
|
|
12
|
+
* 3. perf-baseline-reviewer
|
|
13
|
+
* 4. qa-test-cases-writer
|
|
14
|
+
* 5. karpathy-reviewer (the hard Karpathy-Gate)
|
|
15
|
+
*
|
|
16
|
+
* v2.12.0 (canonical, 3-way):
|
|
17
|
+
* 1. code-reviewer
|
|
18
|
+
* 2. qa-test-cases-writer
|
|
19
|
+
* 3. karpathy-reviewer (the hard Karpathy-Gate)
|
|
20
|
+
*
|
|
21
|
+
* The `security-reviewer` and `perf-baseline-reviewer` slots were
|
|
22
|
+
* moved out of the RD fanout into two new independent skills:
|
|
23
|
+
* - `peaks-security-audit` (skill id: peaks-security-audit)
|
|
24
|
+
* - `peaks-perf-audit` (skill id: peaks-perf-audit)
|
|
25
|
+
* Both are dispatched as pre-RD audit runs that consume the public
|
|
26
|
+
* PRD handoff + the project-scoped audit templates (slice v2.12.0
|
|
27
|
+
* Tier 1+2+3 = Group A).
|
|
28
|
+
*
|
|
29
|
+
* The dispatch policy here is the **canonical decision table** consumed
|
|
30
|
+
* by the LLM-side runner and pinned by tests:
|
|
31
|
+
* - `tests/unit/rd/karpathy-skip-on-config-docs-chore.test.ts`
|
|
32
|
+
* (5 → 3 element pinning)
|
|
33
|
+
* - `tests/unit/rd/deprecated-reviewer-back-compat.test.ts`
|
|
34
|
+
* (NEW in v2.12.0 — 8 cases; back-compat for the 2 removed slots)
|
|
35
|
+
*
|
|
36
|
+
* For `config | docs | chore` request types, the slice already skips
|
|
37
|
+
* the entire fanout (SKILL.md line 132 says "Config / docs / chore: no
|
|
38
|
+
* fan-out"). This helper makes the policy **explicit and testable**:
|
|
39
|
+
*
|
|
40
|
+
* - `shouldDispatchKarpathy(type)` returns `false` for
|
|
41
|
+
* `config | docs | chore`, `true` for the other types.
|
|
42
|
+
* - `reviewerListFor(type)` returns the 3-sub-agent list when the
|
|
43
|
+
* type triggers the fanout, otherwise returns the empty list.
|
|
44
|
+
*
|
|
45
|
+
* The 2 removed reviewers (`security-reviewer`, `perf-baseline-reviewer`)
|
|
46
|
+
* are exposed as `RD_DEPRECATED_REVIEWERS` for the 1-minor-release
|
|
47
|
+
* back-compat window. The `isDeprecatedReviewer(name)` predicate lets
|
|
48
|
+
* dispatchers (or legacy on-disk rd/{security-review,perf-baseline}.md
|
|
49
|
+
* readers) detect a removed slot and route to the new audit skill
|
|
50
|
+
* instead of failing the gate. See Tier 5 (`artifact-prerequisites.ts`)
|
|
51
|
+
* for the matching prereq-side back-compat (`mustContainAny` form).
|
|
52
|
+
*/
|
|
53
|
+
export const RD_REVIEW_REQUEST_TYPES = [
|
|
54
|
+
'feat',
|
|
55
|
+
'bugfix',
|
|
56
|
+
'refactor',
|
|
57
|
+
'config',
|
|
58
|
+
'docs',
|
|
59
|
+
'chore',
|
|
60
|
+
];
|
|
61
|
+
/**
|
|
62
|
+
* The 3-sub-agent fanout triggered at the end of RD implementation
|
|
63
|
+
* (v2.12.0). In v2.11.x this was a 5-element list; the
|
|
64
|
+
* `security-reviewer` and `perf-baseline-reviewer` slots moved to
|
|
65
|
+
* the standalone `peaks-security-audit` / `peaks-perf-audit` skills.
|
|
66
|
+
*/
|
|
67
|
+
export const RD_FANOUT_REVIEWERS = [
|
|
68
|
+
'code-reviewer',
|
|
69
|
+
'qa-test-cases-writer',
|
|
70
|
+
'karpathy-reviewer',
|
|
71
|
+
];
|
|
72
|
+
/**
|
|
73
|
+
* Reviewer roles removed from the v2.11.x 5-way fanout. Exposed as a
|
|
74
|
+
* separate constant so:
|
|
75
|
+
* (a) back-compat code paths can detect a legacy dispatch record
|
|
76
|
+
* (e.g. `.peaks/_sub_agents/<sid>/dispatch/security-reviewer.json`)
|
|
77
|
+
* and route to the new audit skill instead of failing,
|
|
78
|
+
* (b) the 1-minor-release window (v2.12.0) preserves read access to
|
|
79
|
+
* `rd/{security-review,perf-baseline}.md` on disk; v2.13.0
|
|
80
|
+
* hard-deletes them.
|
|
81
|
+
*
|
|
82
|
+
* Use `isDeprecatedReviewer(name)` (not direct array membership) so
|
|
83
|
+
* future deprecations can use the same predicate without churn.
|
|
84
|
+
*/
|
|
85
|
+
export const RD_DEPRECATED_REVIEWERS = [
|
|
86
|
+
'security-reviewer',
|
|
87
|
+
'perf-baseline-reviewer',
|
|
88
|
+
];
|
|
89
|
+
/** Subset of request types that fire the 3-way fanout. */
|
|
90
|
+
export const RD_FANOUT_REQUEST_TYPES = ['feat', 'bugfix', 'refactor'];
|
|
91
|
+
/**
|
|
92
|
+
* True iff the karpathy-reviewer sub-agent should be dispatched for
|
|
93
|
+
* this request type. For `config | docs | chore` the entire 3-way
|
|
94
|
+
* fanout is skipped; karpathy is a no-op there.
|
|
95
|
+
*/
|
|
96
|
+
export function shouldDispatchKarpathy(type) {
|
|
97
|
+
return isFanoutTriggerType(type);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* True iff the request type triggers the 3-way review fanout.
|
|
101
|
+
*/
|
|
102
|
+
export function isFanoutTriggerType(type) {
|
|
103
|
+
return (type === 'feat' || type === 'bugfix' || type === 'refactor');
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Returns the ordered list of reviewer roles to dispatch for this
|
|
107
|
+
* request type. Empty list when the type does not trigger the
|
|
108
|
+
* fanout (config/docs/chore) — the karpathy-reviewer (and the rest
|
|
109
|
+
* of the 3-way fanout) is skipped.
|
|
110
|
+
*
|
|
111
|
+
* For `feat`, `bugfix`, and `refactor`: the 3 reviewers
|
|
112
|
+
* (code-reviewer, qa-test-cases-writer, karpathy-reviewer).
|
|
113
|
+
*
|
|
114
|
+
* The `security-reviewer` and `perf-baseline-reviewer` slots that
|
|
115
|
+
* used to live here (v2.11.x 5-way) are now independent audit
|
|
116
|
+
* skills — see `peaks-security-audit` / `peaks-perf-audit`. Their
|
|
117
|
+
* outputs land at `audit/security.md` / `audit/perf.md` (see
|
|
118
|
+
* `artifact-prerequisites.ts` `AUDIT_SECURITY` / `AUDIT_PERF`).
|
|
119
|
+
*/
|
|
120
|
+
export function reviewerListFor(type) {
|
|
121
|
+
if (!isFanoutTriggerType(type)) {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
return RD_FANOUT_REVIEWERS;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Returns the karpathy-reviewer's slot index in the 3-way fanout
|
|
128
|
+
* (or -1 if it should be skipped for this type). Used by the
|
|
129
|
+
* dispatch record writer so the count of emitted dispatch records
|
|
130
|
+
* matches the policy: 3 for feat/bugfix/refactor, 0 for
|
|
131
|
+
* config/docs/chore.
|
|
132
|
+
*/
|
|
133
|
+
export function karpathySlotIndex(type) {
|
|
134
|
+
if (!shouldDispatchKarpathy(type)) {
|
|
135
|
+
return -1;
|
|
136
|
+
}
|
|
137
|
+
return RD_FANOUT_REVIEWERS.indexOf('karpathy-reviewer');
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* True iff `name` is one of the reviewer roles removed in v2.12.0.
|
|
141
|
+
* Used by back-compat readers to detect legacy dispatch records or
|
|
142
|
+
* on-disk artifacts and route to the new audit skill instead of
|
|
143
|
+
* failing the gate. See `RD_DEPRECATED_REVIEWERS` for the canonical
|
|
144
|
+
* list.
|
|
145
|
+
*/
|
|
146
|
+
export function isDeprecatedReviewer(name) {
|
|
147
|
+
return RD_DEPRECATED_REVIEWERS.includes(name);
|
|
148
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/** Stable exit code surfaced to the CLI when `--strict-standards` is set. */
|
|
2
|
+
export declare const EPEAKS_NO_STANDARDS: "EPEAKS_NO_STANDARDS";
|
|
3
|
+
/** Subdirectories of `<projectRoot>/.claude/rules/` that must be populated. */
|
|
4
|
+
export type RdStandardsSubdir = 'common' | 'typescript';
|
|
5
|
+
export declare const RD_STANDARDS_REQUIRED_SUBDIRS: ReadonlyArray<RdStandardsSubdir>;
|
|
6
|
+
/** The three gates the RD bootstrap inspects. */
|
|
7
|
+
export type RdStandardGateName = 'code-review' | 'security-review' | 'performance-review';
|
|
8
|
+
export type RdStandardGateStatus = 'ready' | 'skipped';
|
|
9
|
+
export type RdStandardGate = {
|
|
10
|
+
readonly name: RdStandardGateName;
|
|
11
|
+
readonly status: RdStandardGateStatus;
|
|
12
|
+
readonly reason: string | null;
|
|
13
|
+
};
|
|
14
|
+
export type DetectMissingProjectStandardsInput = {
|
|
15
|
+
readonly projectRoot: string;
|
|
16
|
+
};
|
|
17
|
+
export type DetectMissingProjectStandardsResult = {
|
|
18
|
+
readonly missing: boolean;
|
|
19
|
+
readonly path: string;
|
|
20
|
+
readonly missingSubdirs: ReadonlyArray<RdStandardsSubdir>;
|
|
21
|
+
readonly remediation: string;
|
|
22
|
+
};
|
|
23
|
+
export type RenderRdStandardsDiagnosticInput = {
|
|
24
|
+
readonly projectRoot: string;
|
|
25
|
+
readonly detection: DetectMissingProjectStandardsResult;
|
|
26
|
+
};
|
|
27
|
+
export type ResolveRdStartupStandardsCheckInput = {
|
|
28
|
+
readonly projectRoot: string;
|
|
29
|
+
readonly strict: boolean;
|
|
30
|
+
};
|
|
31
|
+
export type ResolveRdStartupStandardsCheckResult = {
|
|
32
|
+
readonly exitCode: 0 | 1;
|
|
33
|
+
readonly errorCode: typeof EPEAKS_NO_STANDARDS | null;
|
|
34
|
+
readonly diagnostic: string | null;
|
|
35
|
+
readonly gates: ReadonlyArray<RdStandardGate>;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Pure detection: scan `<projectRoot>/.claude/rules/{common,typescript}/`
|
|
39
|
+
* for at least one `.md` rule file per subdir. Empty subdirs and missing
|
|
40
|
+
* subdirs both count as "missing".
|
|
41
|
+
*
|
|
42
|
+
* Defensive: never throws. Missing projectRoot, permission errors, or a
|
|
43
|
+
* non-directory at the path all collapse to `{ missing: true }`. The caller
|
|
44
|
+
* (CLI bootstrap) is expected to surface the remediation; this function
|
|
45
|
+
* just reports the truth.
|
|
46
|
+
*/
|
|
47
|
+
export declare function detectMissingProjectStandards(input: DetectMissingProjectStandardsInput): DetectMissingProjectStandardsResult;
|
|
48
|
+
/**
|
|
49
|
+
* Render the human-readable diagnostic line that goes to stderr.
|
|
50
|
+
* The line is single-line + copy-pasteable so the model can echo it
|
|
51
|
+
* into a Bash command verbatim.
|
|
52
|
+
*/
|
|
53
|
+
export declare function renderRdStandardsDiagnostic(input: RenderRdStandardsDiagnosticInput): string;
|
|
54
|
+
/**
|
|
55
|
+
* Build the gate list for the JSON envelope returned by `peaks rd --json`.
|
|
56
|
+
* Mirrors the PRD's AC2 contract: when missing, each gate is
|
|
57
|
+
* `{ name, status: 'skipped', reason: 'no project-local standards' }`.
|
|
58
|
+
*/
|
|
59
|
+
export declare function buildRdStandardsGateList(input: {
|
|
60
|
+
readonly missing: boolean;
|
|
61
|
+
}): ReadonlyArray<RdStandardGate>;
|
|
62
|
+
/**
|
|
63
|
+
* Single entry point for the RD / QA / Code bootstrap. Returns the
|
|
64
|
+
* exit code + error code + diagnostic + gate list. The CLI wrapper is
|
|
65
|
+
* responsible for `process.stderr.write(diagnostic ?? '')` and
|
|
66
|
+
* `process.exit(result.exitCode)`.
|
|
67
|
+
*
|
|
68
|
+
* - `strict=true` + missing → exitCode 1, errorCode EPEAKS_NO_STANDARDS,
|
|
69
|
+
* diagnostic + skipped gates emitted.
|
|
70
|
+
* - `strict=false` + missing → exitCode 0, errorCode null,
|
|
71
|
+
* diagnostic + skipped gates emitted
|
|
72
|
+
* (warn-and-continue; PRD NG1).
|
|
73
|
+
* - strict any + present → exitCode 0, errorCode null,
|
|
74
|
+
* diagnostic null, gates ready.
|
|
75
|
+
*/
|
|
76
|
+
export declare function resolveRdStartupStandardsCheck(input: ResolveRdStartupStandardsCheckInput): ResolveRdStartupStandardsCheckResult;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice 2026-06-16-peaks-rd-no-gates — missing-project-standards diagnostic
|
|
3
|
+
* + JSON gate list shape for the RD bootstrap path.
|
|
4
|
+
*
|
|
5
|
+
* Background: when `peaks-rd` (or `peaks-qa` / `peaks-code`) starts in a
|
|
6
|
+
* project whose `.claude/rules/{common,typescript}/` is missing or empty,
|
|
7
|
+
* the existing code-review / security / performance gates were silently
|
|
8
|
+
* dropped. This module makes the missing-standards condition observable:
|
|
9
|
+
*
|
|
10
|
+
* G1 `detectMissingProjectStandards` + `renderRdStandardsDiagnostic`
|
|
11
|
+
* produce a clear stderr/JSON diagnostic with a copy-pasteable
|
|
12
|
+
* `peaks standards init --project <X> --apply` remediation hint.
|
|
13
|
+
* G2 `resolveRdStartupStandardsCheck({ strict: true })` returns an
|
|
14
|
+
* exitCode of 1 with errorCode `EPEAKS_NO_STANDARDS` when standards
|
|
15
|
+
* are missing. Default (`strict: false`) keeps the warn-and-continue
|
|
16
|
+
* behavior so existing users with empty rules don't break.
|
|
17
|
+
* G3 `buildRdStandardsGateList` returns the three gates each marked
|
|
18
|
+
* `{ status: 'skipped', reason: 'no project-local standards' }` when
|
|
19
|
+
* standards are missing. When present, gates are `{ status: 'ready' }`.
|
|
20
|
+
* G4 The remediation string is the exact copy-pasteable CLI invocation.
|
|
21
|
+
*
|
|
22
|
+
* This module is a pure-function helper. The `peaks rd` / `peaks qa` /
|
|
23
|
+
* `peaks code` runtime hooks call `resolveRdStartupStandardsCheck` at
|
|
24
|
+
* bootstrap and decide whether to write `process.stderr` + JSON envelope
|
|
25
|
+
* + exit. The bootstrap is intentionally side-effect-free here so unit
|
|
26
|
+
* tests can run it without spawning child processes.
|
|
27
|
+
*
|
|
28
|
+
* Cross-platform: `path` field is rendered verbatim from the caller's
|
|
29
|
+
* projectRoot string (we never normalize or rewrite the user's path —
|
|
30
|
+
* Windows users see their `C:\Users\foo` form; macOS / Linux users see
|
|
31
|
+
* their `/Users/foo` form). The remediation command always uses POSIX
|
|
32
|
+
* forward slashes since the CLI is invoked through a shell that
|
|
33
|
+
* double-normalizes on Windows (`peaks standards init --project C:/Users/...`).
|
|
34
|
+
*
|
|
35
|
+
* Out of scope (downstream slices):
|
|
36
|
+
* - audit-log emission for gate-skip events (see memory
|
|
37
|
+
* `peaks-ide-skill-ac-10-audit-log-writer-is-a-thin-helper-not-a-separate-cli-primitive`
|
|
38
|
+
* — the helper is intentionally not surfaced here).
|
|
39
|
+
* - one-time suppression marker (`peaks standards suppress --project <X>`
|
|
40
|
+
* or `.peaks/.no-standards`); tracked in PRD#004 R3 as a future slice.
|
|
41
|
+
*/
|
|
42
|
+
import { existsSync, readdirSync } from 'node:fs';
|
|
43
|
+
import { join } from 'node:path';
|
|
44
|
+
/** Stable exit code surfaced to the CLI when `--strict-standards` is set. */
|
|
45
|
+
export const EPEAKS_NO_STANDARDS = 'EPEAKS_NO_STANDARDS';
|
|
46
|
+
export const RD_STANDARDS_REQUIRED_SUBDIRS = ['common', 'typescript'];
|
|
47
|
+
/**
|
|
48
|
+
* Pure detection: scan `<projectRoot>/.claude/rules/{common,typescript}/`
|
|
49
|
+
* for at least one `.md` rule file per subdir. Empty subdirs and missing
|
|
50
|
+
* subdirs both count as "missing".
|
|
51
|
+
*
|
|
52
|
+
* Defensive: never throws. Missing projectRoot, permission errors, or a
|
|
53
|
+
* non-directory at the path all collapse to `{ missing: true }`. The caller
|
|
54
|
+
* (CLI bootstrap) is expected to surface the remediation; this function
|
|
55
|
+
* just reports the truth.
|
|
56
|
+
*/
|
|
57
|
+
export function detectMissingProjectStandards(input) {
|
|
58
|
+
const projectRoot = input.projectRoot;
|
|
59
|
+
const rulesPath = join(projectRoot, '.claude', 'rules');
|
|
60
|
+
const missingSubdirs = [];
|
|
61
|
+
if (!existsSync(rulesPath)) {
|
|
62
|
+
return {
|
|
63
|
+
missing: true,
|
|
64
|
+
path: rulesPath,
|
|
65
|
+
missingSubdirs: [...RD_STANDARDS_REQUIRED_SUBDIRS],
|
|
66
|
+
remediation: buildRemediationCommand(projectRoot)
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
for (const subdir of RD_STANDARDS_REQUIRED_SUBDIRS) {
|
|
70
|
+
if (!hasMdRules(join(rulesPath, subdir))) {
|
|
71
|
+
missingSubdirs.push(subdir);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
missing: missingSubdirs.length > 0,
|
|
76
|
+
path: rulesPath,
|
|
77
|
+
missingSubdirs,
|
|
78
|
+
remediation: buildRemediationCommand(projectRoot)
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Render the human-readable diagnostic line that goes to stderr.
|
|
83
|
+
* The line is single-line + copy-pasteable so the model can echo it
|
|
84
|
+
* into a Bash command verbatim.
|
|
85
|
+
*/
|
|
86
|
+
export function renderRdStandardsDiagnostic(input) {
|
|
87
|
+
const { projectRoot: _projectRoot, detection } = input;
|
|
88
|
+
const missingList = detection.missingSubdirs.length > 0 ? ` (missing: ${detection.missingSubdirs.join(', ')})` : '';
|
|
89
|
+
return [
|
|
90
|
+
`⚠ no project-local standards found at ${detection.path}${missingList}`,
|
|
91
|
+
`— run ${detection.remediation} to scaffold.`,
|
|
92
|
+
`Gates (code-review, security-review, performance-review) will be skipped.`
|
|
93
|
+
].join(' ');
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Build the gate list for the JSON envelope returned by `peaks rd --json`.
|
|
97
|
+
* Mirrors the PRD's AC2 contract: when missing, each gate is
|
|
98
|
+
* `{ name, status: 'skipped', reason: 'no project-local standards' }`.
|
|
99
|
+
*/
|
|
100
|
+
export function buildRdStandardsGateList(input) {
|
|
101
|
+
if (input.missing) {
|
|
102
|
+
return [
|
|
103
|
+
{ name: 'code-review', status: 'skipped', reason: 'no project-local standards' },
|
|
104
|
+
{ name: 'security-review', status: 'skipped', reason: 'no project-local standards' },
|
|
105
|
+
{ name: 'performance-review', status: 'skipped', reason: 'no project-local standards' }
|
|
106
|
+
];
|
|
107
|
+
}
|
|
108
|
+
return [
|
|
109
|
+
{ name: 'code-review', status: 'ready', reason: null },
|
|
110
|
+
{ name: 'security-review', status: 'ready', reason: null },
|
|
111
|
+
{ name: 'performance-review', status: 'ready', reason: null }
|
|
112
|
+
];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Single entry point for the RD / QA / Code bootstrap. Returns the
|
|
116
|
+
* exit code + error code + diagnostic + gate list. The CLI wrapper is
|
|
117
|
+
* responsible for `process.stderr.write(diagnostic ?? '')` and
|
|
118
|
+
* `process.exit(result.exitCode)`.
|
|
119
|
+
*
|
|
120
|
+
* - `strict=true` + missing → exitCode 1, errorCode EPEAKS_NO_STANDARDS,
|
|
121
|
+
* diagnostic + skipped gates emitted.
|
|
122
|
+
* - `strict=false` + missing → exitCode 0, errorCode null,
|
|
123
|
+
* diagnostic + skipped gates emitted
|
|
124
|
+
* (warn-and-continue; PRD NG1).
|
|
125
|
+
* - strict any + present → exitCode 0, errorCode null,
|
|
126
|
+
* diagnostic null, gates ready.
|
|
127
|
+
*/
|
|
128
|
+
export function resolveRdStartupStandardsCheck(input) {
|
|
129
|
+
const detection = detectMissingProjectStandards({ projectRoot: input.projectRoot });
|
|
130
|
+
if (!detection.missing) {
|
|
131
|
+
return {
|
|
132
|
+
exitCode: 0,
|
|
133
|
+
errorCode: null,
|
|
134
|
+
diagnostic: null,
|
|
135
|
+
gates: buildRdStandardsGateList({ missing: false })
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const diagnostic = renderRdStandardsDiagnostic({ projectRoot: input.projectRoot, detection });
|
|
139
|
+
const exitCode = input.strict ? 1 : 0;
|
|
140
|
+
return {
|
|
141
|
+
exitCode,
|
|
142
|
+
errorCode: input.strict ? EPEAKS_NO_STANDARDS : null,
|
|
143
|
+
diagnostic,
|
|
144
|
+
gates: buildRdStandardsGateList({ missing: true })
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
// --- internal helpers -------------------------------------------------------
|
|
148
|
+
function buildRemediationCommand(projectRoot) {
|
|
149
|
+
// The remediation command is always rendered with POSIX forward slashes
|
|
150
|
+
// because the CLI shell normalizes path separators on Windows anyway,
|
|
151
|
+
// and users on macOS / Linux will copy this verbatim.
|
|
152
|
+
const posix = projectRoot.split('\\').join('/');
|
|
153
|
+
return `peaks standards init --project ${posix} --apply`;
|
|
154
|
+
}
|
|
155
|
+
function hasMdRules(dirPath) {
|
|
156
|
+
try {
|
|
157
|
+
if (!existsSync(dirPath)) {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
const entries = readdirSync(dirPath);
|
|
161
|
+
return entries.some((entry) => entry.toLowerCase().endsWith('.md'));
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per spec §4.2 战略审计 — orchestrator.
|
|
3
|
+
* Pure pass-through to writeStrategy; this exists so the public rd-service
|
|
4
|
+
* entry point is a single function (consistent with tactical-stage).
|
|
5
|
+
*/
|
|
6
|
+
import { dirname } from 'node:path';
|
|
7
|
+
import { writeStrategy } from './strategy.js';
|
|
8
|
+
// H8 chain enforcement (R1-W2): register STRAT.sig by project dir so
|
|
9
|
+
// the tactical stage can verify its inputSig chains to a real STRAT upstream.
|
|
10
|
+
import { registerStratSig } from './tactical-stage.js';
|
|
11
|
+
export async function runStrategicStage(input) {
|
|
12
|
+
const result = await writeStrategy(input);
|
|
13
|
+
registerStratSig(dirname(input.out), result.sha256);
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type StrategyOutput } from './types.js';
|
|
2
|
+
export interface WriteStrategyInput {
|
|
3
|
+
readonly out: string;
|
|
4
|
+
readonly goal: string;
|
|
5
|
+
readonly rootCauseAnalysis: string;
|
|
6
|
+
readonly impactSurface: string[];
|
|
7
|
+
readonly designRationale: string;
|
|
8
|
+
readonly askUserQuestion?: {
|
|
9
|
+
readonly question: string;
|
|
10
|
+
readonly options: string[];
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare function writeStrategy(input: WriteStrategyInput): Promise<StrategyOutput>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per spec §4.2 战略审计 — strategy.md writer + STRAT.sig computation.
|
|
3
|
+
*
|
|
4
|
+
* Hard constraints:
|
|
5
|
+
* H8 (audit trail hashable): sig field embedded in strategy.md is the
|
|
6
|
+
* sha256 of all OTHER content (chicken-and-egg avoided).
|
|
7
|
+
*/
|
|
8
|
+
import { createHash } from 'node:crypto';
|
|
9
|
+
import { writeFile, rename, unlink } from 'node:fs/promises';
|
|
10
|
+
import { StrategyOutputSchema } from './types.js';
|
|
11
|
+
function sha256Of(content) {
|
|
12
|
+
const { sha256: _omit, ...rest } = content;
|
|
13
|
+
void _omit;
|
|
14
|
+
const canonical = JSON.stringify(rest, Object.keys(rest).sort());
|
|
15
|
+
return createHash('sha256').update(canonical).digest('hex');
|
|
16
|
+
}
|
|
17
|
+
export async function writeStrategy(input) {
|
|
18
|
+
const partial = {
|
|
19
|
+
version: '1.0',
|
|
20
|
+
sha256: '',
|
|
21
|
+
generatedAt: new Date().toISOString(),
|
|
22
|
+
goal: input.goal,
|
|
23
|
+
rootCauseAnalysis: input.rootCauseAnalysis,
|
|
24
|
+
impactSurface: input.impactSurface,
|
|
25
|
+
designRationale: input.designRationale,
|
|
26
|
+
...(input.askUserQuestion ? { askUserQuestion: input.askUserQuestion } : {}),
|
|
27
|
+
};
|
|
28
|
+
const sha256 = sha256Of(partial);
|
|
29
|
+
const final = { ...partial, sha256 };
|
|
30
|
+
StrategyOutputSchema.parse(final);
|
|
31
|
+
const body = [
|
|
32
|
+
`# Strategy`,
|
|
33
|
+
``,
|
|
34
|
+
`## Goal`,
|
|
35
|
+
input.goal,
|
|
36
|
+
``,
|
|
37
|
+
`## Root Cause Analysis`,
|
|
38
|
+
input.rootCauseAnalysis,
|
|
39
|
+
``,
|
|
40
|
+
`## Impact Surface`,
|
|
41
|
+
input.impactSurface.map((s) => `- ${s}`).join('\n'),
|
|
42
|
+
``,
|
|
43
|
+
`## Design Rationale`,
|
|
44
|
+
input.designRationale,
|
|
45
|
+
...(input.askUserQuestion ? [``, `## Decision Needed`, `**${input.askUserQuestion.question}**`, ...input.askUserQuestion.options.map((o) => `- ${o}`)] : []),
|
|
46
|
+
``,
|
|
47
|
+
`---`,
|
|
48
|
+
`STRAT.sig: ${sha256}`,
|
|
49
|
+
].join('\n');
|
|
50
|
+
const tmp = `${input.out}.tmp`;
|
|
51
|
+
try {
|
|
52
|
+
await writeFile(tmp, body, 'utf8');
|
|
53
|
+
await rename(tmp, input.out);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
await unlink(tmp).catch(() => undefined);
|
|
57
|
+
throw err;
|
|
58
|
+
}
|
|
59
|
+
return final;
|
|
60
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type AstGateContext } from './ast-gate.js';
|
|
2
|
+
import type { ImplOutput } from './types.js';
|
|
3
|
+
export declare const STRAT_SIG_REGISTRY: Map<string, string>;
|
|
4
|
+
export declare function registerStratSig(projectDir: string, sig: string): void;
|
|
5
|
+
export declare const STRAT_SIG_CHAIN_INVARIANT = "STRAT.sig chain broken";
|
|
6
|
+
export interface RunTacticalInput {
|
|
7
|
+
readonly project: string;
|
|
8
|
+
readonly changedFiles: ReadonlyArray<string>;
|
|
9
|
+
readonly inputSig: string;
|
|
10
|
+
readonly context: AstGateContext;
|
|
11
|
+
readonly out: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Run the tactical stage: AST gate → STRAT.sig chain check → TACT.sig write.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* **Call-order contract (H8 / load-bearing):** the caller MUST invoke
|
|
18
|
+
* `registerStratSig(projectDir, inputSig)` BEFORE calling `runTacticalStage`.
|
|
19
|
+
* The chain check runs AFTER the AST gate (intentionally — see inline comment
|
|
20
|
+
* below) and keys `STRAT_SIG_REGISTRY` by `dirname(input.out)`. If no STRAT.sig
|
|
21
|
+
* is registered for that key, this function throws
|
|
22
|
+
* `${STRAT_SIG_CHAIN_INVARIANT}: stratSig=<unregistered>`. The common
|
|
23
|
+
* production path is `runStrategicStage(...)` → `runTacticalStage(...)`;
|
|
24
|
+
* `runStrategicStage` calls `registerStratSig` internally.
|
|
25
|
+
*
|
|
26
|
+
* @param input - project, changed files, inputSig (must match registered
|
|
27
|
+
* STRAT.sig for `dirname(input.out)`), AST-gate context, output path.
|
|
28
|
+
* @returns `ImplOutput` written atomically to `input.out`.
|
|
29
|
+
* @throws When the AST gate fails (re-thrown from `runAstGate`).
|
|
30
|
+
* @throws When `inputSig` does not match the registered STRAT.sig for the
|
|
31
|
+
* project dir, or when no STRAT.sig is registered.
|
|
32
|
+
*/
|
|
33
|
+
export declare function runTacticalStage(input: RunTacticalInput): Promise<ImplOutput>;
|