peaks-loop 4.0.0-beta.9 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +910 -141
- package/README-en.md +26 -7
- package/README.md +75 -6
- package/agents/karpathy-reviewer.md +33 -0
- package/bin/peaks.js +0 -0
- package/dist/cli/cli-helpers.d.ts +31 -6
- package/dist/cli/cli-helpers.js +48 -25
- package/dist/cli/commands/_register.d.ts +3 -0
- package/dist/cli/commands/_register.js +139 -0
- package/dist/cli/commands/_super.d.ts +10 -0
- package/dist/cli/commands/_super.js +97 -0
- package/dist/cli/commands/adapter-commands-s2a.js +1 -1
- package/dist/cli/commands/asset-commands.js +33 -16
- package/dist/cli/commands/audit-commands.js +2 -2
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +12 -0
- package/dist/cli/commands/autonomous-swarm-commands.js +120 -0
- package/dist/cli/commands/bee-commands.js +1 -1
- package/dist/cli/commands/capability-commands.js +1 -1
- package/dist/cli/commands/capability-worker-config-sc-commands.js +0 -2
- package/dist/cli/commands/changeset-commands.d.ts +13 -0
- package/dist/cli/commands/changeset-commands.js +46 -0
- package/dist/cli/commands/code-commands.d.ts +11 -1
- package/dist/cli/commands/code-commands.js +19 -699
- package/dist/cli/commands/code-job-shape-commands.d.ts +9 -0
- package/dist/cli/commands/code-job-shape-commands.js +164 -0
- package/dist/cli/commands/code-mode-gate-commands.d.ts +9 -0
- package/dist/cli/commands/code-mode-gate-commands.js +223 -0
- package/dist/cli/commands/code-review-commands.js +2 -2
- package/dist/cli/commands/code-run-command.d.ts +12 -0
- package/dist/cli/commands/code-run-command.js +68 -0
- package/dist/cli/commands/code-runtime-commands.d.ts +11 -0
- package/dist/cli/commands/code-runtime-commands.js +391 -0
- package/dist/cli/commands/codegraph-commands.js +1 -1
- package/dist/cli/commands/compact-command.js +53 -1
- package/dist/cli/commands/complexity-commands.js +1 -1
- package/dist/cli/commands/config-commands.js +4 -75
- package/dist/cli/commands/container-commands.d.ts +28 -0
- package/dist/cli/commands/container-commands.js +221 -0
- package/dist/cli/commands/context-commands.js +3 -2
- package/dist/cli/commands/core/artifacts-command.js +1 -1
- package/dist/cli/commands/core/binding-commands.js +1 -1
- package/dist/cli/commands/core/doctor-command.js +63 -3
- package/dist/cli/commands/core/memory-command.js +1 -1
- package/dist/cli/commands/core/profile-command.js +1 -1
- package/dist/cli/commands/core/proxy-command.js +1 -1
- package/dist/cli/commands/core/session-command.js +9 -7
- package/dist/cli/commands/core/skill-command.js +7 -4
- package/dist/cli/commands/core/standards-command.js +1 -1
- package/dist/cli/commands/cron-commands.d.ts +57 -0
- package/dist/cli/commands/cron-commands.js +257 -0
- package/dist/cli/commands/cron-scheduler-commands.d.ts +47 -0
- package/dist/cli/commands/cron-scheduler-commands.js +284 -0
- package/dist/cli/commands/dashboard-commands.d.ts +4 -0
- package/dist/cli/commands/dashboard-commands.js +10 -0
- package/dist/cli/commands/dashboard-long-run.d.ts +25 -0
- package/dist/cli/commands/dashboard-long-run.js +122 -0
- package/dist/cli/commands/dashboard-summary.d.ts +12 -0
- package/dist/cli/commands/dashboard-summary.js +58 -0
- package/dist/cli/commands/dispatch-commands.d.ts +0 -7
- package/dist/cli/commands/dispatch-commands.js +372 -8
- package/dist/cli/commands/dispatch-from-dag.js +4 -1
- package/dist/cli/commands/doc-commands.js +1 -1
- package/dist/cli/commands/ecc-commands.d.ts +30 -0
- package/dist/cli/commands/ecc-commands.js +119 -0
- package/dist/cli/commands/evolution-commands.js +1 -1
- package/dist/cli/commands/feedback-commands.js +1 -1
- package/dist/cli/commands/final-review-commands.js +1 -1
- package/dist/cli/commands/fixture-commands.js +1 -1
- package/dist/cli/commands/fork-commands.js +1 -1
- package/dist/cli/commands/gate-commands.js +128 -6
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +21 -0
- package/dist/cli/commands/governance-classify-contract-commands.js +273 -0
- package/dist/cli/commands/heartbeat-commands.js +76 -5
- package/dist/cli/commands/heartbeat-watch-command.d.ts +31 -0
- package/dist/cli/commands/heartbeat-watch-command.js +146 -0
- package/dist/cli/commands/hook-handle.js +1 -1
- package/dist/cli/commands/hooks-commands.js +126 -10
- package/dist/cli/commands/ide-commands.js +1 -1
- package/dist/cli/commands/impact-commands.js +1 -1
- package/dist/cli/commands/job-commands.js +34 -1
- package/dist/cli/commands/lease-metrics-commands.d.ts +67 -0
- package/dist/cli/commands/lease-metrics-commands.js +231 -0
- package/dist/cli/commands/lease-stats-commands.d.ts +65 -0
- package/dist/cli/commands/lease-stats-commands.js +107 -0
- package/dist/cli/commands/legacy-commands.js +1 -1
- package/dist/cli/commands/log-commands.js +1 -1
- package/dist/cli/commands/loop-commands.js +1 -1
- package/dist/cli/commands/loop-eval-commands.js +1 -1
- package/dist/cli/commands/memory-commands.js +1 -1
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +1 -1
- package/dist/cli/commands/mut-commands.d.ts +1 -1
- package/dist/cli/commands/mut-commands.js +1 -5
- package/dist/cli/commands/observability-commands.js +1 -1
- package/dist/cli/commands/openspec-commands.js +65 -4
- package/dist/cli/commands/perf-audit-commands.js +3 -3
- package/dist/cli/commands/perf-commands.js +1 -1
- package/dist/cli/commands/polyrepo-commands.js +1 -1
- package/dist/cli/commands/prd-blocks-commands.js +1 -1
- package/dist/cli/commands/prd-commands.js +4 -2
- package/dist/cli/commands/preferences-commands.js +23 -3
- package/dist/cli/commands/project-commands.js +1 -1
- package/dist/cli/commands/qa-business-review-commands.js +1 -1
- package/dist/cli/commands/qa-commands.d.ts +1 -1
- package/dist/cli/commands/qa-commands.js +39 -3
- package/dist/cli/commands/release-commands.d.ts +15 -0
- package/dist/cli/commands/release-commands.js +113 -21
- package/dist/cli/commands/request-commands.js +1 -1
- package/dist/cli/commands/retrospective-commands.js +1 -1
- package/dist/cli/commands/reviewer-commands.js +1 -1
- package/dist/cli/commands/role-commands.js +1 -1
- package/dist/cli/commands/runtime-commands-helpers.d.ts +7 -0
- package/dist/cli/commands/runtime-commands-helpers.js +24 -0
- package/dist/cli/commands/runtime-commands.js +1 -2
- package/dist/cli/commands/sc-commands.js +4 -2
- package/dist/cli/commands/scan-commands.js +1 -1
- package/dist/cli/commands/security-audit-commands.js +3 -3
- package/dist/cli/commands/sediment-commands.js +10 -1
- package/dist/cli/commands/session-24h-mode.d.ts +26 -0
- package/dist/cli/commands/session-24h-mode.js +196 -0
- package/dist/cli/commands/share-commands.d.ts +19 -0
- package/dist/cli/commands/share-commands.js +121 -2
- package/dist/cli/commands/skill-conformance-commands.js +1 -1
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +1 -1
- package/dist/cli/commands/skill-search-commands.js +4 -1
- package/dist/cli/commands/slice-commands.js +1 -1
- package/dist/cli/commands/slice-integrate-commands.js +1 -1
- package/dist/cli/commands/slice-review-commands.js +1 -1
- package/dist/cli/commands/smoke-commands.js +1 -1
- package/dist/cli/commands/sop-commands.js +1 -1
- package/dist/cli/commands/spill-demo-command.d.ts +7 -0
- package/dist/cli/commands/spill-demo-command.js +29 -0
- package/dist/cli/commands/statusline-commands.d.ts +12 -0
- package/dist/cli/commands/statusline-commands.js +79 -17
- package/dist/cli/commands/sub-agent-commands.js +2 -1
- package/dist/cli/commands/sub-agent-shared.d.ts +10 -0
- package/dist/cli/commands/sub-agent-shared.js +24 -1
- package/dist/cli/commands/swarm-commands.d.ts +13 -0
- package/dist/cli/commands/swarm-commands.js +77 -0
- package/dist/cli/commands/tech-commands.d.ts +64 -0
- package/dist/cli/commands/tech-commands.js +195 -0
- package/dist/cli/commands/understand-commands.js +1 -1
- package/dist/cli/commands/upgrade-commands.d.ts +2 -0
- package/dist/cli/commands/upgrade-commands.js +40 -5
- package/dist/cli/commands/user-touchpoint-commands.js +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +1 -1
- package/dist/cli/commands/vm-commands.d.ts +31 -0
- package/dist/cli/commands/vm-commands.js +274 -0
- package/dist/cli/commands/workflow-commands.js +24 -1
- package/dist/cli/commands/workflow-plan-commands.js +1 -1
- package/dist/cli/commands/workspace/init-command.js +1 -1
- package/dist/cli/commands/workspace/migrate-command.js +1 -1
- package/dist/cli/commands/workspace/reconcile-command.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +29 -0
- package/dist/cli/commands/worktree-auth-commands.js +652 -0
- package/dist/cli/index.js +58 -13
- package/dist/cli/program.d.ts +2 -2
- package/dist/cli/program.js +86 -281
- package/dist/services/24h-mode/decider.d.ts +103 -0
- package/dist/services/24h-mode/decider.js +144 -0
- package/dist/services/24h-mode/index.d.ts +12 -0
- package/dist/services/24h-mode/index.js +12 -0
- package/dist/services/24h-mode/state.d.ts +48 -0
- package/dist/services/24h-mode/state.js +51 -0
- package/dist/services/24h-mode/store.d.ts +27 -0
- package/dist/services/24h-mode/store.js +119 -0
- package/dist/services/artifacts/artifact-prerequisites.js +1 -1
- package/dist/services/artifacts/request-artifact-service.js +1 -1
- package/dist/services/artifacts/workspace-service.js +1 -1
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +91 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +31 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.d.ts +23 -0
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +59 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.d.ts +28 -0
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +86 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.d.ts +16 -0
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +41 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +27 -0
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +47 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.d.ts +19 -0
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +47 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.d.ts +18 -0
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +70 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.d.ts +25 -0
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +53 -0
- package/dist/services/audit/red-line-catalog-p2-a.d.ts +0 -6
- package/dist/services/audit/red-line-catalog-p2-a.js +230 -1
- package/dist/services/audit/static-service.d.ts +32 -25
- package/dist/services/audit/static-service.js +30 -109
- package/dist/services/audit-independent/index.d.ts +2 -0
- package/dist/services/audit-independent/index.js +2 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +127 -0
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +446 -0
- package/dist/services/changeset/changeset-check-service.d.ts +22 -0
- package/dist/services/changeset/changeset-check-service.js +47 -0
- package/dist/services/code/auto-compact-modes.d.ts +30 -0
- package/dist/services/code/auto-compact-modes.js +38 -0
- package/dist/services/code/auto-compact-orchestrator.d.ts +43 -5
- package/dist/services/code/auto-compact-orchestrator.js +101 -21
- package/dist/services/code/dag-orchestrator.d.ts +30 -1
- package/dist/services/code/dag-orchestrator.js +106 -1
- package/dist/services/code/status-line-renderer.d.ts +2 -0
- package/dist/services/code/status-line-renderer.js +21 -3
- package/dist/services/code-review/ocr-service.d.ts +1 -1
- package/dist/services/code-review/ocr-service.js +6 -3
- package/dist/services/compact-history/compact-history-service.d.ts +41 -0
- package/dist/services/compact-history/compact-history-service.js +62 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +16 -0
- package/dist/services/compact-statusline/compact-statusline-service.js +83 -0
- package/dist/services/config/config-service.d.ts +1 -12
- package/dist/services/config/config-service.js +3 -72
- package/dist/services/config/config-types.d.ts +2 -4
- package/dist/services/config/config-types.js +1 -1
- package/dist/services/container/container-lease.d.ts +67 -0
- package/dist/services/container/container-lease.js +135 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +40 -5
- package/dist/services/context/auto-compact-dispatcher.js +32 -102
- package/dist/services/context/auto-compact-reader.js +1 -1
- package/dist/services/context/auto-compact-types.d.ts +27 -2
- package/dist/services/context/auto-compact-types.js +8 -1
- package/dist/services/context/build-dispatch-system-prompt.d.ts +75 -0
- package/dist/services/context/build-dispatch-system-prompt.js +117 -0
- package/dist/services/context/collector.d.ts +2 -2
- package/dist/services/context/context-builder.d.ts +4 -4
- package/dist/services/context/context-schema.d.ts +48 -48
- package/dist/services/context/ide-detect.d.ts +4 -0
- package/dist/services/context/ide-detect.js +24 -0
- package/dist/services/context/main-session-monitor.d.ts +1 -4
- package/dist/services/context/main-session-monitor.js +1 -24
- package/dist/services/context/memory-index-reader.d.ts +8 -0
- package/dist/services/context/memory-index-reader.js +57 -0
- package/dist/services/context/memory-lru-cache.d.ts +12 -0
- package/dist/services/context/memory-lru-cache.js +60 -0
- package/dist/services/context/memory-preflight-config.d.ts +19 -0
- package/dist/services/context/memory-preflight-config.js +25 -0
- package/dist/services/context/memory-preflight-service.d.ts +19 -0
- package/dist/services/context/memory-preflight-service.js +120 -0
- package/dist/services/context/spillover-store.d.ts +23 -0
- package/dist/services/context/spillover-store.js +155 -0
- package/dist/services/context/spillover-types.d.ts +18 -0
- package/dist/services/context/spillover-types.js +1 -0
- package/dist/services/crystallization/crystallization-service.d.ts +22 -5
- package/dist/services/crystallization/crystallization-service.js +8 -14
- package/dist/services/crystallization/crystallization-types.d.ts +6 -6
- package/dist/services/crystallization/evidence-brief-builder.d.ts +1 -1
- package/dist/services/crystallization/index.d.ts +13 -0
- package/dist/services/crystallization/index.js +13 -0
- package/dist/services/dashboard/project-dashboard-service.js +2 -2
- package/dist/services/dispatch/await-batch.d.ts +70 -0
- package/dist/services/dispatch/await-batch.js +272 -0
- package/dist/services/dispatch/batch-counter.js +1 -1
- package/dist/services/dispatch/dispatch-record-writer.d.ts +126 -4
- package/dist/services/dispatch/dispatch-record-writer.js +239 -9
- package/dist/services/dispatch/slice-dag.d.ts +46 -0
- package/dist/services/dispatch/slice-dag.js +6 -0
- package/dist/services/dispatch/stage-enum.d.ts +27 -0
- package/dist/services/dispatch/stage-enum.js +48 -0
- package/dist/services/dispatch/startup-timeout.d.ts +86 -0
- package/dist/services/dispatch/startup-timeout.js +97 -0
- package/dist/services/dispatch/sub-agent-dispatcher.js +40 -89
- package/dist/services/dispatch/test-tool-detection.d.ts +25 -1
- package/dist/services/dispatch/test-tool-detection.js +80 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.d.ts +18 -0
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +64 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +69 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.d.ts +32 -0
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +110 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.d.ts +24 -0
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +164 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +57 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +19 -0
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +66 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +33 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.d.ts +20 -0
- package/dist/services/doctor/doctor-service/checks/skill-apply-note.js +85 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/skill-existence.js +30 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-name-match.js +25 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.d.ts +10 -0
- package/dist/services/doctor/doctor-service/checks/skill-parse.js +19 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.d.ts +21 -0
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +75 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/skill-runbook.js +47 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.d.ts +14 -0
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +32 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.d.ts +13 -0
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +30 -0
- package/dist/services/doctor/doctor-service/checks/user-config.d.ts +11 -0
- package/dist/services/doctor/doctor-service/checks/user-config.js +27 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.d.ts +16 -0
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +34 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.d.ts +33 -0
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +180 -0
- package/dist/services/doctor/doctor-service/index.d.ts +48 -0
- package/dist/services/doctor/doctor-service/index.js +254 -0
- package/dist/services/doctor/doctor-service/plugin-registry.d.ts +41 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +77 -0
- package/dist/services/doctor/doctor-service/report/final-summary.d.ts +20 -0
- package/dist/services/doctor/doctor-service/report/final-summary.js +29 -0
- package/dist/services/doctor/doctor-service/types.d.ts +245 -0
- package/dist/services/doctor/doctor-service/types.js +15 -0
- package/dist/services/doctor/doctor-service.d.ts +15 -146
- package/dist/services/doctor/doctor-service.js +22 -926
- package/dist/services/doctor/index.d.ts +22 -0
- package/dist/services/doctor/index.js +22 -0
- package/dist/services/env/shell-probe.d.ts +71 -0
- package/dist/services/env/shell-probe.js +161 -0
- package/dist/services/evolution/evolution-types.d.ts +39 -39
- package/dist/services/final-review/final-review-service.d.ts +11 -1
- package/dist/services/final-review/index.d.ts +2 -0
- package/dist/services/final-review/index.js +1 -0
- package/dist/services/hooks/auto-compact-hook-install.d.ts +4 -5
- package/dist/services/hooks/auto-compact-hook-install.js +4 -5
- package/dist/services/hooks/worktree-authorization-gate.d.ts +205 -0
- package/dist/services/hooks/worktree-authorization-gate.js +492 -0
- package/dist/services/ide/adapters/claude-code-adapter.js +2 -2
- package/dist/services/ide/adapters/qoder-adapter.d.ts +25 -0
- package/dist/services/ide/adapters/qoder-adapter.js +57 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +16 -0
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +45 -0
- package/dist/services/ide/ide-registry.js +6 -0
- package/dist/services/ide/ide-types.d.ts +1 -1
- package/dist/services/job/job-types.d.ts +56 -56
- package/dist/services/job-snapshot/index.d.ts +8 -0
- package/dist/services/job-snapshot/index.js +7 -0
- package/dist/services/{job/job-resource-snapshot.d.ts → job-snapshot/snapshot.d.ts} +1 -1
- package/dist/services/job-snapshot/types.d.ts +7 -0
- package/dist/services/job-snapshot/types.js +1 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.d.ts +67 -0
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +108 -0
- package/dist/services/log/retention.d.ts +16 -0
- package/dist/services/log/retention.js +17 -0
- package/dist/services/loop/loop-bee-relation-types.d.ts +6 -6
- package/dist/services/loop/loop-release-types.d.ts +24 -24
- package/dist/services/loop/monotonic-runner.d.ts +17 -11
- package/dist/services/loop/monotonic-runner.js +118 -79
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +8 -0
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +253 -0
- package/dist/services/memory/project-memory-service/index/ranking.d.ts +6 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +171 -0
- package/dist/services/memory/project-memory-service/index/search.d.ts +34 -0
- package/dist/services/memory/project-memory-service/index/search.js +194 -0
- package/dist/services/memory/project-memory-service/index.d.ts +9 -0
- package/dist/services/memory/project-memory-service/index.js +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +9 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +106 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.d.ts +7 -0
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +96 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +5 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +56 -0
- package/dist/services/memory/project-memory-service/store/paths.d.ts +8 -0
- package/dist/services/memory/project-memory-service/store/paths.js +116 -0
- package/dist/services/memory/project-memory-service/types.d.ts +128 -0
- package/dist/services/memory/project-memory-service/types.js +9 -0
- package/dist/services/memory/project-memory-service.d.ts +1 -167
- package/dist/services/memory/project-memory-service.js +19 -816
- package/dist/services/migrate-skill-name/schema.d.ts +2 -2
- package/dist/services/observability/aggregation.d.ts +27 -0
- package/dist/services/observability/aggregation.js +72 -0
- package/dist/services/observability/observability-service.d.ts +73 -7
- package/dist/services/observability/observability-service.js +87 -1
- package/dist/services/openspec/artifact-boundary.d.ts +138 -0
- package/dist/services/openspec/artifact-boundary.js +150 -0
- package/dist/services/openspec/coverage-evidence-reader.d.ts +191 -0
- package/dist/services/openspec/coverage-evidence-reader.js +386 -0
- package/dist/services/openspec/openspec-archive-service.d.ts +70 -0
- package/dist/services/openspec/openspec-archive-service.js +320 -8
- package/dist/services/openspec/openspec-bridge-service.js +1 -1
- package/dist/services/openspec/openspec-init-service.js +1 -1
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
- package/dist/services/openspec/openspec-render-service.js +7 -4
- package/dist/services/openspec/openspec-scan-service.js +1 -1
- package/dist/services/openspec/openspec-validate-service.js +5 -4
- package/dist/services/preferences/preferences-service.js +10 -0
- package/dist/services/preferences/preferences-types.d.ts +13 -0
- package/dist/services/preferences/preferences-types.js +11 -0
- package/dist/services/qa/screenshot-archive-service.d.ts +51 -0
- package/dist/services/qa/screenshot-archive-service.js +134 -0
- package/dist/services/rd/rd-service.js +10 -11
- package/dist/services/rd/types.d.ts +32 -32
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +60 -0
- package/dist/services/rd-swarm/rd-swarm-service.js +93 -0
- package/dist/services/recommendations/capability-seed-items.js +0 -1
- package/dist/services/recommendations/capability-seed-mappings.js +0 -1
- package/dist/services/recommendations/capability-seed-sources.js +0 -1
- package/dist/services/release/version-precheck-service.d.ts +51 -0
- package/dist/services/release/version-precheck-service.js +257 -0
- package/dist/services/scan/acceptance-coverage-service.js +1 -1
- package/dist/services/scan/archetype-service.js +1 -1
- package/dist/services/scan/existing-system-service.js +1 -1
- package/dist/services/scan/libraries-service.js +1 -1
- package/dist/services/sediment/json-schema.d.ts +40 -40
- package/dist/services/share/bundle-types.d.ts +12 -12
- package/dist/services/share/run-state-contract.d.ts +2 -2
- package/dist/services/skill/skill-search-service.d.ts +12 -7
- package/dist/services/skill/skill-search-service.js +8 -4
- package/dist/services/skillhub/migrations/001-initial.sql +71 -0
- package/dist/services/skillhub/migrations/002-loop-release.sql +32 -0
- package/dist/services/skillhub/migrations/003-loop-bee-relation.sql +35 -0
- package/dist/services/skillhub/migrations/004-loop-bee-extension.sql +65 -0
- package/dist/services/skillhub/migrations/005-evolution-evaluation.sql +81 -0
- package/dist/services/skillhub/migrations/006-crystallization-event.sql +92 -0
- package/dist/services/skills/hooks-settings-service.d.ts +75 -0
- package/dist/services/skills/hooks-settings-service.js +230 -2
- package/dist/services/skills/skill-registry.d.ts +1 -0
- package/dist/services/skills/skill-registry.js +6 -4
- package/dist/services/skills/skill-runbook-service.js +1 -1
- package/dist/services/slice/slice-check-service.js +1 -1
- package/dist/services/standards/main-session-monitor-ban-hook.d.ts +14 -0
- package/dist/services/standards/main-session-monitor-ban-hook.js +19 -0
- package/dist/services/standards/missing-standards-detector.d.ts +25 -0
- package/dist/services/standards/missing-standards-detector.js +43 -12
- package/dist/services/tech/tech-change-id-service.d.ts +82 -0
- package/dist/services/tech/tech-change-id-service.js +117 -0
- package/dist/services/understand/understand-hybrid-service.js +1 -1
- package/dist/services/understand/understand-scan-service.js +2 -2
- package/dist/services/upgrade/upgrade-service.js +4 -3
- package/dist/services/verdict/envelopes.d.ts +2 -2
- package/dist/services/verdict/envelopes.js +2 -2
- package/dist/services/verdict/verdict-aggregator.d.ts +3 -3
- package/dist/services/vm/vm-lease.d.ts +40 -0
- package/dist/services/vm/vm-lease.js +137 -0
- package/dist/services/workflow/autonomous-resume-writer.js +1 -1
- package/dist/services/workflow/pipeline-verify-gate-support.d.ts +47 -0
- package/dist/services/workflow/pipeline-verify-gate-support.js +194 -0
- package/dist/services/workflow/pipeline-verify-service.d.ts +17 -81
- package/dist/services/workflow/pipeline-verify-service.js +42 -218
- package/dist/services/workflow/pipeline-verify-types.d.ts +90 -0
- package/dist/services/workflow/pipeline-verify-types.js +10 -0
- package/dist/services/workflow/plan-reader.d.ts +1 -1
- package/dist/services/workflow/plan-reader.js +1 -1
- package/dist/services/workflow/plan-refresher.d.ts +1 -1
- package/dist/services/workflow/plan-refresher.js +1 -1
- package/dist/services/workflow/plan-trigger-detector.d.ts +1 -1
- package/dist/services/workflow/plan-trigger-detector.js +1 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +1 -1
- package/dist/services/workflow/workflow-autonomous-service.d.ts +2 -98
- package/dist/services/workflow/workflow-autonomous-types.d.ts +114 -0
- package/dist/services/workflow/workflow-autonomous-types.js +21 -0
- package/dist/services/workflow/workflow-router-service.js +18 -16
- package/dist/services/workflow/workflow-spec-lint.d.ts +13 -0
- package/dist/services/workflow/workflow-spec-lint.js +75 -0
- package/dist/services/workflow/workflow-spec-types.d.ts +100 -0
- package/dist/services/workflow/workflow-spec-types.js +13 -0
- package/dist/services/workflow/workflow-spec-yaml.d.ts +17 -0
- package/dist/services/workflow/workflow-spec-yaml.js +88 -0
- package/dist/services/workflow/workflow-spec.d.ts +11 -91
- package/dist/services/workflow/workflow-spec.js +16 -145
- package/dist/services/workspace/migrate-service.js +1 -1
- package/dist/services/workspace/workspace-service.js +1 -1
- package/dist/services/worktree/worktree-lease.d.ts +170 -0
- package/dist/services/worktree/worktree-lease.js +242 -0
- package/package.json +47 -51
- package/scripts/clean-dist.mjs +31 -1
- package/scripts/copy-templates.mjs +16 -0
- package/scripts/sync-version.mjs +53 -2
- package/skills/bee/peaks-perf-audit/SKILL.md +17 -0
- package/skills/bee/peaks-prd/SKILL.md +16 -0
- package/skills/bee/peaks-prd/test-prompts.json +12 -0
- package/skills/bee/peaks-qa/SKILL.md +16 -1
- package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +22 -0
- package/skills/bee/peaks-qa/test-prompts.json +12 -0
- package/skills/bee/peaks-rd/SKILL.md +29 -20
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +39 -0
- package/skills/bee/peaks-rd/test-prompts.json +12 -0
- package/skills/bee/peaks-reviewer/SKILL.md +17 -0
- package/skills/bee/peaks-sc/SKILL.md +16 -0
- package/skills/bee/peaks-security-audit/SKILL.md +17 -0
- package/skills/bee/peaks-txt/SKILL.md +16 -0
- package/skills/bee/peaks-txt/test-prompts.json +12 -0
- package/skills/bee/peaks-ui/SKILL.md +49 -43
- package/skills/bee/peaks-ui/test-prompts.json +12 -0
- package/skills/peaks-code/SKILL.md +54 -109
- package/skills/peaks-code/references/boundaries.md +15 -1
- package/skills/peaks-code/references/cron-scheduler-deployment.md +313 -0
- package/skills/peaks-code/references/external-skill-invocation.md +27 -0
- package/skills/peaks-code/references/lease-dashboard.html +224 -0
- package/skills/peaks-code/references/lease-stats.sample.json +26 -0
- package/skills/peaks-code/references/peaks-worktree-l2-enforcers.md +208 -0
- package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
- package/skills/peaks-code/references/runbook.md +63 -1
- package/skills/peaks-code/references/startup-sequence.md +110 -0
- package/skills/peaks-code/references/step-0-8-gate.md +1 -1
- package/skills/peaks-code/references/sub-agent-dispatch.md +92 -1
- package/skills/peaks-code/references/worktree-governance.md +123 -0
- package/skills/peaks-code/test-prompts.json +12 -0
- package/skills/peaks-doctor/SKILL.md +1 -1
- package/skills/peaks-ide/SKILL.md +1 -1
- package/skills/peaks-solo/SKILL.md +21 -0
- package/skills/peaks-solo/references/triage-decision-table.md +6 -0
- package/skills/peaks-sop/test-prompts.json +17 -0
- package/dist/cli/commands/agent-commands.d.ts +0 -20
- package/dist/cli/commands/agent-commands.js +0 -48
- package/dist/cli/commands/classify-classify-commands.d.ts +0 -19
- package/dist/cli/commands/classify-classify-commands.js +0 -151
- package/dist/cli/commands/contract-commands.d.ts +0 -26
- package/dist/cli/commands/contract-commands.js +0 -114
- package/dist/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
- package/dist/cli/commands/session-auto-compact-hook-command.js +0 -127
- package/dist/cli/commands/worker-commands.d.ts +0 -3
- package/dist/cli/commands/worker-commands.js +0 -52
- package/dist/services/agent/ecc-agent-service.d.ts +0 -47
- package/dist/services/agent/ecc-agent-service.js +0 -143
- package/dist/services/config/provider-service.d.ts +0 -48
- package/dist/services/config/provider-service.js +0 -143
- package/dist/services/context/dispatch-context-guard.d.ts +0 -27
- package/dist/services/context/dispatch-context-guard.js +0 -192
- package/dist/services/context/shared-channel.d.ts +0 -93
- package/dist/services/context/shared-channel.js +0 -308
- package/dist/services/filesystem/file-lock.d.ts +0 -11
- package/dist/services/filesystem/file-lock.js +0 -152
- package/dist/services/mut/assert-scanner.d.ts +0 -6
- package/dist/services/mut/assert-scanner.js +0 -116
- package/dist/services/mut/index.d.ts +0 -8
- package/dist/services/mut/index.js +0 -7
- package/dist/services/mut/mut-runner.d.ts +0 -39
- package/dist/services/mut/mut-runner.js +0 -29
- package/dist/services/mut/production-stryker.d.ts +0 -2
- package/dist/services/mut/production-stryker.js +0 -75
- package/dist/services/mut/report-builder.d.ts +0 -11
- package/dist/services/mut/report-builder.js +0 -110
- package/dist/services/mut/report-loader.d.ts +0 -31
- package/dist/services/mut/report-loader.js +0 -78
- package/dist/services/mut/thresholds.d.ts +0 -21
- package/dist/services/mut/thresholds.js +0 -22
- package/dist/services/mut/types.d.ts +0 -336
- package/dist/services/mut/types.js +0 -59
- package/dist/services/providers/minimax-provider-service.d.ts +0 -24
- package/dist/services/providers/minimax-provider-service.js +0 -143
- package/dist/services/providers/minimax-worker-service.d.ts +0 -21
- package/dist/services/providers/minimax-worker-service.js +0 -83
- package/dist/shared/fs.d.ts +0 -4
- package/dist/shared/fs.js +0 -26
- package/dist/shared/paths.d.ts +0 -6
- package/dist/shared/paths.js +0 -50
- package/dist/shared/result.d.ts +0 -22
- package/dist/shared/result.js +0 -46
- package/dist/shared/version.d.ts +0 -1
- package/dist/shared/version.js +0 -1
- package/examples/video-demo/README.md +0 -142
- package/examples/video-demo/out/en-closing-960.png +0 -0
- package/examples/video-demo/out/zh-closing-960.png +0 -0
- package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
- package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
- /package/dist/services/{job/job-resource-snapshot.js → job-snapshot/snapshot.js} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-loop-doctor area (consolidated into peaks-loop).
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the runDoctor check pipeline plus the public type
|
|
5
|
+
* contract (DoctorCheck / DoctorReport / DoctorOptions and the
|
|
6
|
+
* injectable probe types).
|
|
7
|
+
*
|
|
8
|
+
* Main peaks-loop package consumes via `workspace:*` dep:
|
|
9
|
+
*
|
|
10
|
+
* import { runDoctor } from './doctor/index.js';
|
|
11
|
+
*
|
|
12
|
+
* The doctor service is probe-driven: cross-domain utilities
|
|
13
|
+
* (loadSkillRegistry, getSkillPresence, planStatusLineInstall,
|
|
14
|
+
* findProjectRoot, isValidSessionId) are injected at the
|
|
15
|
+
* call-site in main `src/cli/commands/core/doctor-command.ts`,
|
|
16
|
+
* so this package stays standalone and does NOT depend on
|
|
17
|
+
* the main peaks-loop package (avoiding circular deps).
|
|
18
|
+
*
|
|
19
|
+
* See .peaks/_runtime/2026-07-17-session-1d5ac0/rd/slice-3b-doctor.md
|
|
20
|
+
* for the slice-3b Option C decision rationale.
|
|
21
|
+
*/
|
|
22
|
+
export { runDoctor, isWorkspaceInitializedAt, compareDistVersion, inspectWorkspaceLayout, collectGateguardEntries, type DoctorCheck, type DoctorReport, type DoctorOptions, type CodegraphCapabilityProbe, type DistVersionComparison, type DistVersionProbe, type WorkspaceLayoutInspection, type WorkspaceLayoutProbe, type GateguardHookLocation, type GateguardProbeResult, type GateguardProbe, } from './doctor-service.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-loop-doctor area (consolidated into peaks-loop).
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the runDoctor check pipeline plus the public type
|
|
5
|
+
* contract (DoctorCheck / DoctorReport / DoctorOptions and the
|
|
6
|
+
* injectable probe types).
|
|
7
|
+
*
|
|
8
|
+
* Main peaks-loop package consumes via `workspace:*` dep:
|
|
9
|
+
*
|
|
10
|
+
* import { runDoctor } from './doctor/index.js';
|
|
11
|
+
*
|
|
12
|
+
* The doctor service is probe-driven: cross-domain utilities
|
|
13
|
+
* (loadSkillRegistry, getSkillPresence, planStatusLineInstall,
|
|
14
|
+
* findProjectRoot, isValidSessionId) are injected at the
|
|
15
|
+
* call-site in main `src/cli/commands/core/doctor-command.ts`,
|
|
16
|
+
* so this package stays standalone and does NOT depend on
|
|
17
|
+
* the main peaks-loop package (avoiding circular deps).
|
|
18
|
+
*
|
|
19
|
+
* See .peaks/_runtime/2026-07-17-session-1d5ac0/rd/slice-3b-doctor.md
|
|
20
|
+
* for the slice-3b Option C decision rationale.
|
|
21
|
+
*/
|
|
22
|
+
export { runDoctor, isWorkspaceInitializedAt, compareDistVersion, inspectWorkspaceLayout, collectGateguardEntries, } from './doctor-service.js';
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export type ShellKind = 'bash' | 'pwsh' | 'powershell' | 'cmd' | 'unknown';
|
|
2
|
+
export interface ShellProbeReport {
|
|
3
|
+
/** Whether a usable bash was located. `false` ⇒ caller MUST NOT silently fall back to PowerShell. */
|
|
4
|
+
readonly available: boolean;
|
|
5
|
+
/** The recommended shell command name. `'bash'` on success, `'pwsh'` / `'powershell'` only as an explicit non-silent fallback (with available=false). */
|
|
6
|
+
readonly shell: ShellKind;
|
|
7
|
+
/** Absolute path to the resolved binary, when found. `null` otherwise. */
|
|
8
|
+
readonly path: string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Why the probe returned what it returned. Always populated —
|
|
11
|
+
* `null` reasons are forbidden. `'unavailable'` carries a single-
|
|
12
|
+
* line explanation the orchestrator can render to the user.
|
|
13
|
+
*/
|
|
14
|
+
readonly reason: string;
|
|
15
|
+
/** Wall-clock duration of the probe (ms). Useful for the dispatch envelope's `notes[]`. */
|
|
16
|
+
readonly elapsedMs: number;
|
|
17
|
+
/** Probe platform — `win32` triggers the Git-Bash preference. */
|
|
18
|
+
readonly platform: NodeJS.Platform;
|
|
19
|
+
}
|
|
20
|
+
export interface ShellProbeOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Override `process.platform`. Tests use this to simulate Windows
|
|
23
|
+
* hosts on Linux CI (and vice versa) without mutating process.
|
|
24
|
+
*/
|
|
25
|
+
readonly platform?: NodeJS.Platform;
|
|
26
|
+
/**
|
|
27
|
+
* Override the runner that performs the `which bash` / `where
|
|
28
|
+
* bash` probe. The default delegates to `child_process.spawn`; the
|
|
29
|
+
* test seam injects a fake.
|
|
30
|
+
*/
|
|
31
|
+
readonly runner?: ShellProbeRunner;
|
|
32
|
+
/**
|
|
33
|
+
* Override the process env. Default: process.env.
|
|
34
|
+
*/
|
|
35
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
36
|
+
/**
|
|
37
|
+
* Probe timeout (ms). Default: 3000. A sub-agent that hangs the
|
|
38
|
+
* probe would itself be a stall; bounded so the call site fails
|
|
39
|
+
* fast and the orchestrator can surface `available: false`.
|
|
40
|
+
*/
|
|
41
|
+
readonly timeoutMs?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Wall clock for tests.
|
|
44
|
+
*/
|
|
45
|
+
readonly now?: () => number;
|
|
46
|
+
/**
|
|
47
|
+
* Test seam: override the literal-path probe. The default
|
|
48
|
+
* delegates to `node:fs#existsSync`; the test seam injects a
|
|
49
|
+
* fake so the Windows-no-bash scenario can be exercised on a
|
|
50
|
+
* host that has Git Bash installed (and vice versa).
|
|
51
|
+
*/
|
|
52
|
+
readonly probeFile?: (absPath: string) => Promise<boolean> | boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface ShellProbeRunner {
|
|
55
|
+
/**
|
|
56
|
+
* Run a command. Returns the captured stdout on success and
|
|
57
|
+
* throws (or returns `null`) on failure. The probe treats
|
|
58
|
+
* `null`-returns the same as thrown errors.
|
|
59
|
+
*/
|
|
60
|
+
run(command: string, args: readonly string[], opts: {
|
|
61
|
+
timeoutMs: number;
|
|
62
|
+
}): Promise<{
|
|
63
|
+
stdout: string;
|
|
64
|
+
} | null>;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Probe the host shell. The returned report is the single source of
|
|
68
|
+
* truth: callers MUST surface `reason` when `available: false` rather
|
|
69
|
+
* than silently falling back to PowerShell.
|
|
70
|
+
*/
|
|
71
|
+
export declare function probeShell(options?: ShellProbeOptions): Promise<ShellProbeReport>;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slice 2026-07-29-dispatch-stall-governance / S6 — typed shell probe.
|
|
3
|
+
*
|
|
4
|
+
* Codifies the prose-only red rule recorded in
|
|
5
|
+
* .peaks/memory/2026-07-27-windows-shell-pref.md: on Windows, a
|
|
6
|
+
* sub-agent must probe `which bash` and prefer Git Bash; an
|
|
7
|
+
* unavailable bash must surface as an explicit `ShellProbeReport`
|
|
8
|
+
* (with `available: false` + a `reason`), not as a silent fallback
|
|
9
|
+
* to PowerShell.
|
|
10
|
+
*
|
|
11
|
+
* Pre-S6, the rule was *only* documented in `.peaks/memory/`; nothing
|
|
12
|
+
* in the code path enforced it, so a sub-agent could silently land on
|
|
13
|
+
* PowerShell, emit a bash-syntax command, and hang on a parser error —
|
|
14
|
+
* which the orchestrator would observe as a stall (PRD §1.6).
|
|
15
|
+
*
|
|
16
|
+
* Public surface:
|
|
17
|
+
* - `probeShell(opts)` → `Promise<ShellProbeReport>`
|
|
18
|
+
* - `ShellProbeReport` (typed, JSON-serializable)
|
|
19
|
+
* - `ShellProbeRunner` (test seam: inject a fake runner)
|
|
20
|
+
*
|
|
21
|
+
* The probe is **lazy**: it only spawns a process when the caller
|
|
22
|
+
* actually invokes `probeShell`. Calling `formatTestToolDetection()`
|
|
23
|
+
* or any other dispatch hot path does NOT trigger a shell probe. The
|
|
24
|
+
* probe is opt-in at the dispatch / tool boundary; we do NOT
|
|
25
|
+
* broadcast-probe every dispatch (that would add a 50–200ms hit to
|
|
26
|
+
* the hot path).
|
|
27
|
+
*
|
|
28
|
+
* On non-Windows platforms the probe is a passthrough: `available:
|
|
29
|
+
* true`, `shell: 'bash'`, `reason: 'non-windows passthrough'`. Linux
|
|
30
|
+
* and macOS hosts already have a usable shell, so the Windows-only
|
|
31
|
+
* Git-Bash probe is unnecessary.
|
|
32
|
+
*/
|
|
33
|
+
import { spawn } from 'node:child_process';
|
|
34
|
+
const DEFAULT_TIMEOUT_MS = 3_000;
|
|
35
|
+
/** Default runner: child_process.spawn, with a 3s ceiling. */
|
|
36
|
+
const defaultRunner = {
|
|
37
|
+
async run(command, args, opts) {
|
|
38
|
+
return await new Promise((resolveRun) => {
|
|
39
|
+
let resolved = false;
|
|
40
|
+
const finish = (value) => {
|
|
41
|
+
if (resolved)
|
|
42
|
+
return;
|
|
43
|
+
resolved = true;
|
|
44
|
+
resolveRun(value);
|
|
45
|
+
};
|
|
46
|
+
try {
|
|
47
|
+
const child = spawn(command, args, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
48
|
+
let stdout = '';
|
|
49
|
+
child.stdout?.on('data', (chunk) => {
|
|
50
|
+
stdout += chunk.toString('utf8');
|
|
51
|
+
});
|
|
52
|
+
child.on('error', () => finish(null));
|
|
53
|
+
child.on('close', (code) => {
|
|
54
|
+
if (code === 0 && stdout.trim().length > 0) {
|
|
55
|
+
finish({ stdout });
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
finish(null);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const t = setTimeout(() => {
|
|
62
|
+
child.kill();
|
|
63
|
+
finish(null);
|
|
64
|
+
}, opts.timeoutMs);
|
|
65
|
+
t.unref?.();
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
finish(null);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Probe the host shell. The returned report is the single source of
|
|
75
|
+
* truth: callers MUST surface `reason` when `available: false` rather
|
|
76
|
+
* than silently falling back to PowerShell.
|
|
77
|
+
*/
|
|
78
|
+
export async function probeShell(options = {}) {
|
|
79
|
+
const platform = options.platform ?? process.platform;
|
|
80
|
+
const runner = options.runner ?? defaultRunner;
|
|
81
|
+
const env = options.env ?? process.env;
|
|
82
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
83
|
+
const now = options.now ?? (() => Date.now());
|
|
84
|
+
const probeFileFn = options.probeFile ?? defaultProbeFile;
|
|
85
|
+
const startedAt = now();
|
|
86
|
+
if (platform !== 'win32') {
|
|
87
|
+
return {
|
|
88
|
+
available: true,
|
|
89
|
+
shell: 'bash',
|
|
90
|
+
path: '/bin/bash',
|
|
91
|
+
reason: 'non-windows passthrough',
|
|
92
|
+
elapsedMs: now() - startedAt,
|
|
93
|
+
platform
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
// 1. Prefer Git Bash explicitly. Git for Windows installs at
|
|
97
|
+
// `C:\Program Files\Git\bin\bash.exe` (or `C:\nvm4w\nodejs\git-
|
|
98
|
+
// bash.exe` on the nvm4w layout). The env var `PEAKS_GIT_BASH`
|
|
99
|
+
// lets an operator pin a non-default path without code change.
|
|
100
|
+
const pinnedGitBash = env.PEAKS_GIT_BASH;
|
|
101
|
+
const gitBashCandidates = pinnedGitBash
|
|
102
|
+
? [pinnedGitBash]
|
|
103
|
+
: [
|
|
104
|
+
'C:\\Program Files\\Git\\bin\\bash.exe',
|
|
105
|
+
'C:\\Program Files (x86)\\Git\\bin\\bash.exe',
|
|
106
|
+
'C:\\nvm4w\\nodejs\\git-bash.exe',
|
|
107
|
+
'C:\\Program Files\\Git\\usr\\bin\\bash.exe'
|
|
108
|
+
];
|
|
109
|
+
for (const candidate of gitBashCandidates) {
|
|
110
|
+
if (await probeFileFn(candidate)) {
|
|
111
|
+
return {
|
|
112
|
+
available: true,
|
|
113
|
+
shell: 'bash',
|
|
114
|
+
path: candidate,
|
|
115
|
+
reason: 'Git Bash located at pinned or default path',
|
|
116
|
+
elapsedMs: now() - startedAt,
|
|
117
|
+
platform
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// 2. Fall back to PATH lookup (`where bash` on Windows). This
|
|
122
|
+
// catches portable Git installs that land in a non-default
|
|
123
|
+
// directory.
|
|
124
|
+
const where = await runner.run('where', ['bash'], { timeoutMs });
|
|
125
|
+
if (where !== null && where.stdout.trim().length > 0) {
|
|
126
|
+
const first = where.stdout.split(/\r?\n/).map((l) => l.trim()).find((l) => l.length > 0);
|
|
127
|
+
if (first !== undefined) {
|
|
128
|
+
return {
|
|
129
|
+
available: true,
|
|
130
|
+
shell: 'bash',
|
|
131
|
+
path: first,
|
|
132
|
+
reason: 'bash located via `where bash` (PATH lookup)',
|
|
133
|
+
elapsedMs: now() - startedAt,
|
|
134
|
+
platform
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// 3. Explicit unavailable report — the orchestrator MUST surface
|
|
139
|
+
// this rather than silently falling back to PowerShell.
|
|
140
|
+
return {
|
|
141
|
+
available: false,
|
|
142
|
+
shell: 'unknown',
|
|
143
|
+
path: null,
|
|
144
|
+
reason: 'No bash found on this Windows host. Install Git for Windows ' +
|
|
145
|
+
'(https://git-scm.com/download/win) or set PEAKS_GIT_BASH to the ' +
|
|
146
|
+
'absolute path of a bash.exe binary. Per .peaks/memory/2026-07-27-' +
|
|
147
|
+
'windows-shell-pref.md, PowerShell is NOT a silent fallback.',
|
|
148
|
+
elapsedMs: now() - startedAt,
|
|
149
|
+
platform
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Default literal-path probe. Uses Node's `fs.existsSync` (a single
|
|
154
|
+
* stat call, no spawn). Tests inject a custom `probeFile` through
|
|
155
|
+
* `ShellProbeOptions.probeFile` to simulate a no-bash Windows host
|
|
156
|
+
* without needing a host-specific override.
|
|
157
|
+
*/
|
|
158
|
+
async function defaultProbeFile(absPath) {
|
|
159
|
+
const { existsSync } = await import('node:fs');
|
|
160
|
+
return existsSync(absPath);
|
|
161
|
+
}
|
|
@@ -73,12 +73,12 @@ export declare const EvolutionProposalInputSchema: z.ZodObject<{
|
|
|
73
73
|
red_lines: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
74
74
|
source_traces: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
75
75
|
}, "strip", z.ZodTypeAny, {
|
|
76
|
-
|
|
77
|
-
target_kind: "bee" | "gate" | "loop" | "evaluator" | "policy";
|
|
76
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
78
77
|
target_release_id: string;
|
|
79
78
|
optimization_dimension: string;
|
|
80
79
|
before_snapshot: Record<string, unknown>;
|
|
81
80
|
after_snapshot: Record<string, unknown>;
|
|
81
|
+
diff: Record<string, unknown>;
|
|
82
82
|
before_score: number;
|
|
83
83
|
after_score: number;
|
|
84
84
|
score_delta_min: number;
|
|
@@ -89,7 +89,7 @@ export declare const EvolutionProposalInputSchema: z.ZodObject<{
|
|
|
89
89
|
red_lines: string[];
|
|
90
90
|
source_traces: string[];
|
|
91
91
|
}, {
|
|
92
|
-
target_kind: "
|
|
92
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
93
93
|
target_release_id: string;
|
|
94
94
|
optimization_dimension: string;
|
|
95
95
|
before_score: number;
|
|
@@ -97,9 +97,9 @@ export declare const EvolutionProposalInputSchema: z.ZodObject<{
|
|
|
97
97
|
author_id: string;
|
|
98
98
|
single_object: true;
|
|
99
99
|
single_optimization_dimension: true;
|
|
100
|
-
diff?: Record<string, unknown> | undefined;
|
|
101
100
|
before_snapshot?: Record<string, unknown> | undefined;
|
|
102
101
|
after_snapshot?: Record<string, unknown> | undefined;
|
|
102
|
+
diff?: Record<string, unknown> | undefined;
|
|
103
103
|
score_delta_min?: number | undefined;
|
|
104
104
|
rubric?: Record<string, unknown> | undefined;
|
|
105
105
|
red_lines?: string[] | undefined;
|
|
@@ -153,13 +153,13 @@ export declare const EvolutionProposalSchema: z.ZodObject<{
|
|
|
153
153
|
}, "strip", z.ZodTypeAny, {
|
|
154
154
|
schema_version: "peaks.evolution/1";
|
|
155
155
|
id: string;
|
|
156
|
-
diff: Record<string, unknown>;
|
|
157
156
|
created_at: string;
|
|
158
|
-
target_kind: "
|
|
157
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
159
158
|
target_release_id: string;
|
|
160
159
|
optimization_dimension: string;
|
|
161
160
|
before_snapshot: Record<string, unknown>;
|
|
162
161
|
after_snapshot: Record<string, unknown>;
|
|
162
|
+
diff: Record<string, unknown>;
|
|
163
163
|
before_score: number;
|
|
164
164
|
after_score: number;
|
|
165
165
|
score_delta_min: number;
|
|
@@ -175,7 +175,7 @@ export declare const EvolutionProposalSchema: z.ZodObject<{
|
|
|
175
175
|
}, {
|
|
176
176
|
id: string;
|
|
177
177
|
created_at: string;
|
|
178
|
-
target_kind: "
|
|
178
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
179
179
|
target_release_id: string;
|
|
180
180
|
optimization_dimension: string;
|
|
181
181
|
before_score: number;
|
|
@@ -187,9 +187,9 @@ export declare const EvolutionProposalSchema: z.ZodObject<{
|
|
|
187
187
|
target_count: 1;
|
|
188
188
|
score_delta: number;
|
|
189
189
|
schema_version?: "peaks.evolution/1" | undefined;
|
|
190
|
-
diff?: Record<string, unknown> | undefined;
|
|
191
190
|
before_snapshot?: Record<string, unknown> | undefined;
|
|
192
191
|
after_snapshot?: Record<string, unknown> | undefined;
|
|
192
|
+
diff?: Record<string, unknown> | undefined;
|
|
193
193
|
score_delta_min?: number | undefined;
|
|
194
194
|
rubric?: Record<string, unknown> | undefined;
|
|
195
195
|
red_lines?: string[] | undefined;
|
|
@@ -229,10 +229,10 @@ export declare const RegressionSkepticResultSchema: z.ZodObject<{
|
|
|
229
229
|
safetyRegressionRisks: string[];
|
|
230
230
|
blocker?: string | undefined;
|
|
231
231
|
}, {
|
|
232
|
-
blocker?: string | undefined;
|
|
233
232
|
driftRisks?: string[] | undefined;
|
|
234
233
|
overfitRisks?: string[] | undefined;
|
|
235
234
|
safetyRegressionRisks?: string[] | undefined;
|
|
235
|
+
blocker?: string | undefined;
|
|
236
236
|
}>;
|
|
237
237
|
export type RegressionSkepticResult = z.infer<typeof RegressionSkepticResultSchema>;
|
|
238
238
|
/**
|
|
@@ -292,13 +292,13 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
292
292
|
}, "strip", z.ZodTypeAny, {
|
|
293
293
|
schema_version: "peaks.evolution/1";
|
|
294
294
|
id: string;
|
|
295
|
-
diff: Record<string, unknown>;
|
|
296
295
|
created_at: string;
|
|
297
|
-
target_kind: "
|
|
296
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
298
297
|
target_release_id: string;
|
|
299
298
|
optimization_dimension: string;
|
|
300
299
|
before_snapshot: Record<string, unknown>;
|
|
301
300
|
after_snapshot: Record<string, unknown>;
|
|
301
|
+
diff: Record<string, unknown>;
|
|
302
302
|
before_score: number;
|
|
303
303
|
after_score: number;
|
|
304
304
|
score_delta_min: number;
|
|
@@ -314,7 +314,7 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
314
314
|
}, {
|
|
315
315
|
id: string;
|
|
316
316
|
created_at: string;
|
|
317
|
-
target_kind: "
|
|
317
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
318
318
|
target_release_id: string;
|
|
319
319
|
optimization_dimension: string;
|
|
320
320
|
before_score: number;
|
|
@@ -326,9 +326,9 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
326
326
|
target_count: 1;
|
|
327
327
|
score_delta: number;
|
|
328
328
|
schema_version?: "peaks.evolution/1" | undefined;
|
|
329
|
-
diff?: Record<string, unknown> | undefined;
|
|
330
329
|
before_snapshot?: Record<string, unknown> | undefined;
|
|
331
330
|
after_snapshot?: Record<string, unknown> | undefined;
|
|
331
|
+
diff?: Record<string, unknown> | undefined;
|
|
332
332
|
score_delta_min?: number | undefined;
|
|
333
333
|
rubric?: Record<string, unknown> | undefined;
|
|
334
334
|
red_lines?: string[] | undefined;
|
|
@@ -360,10 +360,10 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
360
360
|
safetyRegressionRisks: string[];
|
|
361
361
|
blocker?: string | undefined;
|
|
362
362
|
}, {
|
|
363
|
-
blocker?: string | undefined;
|
|
364
363
|
driftRisks?: string[] | undefined;
|
|
365
364
|
overfitRisks?: string[] | undefined;
|
|
366
365
|
safetyRegressionRisks?: string[] | undefined;
|
|
366
|
+
blocker?: string | undefined;
|
|
367
367
|
}>;
|
|
368
368
|
verdict: z.ZodEnum<["keep", "revert", "needs-user-decision"]>;
|
|
369
369
|
user_confirmation_pointer: z.ZodOptional<z.ZodString>;
|
|
@@ -373,16 +373,17 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
373
373
|
}, "strip", z.ZodTypeAny, {
|
|
374
374
|
schema_version: "peaks.evolution/1";
|
|
375
375
|
id: string;
|
|
376
|
+
created_at: string;
|
|
376
377
|
proposal: {
|
|
377
378
|
schema_version: "peaks.evolution/1";
|
|
378
379
|
id: string;
|
|
379
|
-
diff: Record<string, unknown>;
|
|
380
380
|
created_at: string;
|
|
381
|
-
target_kind: "
|
|
381
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
382
382
|
target_release_id: string;
|
|
383
383
|
optimization_dimension: string;
|
|
384
384
|
before_snapshot: Record<string, unknown>;
|
|
385
385
|
after_snapshot: Record<string, unknown>;
|
|
386
|
+
diff: Record<string, unknown>;
|
|
386
387
|
before_score: number;
|
|
387
388
|
after_score: number;
|
|
388
389
|
score_delta_min: number;
|
|
@@ -396,8 +397,6 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
396
397
|
target_count: 1;
|
|
397
398
|
score_delta: number;
|
|
398
399
|
};
|
|
399
|
-
created_at: string;
|
|
400
|
-
verdict: "revert" | "keep" | "needs-user-decision";
|
|
401
400
|
evaluator_id: string;
|
|
402
401
|
skeptic_id: string;
|
|
403
402
|
evaluator_result: {
|
|
@@ -411,14 +410,16 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
411
410
|
safetyRegressionRisks: string[];
|
|
412
411
|
blocker?: string | undefined;
|
|
413
412
|
};
|
|
413
|
+
verdict: "keep" | "revert" | "needs-user-decision";
|
|
414
414
|
user_confirmation_pointer?: string | undefined;
|
|
415
415
|
brief_pointer?: string | undefined;
|
|
416
416
|
}, {
|
|
417
417
|
id: string;
|
|
418
|
+
created_at: string;
|
|
418
419
|
proposal: {
|
|
419
420
|
id: string;
|
|
420
421
|
created_at: string;
|
|
421
|
-
target_kind: "
|
|
422
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
422
423
|
target_release_id: string;
|
|
423
424
|
optimization_dimension: string;
|
|
424
425
|
before_score: number;
|
|
@@ -430,16 +431,14 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
430
431
|
target_count: 1;
|
|
431
432
|
score_delta: number;
|
|
432
433
|
schema_version?: "peaks.evolution/1" | undefined;
|
|
433
|
-
diff?: Record<string, unknown> | undefined;
|
|
434
434
|
before_snapshot?: Record<string, unknown> | undefined;
|
|
435
435
|
after_snapshot?: Record<string, unknown> | undefined;
|
|
436
|
+
diff?: Record<string, unknown> | undefined;
|
|
436
437
|
score_delta_min?: number | undefined;
|
|
437
438
|
rubric?: Record<string, unknown> | undefined;
|
|
438
439
|
red_lines?: string[] | undefined;
|
|
439
440
|
source_traces?: string[] | undefined;
|
|
440
441
|
};
|
|
441
|
-
created_at: string;
|
|
442
|
-
verdict: "revert" | "keep" | "needs-user-decision";
|
|
443
442
|
evaluator_id: string;
|
|
444
443
|
skeptic_id: string;
|
|
445
444
|
evaluator_result: {
|
|
@@ -448,11 +447,12 @@ export declare const EvolutionEvaluationInputSchema: z.ZodObject<{
|
|
|
448
447
|
riskTags?: string[] | undefined;
|
|
449
448
|
};
|
|
450
449
|
skeptic_result: {
|
|
451
|
-
blocker?: string | undefined;
|
|
452
450
|
driftRisks?: string[] | undefined;
|
|
453
451
|
overfitRisks?: string[] | undefined;
|
|
454
452
|
safetyRegressionRisks?: string[] | undefined;
|
|
453
|
+
blocker?: string | undefined;
|
|
455
454
|
};
|
|
455
|
+
verdict: "keep" | "revert" | "needs-user-decision";
|
|
456
456
|
schema_version?: "peaks.evolution/1" | undefined;
|
|
457
457
|
user_confirmation_pointer?: string | undefined;
|
|
458
458
|
brief_pointer?: string | undefined;
|
|
@@ -505,13 +505,13 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
505
505
|
}, "strip", z.ZodTypeAny, {
|
|
506
506
|
schema_version: "peaks.evolution/1";
|
|
507
507
|
id: string;
|
|
508
|
-
diff: Record<string, unknown>;
|
|
509
508
|
created_at: string;
|
|
510
|
-
target_kind: "
|
|
509
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
511
510
|
target_release_id: string;
|
|
512
511
|
optimization_dimension: string;
|
|
513
512
|
before_snapshot: Record<string, unknown>;
|
|
514
513
|
after_snapshot: Record<string, unknown>;
|
|
514
|
+
diff: Record<string, unknown>;
|
|
515
515
|
before_score: number;
|
|
516
516
|
after_score: number;
|
|
517
517
|
score_delta_min: number;
|
|
@@ -527,7 +527,7 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
527
527
|
}, {
|
|
528
528
|
id: string;
|
|
529
529
|
created_at: string;
|
|
530
|
-
target_kind: "
|
|
530
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
531
531
|
target_release_id: string;
|
|
532
532
|
optimization_dimension: string;
|
|
533
533
|
before_score: number;
|
|
@@ -539,9 +539,9 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
539
539
|
target_count: 1;
|
|
540
540
|
score_delta: number;
|
|
541
541
|
schema_version?: "peaks.evolution/1" | undefined;
|
|
542
|
-
diff?: Record<string, unknown> | undefined;
|
|
543
542
|
before_snapshot?: Record<string, unknown> | undefined;
|
|
544
543
|
after_snapshot?: Record<string, unknown> | undefined;
|
|
544
|
+
diff?: Record<string, unknown> | undefined;
|
|
545
545
|
score_delta_min?: number | undefined;
|
|
546
546
|
rubric?: Record<string, unknown> | undefined;
|
|
547
547
|
red_lines?: string[] | undefined;
|
|
@@ -573,10 +573,10 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
573
573
|
safetyRegressionRisks: string[];
|
|
574
574
|
blocker?: string | undefined;
|
|
575
575
|
}, {
|
|
576
|
-
blocker?: string | undefined;
|
|
577
576
|
driftRisks?: string[] | undefined;
|
|
578
577
|
overfitRisks?: string[] | undefined;
|
|
579
578
|
safetyRegressionRisks?: string[] | undefined;
|
|
579
|
+
blocker?: string | undefined;
|
|
580
580
|
}>;
|
|
581
581
|
verdict: z.ZodEnum<["keep", "revert", "needs-user-decision"]>;
|
|
582
582
|
user_confirmation_pointer: z.ZodOptional<z.ZodString>;
|
|
@@ -588,16 +588,18 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
588
588
|
}, "strip", z.ZodTypeAny, {
|
|
589
589
|
schema_version: "peaks.evolution/1";
|
|
590
590
|
id: string;
|
|
591
|
+
created_at: string;
|
|
592
|
+
score_delta: number;
|
|
591
593
|
proposal: {
|
|
592
594
|
schema_version: "peaks.evolution/1";
|
|
593
595
|
id: string;
|
|
594
|
-
diff: Record<string, unknown>;
|
|
595
596
|
created_at: string;
|
|
596
|
-
target_kind: "
|
|
597
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
597
598
|
target_release_id: string;
|
|
598
599
|
optimization_dimension: string;
|
|
599
600
|
before_snapshot: Record<string, unknown>;
|
|
600
601
|
after_snapshot: Record<string, unknown>;
|
|
602
|
+
diff: Record<string, unknown>;
|
|
601
603
|
before_score: number;
|
|
602
604
|
after_score: number;
|
|
603
605
|
score_delta_min: number;
|
|
@@ -611,9 +613,6 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
611
613
|
target_count: 1;
|
|
612
614
|
score_delta: number;
|
|
613
615
|
};
|
|
614
|
-
created_at: string;
|
|
615
|
-
verdict: "revert" | "keep" | "needs-user-decision";
|
|
616
|
-
score_delta: number;
|
|
617
616
|
evaluator_id: string;
|
|
618
617
|
skeptic_id: string;
|
|
619
618
|
evaluator_result: {
|
|
@@ -627,14 +626,17 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
627
626
|
safetyRegressionRisks: string[];
|
|
628
627
|
blocker?: string | undefined;
|
|
629
628
|
};
|
|
629
|
+
verdict: "keep" | "revert" | "needs-user-decision";
|
|
630
630
|
user_confirmation_pointer?: string | undefined;
|
|
631
631
|
brief_pointer?: string | undefined;
|
|
632
632
|
}, {
|
|
633
633
|
id: string;
|
|
634
|
+
created_at: string;
|
|
635
|
+
score_delta: number;
|
|
634
636
|
proposal: {
|
|
635
637
|
id: string;
|
|
636
638
|
created_at: string;
|
|
637
|
-
target_kind: "
|
|
639
|
+
target_kind: "loop" | "bee" | "gate" | "policy" | "evaluator";
|
|
638
640
|
target_release_id: string;
|
|
639
641
|
optimization_dimension: string;
|
|
640
642
|
before_score: number;
|
|
@@ -646,17 +648,14 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
646
648
|
target_count: 1;
|
|
647
649
|
score_delta: number;
|
|
648
650
|
schema_version?: "peaks.evolution/1" | undefined;
|
|
649
|
-
diff?: Record<string, unknown> | undefined;
|
|
650
651
|
before_snapshot?: Record<string, unknown> | undefined;
|
|
651
652
|
after_snapshot?: Record<string, unknown> | undefined;
|
|
653
|
+
diff?: Record<string, unknown> | undefined;
|
|
652
654
|
score_delta_min?: number | undefined;
|
|
653
655
|
rubric?: Record<string, unknown> | undefined;
|
|
654
656
|
red_lines?: string[] | undefined;
|
|
655
657
|
source_traces?: string[] | undefined;
|
|
656
658
|
};
|
|
657
|
-
created_at: string;
|
|
658
|
-
verdict: "revert" | "keep" | "needs-user-decision";
|
|
659
|
-
score_delta: number;
|
|
660
659
|
evaluator_id: string;
|
|
661
660
|
skeptic_id: string;
|
|
662
661
|
evaluator_result: {
|
|
@@ -665,11 +664,12 @@ export declare const EvolutionEvaluationSchema: z.ZodObject<{
|
|
|
665
664
|
riskTags?: string[] | undefined;
|
|
666
665
|
};
|
|
667
666
|
skeptic_result: {
|
|
668
|
-
blocker?: string | undefined;
|
|
669
667
|
driftRisks?: string[] | undefined;
|
|
670
668
|
overfitRisks?: string[] | undefined;
|
|
671
669
|
safetyRegressionRisks?: string[] | undefined;
|
|
670
|
+
blocker?: string | undefined;
|
|
672
671
|
};
|
|
672
|
+
verdict: "keep" | "revert" | "needs-user-decision";
|
|
673
673
|
schema_version?: "peaks.evolution/1" | undefined;
|
|
674
674
|
user_confirmation_pointer?: string | undefined;
|
|
675
675
|
brief_pointer?: string | undefined;
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
export interface LlmRunner {
|
|
2
|
+
call(systemPrompt: string, userPrompt: string, opts: {
|
|
3
|
+
maxTokens: number;
|
|
4
|
+
}): Promise<{
|
|
5
|
+
output: string;
|
|
6
|
+
tokens: {
|
|
7
|
+
input: number;
|
|
8
|
+
output: number;
|
|
9
|
+
};
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
2
12
|
import type { FinalReviewOutput } from './final-review-types.js';
|
|
3
13
|
export interface PrepareFinalReviewOptions {
|
|
4
14
|
readonly projectRoot: string;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { prepareFinalReview, type PrepareFinalReviewOptions, type LlmRunner, IncompleteFinalReviewError, } from './final-review-service.js';
|
|
2
|
+
export type { DimensionKind, DimensionVerdict, EvidenceKind, DimensionConfidence, EvidenceItem, DimensionEvidence, FinalReviewOutput, } from './final-review-types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { prepareFinalReview, IncompleteFinalReviewError, } from './final-review-service.js';
|
|
@@ -37,17 +37,16 @@
|
|
|
37
37
|
*/
|
|
38
38
|
export declare const AUTO_COMPACT_HOOK_MATCHER = "Bash|Task";
|
|
39
39
|
/**
|
|
40
|
-
* Stable command the hook fires. Wraps `peaks
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* into the hook.
|
|
40
|
+
* Stable command the hook fires. Wraps `peaks compact auto` so the
|
|
41
|
+
* heavy lifting (ratio probe + in-band `claude --compact` spawn)
|
|
42
|
+
* lives in the CLI surface, not inlined into the hook.
|
|
44
43
|
*
|
|
45
44
|
* `npx peaks` is deliberately omitted: the project-local install
|
|
46
45
|
* puts `peaks` on PATH inside the consumer repo (postinstall step),
|
|
47
46
|
* so the unqualified command works in the same shell the runner
|
|
48
47
|
* is using.
|
|
49
48
|
*/
|
|
50
|
-
export declare const AUTO_COMPACT_HOOK_COMMAND = "peaks
|
|
49
|
+
export declare const AUTO_COMPACT_HOOK_COMMAND = "peaks compact auto";
|
|
51
50
|
/**
|
|
52
51
|
* Magic comment marker that fences the auto-compatchook block.
|
|
53
52
|
* Both install (writes the marker) and remove (matches on it) use
|