peaks-loop 4.0.53 → 4.1.0
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 +85 -0
- package/README-en.md +16 -1
- package/README.md +15 -1
- package/config/eslint/.peaks-rules.cjs +158 -13
- package/config/eslint/tsconfig.lint.json +47 -0
- package/dist/cli/cli-envelope.d.ts +114 -0
- package/dist/cli/cli-envelope.js +85 -0
- package/dist/cli/cli-helpers.d.ts +1 -1
- package/dist/cli/cli-helpers.js +8 -4
- package/dist/cli/commands/_cli-error-envelope.js +1 -1
- package/dist/cli/commands/_register.js +85 -38
- package/dist/cli/commands/_super.js +40 -7
- package/dist/cli/commands/adapter-commands-s2a.js +8 -7
- package/dist/cli/commands/adapter-commands.d.ts +2 -2
- package/dist/cli/commands/adapter-commands.js +7 -8
- package/dist/cli/commands/api-diff-commands.js +5 -4
- package/dist/cli/commands/asset-commands.d.ts +2 -2
- package/dist/cli/commands/asset-commands.js +135 -132
- package/dist/cli/commands/audit-commands.d.ts +1 -1
- package/dist/cli/commands/audit-commands.js +75 -32
- package/dist/cli/commands/autonomous-swarm-commands.d.ts +1 -1
- package/dist/cli/commands/autonomous-swarm-commands.js +14 -8
- package/dist/cli/commands/baseline-commands.js +34 -9
- package/dist/cli/commands/bee-commands.d.ts +1 -1
- package/dist/cli/commands/bee-commands.js +18 -21
- package/dist/cli/commands/best-practice-scan-command.js +6 -34
- package/dist/cli/commands/best-practice-scan-helpers.d.ts +12 -0
- package/dist/cli/commands/best-practice-scan-helpers.js +37 -0
- package/dist/cli/commands/capability-commands.d.ts +1 -1
- package/dist/cli/commands/capability-commands.js +14 -4
- package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +1 -1
- package/dist/cli/commands/changeset-commands.js +21 -18
- package/dist/cli/commands/code-gate-command.js +9 -2
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +15 -0
- package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +70 -0
- package/dist/cli/commands/code-job-shape-commands.js +21 -45
- package/dist/cli/commands/code-mode-gate-commands.d.ts +15 -1
- package/dist/cli/commands/code-mode-gate-commands.js +19 -199
- package/dist/cli/commands/code-mode-gate-plan-command.d.ts +14 -0
- package/dist/cli/commands/code-mode-gate-plan-command.js +23 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.d.ts +24 -0
- package/dist/cli/commands/code-mode-gate-should-pause-command.js +137 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +59 -0
- package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +144 -0
- package/dist/cli/commands/code-orchestrator-can-do.js +4 -4
- package/dist/cli/commands/code-review-commands.js +18 -3
- package/dist/cli/commands/code-run-command.js +44 -7
- package/dist/cli/commands/code-runtime-commands.d.ts +17 -0
- package/dist/cli/commands/code-runtime-commands.js +105 -73
- package/dist/cli/commands/codegraph-commands.js +175 -11
- package/dist/cli/commands/codegraph-status-command.js +6 -2
- package/dist/cli/commands/compact-command.js +52 -26
- package/dist/cli/commands/complexity-commands.js +6 -7
- package/dist/cli/commands/config-commands.d.ts +1 -1
- package/dist/cli/commands/config-commands.js +33 -9
- package/dist/cli/commands/container-commands.js +39 -15
- package/dist/cli/commands/context-commands.d.ts +1 -1
- package/dist/cli/commands/context-commands.js +40 -13
- package/dist/cli/commands/core/artifacts-command.js +11 -3
- package/dist/cli/commands/core/binding-commands.js +9 -6
- package/dist/cli/commands/core/doctor-command.js +7 -4
- package/dist/cli/commands/core/memory-command.js +81 -22
- package/dist/cli/commands/core/proxy-command.js +3 -1
- package/dist/cli/commands/core/session-command.js +16 -8
- package/dist/cli/commands/core/skill-command.js +31 -16
- package/dist/cli/commands/core/standards-command.js +55 -13
- package/dist/cli/commands/cron-commands-actions.d.ts +43 -0
- package/dist/cli/commands/cron-commands-actions.js +128 -0
- package/dist/cli/commands/cron-commands-schedule.d.ts +86 -0
- package/dist/cli/commands/cron-commands-schedule.js +151 -0
- package/dist/cli/commands/cron-commands.d.ts +35 -32
- package/dist/cli/commands/cron-commands.js +167 -211
- package/dist/cli/commands/cron-scheduler-commands.js +40 -20
- package/dist/cli/commands/cron-scheduler-persist.d.ts +110 -0
- package/dist/cli/commands/cron-scheduler-persist.js +171 -0
- package/dist/cli/commands/dashboard-long-run.js +45 -14
- package/dist/cli/commands/dashboard-summary.js +15 -5
- package/dist/cli/commands/dispatch-commands.js +69 -34
- package/dist/cli/commands/dispatch-from-dag.js +9 -10
- package/dist/cli/commands/doc-commands.js +8 -9
- package/dist/cli/commands/doctor/invoke-from-code.js +1 -1
- package/dist/cli/commands/e2e-verify-env.d.ts +19 -0
- package/dist/cli/commands/e2e-verify-env.js +19 -0
- package/dist/cli/commands/e2e-verify.d.ts +3 -14
- package/dist/cli/commands/e2e-verify.js +49 -29
- package/dist/cli/commands/ecc-commands.d.ts +1 -1
- package/dist/cli/commands/ecc-commands.js +8 -17
- package/dist/cli/commands/evidence-commands.js +10 -6
- package/dist/cli/commands/evolution-commands.d.ts +2 -2
- package/dist/cli/commands/evolution-commands.js +109 -115
- package/dist/cli/commands/feedback-commands-helpers.d.ts +22 -0
- package/dist/cli/commands/feedback-commands-helpers.js +33 -0
- package/dist/cli/commands/feedback-commands.js +15 -38
- package/dist/cli/commands/final-review-commands.d.ts +1 -1
- package/dist/cli/commands/final-review-commands.js +24 -22
- package/dist/cli/commands/fixture-commands.d.ts +1 -1
- package/dist/cli/commands/fixture-commands.js +17 -6
- package/dist/cli/commands/fork-commands-sync-verify.d.ts +12 -0
- package/dist/cli/commands/fork-commands-sync-verify.js +72 -0
- package/dist/cli/commands/fork-commands.js +19 -51
- package/dist/cli/commands/fresh-context-commands.js +3 -1
- package/dist/cli/commands/gate-commands-enforce.d.ts +82 -0
- package/dist/cli/commands/gate-commands-enforce.js +210 -0
- package/dist/cli/commands/gate-commands.d.ts +1 -1
- package/dist/cli/commands/gate-commands.js +85 -205
- package/dist/cli/commands/governance-classify-contract-commands.d.ts +1 -1
- package/dist/cli/commands/governance-classify-contract-commands.js +28 -17
- package/dist/cli/commands/heartbeat-commands-action.d.ts +7 -0
- package/dist/cli/commands/heartbeat-commands-action.js +192 -0
- package/dist/cli/commands/heartbeat-commands-validation.d.ts +57 -0
- package/dist/cli/commands/heartbeat-commands-validation.js +120 -0
- package/dist/cli/commands/heartbeat-commands.d.ts +27 -6
- package/dist/cli/commands/heartbeat-commands.js +19 -198
- package/dist/cli/commands/hook-handle.d.ts +1 -1
- package/dist/cli/commands/hook-handle.js +46 -13
- package/dist/cli/commands/hooks-commands.d.ts +1 -1
- package/dist/cli/commands/hooks-commands.js +18 -6
- package/dist/cli/commands/ide-commands.d.ts +1 -1
- package/dist/cli/commands/ide-commands.js +5 -3
- package/dist/cli/commands/impact-commands.js +8 -2
- package/dist/cli/commands/job-add-slice-command.d.ts +43 -0
- package/dist/cli/commands/job-add-slice-command.js +151 -0
- package/dist/cli/commands/job-commands.d.ts +64 -0
- package/dist/cli/commands/job-commands.js +134 -63
- package/dist/cli/commands/lease-metrics-commands-support.d.ts +73 -0
- package/dist/cli/commands/lease-metrics-commands-support.js +67 -0
- package/dist/cli/commands/lease-metrics-commands.d.ts +3 -44
- package/dist/cli/commands/lease-metrics-commands.js +21 -61
- package/dist/cli/commands/lease-stats-commands.d.ts +1 -1
- package/dist/cli/commands/lease-stats-commands.js +9 -6
- package/dist/cli/commands/lint-commands.d.ts +9 -3
- package/dist/cli/commands/lint-commands.js +15 -8
- package/dist/cli/commands/log-commands.d.ts +1 -1
- package/dist/cli/commands/log-commands.js +8 -6
- package/dist/cli/commands/loop-commands.d.ts +1 -1
- package/dist/cli/commands/loop-commands.js +50 -50
- package/dist/cli/commands/loop-eval-commands.d.ts +1 -1
- package/dist/cli/commands/loop-eval-commands.js +101 -30
- package/dist/cli/commands/memory-commands.js +21 -13
- package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
- package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +2 -2
- package/dist/cli/commands/mut-commands-helpers.d.ts +30 -0
- package/dist/cli/commands/mut-commands-helpers.js +43 -0
- package/dist/cli/commands/mut-commands.js +16 -58
- package/dist/cli/commands/observability-commands-queries.d.ts +37 -0
- package/dist/cli/commands/observability-commands-queries.js +113 -0
- package/dist/cli/commands/observability-commands.d.ts +1 -1
- package/dist/cli/commands/observability-commands.js +7 -92
- package/dist/cli/commands/openspec-commands.d.ts +1 -1
- package/dist/cli/commands/openspec-commands.js +20 -8
- package/dist/cli/commands/outer-cache-commands.js +18 -7
- package/dist/cli/commands/perf-audit-commands.d.ts +1 -1
- package/dist/cli/commands/perf-audit-commands.js +12 -7
- package/dist/cli/commands/perf-commands.d.ts +1 -1
- package/dist/cli/commands/perf-commands.js +5 -5
- package/dist/cli/commands/playwright-commands.d.ts +1 -1
- package/dist/cli/commands/playwright-commands.js +20 -8
- package/dist/cli/commands/polyrepo-commands.js +21 -19
- package/dist/cli/commands/prd-blocks-commands.js +1 -3
- package/dist/cli/commands/prd-commands.d.ts +1 -1
- package/dist/cli/commands/prd-commands.js +21 -2
- package/dist/cli/commands/preferences-commands.js +13 -12
- package/dist/cli/commands/primer-command.js +5 -5
- package/dist/cli/commands/project-commands.d.ts +1 -1
- package/dist/cli/commands/project-commands.js +33 -9
- package/dist/cli/commands/qa-business-review-commands.js +16 -12
- package/dist/cli/commands/qa-commands.d.ts +1 -1
- package/dist/cli/commands/qa-commands.js +3 -5
- package/dist/cli/commands/release-commands.d.ts +3 -1
- package/dist/cli/commands/release-commands.js +33 -22
- package/dist/cli/commands/request-commands.js +47 -30
- package/dist/cli/commands/request-format-helpers.js +1 -1
- package/dist/cli/commands/retrospective-commands.d.ts +18 -11
- package/dist/cli/commands/retrospective-commands.js +24 -173
- package/dist/cli/commands/retrospective-index-command.d.ts +26 -0
- package/dist/cli/commands/retrospective-index-command.js +99 -0
- package/dist/cli/commands/retrospective-project-root.d.ts +9 -0
- package/dist/cli/commands/retrospective-project-root.js +15 -0
- package/dist/cli/commands/retrospective-search-command.d.ts +27 -0
- package/dist/cli/commands/retrospective-search-command.js +97 -0
- package/dist/cli/commands/retrospective-show-command.d.ts +23 -0
- package/dist/cli/commands/retrospective-show-command.js +80 -0
- package/dist/cli/commands/reviewer-commands.d.ts +1 -1
- package/dist/cli/commands/role-commands.js +14 -9
- package/dist/cli/commands/runtime-commands.js +14 -7
- package/dist/cli/commands/sc-commands.d.ts +1 -1
- package/dist/cli/commands/sc-commands.js +39 -6
- package/dist/cli/commands/scan-commands.js +36 -13
- package/dist/cli/commands/security-audit-commands.d.ts +1 -1
- package/dist/cli/commands/security-audit-commands.js +12 -7
- package/dist/cli/commands/sediment-commands.d.ts +2 -2
- package/dist/cli/commands/sediment-commands.js +146 -139
- package/dist/cli/commands/session-24h-mode.js +15 -2
- package/dist/cli/commands/session-checkpoint-command.js +1 -1
- package/dist/cli/commands/session-migrate-skill-name.js +1 -1
- package/dist/cli/commands/shadcn-commands.d.ts +1 -1
- package/dist/cli/commands/shadcn-commands.js +3 -1
- package/dist/cli/commands/share-commands.js +38 -39
- package/dist/cli/commands/skill-conformance-commands.d.ts +1 -1
- package/dist/cli/commands/skill-conformance-commands.js +1 -1
- package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +16 -17
- package/dist/cli/commands/skill-visibility.js +2 -2
- package/dist/cli/commands/slice-commands.d.ts +1 -1
- package/dist/cli/commands/slice-commands.js +36 -12
- package/dist/cli/commands/slice-integrate-commands.js +6 -7
- package/dist/cli/commands/slice-review-commands-helpers.d.ts +26 -0
- package/dist/cli/commands/slice-review-commands-helpers.js +26 -0
- package/dist/cli/commands/slice-review-commands.js +16 -24
- package/dist/cli/commands/smoke-commands-add-path.d.ts +14 -0
- package/dist/cli/commands/smoke-commands-add-path.js +39 -0
- package/dist/cli/commands/smoke-commands-define.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-define.js +97 -0
- package/dist/cli/commands/smoke-commands-run.d.ts +18 -0
- package/dist/cli/commands/smoke-commands-run.js +119 -0
- package/dist/cli/commands/smoke-commands.d.ts +10 -1
- package/dist/cli/commands/smoke-commands.js +17 -179
- package/dist/cli/commands/sop-commands.d.ts +1 -1
- package/dist/cli/commands/sop-commands.js +38 -10
- package/dist/cli/commands/statusline-commands.d.ts +1 -1
- package/dist/cli/commands/statusline-commands.js +21 -10
- package/dist/cli/commands/sub-agent/detached.js +3 -3
- package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +1 -1
- package/dist/cli/commands/sub-agent-shared.d.ts +23 -0
- package/dist/cli/commands/sub-agent-shared.js +40 -1
- package/dist/cli/commands/sub-agent-shutdown-commands.js +17 -9
- package/dist/cli/commands/swarm-commands.d.ts +1 -1
- package/dist/cli/commands/swarm-commands.js +13 -6
- package/dist/cli/commands/tech-commands-helpers.d.ts +37 -0
- package/dist/cli/commands/tech-commands-helpers.js +24 -0
- package/dist/cli/commands/tech-commands.d.ts +2 -29
- package/dist/cli/commands/tech-commands.js +15 -28
- package/dist/cli/commands/test-commands.js +27 -7
- package/dist/cli/commands/upgrade-commands.d.ts +1 -1
- package/dist/cli/commands/user-touchpoint-commands.js +1 -3
- package/dist/cli/commands/verdict-aggregate-command.d.ts +1 -1
- package/dist/cli/commands/verdict-aggregate-command.js +20 -7
- package/dist/cli/commands/vm-commands.js +48 -19
- package/dist/cli/commands/wave-plan-commands.js +5 -2
- package/dist/cli/commands/web-commands.js +14 -4
- package/dist/cli/commands/web-lifecycle-commands.js +5 -3
- package/dist/cli/commands/workflow-commands.d.ts +1 -1
- package/dist/cli/commands/workflow-commands.js +64 -29
- package/dist/cli/commands/workflow-lifecycle-commands.js +19 -17
- package/dist/cli/commands/workflow-plan-commands-actions.d.ts +20 -0
- package/dist/cli/commands/workflow-plan-commands-actions.js +115 -0
- package/dist/cli/commands/workflow-plan-commands-session.d.ts +17 -0
- package/dist/cli/commands/workflow-plan-commands-session.js +59 -0
- package/dist/cli/commands/workflow-plan-commands.d.ts +10 -21
- package/dist/cli/commands/workflow-plan-commands.js +15 -141
- package/dist/cli/commands/workspace/clean-command.js +4 -1
- package/dist/cli/commands/workspace/helpers.js +2 -1
- package/dist/cli/commands/workspace/init-command.js +80 -20
- package/dist/cli/commands/workspace/reconcile-command.js +3 -1
- package/dist/cli/commands/workspace-commands.d.ts +1 -1
- package/dist/cli/commands/workspace-commands.js +1 -1
- package/dist/cli/commands/worktree-auth-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-auth-commands.js +16 -169
- package/dist/cli/commands/worktree-auth-grant-command.d.ts +14 -0
- package/dist/cli/commands/worktree-auth-grant-command.js +118 -0
- package/dist/cli/commands/worktree-auth-manage-commands.d.ts +17 -0
- package/dist/cli/commands/worktree-auth-manage-commands.js +128 -0
- package/dist/cli/commands/worktree-lease-commands.d.ts +1 -1
- package/dist/cli/commands/worktree-lease-commands.js +65 -37
- package/dist/cli/index.js +6 -2
- package/dist/cli/program.js +6 -3
- package/dist/hooks/pre-tool-use-sub-agent.js +1 -6
- package/dist/reporters/bdd-reporter.js +9 -3
- package/dist/services/24h-mode/auto-engage.d.ts +19 -0
- package/dist/services/24h-mode/auto-engage.js +35 -0
- package/dist/services/24h-mode/decider.js +5 -1
- package/dist/services/24h-mode/store.js +4 -2
- package/dist/services/adapter/adapter-registry.js +20 -8
- package/dist/services/adapter/adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.d.ts +2 -2
- package/dist/services/adapter/auto-adapter.js +1 -1
- package/dist/services/adapter/claude-adapter.d.ts +1 -1
- package/dist/services/adapter/claude-adapter.js +8 -8
- package/dist/services/adapter/codex-adapter.d.ts +2 -2
- package/dist/services/adapter/codex-adapter.js +20 -8
- package/dist/services/adapter/copilot-adapter.d.ts +2 -2
- package/dist/services/adapter/copilot-adapter.js +20 -8
- package/dist/services/artifacts/artifact-prerequisites.js +44 -8
- package/dist/services/artifacts/artifact-service.js +3 -1
- package/dist/services/artifacts/artifact-template-bodies.d.ts +12 -0
- package/dist/services/artifacts/artifact-template-bodies.js +165 -0
- package/dist/services/artifacts/artifact-templates.js +26 -168
- package/dist/services/artifacts/request-artifact-service.js +14 -7
- package/dist/services/artifacts/request-artifact-state-helpers.d.ts +3 -2
- package/dist/services/artifacts/request-artifact-state-helpers.js +3 -5
- package/dist/services/artifacts/workspace-artifact-helpers.d.ts +28 -0
- package/dist/services/artifacts/workspace-artifact-helpers.js +54 -0
- package/dist/services/artifacts/workspace-service.d.ts +3 -22
- package/dist/services/artifacts/workspace-service.js +10 -60
- package/dist/services/audit/artifact-writer.js +21 -21
- package/dist/services/audit/audit-goal-service.js +2 -2
- package/dist/services/audit/backing-detector.js +7 -4
- package/dist/services/audit/classifier.js +3 -3
- package/dist/services/audit/decision-writer.js +13 -9
- package/dist/services/audit/enforcer-liveness.js +1 -1
- package/dist/services/audit/enforcers/active-skill-resolver.js +15 -7
- package/dist/services/audit/enforcers/design-draft-confirm.js +4 -4
- package/dist/services/audit/enforcers/lint-audit-regression.js +10 -5
- package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +16 -8
- package/dist/services/audit/enforcers/lint-catalog-governance.js +8 -4
- package/dist/services/audit/enforcers/lint-output-style.js +4 -2
- package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +8 -3
- package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +20 -20
- package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +5 -5
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +1 -1
- package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +5 -5
- package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +10 -10
- package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +10 -8
- package/dist/services/audit/enforcers/lint-reference-shape.js +50 -18
- package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +5 -5
- package/dist/services/audit/enforcers/lint-style.js +44 -11
- package/dist/services/audit/enforcers/lint-workflow-shape.js +4 -2
- package/dist/services/audit/enforcers/login-gate.js +2 -6
- package/dist/services/audit/enforcers/mock-placement.js +2 -2
- package/dist/services/audit/enforcers/no-root-pollution.js +38 -9
- package/dist/services/audit/enforcers/pre-rd-scan.js +1 -1
- package/dist/services/audit/enforcers/prototype-fidelity.js +1 -1
- package/dist/services/audit/enforcers/resume-detection.js +5 -4
- package/dist/services/audit/prose-ratio-calculator.js +1 -1
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +39 -0
- package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.d.ts +52 -0
- package/dist/services/audit/red-line-catalog-p2-a-lint-style.js +205 -0
- package/dist/services/audit/red-line-catalog-p2-a.js +3 -374
- package/dist/services/audit/red-line-catalog-p2-b.js +26 -26
- package/dist/services/audit/red-line-catalog.js +26 -38
- package/dist/services/audit/red-lines-service.js +64 -49
- package/dist/services/audit/scanners/openspec-scanner.js +2 -2
- package/dist/services/audit/scanners/rules-tree-scanner.js +2 -2
- package/dist/services/audit/scanners/skills-tree-scanner.js +2 -2
- package/dist/services/audit/static-service.js +3 -3
- package/dist/services/audit-independent/index.d.ts +2 -2
- package/dist/services/audit-independent/index.js +2 -2
- package/dist/services/audit-independent/perf-audit-service.js +19 -8
- package/dist/services/audit-independent/security-audit-service.js +31 -16
- package/dist/services/autonomous-swarm/autonomous-swarm-service.js +75 -46
- package/dist/services/best-practice/output-formatter.js +7 -1
- package/dist/services/capability-audit-service/cross-check.js +11 -5
- package/dist/services/capability-audit-service/runner.js +15 -7
- package/dist/services/capability-baseline/store.js +16 -4
- package/dist/services/capability-baseline/types.js +15 -3
- package/dist/services/capability-baseline/validator.js +43 -7
- package/dist/services/capability-guard-runner/contracts/J02.js +36 -6
- package/dist/services/capability-guard-runner/contracts/J03.js +20 -11
- package/dist/services/capability-guard-runner/contracts/J04.js +24 -15
- package/dist/services/capability-guard-runner/contracts/J05.js +26 -10
- package/dist/services/capability-guard-runner/contracts/J07.js +8 -2
- package/dist/services/capability-guard-runner/contracts/J08.js +22 -5
- package/dist/services/capability-guard-runner/contracts/J10.js +6 -2
- package/dist/services/capability-guard-runner/contracts/J11.d.ts +5 -0
- package/dist/services/capability-guard-runner/contracts/J11.js +14 -2
- package/dist/services/capability-guard-runner/contracts/J12.js +12 -3
- package/dist/services/capability-guard-runner/diff.js +1 -5
- package/dist/services/changeset/changeset-check-service.js +1 -3
- package/dist/services/classify/classify-service.js +20 -8
- package/dist/services/classify/classify-types.js +22 -9
- package/dist/services/code/auto-compact-lifecycle.js +62 -39
- package/dist/services/code/auto-compact-modes.js +2 -2
- package/dist/services/code/auto-compact-orchestrator.js +14 -9
- package/dist/services/code/batch-heartbeat-poller.d.ts +10 -0
- package/dist/services/code/batch-heartbeat-poller.js +17 -1
- package/dist/services/code/compact-event-settle-types.d.ts +80 -0
- package/dist/services/code/compact-event-settle-types.js +20 -0
- package/dist/services/code/compact-event-settle.d.ts +3 -68
- package/dist/services/code/compact-event-settle.js +14 -10
- package/dist/services/code/dag-orchestrator.js +32 -26
- package/dist/services/code/job-shape-decision.js +3 -1
- package/dist/services/code/mode-gate-types.d.ts +57 -0
- package/dist/services/code/mode-gate-types.js +67 -0
- package/dist/services/code/mode-gate.d.ts +4 -58
- package/dist/services/code/mode-gate.js +24 -60
- package/dist/services/code/orchestrator-can-do-advisories.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-advisories.js +81 -0
- package/dist/services/code/orchestrator-can-do-probes.d.ts +30 -0
- package/dist/services/code/orchestrator-can-do-probes.js +77 -0
- package/dist/services/code/orchestrator-can-do.d.ts +11 -22
- package/dist/services/code/orchestrator-can-do.js +37 -137
- package/dist/services/code/post-compact-checkpoint.d.ts +28 -0
- package/dist/services/code/post-compact-checkpoint.js +57 -0
- package/dist/services/code/post-compact-detector.js +16 -48
- package/dist/services/code/step-08-gate.d.ts +4 -3
- package/dist/services/code/step-08-gate.js +21 -9
- package/dist/services/code-review/ecc-bridge.js +23 -23
- package/dist/services/codegraph/codegraph-autorefresh.js +56 -39
- package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +44 -0
- package/dist/services/codegraph/codegraph-config-repair-writer.js +116 -14
- package/dist/services/codegraph/codegraph-exclude-integrity.js +4 -1
- package/dist/services/codegraph/codegraph-exclude-repair.d.ts +23 -1
- package/dist/services/codegraph/codegraph-exclude-repair.js +7 -2
- package/dist/services/codegraph/codegraph-index-integrity.js +1 -1
- package/dist/services/codegraph/codegraph-preflight-service.d.ts +3 -26
- package/dist/services/codegraph/codegraph-preflight-service.js +16 -37
- package/dist/services/codegraph/codegraph-preflight-structure.d.ts +32 -0
- package/dist/services/codegraph/codegraph-preflight-structure.js +33 -0
- package/dist/services/codegraph/codegraph-process-runner.js +12 -1
- package/dist/services/codegraph/codegraph-service.js +9 -1
- package/dist/services/compact/request-transition-hook.js +2 -1
- package/dist/services/compact/suggest-service.d.ts +3 -61
- package/dist/services/compact/suggest-service.js +9 -12
- package/dist/services/compact/suggest-types.d.ts +76 -0
- package/dist/services/compact/suggest-types.js +10 -0
- package/dist/services/compact-history/compact-history-service.js +2 -2
- package/dist/services/compact-statusline/compact-lifecycle-store.d.ts +2 -32
- package/dist/services/compact-statusline/compact-lifecycle-store.js +7 -12
- package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +32 -0
- package/dist/services/compact-statusline/compact-lifecycle-types.js +8 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.d.ts +42 -0
- package/dist/services/compact-statusline/compact-statusline-cell-table.js +63 -0
- package/dist/services/compact-statusline/compact-statusline-service.d.ts +4 -21
- package/dist/services/compact-statusline/compact-statusline-service.js +9 -101
- package/dist/services/compact-statusline/compact-statusline-state.d.ts +4 -0
- package/dist/services/compact-statusline/compact-statusline-state.js +50 -0
- package/dist/services/config/config-migration.js +2 -2
- package/dist/services/config/config-restore.js +1 -1
- package/dist/services/config/config-rollback.js +1 -1
- package/dist/services/config/config-safety.js +28 -10
- package/dist/services/config/config-service.js +114 -31
- package/dist/services/config/model-routing.js +5 -2
- package/dist/services/config/proxy-service.js +6 -1
- package/dist/services/config/workspace-state-service.js +17 -5
- package/dist/services/context/auto-compact-dispatcher-input.d.ts +38 -0
- package/dist/services/context/auto-compact-dispatcher-input.js +9 -0
- package/dist/services/context/auto-compact-dispatcher.d.ts +2 -30
- package/dist/services/context/auto-compact-reader-input.d.ts +30 -0
- package/dist/services/context/auto-compact-reader-input.js +8 -0
- package/dist/services/context/auto-compact-reader.d.ts +2 -24
- package/dist/services/context/auto-compact-reader.js +4 -1
- package/dist/services/context/auto-compact-thresholds.d.ts +54 -0
- package/dist/services/context/auto-compact-thresholds.js +19 -0
- package/dist/services/context/auto-compact-types.d.ts +2 -46
- package/dist/services/context/auto-compact-types.js +1 -11
- package/dist/services/context/build-dispatch-system-prompt.js +2 -2
- package/dist/services/context/collector.js +8 -10
- package/dist/services/context/context-audit-hint.js +7 -5
- package/dist/services/context/context-audit-keys.d.ts +15 -0
- package/dist/services/context/context-audit-keys.js +77 -0
- package/dist/services/context/context-audit-limits.d.ts +20 -0
- package/dist/services/context/context-audit-limits.js +31 -0
- package/dist/services/context/context-audit-scan.d.ts +19 -0
- package/dist/services/context/context-audit-scan.js +246 -0
- package/dist/services/context/context-audit-types.d.ts +65 -0
- package/dist/services/context/context-audit-types.js +10 -0
- package/dist/services/context/context-audit.d.ts +13 -59
- package/dist/services/context/context-audit.js +38 -254
- package/dist/services/context/context-builder.js +4 -4
- package/dist/services/context/context-schema.d.ts +1 -1
- package/dist/services/context/context-schema.js +13 -13
- package/dist/services/context/doc-retriever.js +2 -2
- package/dist/services/context/harness-context-witness.js +43 -24
- package/dist/services/context/harness-window-config.js +27 -7
- package/dist/services/context/ide-detect.js +2 -1
- package/dist/services/context/index.d.ts +1 -1
- package/dist/services/context/memory-index-reader.js +3 -9
- package/dist/services/context/memory-preflight-config.js +3 -5
- package/dist/services/context/memory-preflight-service.d.ts +2 -20
- package/dist/services/context/memory-preflight-service.js +37 -68
- package/dist/services/context/memory-preflight-support.d.ts +48 -0
- package/dist/services/context/memory-preflight-support.js +56 -0
- package/dist/services/context/post-compact-reinjection.js +3 -3
- package/dist/services/context/renderer.js +7 -3
- package/dist/services/context/spillover-store.js +3 -1
- package/dist/services/context/summary-view.js +1 -1
- package/dist/services/context/threshold.js +2 -2
- package/dist/services/context/tokenizer.js +3 -3
- package/dist/services/crystallization/crystallization-brief-schema.d.ts +80 -0
- package/dist/services/crystallization/crystallization-brief-schema.js +159 -0
- package/dist/services/crystallization/crystallization-service.d.ts +7 -7
- package/dist/services/crystallization/crystallization-service.js +56 -55
- package/dist/services/crystallization/crystallization-store.d.ts +2 -2
- package/dist/services/crystallization/crystallization-store.js +37 -20
- package/dist/services/crystallization/crystallization-types.d.ts +4 -56
- package/dist/services/crystallization/crystallization-types.js +31 -184
- package/dist/services/crystallization/evidence-brief-builder.d.ts +3 -3
- package/dist/services/crystallization/evidence-brief-builder.js +32 -38
- package/dist/services/crystallization/index.d.ts +4 -4
- package/dist/services/crystallization/index.js +4 -4
- package/dist/services/dashboard/project-dashboard-service.js +7 -1
- package/dist/services/dispatch/await-batch-helpers.d.ts +55 -0
- package/dist/services/dispatch/await-batch-helpers.js +206 -0
- package/dist/services/dispatch/await-batch.d.ts +50 -7
- package/dist/services/dispatch/await-batch.js +97 -194
- package/dist/services/dispatch/batch-counter.js +2 -1
- package/dist/services/dispatch/conflict-replay.js +2 -2
- package/dist/services/dispatch/contract-store.js +5 -2
- package/dist/services/dispatch/dispatch-record-input-types.d.ts +81 -0
- package/dist/services/dispatch/dispatch-record-input-types.js +1 -0
- package/dist/services/dispatch/dispatch-record-types.d.ts +6 -73
- package/dist/services/dispatch/dispatch-record-upgrade-fields.d.ts +72 -0
- package/dist/services/dispatch/dispatch-record-upgrade-fields.js +242 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.d.ts +15 -0
- package/dist/services/dispatch/dispatch-record-upgrade-guards.js +55 -0
- package/dist/services/dispatch/dispatch-record-upgrade.d.ts +2 -4
- package/dist/services/dispatch/dispatch-record-upgrade.js +21 -213
- package/dist/services/dispatch/dispatch-record-writer.js +54 -26
- package/dist/services/dispatch/dispatch-sub-agent.js +7 -2
- package/dist/services/dispatch/e2e-fixtures.js +1 -1
- package/dist/services/dispatch/isolation-lease.js +39 -17
- package/dist/services/dispatch/merge-back-runner.js +51 -11
- package/dist/services/dispatch/service-shutdown.js +4 -1
- package/dist/services/dispatch/slice-dag-types.d.ts +116 -0
- package/dist/services/dispatch/slice-dag-types.js +41 -0
- package/dist/services/dispatch/slice-dag.d.ts +3 -109
- package/dist/services/dispatch/slice-dag.js +13 -36
- package/dist/services/dispatch/sub-agent-batch-await.d.ts +47 -0
- package/dist/services/dispatch/sub-agent-batch-await.js +73 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +122 -0
- package/dist/services/dispatch/sub-agent-dispatcher-types.js +12 -0
- package/dist/services/dispatch/sub-agent-dispatcher.d.ts +3 -145
- package/dist/services/dispatch/sub-agent-dispatcher.js +14 -70
- package/dist/services/dispatch/test-tool-detection.js +12 -1
- package/dist/services/doc/doc-generator.js +19 -4
- package/dist/services/doctor/doctor-service/checks/check-id-schema.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +7 -2
- package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +26 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-exclude-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +16 -8
- package/dist/services/doctor/doctor-service/checks/dist-source-version.js +18 -9
- package/dist/services/doctor/doctor-service/checks/ecc-hooks-schema-drift.js +20 -10
- package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +18 -9
- package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +25 -11
- package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +12 -6
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +7 -16
- package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +50 -70
- package/dist/services/doctor/doctor-service/checks/schema-validity.js +5 -1
- package/dist/services/doctor/doctor-service/checks/skill-presence.js +4 -2
- package/dist/services/doctor/doctor-service/checks/statusline-install.js +8 -4
- package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +8 -4
- package/dist/services/doctor/doctor-service/checks/user-config.js +4 -2
- package/dist/services/doctor/doctor-service/checks/workspace-init.js +8 -4
- package/dist/services/doctor/doctor-service/checks/workspace-layout.js +19 -11
- package/dist/services/doctor/doctor-service/index.js +4 -2
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.d.ts +40 -0
- package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.js +49 -0
- package/dist/services/doctor/doctor-service/plugin-registry.js +1 -1
- package/dist/services/doctor/doctor-service/probe-types.d.ts +210 -0
- package/dist/services/doctor/doctor-service/probe-types.js +14 -0
- package/dist/services/doctor/doctor-service/types.d.ts +7 -197
- package/dist/services/doctor/index.d.ts +1 -1
- package/dist/services/doctor/index.js +1 -1
- package/dist/services/env/shell-probe.js +8 -2
- package/dist/services/evidence/evidence-body-builders.d.ts +23 -0
- package/dist/services/evidence/evidence-body-builders.js +197 -0
- package/dist/services/evidence/evidence-generator.js +16 -189
- package/dist/services/evolution/evolution-constraints.d.ts +43 -0
- package/dist/services/evolution/evolution-constraints.js +54 -0
- package/dist/services/evolution/evolution-evaluation-schema.d.ts +43 -0
- package/dist/services/evolution/evolution-evaluation-schema.js +43 -0
- package/dist/services/evolution/evolution-service.d.ts +6 -6
- package/dist/services/evolution/evolution-service.js +58 -58
- package/dist/services/evolution/evolution-store.d.ts +2 -2
- package/dist/services/evolution/evolution-store.js +37 -51
- package/dist/services/evolution/evolution-types.d.ts +2 -22
- package/dist/services/evolution/evolution-types.js +41 -101
- package/dist/services/evolution/independent-evaluator-runner.d.ts +3 -3
- package/dist/services/evolution/independent-evaluator-runner.js +20 -22
- package/dist/services/evolution/regression-skeptic-runner.d.ts +2 -2
- package/dist/services/evolution/regression-skeptic-runner.js +18 -18
- package/dist/services/feedback/feedback-promotion-service.js +48 -12
- package/dist/services/feedback/promotion-artifact-evidence.d.ts +2 -16
- package/dist/services/feedback/promotion-artifact-evidence.js +6 -83
- package/dist/services/feedback/promotion-artifact-json-evidence.d.ts +29 -0
- package/dist/services/feedback/promotion-artifact-json-evidence.js +39 -0
- package/dist/services/feedback/promotion-source-comments.d.ts +47 -0
- package/dist/services/feedback/promotion-source-comments.js +61 -0
- package/dist/services/final-review/final-review-contract.d.ts +26 -0
- package/dist/services/final-review/final-review-contract.js +14 -0
- package/dist/services/final-review/final-review-delivery.d.ts +63 -0
- package/dist/services/final-review/final-review-delivery.js +124 -0
- package/dist/services/final-review/final-review-evidence-budget.d.ts +125 -0
- package/dist/services/final-review/final-review-evidence-budget.js +218 -0
- package/dist/services/final-review/final-review-evidence-collect.d.ts +4 -0
- package/dist/services/final-review/final-review-evidence-collect.js +230 -0
- package/dist/services/final-review/final-review-evidence-sources.d.ts +138 -0
- package/dist/services/final-review/final-review-evidence-sources.js +139 -0
- package/dist/services/final-review/final-review-fifth-dim.d.ts +8 -0
- package/dist/services/final-review/final-review-fifth-dim.js +20 -0
- package/dist/services/final-review/final-review-gates.d.ts +119 -0
- package/dist/services/final-review/final-review-gates.js +214 -0
- package/dist/services/final-review/final-review-output-budget.d.ts +88 -0
- package/dist/services/final-review/final-review-output-budget.js +161 -0
- package/dist/services/final-review/final-review-prompt.d.ts +35 -0
- package/dist/services/final-review/final-review-prompt.js +112 -0
- package/dist/services/final-review/final-review-reviewer.d.ts +57 -0
- package/dist/services/final-review/final-review-reviewer.js +95 -0
- package/dist/services/final-review/final-review-runner.d.ts +3 -0
- package/dist/services/final-review/final-review-runner.js +158 -0
- package/dist/services/final-review/final-review-service.d.ts +119 -373
- package/dist/services/final-review/final-review-service.js +48 -1380
- package/dist/services/final-review/final-review-verdicts.d.ts +60 -0
- package/dist/services/final-review/final-review-verdicts.js +91 -0
- package/dist/services/final-review/index.d.ts +3 -3
- package/dist/services/final-review/index.js +2 -2
- package/dist/services/final-review/pre-post-diff.js +32 -29
- package/dist/services/fixture/fixture-capture-service.js +14 -6
- package/dist/services/fresh-context/trigger-scan.js +13 -2
- package/dist/services/fuzzy-matching/fuzzy-match-service.js +1 -1
- package/dist/services/fuzzy-matching/fzf-pick-service.js +6 -1
- package/dist/services/hooks/pre-tool-code-gate.js +2 -2
- package/dist/services/hooks/presence-marker-detector.js +12 -2
- package/dist/services/hooks/worktree-authorization-gate.js +21 -7
- package/dist/services/ide/adapters/claude-code-adapter.js +30 -17
- package/dist/services/ide/adapters/codex-adapter.js +3 -5
- package/dist/services/ide/adapters/cursor-adapter.js +3 -5
- package/dist/services/ide/adapters/hermes-adapter.js +2 -4
- package/dist/services/ide/adapters/openclaw-adapter.js +2 -4
- package/dist/services/ide/adapters/qoder-adapter.js +2 -4
- package/dist/services/ide/adapters/tongyi-lingma-adapter.js +1 -1
- package/dist/services/ide/adapters/trae-adapter.js +3 -5
- package/dist/services/ide/adapters/zcode-adapter.js +8 -7
- package/dist/services/ide/current-model-detector.js +2 -1
- package/dist/services/ide/ide-compact-types.d.ts +153 -0
- package/dist/services/ide/ide-compact-types.js +1 -0
- package/dist/services/ide/ide-registry.js +1 -1
- package/dist/services/ide/ide-types.d.ts +7 -145
- package/dist/services/ide/resource-profile.js +1 -1
- package/dist/services/ide/shared/atomic-json.js +2 -1
- package/dist/services/impact/impact-scan-service.js +12 -5
- package/dist/services/job/job-commit-verification.d.ts +73 -0
- package/dist/services/job/job-commit-verification.js +72 -0
- package/dist/services/job/job-orchestrator.d.ts +42 -0
- package/dist/services/job/job-orchestrator.js +110 -10
- package/dist/services/job/job-progress-store.d.ts +75 -5
- package/dist/services/job/job-progress-store.js +83 -6
- package/dist/services/job/job-rotation.d.ts +1 -1
- package/dist/services/job/job-rotation.js +5 -1
- package/dist/services/job/job-state-store.js +2 -2
- package/dist/services/job/job-types.js +49 -20
- package/dist/services/job/subagent-job-wrapper.d.ts +1 -1
- package/dist/services/job/subagent-job-wrapper.js +5 -1
- package/dist/services/job-snapshot/snapshot.js +2 -2
- package/dist/services/karpathy-cost/karpathy-cost-check-service.js +23 -13
- package/dist/services/legacy/legacy-detector.js +51 -5
- package/dist/services/lint/detect-eslint.js +10 -4
- package/dist/services/lint/detect-ocr-18.js +11 -3
- package/dist/services/lint/eslint-runner-support.d.ts +22 -0
- package/dist/services/lint/eslint-runner-support.js +185 -0
- package/dist/services/lint/eslint-runner-types.d.ts +69 -0
- package/dist/services/lint/eslint-runner-types.js +11 -0
- package/dist/services/lint/eslint-runner.d.ts +4 -56
- package/dist/services/lint/eslint-runner.js +24 -178
- package/dist/services/lint/npx-resolver.js +1 -3
- package/dist/services/lint/ocr-18-acquire.js +15 -4
- package/dist/services/lint/ocr-multilang-adapter.js +4 -5
- package/dist/services/llm/anthropic-runner.js +4 -1
- package/dist/services/log/log-commands-service.js +2 -6
- package/dist/services/log/logger.js +15 -12
- package/dist/services/log/retention.js +3 -2
- package/dist/services/loop/evaluator-dispatcher.js +78 -42
- package/dist/services/loop/loop-bee-relation-service.d.ts +4 -4
- package/dist/services/loop/loop-bee-relation-service.js +36 -40
- package/dist/services/loop/loop-bee-relation-store.d.ts +3 -3
- package/dist/services/loop/loop-bee-relation-store.js +9 -11
- package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
- package/dist/services/loop/loop-bee-relation-types.js +14 -25
- package/dist/services/loop/loop-release-service.d.ts +2 -2
- package/dist/services/loop/loop-release-service.js +3 -3
- package/dist/services/loop/loop-release-store.d.ts +2 -2
- package/dist/services/loop/loop-release-store.js +4 -6
- package/dist/services/loop/loop-release-types.d.ts +1 -1
- package/dist/services/loop/loop-release-types.js +21 -31
- package/dist/services/loop/monotonic-guard-types.d.ts +51 -0
- package/dist/services/loop/monotonic-guard-types.js +9 -0
- package/dist/services/loop/monotonic-guard.d.ts +2 -43
- package/dist/services/loop/monotonic-runner-types.d.ts +63 -0
- package/dist/services/loop/monotonic-runner-types.js +17 -0
- package/dist/services/loop/monotonic-runner.d.ts +3 -34
- package/dist/services/loop/monotonic-runner.js +10 -20
- package/dist/services/loop/run-driver.js +16 -8
- package/dist/services/loop/spec-service.d.ts +0 -5
- package/dist/services/loop/spec-service.js +49 -9
- package/dist/services/memory/llm-reranker-core.d.ts +108 -0
- package/dist/services/memory/llm-reranker-core.js +105 -0
- package/dist/services/memory/llm-reranker.d.ts +3 -94
- package/dist/services/memory/llm-reranker.js +13 -102
- package/dist/services/memory/memory-ingest-service.d.ts +1 -22
- package/dist/services/memory/memory-ingest-service.js +29 -76
- package/dist/services/memory/memory-ingest-support.d.ts +23 -0
- package/dist/services/memory/memory-ingest-support.js +81 -0
- package/dist/services/memory/memory-rotate-service.js +41 -8
- package/dist/services/memory/memory-search-service.js +8 -4
- package/dist/services/memory/project-context-service.js +26 -5
- package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +2 -7
- package/dist/services/memory/project-memory-service/index/kind-dispatch.js +17 -136
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.d.ts +7 -0
- package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.js +150 -0
- package/dist/services/memory/project-memory-service/index/ranking.js +6 -3
- package/dist/services/memory/project-memory-service/index/reindex.js +14 -5
- package/dist/services/memory/project-memory-service/index.d.ts +1 -1
- package/dist/services/memory/project-memory-service/index.js +1 -1
- package/dist/services/memory/project-memory-service/memory-kinds.d.ts +31 -0
- package/dist/services/memory/project-memory-service/memory-kinds.js +87 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.d.ts +24 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.js +104 -0
- package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +2 -24
- package/dist/services/memory/project-memory-service/parsers/frontmatter.js +28 -79
- package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +15 -3
- package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +59 -0
- package/dist/services/memory/project-memory-service/store/atomic-write.js +189 -17
- package/dist/services/memory/project-memory-service/store/paths.js +2 -1
- package/dist/services/memory/project-memory-service/types.d.ts +3 -31
- package/dist/services/memory/project-memory-service/types.js +1 -76
- package/dist/services/migrate-skill-name/migrate.js +1 -1
- package/dist/services/migrate-skill-name/schema.js +1 -1
- package/dist/services/mode/mode-enforcement.js +4 -2
- package/dist/services/mode/mode-status-service.d.ts +27 -9
- package/dist/services/mode/mode-status-service.js +64 -12
- package/dist/services/observability/aggregation-helpers.d.ts +22 -0
- package/dist/services/observability/aggregation-helpers.js +65 -0
- package/dist/services/observability/aggregation-types.d.ts +66 -0
- package/dist/services/observability/aggregation-types.js +34 -0
- package/dist/services/observability/aggregation.d.ts +5 -53
- package/dist/services/observability/aggregation.js +17 -80
- package/dist/services/observability/jsonl-store.js +2 -1
- package/dist/services/observability/observability-schema.d.ts +71 -0
- package/dist/services/observability/observability-schema.js +64 -0
- package/dist/services/observability/observability-service.d.ts +3 -56
- package/dist/services/observability/observability-service.js +9 -49
- package/dist/services/openspec/coverage-evidence-reader.js +18 -11
- package/dist/services/openspec/openspec-archive-service.js +31 -24
- package/dist/services/openspec/openspec-init-service.js +8 -2
- package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
- package/dist/services/openspec/openspec-scan-service.js +4 -1
- package/dist/services/openspec/openspec-validate-service.js +26 -5
- package/dist/services/perf/perf-baseline-service.js +2 -6
- package/dist/services/polyrepo/polyrepo-dispatcher.js +2 -1
- package/dist/services/polyrepo/polyrepo-scanner.js +4 -1
- package/dist/services/prd/gate-evidence-derivation.d.ts +160 -0
- package/dist/services/prd/gate-evidence-derivation.js +270 -0
- package/dist/services/prd/handoff-auto-regen.js +13 -1
- package/dist/services/prd/handoff-frontmatter-shape.d.ts +42 -0
- package/dist/services/prd/handoff-frontmatter-shape.js +67 -0
- package/dist/services/prd/handoff-frontmatter.d.ts +1 -1
- package/dist/services/prd/handoff-frontmatter.js +63 -1
- package/dist/services/prd/handoff-gate-evidence.d.ts +95 -1
- package/dist/services/prd/handoff-gate-evidence.js +125 -57
- package/dist/services/prd/handoff-path-resolution.d.ts +37 -0
- package/dist/services/prd/handoff-path-resolution.js +101 -0
- package/dist/services/prd/handoff-service.d.ts +22 -38
- package/dist/services/prd/handoff-service.js +38 -127
- package/dist/services/prd/handoff-types.d.ts +40 -0
- package/dist/services/prd/handoff-types.js +28 -1
- package/dist/services/prd/prd-blocks-checker.js +28 -8
- package/dist/services/prd/project-scan-bootstrap-service.js +1 -5
- package/dist/services/prd/project-scan-reader.d.ts +7 -0
- package/dist/services/prd/project-scan-reader.js +8 -5
- package/dist/services/prd/project-scan-sediment.js +1 -4
- package/dist/services/preferences/preferences-service.js +6 -8
- package/dist/services/preferences/preferences-types.js +4 -4
- package/dist/services/qa/bdd-test-style-contract.d.ts +41 -0
- package/dist/services/qa/bdd-test-style-contract.js +37 -0
- package/dist/services/qa/bdd-test-style-verifier.d.ts +2 -24
- package/dist/services/qa/bdd-test-style-verifier.js +5 -31
- package/dist/services/qa/browser-event-logger.js +2 -1
- package/dist/services/qa/qa-business-review-state.js +20 -5
- package/dist/services/qa/screenshot-archive-service.js +1 -3
- package/dist/services/rd/ast-gate.js +2 -2
- package/dist/services/rd/impl.js +1 -1
- package/dist/services/rd/rd-service.js +117 -43
- package/dist/services/rd/reviewer-dispatch-policy.d.ts +36 -8
- package/dist/services/rd/reviewer-dispatch-policy.js +40 -15
- package/dist/services/rd/standards-diagnostic.js +4 -1
- package/dist/services/rd/strategy.js +10 -3
- package/dist/services/rd/tactical-stage.js +2 -2
- package/dist/services/rd/types.js +9 -7
- package/dist/services/rd-swarm/rd-swarm-service.d.ts +2 -45
- package/dist/services/rd-swarm/rd-swarm-service.js +140 -21
- package/dist/services/rd-swarm/rd-swarm-types.d.ts +54 -0
- package/dist/services/rd-swarm/rd-swarm-types.js +10 -0
- package/dist/services/recommendations/capability-map-service.js +10 -2
- package/dist/services/recommendations/capability-seed-items.js +81 -14
- package/dist/services/recommendations/capability-seed-mappings.js +420 -48
- package/dist/services/recommendations/capability-seed-sources-mcp-server.d.ts +9 -0
- package/dist/services/recommendations/capability-seed-sources-mcp-server.js +233 -0
- package/dist/services/recommendations/capability-seed-sources.js +127 -32
- package/dist/services/release/release-state.d.ts +2 -2
- package/dist/services/release/release-state.js +44 -15
- package/dist/services/release/version-precheck-layer-changeset.d.ts +2 -0
- package/dist/services/release/version-precheck-layer-changeset.js +43 -0
- package/dist/services/release/version-precheck-service.d.ts +11 -36
- package/dist/services/release/version-precheck-service.js +20 -104
- package/dist/services/release/version-precheck-support.d.ts +53 -0
- package/dist/services/release/version-precheck-support.js +64 -0
- package/dist/services/retrospective/retrospective-index.js +17 -3
- package/dist/services/retrospective/retrospective-search-service.js +6 -2
- package/dist/services/retrospective/retrospective-show.js +4 -1
- package/dist/services/reviewer/model-family.js +7 -1
- package/dist/services/reviewer/providers/anthropic.d.ts +5 -0
- package/dist/services/reviewer/providers/anthropic.js +10 -1
- package/dist/services/reviewer/providers/openai.d.ts +5 -0
- package/dist/services/reviewer/providers/openai.js +10 -1
- package/dist/services/reviewer/reviewer-config.js +4 -2
- package/dist/services/reviewer/reviewer-service.d.ts +2 -36
- package/dist/services/reviewer/reviewer-service.js +2 -1
- package/dist/services/reviewer/reviewer-types.d.ts +43 -0
- package/dist/services/reviewer/reviewer-types.js +1 -0
- package/dist/services/role/role-registry.js +9 -1
- package/dist/services/runtime/runtime-detector.js +4 -1
- package/dist/services/runtime/vendors/claude-code.js +14 -6
- package/dist/services/runtime/vendors/codex.js +11 -3
- package/dist/services/runtime/vendors/copilot.js +11 -3
- package/dist/services/sc/sc-service.js +28 -15
- package/dist/services/scan/acceptance-coverage-service.js +4 -1
- package/dist/services/scan/api-diff-openapi-schema-read.d.ts +67 -0
- package/dist/services/scan/api-diff-openapi-schema-read.js +154 -0
- package/dist/services/scan/api-diff-openapi.d.ts +16 -2
- package/dist/services/scan/api-diff-openapi.js +19 -123
- package/dist/services/scan/api-diff-recorded.js +16 -3
- package/dist/services/scan/api-diff-service.js +49 -16
- package/dist/services/scan/api-diff-types.js +12 -3
- package/dist/services/scan/api-surface-helpers.d.ts +13 -0
- package/dist/services/scan/api-surface-helpers.js +31 -0
- package/dist/services/scan/api-surface-service.d.ts +2 -45
- package/dist/services/scan/api-surface-service.js +15 -26
- package/dist/services/scan/api-surface-types.d.ts +54 -0
- package/dist/services/scan/api-surface-types.js +10 -0
- package/dist/services/scan/archetype-detection.d.ts +37 -0
- package/dist/services/scan/archetype-detection.js +142 -0
- package/dist/services/scan/archetype-service.js +36 -125
- package/dist/services/scan/diff-scope-service.js +35 -15
- package/dist/services/scan/existing-system-service.js +16 -99
- package/dist/services/scan/existing-system-visual-tokens.d.ts +20 -0
- package/dist/services/scan/existing-system-visual-tokens.js +123 -0
- package/dist/services/scan/file-size-policy.d.ts +86 -0
- package/dist/services/scan/file-size-policy.js +184 -0
- package/dist/services/scan/file-size-scan.d.ts +30 -3
- package/dist/services/scan/file-size-scan.js +47 -9
- package/dist/services/scan/karpathy-service.js +6 -1
- package/dist/services/scan/orphan-service.js +86 -20
- package/dist/services/scan/type-sanity-service.js +104 -10
- package/dist/services/sediment/dispose-confirm.d.ts +2 -2
- package/dist/services/sediment/dispose-confirm.js +2 -2
- package/dist/services/sediment/json-schema.d.ts +1 -1
- package/dist/services/sediment/json-schema.js +25 -13
- package/dist/services/sediment/manifest-lint.d.ts +1 -12
- package/dist/services/sediment/manifest-lint.js +1 -7
- package/dist/services/sediment/pool-paths.js +13 -9
- package/dist/services/sediment/pool-read.d.ts +1 -1
- package/dist/services/sediment/pool-read.js +42 -18
- package/dist/services/sediment/pool-rebuild-index.d.ts +1 -1
- package/dist/services/sediment/pool-rebuild-index.js +5 -5
- package/dist/services/sediment/pool-write.d.ts +1 -1
- package/dist/services/sediment/pool-write.js +7 -7
- package/dist/services/sediment/promotion-gate.d.ts +1 -1
- package/dist/services/sediment/promotion-gate.js +9 -9
- package/dist/services/sediment/types.d.ts +8 -8
- package/dist/services/session/binding-status-service.js +14 -4
- package/dist/services/session/caller-binding-service.js +2 -1
- package/dist/services/session/getSessionDir.js +4 -1
- package/dist/services/session/index.d.ts +1 -1
- package/dist/services/session/index.js +1 -1
- package/dist/services/session/resolve-caller-id.js +7 -5
- package/dist/services/session/session-binding-bridge.js +26 -25
- package/dist/services/session/session-checkpoint-service.js +1 -1
- package/dist/services/session/session-file-schema.d.ts +70 -0
- package/dist/services/session/session-file-schema.js +68 -0
- package/dist/services/session/session-manager.d.ts +6 -6
- package/dist/services/session/session-manager.js +30 -29
- package/dist/services/session/session-resume-service.js +2 -1
- package/dist/services/share/bundle-format-constants.d.ts +85 -0
- package/dist/services/share/bundle-format-constants.js +100 -0
- package/dist/services/share/bundle-reader.d.ts +3 -3
- package/dist/services/share/bundle-reader.js +75 -68
- package/dist/services/share/bundle-types.d.ts +3 -70
- package/dist/services/share/bundle-types.js +38 -107
- package/dist/services/share/bundle-writer.d.ts +3 -3
- package/dist/services/share/bundle-writer.js +101 -91
- package/dist/services/share/run-state-contract.d.ts +1 -1
- package/dist/services/share/run-state-contract.js +7 -13
- package/dist/services/signal/cancel-handler.js +2 -1
- package/dist/services/skill/resume-detector.js +6 -4
- package/dist/services/skill/skill-scheduler.js +3 -1
- package/dist/services/skill/skill-search-service.js +4 -4
- package/dist/services/skillhub/release-diff.d.ts +2 -2
- package/dist/services/skillhub/release-diff.js +6 -10
- package/dist/services/skillhub/release-export.d.ts +2 -2
- package/dist/services/skillhub/release-export.js +15 -17
- package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
- package/dist/services/skillhub/release-gc-blobs.js +4 -4
- package/dist/services/skillhub/release-import.d.ts +2 -2
- package/dist/services/skillhub/release-import.js +13 -12
- package/dist/services/skillhub/release-retain.d.ts +3 -3
- package/dist/services/skillhub/release-retain.js +22 -22
- package/dist/services/skillhub/sqlite-store.d.ts +1 -1
- package/dist/services/skillhub/sqlite-store.js +12 -11
- package/dist/services/skillhub/tar-runtime.js +15 -15
- package/dist/services/skillhub/types.d.ts +4 -4
- package/dist/services/skills/hooks-codegate-superpowers.js +16 -7
- package/dist/services/skills/hooks-settings-service.js +61 -19
- package/dist/services/skills/presence-lease-service.js +26 -16
- package/dist/services/skills/presence-lease-types.d.ts +1 -1
- package/dist/services/skills/presence-lease-types.js +1 -1
- package/dist/services/skills/skill-conformance-service.js +40 -8
- package/dist/services/skills/skill-presence-service.js +16 -14
- package/dist/services/skills/skill-runbook-service.js +2 -1
- package/dist/services/skills/skill-statusline-model.d.ts +128 -0
- package/dist/services/skills/skill-statusline-model.js +163 -0
- package/dist/services/skills/skill-statusline-renderer.js +4 -3
- package/dist/services/skills/skill-statusline-service.d.ts +3 -100
- package/dist/services/skills/skill-statusline-service.js +56 -163
- package/dist/services/skills/statusline-palette.js +11 -6
- package/dist/services/skills/statusline-settings-service.js +2 -1
- package/dist/services/skills/sync-service-support.d.ts +65 -0
- package/dist/services/skills/sync-service-support.js +50 -0
- package/dist/services/skills/sync-service.d.ts +3 -66
- package/dist/services/skills/sync-service.js +15 -53
- package/dist/services/slice/calibration-store.js +8 -2
- package/dist/services/slice/cross-pass-edge-merger.d.ts +3 -28
- package/dist/services/slice/cross-pass-edge-merger.js +13 -63
- package/dist/services/slice/cross-pass-edge-static-scan-support.d.ts +69 -0
- package/dist/services/slice/cross-pass-edge-static-scan-support.js +74 -0
- package/dist/services/slice/granularity-decider.js +2 -2
- package/dist/services/slice/slice-archive-service.js +8 -3
- package/dist/services/slice/slice-check-service.js +19 -8
- package/dist/services/slice/slice-decompose-runners.js +61 -23
- package/dist/services/slice/slice-decompose-service.js +4 -4
- package/dist/services/slice/slice-review-state.js +8 -2
- package/dist/services/smoke/smoke-paths-state.js +9 -2
- package/dist/services/sop/gate-enforce-service.js +9 -2
- package/dist/services/sop/sop-advance-service.js +14 -2
- package/dist/services/sop/sop-check-service.js +16 -4
- package/dist/services/sop/sop-paths.js +3 -1
- package/dist/services/sop/sop-registry-service.js +5 -1
- package/dist/services/sop/sop-service.js +29 -7
- package/dist/services/sop/sop-types.js +5 -1
- package/dist/services/standards/ide-aware-standards-service.js +2 -2
- package/dist/services/standards/loop-engineering-lint.js +12 -5
- package/dist/services/standards/loop-engineering-readiness-lint.js +5 -5
- package/dist/services/standards/migrate-claude-rules-service.js +9 -7
- package/dist/services/standards/missing-standards-detector.js +1 -3
- package/dist/services/standards/project-context-support.d.ts +50 -0
- package/dist/services/standards/project-context-support.js +244 -0
- package/dist/services/standards/project-context-types.d.ts +30 -0
- package/dist/services/standards/project-context-types.js +11 -0
- package/dist/services/standards/project-context.d.ts +10 -22
- package/dist/services/standards/project-context.js +27 -214
- package/dist/services/standards/project-standards-service.js +43 -12
- package/dist/services/standards/standards-render-common.d.ts +15 -0
- package/dist/services/standards/standards-render-common.js +49 -0
- package/dist/services/standards/standards-render.d.ts +1 -2
- package/dist/services/standards/standards-render.js +31 -58
- package/dist/services/standards/ui-library-dispatch-block.js +1 -1
- package/dist/services/tech/tech-change-id-service.js +7 -7
- package/dist/services/tech/tech-service.js +73 -26
- package/dist/services/test-cache/test-cache-service.js +8 -3
- package/dist/services/upgrade/1x-detector-service.js +5 -3
- package/dist/services/upgrade/gitignore-migrate-service.js +5 -5
- package/dist/services/upgrade/upgrade-service.js +36 -13
- package/dist/services/verdict/envelope-parsers.d.ts +84 -0
- package/dist/services/verdict/envelope-parsers.js +146 -0
- package/dist/services/verdict/envelopes.d.ts +50 -60
- package/dist/services/verdict/envelopes.js +18 -156
- package/dist/services/verdict/verdict-aggregator.js +27 -3
- package/dist/services/vm/vm-lease.js +15 -3
- package/dist/services/web/aria-node.d.ts +27 -0
- package/dist/services/web/aria-node.js +1 -0
- package/dist/services/web/browser-acquire.js +3 -1
- package/dist/services/web/browser-cache-probe.d.ts +18 -0
- package/dist/services/web/browser-cache-probe.js +110 -0
- package/dist/services/web/browser-session-manager.js +6 -2
- package/dist/services/web/daemon-registry.js +4 -1
- package/dist/services/web/playwright-loader.d.ts +2 -70
- package/dist/services/web/playwright-types.d.ts +75 -0
- package/dist/services/web/playwright-types.js +1 -0
- package/dist/services/web/snapshot-pruner.d.ts +2 -23
- package/dist/services/web/snapshot-pruner.js +8 -3
- package/dist/services/web/web-daemon-service.js +1 -3
- package/dist/services/web/web-install-service.d.ts +3 -32
- package/dist/services/web/web-install-service.js +21 -100
- package/dist/services/web/web-install-types.d.ts +31 -0
- package/dist/services/web/web-install-types.js +13 -0
- package/dist/services/web/web-login-profile.js +7 -5
- package/dist/services/web/web-protocol.js +3 -1
- package/dist/services/workflow/pipeline-verify-gate-support.js +63 -17
- package/dist/services/workflow/pipeline-verify-service.js +17 -6
- package/dist/services/workflow/plan-reader.js +5 -1
- package/dist/services/workflow/plan-refresher.js +20 -6
- package/dist/services/workflow/plan-trigger-detector.js +31 -8
- package/dist/services/workflow/provision-dispatch-node.js +8 -3
- package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +3 -1
- package/dist/services/workflow/workflow-autonomous-resume-helpers.js +35 -144
- package/dist/services/workflow/workflow-autonomous-resume-validation.d.ts +16 -0
- package/dist/services/workflow/workflow-autonomous-resume-validation.js +155 -0
- package/dist/services/workflow/workflow-autonomous-service.js +25 -13
- package/dist/services/workflow/workflow-graph-store-helpers.d.ts +51 -0
- package/dist/services/workflow/workflow-graph-store-helpers.js +111 -0
- package/dist/services/workflow/workflow-graph-store.d.ts +2 -35
- package/dist/services/workflow/workflow-graph-store.js +30 -107
- package/dist/services/workflow/workflow-graph-types.js +3 -3
- package/dist/services/workflow/workflow-inflight-probe.js +14 -7
- package/dist/services/workflow/workflow-loader.js +5 -1
- package/dist/services/workflow/workflow-node-lifecycle.js +22 -21
- package/dist/services/workflow/workflow-presence-lifecycle-types.d.ts +50 -0
- package/dist/services/workflow/workflow-presence-lifecycle-types.js +1 -0
- package/dist/services/workflow/workflow-presence-lifecycle.d.ts +2 -42
- package/dist/services/workflow/workflow-presence-lifecycle.js +19 -21
- package/dist/services/workflow/workflow-router-service.js +169 -27
- package/dist/services/workflow/workflow-skip-service.js +14 -4
- package/dist/services/workflow/workflow-spec-builders.d.ts +15 -0
- package/dist/services/workflow/workflow-spec-builders.js +121 -0
- package/dist/services/workflow/workflow-spec.d.ts +7 -6
- package/dist/services/workflow/workflow-spec.js +22 -116
- package/dist/services/workflow/workflow-state-store.js +2 -1
- package/dist/services/workspace/migrate-1-4-1-service.js +80 -14
- package/dist/services/workspace/migrate-service.js +66 -16
- package/dist/services/workspace/reconcile-migrate.js +6 -2
- package/dist/services/workspace/reconcile-service.js +37 -16
- package/dist/services/workspace/workspace-claude-settings-materializer.js +7 -5
- package/dist/services/workspace/workspace-clean-service.js +4 -1
- package/dist/services/workspace/workspace-service.js +11 -3
- package/dist/services/workspace/workspace-state-service.js +1 -1
- package/dist/services/worktree/git-worktree-parser.js +13 -3
- package/dist/services/worktree/host-worktree-reconciler.js +8 -4
- package/dist/services/worktree/long-path-cleanup.js +23 -6
- package/dist/services/worktree/worktree-gc-guard.js +3 -1
- package/dist/services/worktree/worktree-lease-types.d.ts +53 -0
- package/dist/services/worktree/worktree-lease-types.js +10 -0
- package/dist/services/worktree/worktree-lease.d.ts +2 -44
- package/dist/shared/array-guards.d.ts +30 -0
- package/dist/shared/array-guards.js +32 -0
- package/dist/shared/format-md-compact-internals.d.ts +26 -0
- package/dist/shared/format-md-compact-internals.js +125 -0
- package/dist/shared/format-md-compact.js +1 -117
- package/dist/shared/fs-utils.js +2 -1
- package/dist/shared/incrementing-number.js +3 -3
- package/dist/shared/json-parse.d.ts +71 -0
- package/dist/shared/json-parse.js +32 -0
- package/dist/shared/json-schema-mini.js +3 -1
- package/dist/shared/path-safety.js +3 -1
- package/dist/shared/path-utils.d.ts +20 -0
- package/dist/shared/path-utils.js +26 -0
- package/dist/shared/planner-response.js +3 -3
- package/dist/shared/stale-policy.js +1 -3
- package/dist/skills/peaks-maker/index.js +11 -11
- package/package.json +32 -9
- package/scripts/clean-dist.mjs +1 -2
- package/scripts/copy-templates.mjs +2 -4
- package/scripts/install-skills.mjs +305 -125
- package/scripts/sync-version.mjs +25 -8
- package/scripts/watch.mjs +8 -2
- package/skills/bee/peaks-rd/SKILL.md +1 -1
- package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +26 -10
- package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +1 -1
- package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +6 -1
- package/skills/peaks-code/SKILL.md +1 -1
- package/skills/peaks-code/references/periodic-checkpoint.md +7 -5
- package/skills/peaks-code/references/startup-sequence.md +1 -1
- package/skills/peaks-final-review/SKILL.md +1 -1
- /package/{docs → contracts}/test-style-contract.md +0 -0
|
@@ -56,7 +56,7 @@ function rowToLoopBeeRelation(row) {
|
|
|
56
56
|
role: row.role,
|
|
57
57
|
reason: row.reason,
|
|
58
58
|
schema_version: row.schema_version,
|
|
59
|
-
created_at: row.created_at
|
|
59
|
+
created_at: row.created_at
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
@@ -84,14 +84,12 @@ export function insertLoopBeeRelation(db, row) {
|
|
|
84
84
|
role: row.role,
|
|
85
85
|
reason: row.reason,
|
|
86
86
|
schema_version: row.schema_version,
|
|
87
|
-
created_at: createdAt
|
|
87
|
+
created_at: createdAt
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
/** Read a single LoopBeeRelation row by id; returns undefined if absent. */
|
|
91
91
|
export function getLoopBeeRelation(db, id) {
|
|
92
|
-
const row = db
|
|
93
|
-
.prepare("SELECT * FROM loop_bee_relation WHERE id = ?")
|
|
94
|
-
.get(id);
|
|
92
|
+
const row = db.prepare('SELECT * FROM loop_bee_relation WHERE id = ?').get(id);
|
|
95
93
|
if (!row)
|
|
96
94
|
return undefined;
|
|
97
95
|
return rowToLoopBeeRelation(row);
|
|
@@ -99,8 +97,8 @@ export function getLoopBeeRelation(db, id) {
|
|
|
99
97
|
/** List LoopBeeRelation rows for a given loop_release_id (optionally filtered by role). */
|
|
100
98
|
export function listLoopBeeRelationsByLoop(db, loop_release_id, role) {
|
|
101
99
|
const sql = role === undefined
|
|
102
|
-
?
|
|
103
|
-
:
|
|
100
|
+
? 'SELECT * FROM loop_bee_relation WHERE loop_release_id = ? ORDER BY id ASC'
|
|
101
|
+
: 'SELECT * FROM loop_bee_relation WHERE loop_release_id = ? AND role = ? ORDER BY id ASC';
|
|
104
102
|
const params = role === undefined ? [loop_release_id] : [loop_release_id, role];
|
|
105
103
|
const rows = db.prepare(sql).all(...params);
|
|
106
104
|
return rows.map(rowToLoopBeeRelation);
|
|
@@ -108,15 +106,15 @@ export function listLoopBeeRelationsByLoop(db, loop_release_id, role) {
|
|
|
108
106
|
/** List LoopBeeRelation rows for a given bee_release_id (optionally filtered by role). */
|
|
109
107
|
export function listLoopBeeRelationsByBee(db, bee_release_id, role) {
|
|
110
108
|
const sql = role === undefined
|
|
111
|
-
?
|
|
112
|
-
:
|
|
109
|
+
? 'SELECT * FROM loop_bee_relation WHERE bee_release_id = ? ORDER BY id ASC'
|
|
110
|
+
: 'SELECT * FROM loop_bee_relation WHERE bee_release_id = ? AND role = ? ORDER BY id ASC';
|
|
113
111
|
const params = role === undefined ? [bee_release_id] : [bee_release_id, role];
|
|
114
112
|
const rows = db.prepare(sql).all(...params);
|
|
115
113
|
return rows.map(rowToLoopBeeRelation);
|
|
116
114
|
}
|
|
117
115
|
/** Update the role of an existing relation. Returns the new row, or undefined if absent. */
|
|
118
116
|
export function updateLoopBeeRelationRole(db, id, newRole) {
|
|
119
|
-
const stmt = db.prepare(
|
|
117
|
+
const stmt = db.prepare('UPDATE loop_bee_relation SET role = ? WHERE id = ?');
|
|
120
118
|
const info = stmt.run(newRole, id);
|
|
121
119
|
if (info.changes === 0)
|
|
122
120
|
return undefined;
|
|
@@ -124,7 +122,7 @@ export function updateLoopBeeRelationRole(db, id, newRole) {
|
|
|
124
122
|
}
|
|
125
123
|
/** Remove a LoopBeeRelation row by id. Returns true if a row was deleted. */
|
|
126
124
|
export function removeLoopBeeRelation(db, id) {
|
|
127
|
-
const stmt = db.prepare(
|
|
125
|
+
const stmt = db.prepare('DELETE FROM loop_bee_relation WHERE id = ?');
|
|
128
126
|
const info = stmt.run(id);
|
|
129
127
|
return info.changes > 0;
|
|
130
128
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
3
|
* LoopBeeRelation — spec §4.6.
|
|
4
4
|
*
|
|
@@ -27,17 +27,12 @@ import { z } from "zod";
|
|
|
27
27
|
* - `created_at` is server-stamped from the system clock; the input
|
|
28
28
|
* schema does not let clients supply it (would be a backdate hole).
|
|
29
29
|
*/
|
|
30
|
-
export const LoopBeeRelationRoleSchema = z.enum([
|
|
31
|
-
"main",
|
|
32
|
-
"supporting",
|
|
33
|
-
"candidate",
|
|
34
|
-
"retired",
|
|
35
|
-
]);
|
|
30
|
+
export const LoopBeeRelationRoleSchema = z.enum(['main', 'supporting', 'candidate', 'retired']);
|
|
36
31
|
export const LOOP_BEE_RELATION_ROLES = [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
'main',
|
|
33
|
+
'supporting',
|
|
34
|
+
'candidate',
|
|
35
|
+
'retired'
|
|
41
36
|
];
|
|
42
37
|
/**
|
|
43
38
|
* Zod schema for the create payload (LoopBeeRelationInput).
|
|
@@ -56,19 +51,15 @@ export const LoopBeeRelationInputSchema = z.object({
|
|
|
56
51
|
.min(1)
|
|
57
52
|
.max(64)
|
|
58
53
|
.regex(/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, {
|
|
59
|
-
message:
|
|
54
|
+
message: 'loop_release_id must be kebab-case starting with a lowercase letter'
|
|
60
55
|
}),
|
|
61
56
|
bee_release_id: z
|
|
62
57
|
.number()
|
|
63
58
|
.int()
|
|
64
59
|
.gt(0)
|
|
65
|
-
.max(2 ** 31 - 1,
|
|
60
|
+
.max(2 ** 31 - 1, 'bee_release_id out of 32-bit range'),
|
|
66
61
|
role: LoopBeeRelationRoleSchema,
|
|
67
|
-
reason: z
|
|
68
|
-
.string()
|
|
69
|
-
.trim()
|
|
70
|
-
.min(1, "reason is required (LLM-authored NL explanation)")
|
|
71
|
-
.max(2000),
|
|
62
|
+
reason: z.string().trim().min(1, 'reason is required (LLM-authored NL explanation)').max(2000)
|
|
72
63
|
});
|
|
73
64
|
/**
|
|
74
65
|
* Full Zod schema for a LoopBeeRelation row as persisted. Differs from
|
|
@@ -83,10 +74,8 @@ export const LoopBeeRelationInputSchema = z.object({
|
|
|
83
74
|
*/
|
|
84
75
|
export const LoopBeeRelationSchema = LoopBeeRelationInputSchema.extend({
|
|
85
76
|
id: z.number().int().gt(0),
|
|
86
|
-
schema_version: z
|
|
87
|
-
|
|
88
|
-
.default("peaks.loop-bee-relation/1"),
|
|
89
|
-
created_at: z.string().datetime(),
|
|
77
|
+
schema_version: z.literal('peaks.loop-bee-relation/1').default('peaks.loop-bee-relation/1'),
|
|
78
|
+
created_at: z.string().datetime()
|
|
90
79
|
});
|
|
91
80
|
/**
|
|
92
81
|
* Convenience: strict-parse an unknown payload into a LoopBeeRelation
|
|
@@ -107,8 +96,8 @@ export function safeParseLoopBeeRelation(input) {
|
|
|
107
96
|
return {
|
|
108
97
|
ok: false,
|
|
109
98
|
findings: r.error.issues.map((i) => ({
|
|
110
|
-
path: i.path.join(
|
|
111
|
-
message: i.message
|
|
112
|
-
}))
|
|
99
|
+
path: i.path.join('.'),
|
|
100
|
+
message: i.message
|
|
101
|
+
}))
|
|
113
102
|
};
|
|
114
103
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type Database from
|
|
2
|
-
import { type LoopRelease, type LoopReleaseInput, type LoopReleaseLifecycleStatus } from
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
import { type LoopRelease, type LoopReleaseInput, type LoopReleaseLifecycleStatus } from './loop-release-types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Thin service wrapper around the loop_release store. M1 keeps the
|
|
5
5
|
* surface tiny on purpose: create / read / list / search. Promotion,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LoopReleaseSchema
|
|
2
|
-
import { ensureLoopReleaseTable, insertLoopRelease, getLoopRelease, listLoopReleasesByStatus, searchLoopReleasesByScenario
|
|
1
|
+
import { LoopReleaseSchema } from './loop-release-types.js';
|
|
2
|
+
import { ensureLoopReleaseTable, insertLoopRelease, getLoopRelease, listLoopReleasesByStatus, searchLoopReleasesByScenario } from './loop-release-store.js';
|
|
3
3
|
/**
|
|
4
4
|
* Thin service wrapper around the loop_release store. M1 keeps the
|
|
5
5
|
* surface tiny on purpose: create / read / list / search. Promotion,
|
|
@@ -46,7 +46,7 @@ export class LoopReleaseService {
|
|
|
46
46
|
list(opts = {}) {
|
|
47
47
|
if (opts.status)
|
|
48
48
|
return listLoopReleasesByStatus(this.db, opts.status);
|
|
49
|
-
const all = [
|
|
49
|
+
const all = ['candidate', 'stable', 'retired'];
|
|
50
50
|
const out = [];
|
|
51
51
|
for (const s of all)
|
|
52
52
|
out.push(...listLoopReleasesByStatus(this.db, s));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type Database from
|
|
2
|
-
import type { LoopRelease, LoopReleaseLifecycleStatus } from
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
import type { LoopRelease, LoopReleaseLifecycleStatus } from './loop-release-types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Low-level SQLite access for the `loop_release` table. The
|
|
5
5
|
* migration is registered with the existing `openStateDb()` pipeline
|
|
@@ -79,7 +79,7 @@ function rowToLoopRelease(row) {
|
|
|
79
79
|
shareable: row.shareable === 1,
|
|
80
80
|
share_excluded_paths: JSON.parse(row.share_excluded_paths),
|
|
81
81
|
desktop_visible: row.desktop_visible === 1,
|
|
82
|
-
export_bundle_format: row.export_bundle_format
|
|
82
|
+
export_bundle_format: row.export_bundle_format
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
@@ -105,9 +105,7 @@ export function insertLoopRelease(db, row) {
|
|
|
105
105
|
}
|
|
106
106
|
/** Read a single LoopRelease row by id; returns undefined if absent. */
|
|
107
107
|
export function getLoopRelease(db, id) {
|
|
108
|
-
const row = db
|
|
109
|
-
.prepare("SELECT * FROM loop_release WHERE id = ?")
|
|
110
|
-
.get(id);
|
|
108
|
+
const row = db.prepare('SELECT * FROM loop_release WHERE id = ?').get(id);
|
|
111
109
|
if (!row)
|
|
112
110
|
return undefined;
|
|
113
111
|
return rowToLoopRelease(row);
|
|
@@ -115,7 +113,7 @@ export function getLoopRelease(db, id) {
|
|
|
115
113
|
/** List LoopRelease rows filtered by lifecycle_status. */
|
|
116
114
|
export function listLoopReleasesByStatus(db, status) {
|
|
117
115
|
const rows = db
|
|
118
|
-
.prepare(
|
|
116
|
+
.prepare('SELECT * FROM loop_release WHERE lifecycle_status = ? ORDER BY archived_at DESC, id ASC')
|
|
119
117
|
.all(status);
|
|
120
118
|
return rows.map(rowToLoopRelease);
|
|
121
119
|
}
|
|
@@ -128,7 +126,7 @@ export function listLoopReleasesByStatus(db, status) {
|
|
|
128
126
|
export function searchLoopReleasesByScenario(db, query) {
|
|
129
127
|
const like = `%${query}%`;
|
|
130
128
|
const rows = db
|
|
131
|
-
.prepare(
|
|
129
|
+
.prepare('SELECT * FROM loop_release WHERE scenario LIKE ? COLLATE NOCASE ORDER BY archived_at DESC, id ASC')
|
|
132
130
|
.all(like);
|
|
133
131
|
return rows.map(rowToLoopRelease);
|
|
134
132
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from 'zod';
|
|
2
2
|
/* ---------------------------------------------------------------------- */
|
|
3
3
|
/* PRD-002b slice 2 — schema-limit constants extracted from inline */
|
|
4
4
|
/* `.max(N)` calls so the no-magic-numbers rule stops flagging the */
|
|
@@ -59,11 +59,7 @@ const LOOP_CRYSTALLIZATION_EVIDENCE_MAX = 128;
|
|
|
59
59
|
* `"peaks.bundle/1"` per the spec §7A.2 contract — no other
|
|
60
60
|
* value is accepted in this schema version.
|
|
61
61
|
*/
|
|
62
|
-
export const LoopReleaseLifecycleStatusSchema = z.enum([
|
|
63
|
-
"candidate",
|
|
64
|
-
"stable",
|
|
65
|
-
"retired",
|
|
66
|
-
]);
|
|
62
|
+
export const LoopReleaseLifecycleStatusSchema = z.enum(['candidate', 'stable', 'retired']);
|
|
67
63
|
/**
|
|
68
64
|
* The M3 share / desktop extension fields, listed for code-search /
|
|
69
65
|
* lint discoverability. They are now part of the schema (with safe
|
|
@@ -75,10 +71,10 @@ export const LoopReleaseLifecycleStatusSchema = z.enum([
|
|
|
75
71
|
* - export_bundle_format: constant "peaks.bundle/1" (CLI-written).
|
|
76
72
|
*/
|
|
77
73
|
export const LOOP_RELEASE_M3_FIELDS = [
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
74
|
+
'shareable',
|
|
75
|
+
'share_excluded_paths',
|
|
76
|
+
'desktop_visible',
|
|
77
|
+
'export_bundle_format'
|
|
82
78
|
];
|
|
83
79
|
/**
|
|
84
80
|
* M3 share / desktop extension schema. Added to `LoopReleaseInputSchema`
|
|
@@ -92,13 +88,9 @@ export const LOOP_RELEASE_M3_FIELDS = [
|
|
|
92
88
|
*/
|
|
93
89
|
export const LoopReleaseM3ExtensionSchema = z.object({
|
|
94
90
|
shareable: z.boolean().default(true),
|
|
95
|
-
share_excluded_paths: z
|
|
96
|
-
.array(z.string().min(1).max(LOOP_SHARE_EXCLUDED_PATH_MAX))
|
|
97
|
-
.default([]),
|
|
91
|
+
share_excluded_paths: z.array(z.string().min(1).max(LOOP_SHARE_EXCLUDED_PATH_MAX)).default([]),
|
|
98
92
|
desktop_visible: z.boolean().default(true),
|
|
99
|
-
export_bundle_format: z
|
|
100
|
-
.literal("peaks.bundle/1")
|
|
101
|
-
.default("peaks.bundle/1"),
|
|
93
|
+
export_bundle_format: z.literal('peaks.bundle/1').default('peaks.bundle/1')
|
|
102
94
|
});
|
|
103
95
|
/**
|
|
104
96
|
* Zod schema for the create payload (LoopReleaseInput). Mirrors the
|
|
@@ -113,31 +105,31 @@ export const LoopReleaseInputSchema = z
|
|
|
113
105
|
.min(1)
|
|
114
106
|
.max(LOOP_ID_MAX)
|
|
115
107
|
.regex(/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, {
|
|
116
|
-
message:
|
|
108
|
+
message: 'id must be kebab-case starting with a lowercase letter (e.g. loop-onboarding-research)'
|
|
117
109
|
}),
|
|
118
110
|
name: z.string().min(1).max(LOOP_NAME_MAX),
|
|
119
111
|
scenario: z.string().trim().min(1).max(LOOP_SCENARIO_MAX),
|
|
120
112
|
trigger_policy: z.string().trim().min(1).max(LOOP_TRIGGER_POLICY_MAX),
|
|
121
113
|
success_criteria: z
|
|
122
114
|
.array(z.string().trim().min(1).max(LOOP_SUCCESS_CRITERIA_ITEM_MAX))
|
|
123
|
-
.min(1,
|
|
115
|
+
.min(1, 'success_criteria must list at least one declarative criterion'),
|
|
124
116
|
interaction_policy: z
|
|
125
117
|
.string()
|
|
126
118
|
.trim()
|
|
127
|
-
.min(1,
|
|
119
|
+
.min(1, 'interaction_policy must declare human-NL-choice-only semantics')
|
|
128
120
|
.max(LOOP_INTERACTION_POLICY_MAX),
|
|
129
121
|
feedback_policy: z.string().trim().min(1).max(LOOP_FEEDBACK_POLICY_MAX),
|
|
130
122
|
evolution_policy: z.string().trim().min(1).max(LOOP_EVOLUTION_POLICY_MAX),
|
|
131
123
|
evaluator_policy: z.array(z.string().trim().min(1).max(LOOP_EVALUATOR_POLICY_ITEM_MAX)).min(1),
|
|
132
124
|
linked_bees: z.array(z.string().min(1).max(LOOP_LINKED_BEE_MAX)).default([]),
|
|
133
125
|
run_history: z.array(z.string().min(1).max(LOOP_HISTORY_ITEM_MAX)).default([]),
|
|
134
|
-
crystallization_evidence: z
|
|
126
|
+
crystallization_evidence: z
|
|
127
|
+
.array(z.string().min(1).max(LOOP_CRYSTALLIZATION_EVIDENCE_MAX))
|
|
128
|
+
.default([]),
|
|
135
129
|
lifecycle_status: LoopReleaseLifecycleStatusSchema,
|
|
136
|
-
version: z
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
message: "version must be a semver string (e.g. 0.1.0)",
|
|
140
|
-
}),
|
|
130
|
+
version: z.string().regex(/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/, {
|
|
131
|
+
message: 'version must be a semver string (e.g. 0.1.0)'
|
|
132
|
+
})
|
|
141
133
|
})
|
|
142
134
|
.extend(LoopReleaseM3ExtensionSchema.shape);
|
|
143
135
|
/**
|
|
@@ -152,9 +144,7 @@ export const LoopReleaseInputSchema = z
|
|
|
152
144
|
* service.create/read paths.
|
|
153
145
|
*/
|
|
154
146
|
export const LoopReleaseSchema = LoopReleaseInputSchema.extend({
|
|
155
|
-
schema_version: z
|
|
156
|
-
.literal("peaks.loop/1")
|
|
157
|
-
.default("peaks.loop/1"),
|
|
147
|
+
schema_version: z.literal('peaks.loop/1').default('peaks.loop/1')
|
|
158
148
|
});
|
|
159
149
|
/**
|
|
160
150
|
* Convenience: strict-parse an unknown payload into a LoopRelease row.
|
|
@@ -174,8 +164,8 @@ export function safeParseLoopRelease(input) {
|
|
|
174
164
|
return {
|
|
175
165
|
ok: false,
|
|
176
166
|
findings: r.error.issues.map((i) => ({
|
|
177
|
-
path: i.path.join(
|
|
178
|
-
message: i.message
|
|
179
|
-
}))
|
|
167
|
+
path: i.path.join('.'),
|
|
168
|
+
message: i.message
|
|
169
|
+
}))
|
|
180
170
|
};
|
|
181
171
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-loop v3.0.0 — Slice C.1
|
|
3
|
+
*
|
|
4
|
+
* Type declarations for the monotonic-improvement guard, relocated verbatim
|
|
5
|
+
* from `monotonic-guard.ts` so that module stays under the repo file-size cap.
|
|
6
|
+
* No behaviour lives here: every declaration is erased at compile time and the
|
|
7
|
+
* guard module re-exports all of them from its own path.
|
|
8
|
+
*/
|
|
9
|
+
/** Per-evaluator score row, derived from an `EvaluatorVerdictEnvelope`. */
|
|
10
|
+
export interface MonotonicScoreRow {
|
|
11
|
+
readonly evaluator: string;
|
|
12
|
+
readonly score: number;
|
|
13
|
+
readonly gateAction: 'pass' | 'warn' | 'block';
|
|
14
|
+
readonly degraded: boolean;
|
|
15
|
+
/** ISO-8601 timestamp the verdict was recorded. */
|
|
16
|
+
readonly observedAt: string;
|
|
17
|
+
}
|
|
18
|
+
/** Cycle index — a single attempt at the loop. */
|
|
19
|
+
export interface MonotonicCycle {
|
|
20
|
+
readonly cycle: number;
|
|
21
|
+
/** Per-evaluator score rows. Same evaluator appearing twice collapses
|
|
22
|
+
* to the last entry (BC: deterministic, no merging surprises). */
|
|
23
|
+
readonly scores: readonly MonotonicScoreRow[];
|
|
24
|
+
}
|
|
25
|
+
export interface MonotonicRegression {
|
|
26
|
+
readonly evaluator: string;
|
|
27
|
+
readonly previousScore: number;
|
|
28
|
+
readonly currentScore: number;
|
|
29
|
+
readonly delta: number;
|
|
30
|
+
}
|
|
31
|
+
/** Result of a `checkMonotonicImprovement` call. */
|
|
32
|
+
export interface MonotonicReport {
|
|
33
|
+
readonly status: 'pass' | 'warn' | 'block' | 'skip';
|
|
34
|
+
readonly ok: boolean;
|
|
35
|
+
readonly reason: string;
|
|
36
|
+
readonly threshold: number;
|
|
37
|
+
readonly previousCycle: number | null;
|
|
38
|
+
readonly currentCycle: number;
|
|
39
|
+
/** Per-evaluator regressions exceeding the threshold (sorted by |delta| desc). */
|
|
40
|
+
readonly regressions: readonly MonotonicRegression[];
|
|
41
|
+
/** Convenience boolean — true iff a regression exceeds the threshold. */
|
|
42
|
+
readonly monotonicityViolation: boolean;
|
|
43
|
+
/** Diagnostic hint surfaced as `MONOTONICITY_VIOLATION` in the CLI envelope. */
|
|
44
|
+
readonly code: 'MONOTONIC_OK' | 'MONOTONIC_NO_PREVIOUS' | 'MONOTONIC_VIOLATION' | 'MONOTONIC_INCOMPARABLE_EVALUATORS';
|
|
45
|
+
}
|
|
46
|
+
export interface CheckMonotonicOptions {
|
|
47
|
+
/** Maximum regression permitted (in [0,1] scale). Default 0.05 (5%). */
|
|
48
|
+
readonly threshold?: number;
|
|
49
|
+
/** When provided, the guard logs the cycle id this report refers to. */
|
|
50
|
+
readonly nowIso?: string;
|
|
51
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peaks-loop v3.0.0 — Slice C.1
|
|
3
|
+
*
|
|
4
|
+
* Type declarations for the monotonic-improvement guard, relocated verbatim
|
|
5
|
+
* from `monotonic-guard.ts` so that module stays under the repo file-size cap.
|
|
6
|
+
* No behaviour lives here: every declaration is erased at compile time and the
|
|
7
|
+
* guard module re-exports all of them from its own path.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
@@ -13,54 +13,13 @@
|
|
|
13
13
|
*
|
|
14
14
|
* File budget: ≤ 800 lines (Karpathy §2).
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
readonly evaluator: string;
|
|
19
|
-
readonly score: number;
|
|
20
|
-
readonly gateAction: 'pass' | 'warn' | 'block';
|
|
21
|
-
readonly degraded: boolean;
|
|
22
|
-
/** ISO-8601 timestamp the verdict was recorded. */
|
|
23
|
-
readonly observedAt: string;
|
|
24
|
-
}
|
|
25
|
-
/** Cycle index — a single attempt at the loop. */
|
|
26
|
-
export interface MonotonicCycle {
|
|
27
|
-
readonly cycle: number;
|
|
28
|
-
/** Per-evaluator score rows. Same evaluator appearing twice collapses
|
|
29
|
-
* to the last entry (BC: deterministic, no merging surprises). */
|
|
30
|
-
readonly scores: readonly MonotonicScoreRow[];
|
|
31
|
-
}
|
|
32
|
-
export interface MonotonicRegression {
|
|
33
|
-
readonly evaluator: string;
|
|
34
|
-
readonly previousScore: number;
|
|
35
|
-
readonly currentScore: number;
|
|
36
|
-
readonly delta: number;
|
|
37
|
-
}
|
|
38
|
-
/** Result of a `checkMonotonicImprovement` call. */
|
|
39
|
-
export interface MonotonicReport {
|
|
40
|
-
readonly status: 'pass' | 'warn' | 'block' | 'skip';
|
|
41
|
-
readonly ok: boolean;
|
|
42
|
-
readonly reason: string;
|
|
43
|
-
readonly threshold: number;
|
|
44
|
-
readonly previousCycle: number | null;
|
|
45
|
-
readonly currentCycle: number;
|
|
46
|
-
/** Per-evaluator regressions exceeding the threshold (sorted by |delta| desc). */
|
|
47
|
-
readonly regressions: readonly MonotonicRegression[];
|
|
48
|
-
/** Convenience boolean — true iff a regression exceeds the threshold. */
|
|
49
|
-
readonly monotonicityViolation: boolean;
|
|
50
|
-
/** Diagnostic hint surfaced as `MONOTONICITY_VIOLATION` in the CLI envelope. */
|
|
51
|
-
readonly code: 'MONOTONIC_OK' | 'MONOTONIC_NO_PREVIOUS' | 'MONOTONIC_VIOLATION' | 'MONOTONIC_INCOMPARABLE_EVALUATORS';
|
|
52
|
-
}
|
|
16
|
+
import type { CheckMonotonicOptions, MonotonicCycle, MonotonicReport, MonotonicScoreRow } from './monotonic-guard-types.js';
|
|
17
|
+
export type { CheckMonotonicOptions, MonotonicCycle, MonotonicRegression, MonotonicReport, MonotonicScoreRow } from './monotonic-guard-types.js';
|
|
53
18
|
/** Convert an envelope-shaped verdict row to `MonotonicScoreRow`.
|
|
54
19
|
* Pure helper, exported for the CLI layer. */
|
|
55
20
|
export declare function toScoreRow(evaluator: string, gateAction: 'pass' | 'warn' | 'block', degraded: boolean, observedAtIso?: string): MonotonicScoreRow;
|
|
56
21
|
/** Default threshold = 5% of [0,1] scale → 0.05. */
|
|
57
22
|
export declare const DEFAULT_MONOTONIC_THRESHOLD = 0.05;
|
|
58
|
-
export interface CheckMonotonicOptions {
|
|
59
|
-
/** Maximum regression permitted (in [0,1] scale). Default 0.05 (5%). */
|
|
60
|
-
readonly threshold?: number;
|
|
61
|
-
/** When provided, the guard logs the cycle id this report refers to. */
|
|
62
|
-
readonly nowIso?: string;
|
|
63
|
-
}
|
|
64
23
|
/** Compare `previous` against `current` and report monotonicity.
|
|
65
24
|
*
|
|
66
25
|
* Rules (reflected in `tests/unit/loop/monotonic-guard.test.ts`):
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monotonic-runner type + constant surface — moved VERBATIM out of
|
|
3
|
+
* `monotonic-runner.ts` for the 300-raw-line cap (slice
|
|
4
|
+
* `b1-filesplit-campaign`, wave 3C). The only code is
|
|
5
|
+
* `classifyFsError`, a pure error-tag helper carried across verbatim; beside
|
|
6
|
+
* it sit the local IO result union, the cycle-line tag/type, the
|
|
7
|
+
* walked-evaluator set, and the public options/result interfaces.
|
|
8
|
+
* `monotonic-runner.ts` re-exports the public names, so existing import
|
|
9
|
+
* paths keep working.
|
|
10
|
+
*/
|
|
11
|
+
import type { MonotonicReport, MonotonicScoreRow } from './monotonic-guard.js';
|
|
12
|
+
/** Local discriminated result for IO. Internal callers coalesce
|
|
13
|
+
* `ok: false` to `null` so the public `loadPreviousCycle`
|
|
14
|
+
* signature stays `MonotonicCycle | null` (BC — see
|
|
15
|
+
* `monotonic-guard.test.ts:199`). */
|
|
16
|
+
export type LoadResult<T> = {
|
|
17
|
+
readonly ok: true;
|
|
18
|
+
readonly value: T;
|
|
19
|
+
} | {
|
|
20
|
+
readonly ok: false;
|
|
21
|
+
readonly reason: 'NOT_FOUND' | 'IO_ERROR' | 'PARSE_ERROR';
|
|
22
|
+
};
|
|
23
|
+
export declare function classifyFsError(err: unknown): 'NOT_FOUND' | 'IO_ERROR';
|
|
24
|
+
/** Tag for cycle lines in the jsonl-store. */
|
|
25
|
+
export declare const MONOTONIC_CYCLE_KIND = "monotonic-cycle";
|
|
26
|
+
export interface MonotonicCycleLine {
|
|
27
|
+
readonly kind: typeof MONOTONIC_CYCLE_KIND;
|
|
28
|
+
readonly rid: string;
|
|
29
|
+
readonly cycle: number;
|
|
30
|
+
readonly persistedAt: string;
|
|
31
|
+
readonly scores: readonly MonotonicScoreRow[];
|
|
32
|
+
}
|
|
33
|
+
/** Set of evaluator kinds the loop walker actually scores — keeps the
|
|
34
|
+
* guard surface tight (the verdict-aggregate is the cross-source merge
|
|
35
|
+
* and not a per-cycle input). */
|
|
36
|
+
export declare const WALKED_EVALUATORS: readonly ["karpathy", "code-review", "security-review", "perf-baseline"];
|
|
37
|
+
export type WalkedKind = (typeof WALKED_EVALUATORS)[number];
|
|
38
|
+
export interface RunMonotonicOptions {
|
|
39
|
+
readonly projectRoot: string;
|
|
40
|
+
readonly sid: string;
|
|
41
|
+
readonly rid: string;
|
|
42
|
+
/** Threshold (0..1 scale). Default 0.05 (5%). */
|
|
43
|
+
readonly threshold?: number;
|
|
44
|
+
/** When set, write the current cycle score rows to disk (default: true). */
|
|
45
|
+
readonly persist?: boolean;
|
|
46
|
+
/** When set, override the auto-derived cycle index. */
|
|
47
|
+
readonly cycle?: number;
|
|
48
|
+
/** Override the peaks binary path (default: `node bin/peaks.js`). */
|
|
49
|
+
readonly peaksBin?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface RunMonotonicResult {
|
|
52
|
+
readonly projectRoot: string;
|
|
53
|
+
readonly sid: string;
|
|
54
|
+
readonly rid: string;
|
|
55
|
+
readonly currentCycle: number;
|
|
56
|
+
readonly previousCycle: number | null;
|
|
57
|
+
readonly persistedAt: string | null;
|
|
58
|
+
readonly rows: readonly MonotonicScoreRow[];
|
|
59
|
+
readonly report: MonotonicReport;
|
|
60
|
+
/** Additive surface for non-fatal persistence warnings (e.g. append
|
|
61
|
+
* failure). Optional so existing destructures keep compiling. */
|
|
62
|
+
readonly warnings?: readonly string[];
|
|
63
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function classifyFsError(err) {
|
|
2
|
+
const code = err?.code;
|
|
3
|
+
if (code === 'ENOENT')
|
|
4
|
+
return 'NOT_FOUND';
|
|
5
|
+
return 'IO_ERROR';
|
|
6
|
+
}
|
|
7
|
+
/** Tag for cycle lines in the jsonl-store. */
|
|
8
|
+
export const MONOTONIC_CYCLE_KIND = 'monotonic-cycle';
|
|
9
|
+
/** Set of evaluator kinds the loop walker actually scores — keeps the
|
|
10
|
+
* guard surface tight (the verdict-aggregate is the cross-source merge
|
|
11
|
+
* and not a per-cycle input). */
|
|
12
|
+
export const WALKED_EVALUATORS = [
|
|
13
|
+
'karpathy',
|
|
14
|
+
'code-review',
|
|
15
|
+
'security-review',
|
|
16
|
+
'perf-baseline'
|
|
17
|
+
];
|
|
@@ -1,35 +1,6 @@
|
|
|
1
|
-
import { type MonotonicCycle
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* and not a per-cycle input). */
|
|
5
|
-
declare const WALKED_EVALUATORS: readonly ["karpathy", "code-review", "security-review", "perf-baseline"];
|
|
6
|
-
type WalkedKind = (typeof WALKED_EVALUATORS)[number];
|
|
7
|
-
export interface RunMonotonicOptions {
|
|
8
|
-
readonly projectRoot: string;
|
|
9
|
-
readonly sid: string;
|
|
10
|
-
readonly rid: string;
|
|
11
|
-
/** Threshold (0..1 scale). Default 0.05 (5%). */
|
|
12
|
-
readonly threshold?: number;
|
|
13
|
-
/** When set, write the current cycle score rows to disk (default: true). */
|
|
14
|
-
readonly persist?: boolean;
|
|
15
|
-
/** When set, override the auto-derived cycle index. */
|
|
16
|
-
readonly cycle?: number;
|
|
17
|
-
/** Override the peaks binary path (default: `node bin/peaks.js`). */
|
|
18
|
-
readonly peaksBin?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface RunMonotonicResult {
|
|
21
|
-
readonly projectRoot: string;
|
|
22
|
-
readonly sid: string;
|
|
23
|
-
readonly rid: string;
|
|
24
|
-
readonly currentCycle: number;
|
|
25
|
-
readonly previousCycle: number | null;
|
|
26
|
-
readonly persistedAt: string | null;
|
|
27
|
-
readonly rows: readonly MonotonicScoreRow[];
|
|
28
|
-
readonly report: MonotonicReport;
|
|
29
|
-
/** Additive surface for non-fatal persistence warnings (e.g. append
|
|
30
|
-
* failure). Optional so existing destructures keep compiling. */
|
|
31
|
-
readonly warnings?: readonly string[];
|
|
32
|
-
}
|
|
1
|
+
import { type MonotonicCycle } from './monotonic-guard.js';
|
|
2
|
+
import { type RunMonotonicOptions, type RunMonotonicResult } from './monotonic-runner-types.js';
|
|
3
|
+
export type { RunMonotonicOptions, RunMonotonicResult, WalkedKind } from './monotonic-runner-types.js';
|
|
33
4
|
/** Resolve the slice dir — kept for API/BC (run-driver.ts uses it to
|
|
34
5
|
* derive `cyclesDir`). The monotonic-runner writer no longer writes
|
|
35
6
|
* here; the jsonl-store is the new persistence layer. */
|
|
@@ -60,5 +31,3 @@ export declare function resolveMonotonicContext(opts: {
|
|
|
60
31
|
sid: string;
|
|
61
32
|
rid: string;
|
|
62
33
|
};
|
|
63
|
-
/** Suppress unused-import lint when only the typedefs are exported. */
|
|
64
|
-
export type { WalkedKind };
|
|
@@ -26,23 +26,7 @@ import { dispatchEvaluator } from './evaluator-dispatcher.js';
|
|
|
26
26
|
import { checkMonotonicImprovement, toScoreRow, DEFAULT_MONOTONIC_THRESHOLD } from './monotonic-guard.js';
|
|
27
27
|
import { appendMetricLine, readMetricLines } from '../observability/jsonl-store.js';
|
|
28
28
|
import { findProjectRoot } from '../config/config-safety.js';
|
|
29
|
-
|
|
30
|
-
const code = err?.code;
|
|
31
|
-
if (code === 'ENOENT')
|
|
32
|
-
return 'NOT_FOUND';
|
|
33
|
-
return 'IO_ERROR';
|
|
34
|
-
}
|
|
35
|
-
/** Tag for cycle lines in the jsonl-store. */
|
|
36
|
-
const MONOTONIC_CYCLE_KIND = 'monotonic-cycle';
|
|
37
|
-
/** Set of evaluator kinds the loop walker actually scores — keeps the
|
|
38
|
-
* guard surface tight (the verdict-aggregate is the cross-source merge
|
|
39
|
-
* and not a per-cycle input). */
|
|
40
|
-
const WALKED_EVALUATORS = [
|
|
41
|
-
'karpathy',
|
|
42
|
-
'code-review',
|
|
43
|
-
'security-review',
|
|
44
|
-
'perf-baseline'
|
|
45
|
-
];
|
|
29
|
+
import { classifyFsError, MONOTONIC_CYCLE_KIND, WALKED_EVALUATORS } from './monotonic-runner-types.js';
|
|
46
30
|
/** Resolve the slice dir — kept for API/BC (run-driver.ts uses it to
|
|
47
31
|
* derive `cyclesDir`). The monotonic-runner writer no longer writes
|
|
48
32
|
* here; the jsonl-store is the new persistence layer. */
|
|
@@ -55,8 +39,8 @@ export function sliceDir(projectRoot, sid, rid) {
|
|
|
55
39
|
* `.peaks/_sub_agents/<sid>/shared/` dir for cross-session signal.
|
|
56
40
|
* Returns `null` on any read error. */
|
|
57
41
|
export function loadPreviousCycle(projectRoot, sid, rid) {
|
|
58
|
-
return loadMostRecentCycleFromJsonl(projectRoot, sid, rid)
|
|
59
|
-
|
|
42
|
+
return (loadMostRecentCycleFromJsonl(projectRoot, sid, rid) ??
|
|
43
|
+
loadMostRecentCycleFromSubAgents(projectRoot, sid, rid));
|
|
60
44
|
}
|
|
61
45
|
/** Scan the jsonl-store from tail backwards for the most recent
|
|
62
46
|
* `monotonic-cycle` line matching `rid`. Returns `null` when no
|
|
@@ -106,7 +90,13 @@ function parseScoreRows(raw) {
|
|
|
106
90
|
const observedAt = typeof r['observedAt'] === 'string' ? r['observedAt'] : new Date(0).toISOString();
|
|
107
91
|
out.push({
|
|
108
92
|
evaluator: r['evaluator'],
|
|
109
|
-
score: typeof r['score'] === 'number'
|
|
93
|
+
score: typeof r['score'] === 'number'
|
|
94
|
+
? r['score']
|
|
95
|
+
: gate === 'pass'
|
|
96
|
+
? 1.0
|
|
97
|
+
: gate === 'warn'
|
|
98
|
+
? 0.5
|
|
99
|
+
: 0.0,
|
|
110
100
|
gateAction: gate,
|
|
111
101
|
degraded: r['degraded'] === true,
|
|
112
102
|
observedAt
|