@cleocode/core 2026.9.23 → 2026.9.25
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/dist/admin/import-tasks.d.ts.map +1 -1
- package/dist/admin/import-tasks.js +35 -6
- package/dist/admin/import-tasks.js.map +1 -1
- package/dist/admin/import.d.ts.map +1 -1
- package/dist/admin/import.js +25 -6
- package/dist/admin/import.js.map +1 -1
- package/dist/audit-prune.d.ts +32 -0
- package/dist/audit-prune.d.ts.map +1 -1
- package/dist/audit-prune.js +37 -3
- package/dist/audit-prune.js.map +1 -1
- package/dist/build-provenance.json +2 -2
- package/dist/cloud/crypto.d.ts +1 -2
- package/dist/cloud/crypto.d.ts.map +1 -1
- package/dist/cloud/crypto.js +1 -11
- package/dist/cloud/crypto.js.map +1 -1
- package/dist/cloud/http.d.ts +8 -0
- package/dist/cloud/http.d.ts.map +1 -1
- package/dist/cloud/http.js +8 -1
- package/dist/cloud/http.js.map +1 -1
- package/dist/cloud/index.d.ts +6 -1
- package/dist/cloud/index.d.ts.map +1 -1
- package/dist/cloud/index.js +6 -1
- package/dist/cloud/index.js.map +1 -1
- package/dist/cloud/nexus-auth.d.ts +169 -0
- package/dist/cloud/nexus-auth.d.ts.map +1 -0
- package/dist/cloud/nexus-auth.js +372 -0
- package/dist/cloud/nexus-auth.js.map +1 -0
- package/dist/cloud/nexus-credentials.d.ts +188 -0
- package/dist/cloud/nexus-credentials.d.ts.map +1 -0
- package/dist/cloud/nexus-credentials.js +323 -0
- package/dist/cloud/nexus-credentials.js.map +1 -0
- package/dist/cloud/nexus-link.d.ts +85 -0
- package/dist/cloud/nexus-link.d.ts.map +1 -0
- package/dist/cloud/nexus-link.js +226 -0
- package/dist/cloud/nexus-link.js.map +1 -0
- package/dist/cloud/presence.d.ts +88 -0
- package/dist/cloud/presence.d.ts.map +1 -0
- package/dist/cloud/presence.js +137 -0
- package/dist/cloud/presence.js.map +1 -0
- package/dist/cloud/projects.d.ts +3 -1
- package/dist/cloud/projects.d.ts.map +1 -1
- package/dist/cloud/projects.js +4 -2
- package/dist/cloud/projects.js.map +1 -1
- package/dist/cloud/uuidv7.d.ts +9 -0
- package/dist/cloud/uuidv7.d.ts.map +1 -0
- package/dist/cloud/uuidv7.js +19 -0
- package/dist/cloud/uuidv7.js.map +1 -0
- package/dist/crypto/credentials.d.ts +14 -4
- package/dist/crypto/credentials.d.ts.map +1 -1
- package/dist/crypto/credentials.js +15 -1
- package/dist/crypto/credentials.js.map +1 -1
- package/dist/decide/bench/dataset.d.ts +125 -0
- package/dist/decide/bench/dataset.d.ts.map +1 -0
- package/dist/decide/bench/dataset.js +457 -0
- package/dist/decide/bench/dataset.js.map +1 -0
- package/dist/decide/bench/index.d.ts +23 -0
- package/dist/decide/bench/index.d.ts.map +1 -0
- package/dist/decide/bench/index.js +23 -0
- package/dist/decide/bench/index.js.map +1 -0
- package/dist/decide/bench/metrics.d.ts +55 -0
- package/dist/decide/bench/metrics.d.ts.map +1 -0
- package/dist/decide/bench/metrics.js +100 -0
- package/dist/decide/bench/metrics.js.map +1 -0
- package/dist/decide/bench/operation.d.ts +119 -0
- package/dist/decide/bench/operation.d.ts.map +1 -0
- package/dist/decide/bench/operation.js +171 -0
- package/dist/decide/bench/operation.js.map +1 -0
- package/dist/decide/bench/profiles.d.ts +102 -0
- package/dist/decide/bench/profiles.d.ts.map +1 -0
- package/dist/decide/bench/profiles.js +175 -0
- package/dist/decide/bench/profiles.js.map +1 -0
- package/dist/decide/bench/questions.d.ts +40 -0
- package/dist/decide/bench/questions.d.ts.map +1 -0
- package/dist/decide/bench/questions.js +107 -0
- package/dist/decide/bench/questions.js.map +1 -0
- package/dist/decide/bench/report.d.ts +21 -0
- package/dist/decide/bench/report.d.ts.map +1 -0
- package/dist/decide/bench/report.js +125 -0
- package/dist/decide/bench/report.js.map +1 -0
- package/dist/decide/bench/runner.d.ts +208 -0
- package/dist/decide/bench/runner.d.ts.map +1 -0
- package/dist/decide/bench/runner.js +336 -0
- package/dist/decide/bench/runner.js.map +1 -0
- package/dist/decide/bench/source.d.ts +21 -0
- package/dist/decide/bench/source.d.ts.map +1 -0
- package/dist/decide/bench/source.js +67 -0
- package/dist/decide/bench/source.js.map +1 -0
- package/dist/decide/bench/spot-check.d.ts +117 -0
- package/dist/decide/bench/spot-check.d.ts.map +1 -0
- package/dist/decide/bench/spot-check.js +221 -0
- package/dist/decide/bench/spot-check.js.map +1 -0
- package/dist/decide/bench/stats.d.ts +57 -0
- package/dist/decide/bench/stats.d.ts.map +1 -0
- package/dist/decide/bench/stats.js +82 -0
- package/dist/decide/bench/stats.js.map +1 -0
- package/dist/decide/bench/types.d.ts +216 -0
- package/dist/decide/bench/types.d.ts.map +1 -0
- package/dist/decide/bench/types.js +104 -0
- package/dist/decide/bench/types.js.map +1 -0
- package/dist/decide/client.d.ts +35 -1
- package/dist/decide/client.d.ts.map +1 -1
- package/dist/decide/client.js +135 -35
- package/dist/decide/client.js.map +1 -1
- package/dist/decide/credentials.d.ts +177 -17
- package/dist/decide/credentials.d.ts.map +1 -1
- package/dist/decide/credentials.js +505 -41
- package/dist/decide/credentials.js.map +1 -1
- package/dist/decide/index.d.ts +8 -8
- package/dist/decide/index.d.ts.map +1 -1
- package/dist/decide/index.js +8 -8
- package/dist/decide/index.js.map +1 -1
- package/dist/decide/jev-wire.d.ts +55 -19
- package/dist/decide/jev-wire.d.ts.map +1 -1
- package/dist/decide/jev-wire.js +116 -37
- package/dist/decide/jev-wire.js.map +1 -1
- package/dist/decide/operations.d.ts +63 -12
- package/dist/decide/operations.d.ts.map +1 -1
- package/dist/decide/operations.js +116 -58
- package/dist/decide/operations.js.map +1 -1
- package/dist/decide/provider-state.d.ts +85 -12
- package/dist/decide/provider-state.d.ts.map +1 -1
- package/dist/decide/provider-state.js +154 -21
- package/dist/decide/provider-state.js.map +1 -1
- package/dist/decide/provider.d.ts +5 -0
- package/dist/decide/provider.d.ts.map +1 -1
- package/dist/decide/provider.js.map +1 -1
- package/dist/decide/providers.d.ts +15 -2
- package/dist/decide/providers.d.ts.map +1 -1
- package/dist/decide/providers.js +22 -6
- package/dist/decide/providers.js.map +1 -1
- package/dist/decide/sites/registry.d.ts +22 -0
- package/dist/decide/sites/registry.d.ts.map +1 -1
- package/dist/decide/sites/registry.js +23 -0
- package/dist/decide/sites/registry.js.map +1 -1
- package/dist/decide/wizard.d.ts +12 -4
- package/dist/decide/wizard.d.ts.map +1 -1
- package/dist/decide/wizard.js +79 -26
- package/dist/decide/wizard.js.map +1 -1
- package/dist/dispatch/mvi-projection.d.ts +15 -2
- package/dist/dispatch/mvi-projection.d.ts.map +1 -1
- package/dist/dispatch/mvi-projection.js +73 -12
- package/dist/dispatch/mvi-projection.js.map +1 -1
- package/dist/docs/adr-allocator.d.ts +2 -2
- package/dist/docs/adr-allocator.d.ts.map +1 -1
- package/dist/docs/adr-allocator.js +17 -4
- package/dist/docs/adr-allocator.js.map +1 -1
- package/dist/docs/blob-consolidation.js +1 -1
- package/dist/docs/blob-consolidation.js.map +1 -1
- package/dist/docs/display-alias.d.ts +1 -1
- package/dist/docs/display-alias.d.ts.map +1 -1
- package/dist/docs/display-alias.js +7 -4
- package/dist/docs/display-alias.js.map +1 -1
- package/dist/docs/docs-inconsistency-detector.js +1 -1
- package/dist/docs/docs-inconsistency-detector.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +6 -1
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/export-document.js +18058 -14538
- package/dist/docs/export-document.js.map +3 -3
- package/dist/docs/numbering.js +1 -1
- package/dist/docs/numbering.js.map +1 -1
- package/dist/docs/supersede.d.ts.map +1 -1
- package/dist/docs/supersede.js +6 -3
- package/dist/docs/supersede.js.map +1 -1
- package/dist/docs/version-ssot.js +1 -1
- package/dist/docs/version-ssot.js.map +1 -1
- package/dist/doctor/db-substrate.d.ts.map +1 -1
- package/dist/doctor/db-substrate.js +39 -24
- package/dist/doctor/db-substrate.js.map +1 -1
- package/dist/doctor/knowledge-summary.d.ts +10 -3
- package/dist/doctor/knowledge-summary.d.ts.map +1 -1
- package/dist/doctor/knowledge-summary.js +10 -3
- package/dist/doctor/knowledge-summary.js.map +1 -1
- package/dist/doctor/orphan-ac-bindings.d.ts +64 -0
- package/dist/doctor/orphan-ac-bindings.d.ts.map +1 -0
- package/dist/doctor/orphan-ac-bindings.js +59 -0
- package/dist/doctor/orphan-ac-bindings.js.map +1 -0
- package/dist/doctor/project-identity.d.ts +128 -37
- package/dist/doctor/project-identity.d.ts.map +1 -1
- package/dist/doctor/project-identity.js +476 -63
- package/dist/doctor/project-identity.js.map +1 -1
- package/dist/doctor/projects.d.ts.map +1 -1
- package/dist/doctor/projects.js +43 -29
- package/dist/doctor/projects.js.map +1 -1
- package/dist/doctor/row-identity.d.ts +31 -0
- package/dist/doctor/row-identity.d.ts.map +1 -0
- package/dist/doctor/row-identity.js +93 -0
- package/dist/doctor/row-identity.js.map +1 -0
- package/dist/doctor/twin-collapse.d.ts +108 -2
- package/dist/doctor/twin-collapse.d.ts.map +1 -1
- package/dist/doctor/twin-collapse.js +309 -7
- package/dist/doctor/twin-collapse.js.map +1 -1
- package/dist/error-catalog.js +2 -2
- package/dist/error-catalog.js.map +1 -1
- package/dist/error-registry.js +1 -1
- package/dist/error-registry.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +22 -2
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +20 -11
- package/dist/init.js.map +1 -1
- package/dist/inject/index.d.ts.map +1 -1
- package/dist/inject/index.js +2 -3
- package/dist/inject/index.js.map +1 -1
- package/dist/internal.d.ts +5 -4
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +6 -4
- package/dist/internal.js.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.js +10 -0
- package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
- package/dist/llm/credential-remove-entry.d.ts +59 -0
- package/dist/llm/credential-remove-entry.d.ts.map +1 -0
- package/dist/llm/credential-remove-entry.js +101 -0
- package/dist/llm/credential-remove-entry.js.map +1 -0
- package/dist/llm/oauth/device-code.d.ts +26 -6
- package/dist/llm/oauth/device-code.d.ts.map +1 -1
- package/dist/llm/oauth/device-code.js +44 -12
- package/dist/llm/oauth/device-code.js.map +1 -1
- package/dist/llm/plugin-facade.js +18202 -14682
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/attention.d.ts.map +1 -1
- package/dist/memory/attention.js +5 -3
- package/dist/memory/attention.js.map +1 -1
- package/dist/memory/decisions.d.ts +48 -3
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +98 -14
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +19 -10
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/learnings.d.ts +6 -6
- package/dist/memory/manifest-identity.d.ts +171 -0
- package/dist/memory/manifest-identity.d.ts.map +1 -0
- package/dist/memory/manifest-identity.js +345 -0
- package/dist/memory/manifest-identity.js.map +1 -0
- package/dist/memory/mental-model-queue.d.ts +14 -4
- package/dist/memory/mental-model-queue.d.ts.map +1 -1
- package/dist/memory/mental-model-queue.js +64 -35
- package/dist/memory/mental-model-queue.js.map +1 -1
- package/dist/memory/patterns.d.ts +4 -4
- package/dist/memory/pipeline-manifest-sqlite.d.ts +47 -5
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +130 -14
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +2 -0
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/memory/transcript-scanner.js +1 -1
- package/dist/migration/manual/T10165-backfill-adr-index.d.ts.map +1 -1
- package/dist/migration/manual/T10165-backfill-adr-index.js +5 -1
- package/dist/migration/manual/T10165-backfill-adr-index.js.map +1 -1
- package/dist/nexus/deps.d.ts.map +1 -1
- package/dist/nexus/deps.js +7 -14
- package/dist/nexus/deps.js.map +1 -1
- package/dist/nexus/discover.d.ts.map +1 -1
- package/dist/nexus/discover.js +6 -9
- package/dist/nexus/discover.js.map +1 -1
- package/dist/nexus/fleet-status.d.ts +83 -0
- package/dist/nexus/fleet-status.d.ts.map +1 -0
- package/dist/nexus/fleet-status.js +414 -0
- package/dist/nexus/fleet-status.js.map +1 -0
- package/dist/nexus/git-state.d.ts +15 -0
- package/dist/nexus/git-state.d.ts.map +1 -1
- package/dist/nexus/git-state.js +77 -3
- package/dist/nexus/git-state.js.map +1 -1
- package/dist/nexus/identity.d.ts.map +1 -1
- package/dist/nexus/identity.js +4 -0
- package/dist/nexus/identity.js.map +1 -1
- package/dist/nexus/index.d.ts +4 -1
- package/dist/nexus/index.d.ts.map +1 -1
- package/dist/nexus/index.js +7 -1
- package/dist/nexus/index.js.map +1 -1
- package/dist/nexus/migrate-json-to-sqlite.d.ts +3 -2
- package/dist/nexus/migrate-json-to-sqlite.d.ts.map +1 -1
- package/dist/nexus/migrate-json-to-sqlite.js +9 -17
- package/dist/nexus/migrate-json-to-sqlite.js.map +1 -1
- package/dist/nexus/ops.d.ts +1 -0
- package/dist/nexus/ops.d.ts.map +1 -1
- package/dist/nexus/project-activity.d.ts +104 -0
- package/dist/nexus/project-activity.d.ts.map +1 -0
- package/dist/nexus/project-activity.js +150 -0
- package/dist/nexus/project-activity.js.map +1 -0
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +22 -11
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/projects-scan.d.ts.map +1 -1
- package/dist/nexus/projects-scan.js +8 -13
- package/dist/nexus/projects-scan.js.map +1 -1
- package/dist/nexus/query.d.ts +2 -2
- package/dist/nexus/query.d.ts.map +1 -1
- package/dist/nexus/query.js +8 -31
- package/dist/nexus/query.js.map +1 -1
- package/dist/nexus/registry-errors.d.ts +61 -0
- package/dist/nexus/registry-errors.d.ts.map +1 -0
- package/dist/nexus/registry-errors.js +85 -0
- package/dist/nexus/registry-errors.js.map +1 -0
- package/dist/nexus/registry-roots.d.ts +5 -2
- package/dist/nexus/registry-roots.d.ts.map +1 -1
- package/dist/nexus/registry-roots.js +8 -10
- package/dist/nexus/registry-roots.js.map +1 -1
- package/dist/nexus/registry.d.ts +48 -5
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +151 -85
- package/dist/nexus/registry.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts +4 -0
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +75 -12
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +29 -27
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +29 -3
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worktree-complete.d.ts.map +1 -1
- package/dist/orchestrate/worktree-complete.js +40 -2
- package/dist/orchestrate/worktree-complete.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +20 -14
- package/dist/orchestration/bootstrap.js.map +1 -1
- package/dist/orchestration/index.d.ts +15 -1
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +25 -6
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +7 -1
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +6 -3
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +26 -0
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +63 -92
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/waves.d.ts +21 -10
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +38 -35
- package/dist/orchestration/waves.js.map +1 -1
- package/dist/paths.d.ts +9 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +30 -13
- package/dist/paths.js.map +1 -1
- package/dist/phases/index.d.ts +1 -1
- package/dist/phases/index.d.ts.map +1 -1
- package/dist/phases/index.js +3 -4
- package/dist/phases/index.js.map +1 -1
- package/dist/project-info.d.ts +40 -3
- package/dist/project-info.d.ts.map +1 -1
- package/dist/project-info.js +74 -6
- package/dist/project-info.js.map +1 -1
- package/dist/project-lifecycle.d.ts +28 -7
- package/dist/project-lifecycle.d.ts.map +1 -1
- package/dist/project-lifecycle.js +114 -47
- package/dist/project-lifecycle.js.map +1 -1
- package/dist/project-scope.d.ts +70 -3
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +154 -15
- package/dist/project-scope.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +190 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +436 -4
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/open.d.ts +12 -2
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +32 -3
- package/dist/release/open.js.map +1 -1
- package/dist/release/preflight-skip.d.ts +73 -0
- package/dist/release/preflight-skip.d.ts.map +1 -0
- package/dist/release/preflight-skip.js +254 -0
- package/dist/release/preflight-skip.js.map +1 -0
- package/dist/render/decide/index.d.ts +51 -0
- package/dist/render/decide/index.d.ts.map +1 -0
- package/dist/render/decide/index.js +289 -0
- package/dist/render/decide/index.js.map +1 -0
- package/dist/render/index.d.ts +1 -0
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +1 -0
- package/dist/render/index.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts +5 -0
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +53 -0
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/scaffold/ensure-config.d.ts +14 -6
- package/dist/scaffold/ensure-config.d.ts.map +1 -1
- package/dist/scaffold/ensure-config.js +39 -17
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/scaffold/project-identity.d.ts +115 -23
- package/dist/scaffold/project-identity.d.ts.map +1 -1
- package/dist/scaffold/project-identity.js +196 -44
- package/dist/scaffold/project-identity.js.map +1 -1
- package/dist/sdk/validator-ac-pull.d.ts.map +1 -1
- package/dist/sdk/validator-ac-pull.js +2 -1
- package/dist/sdk/validator-ac-pull.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +18221 -14701
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/cross-project-hygiene.d.ts +17 -6
- package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
- package/dist/sentient/cross-project-hygiene.js +22 -11
- package/dist/sentient/cross-project-hygiene.js.map +1 -1
- package/dist/sentient/propose-tick.d.ts.map +1 -1
- package/dist/sentient/propose-tick.js +2 -3
- package/dist/sentient/propose-tick.js.map +1 -1
- package/dist/sentient/stage-drift-tick.d.ts.map +1 -1
- package/dist/sentient/stage-drift-tick.js +2 -3
- package/dist/sentient/stage-drift-tick.js.map +1 -1
- package/dist/session/engine-ops.d.ts +13 -4
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +38 -45
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +7 -3
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +10 -10
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/drift-watchdog.d.ts.map +1 -1
- package/dist/sessions/drift-watchdog.js +11 -19
- package/dist/sessions/drift-watchdog.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +103 -26
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +166 -37
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/sessions/handoff.d.ts.map +1 -1
- package/dist/sessions/handoff.js +9 -18
- package/dist/sessions/handoff.js.map +1 -1
- package/dist/sessions/index.d.ts +4 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +35 -6
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-drift.d.ts.map +1 -1
- package/dist/sessions/session-drift.js +4 -2
- package/dist/sessions/session-drift.js.map +1 -1
- package/dist/sessions/session-view.d.ts +8 -1
- package/dist/sessions/session-view.d.ts.map +1 -1
- package/dist/sessions/session-view.js +9 -2
- package/dist/sessions/session-view.js.map +1 -1
- package/dist/setup/config-json-merge.d.ts.map +1 -1
- package/dist/setup/config-json-merge.js +1 -0
- package/dist/setup/config-json-merge.js.map +1 -1
- package/dist/setup/index.d.ts +4 -2
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +6 -2
- package/dist/setup/index.js.map +1 -1
- package/dist/setup/sections/nexus-account.d.ts +32 -0
- package/dist/setup/sections/nexus-account.d.ts.map +1 -0
- package/dist/setup/sections/nexus-account.js +64 -0
- package/dist/setup/sections/nexus-account.js.map +1 -0
- package/dist/setup/wizard.d.ts +1 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js.map +1 -1
- package/dist/skills/manifests/research.js +2 -0
- package/dist/skills/manifests/research.js.map +1 -1
- package/dist/skills/orchestrator/startup.d.ts.map +1 -1
- package/dist/skills/orchestrator/startup.js +18 -31
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/skills/orchestrator/validator.d.ts.map +1 -1
- package/dist/skills/orchestrator/validator.js +9 -2
- package/dist/skills/orchestrator/validator.js.map +1 -1
- package/dist/skills/validation.d.ts +4 -1
- package/dist/skills/validation.d.ts.map +1 -1
- package/dist/skills/validation.js +11 -3
- package/dist/skills/validation.js.map +1 -1
- package/dist/snapshot/index.d.ts.map +1 -1
- package/dist/snapshot/index.js +60 -53
- package/dist/snapshot/index.js.map +1 -1
- package/dist/spawn/agent-identity.d.ts +33 -1
- package/dist/spawn/agent-identity.d.ts.map +1 -1
- package/dist/spawn/agent-identity.js +53 -1
- package/dist/spawn/agent-identity.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts +111 -7
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +296 -8
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/spawn/index.d.ts +1 -1
- package/dist/spawn/index.d.ts.map +1 -1
- package/dist/spawn/index.js +1 -1
- package/dist/spawn/index.js.map +1 -1
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +3 -4
- package/dist/stats/index.js.map +1 -1
- package/dist/status/index.d.ts +12 -3
- package/dist/status/index.d.ts.map +1 -1
- package/dist/status/index.js +47 -5
- package/dist/status/index.js.map +1 -1
- package/dist/store/ac-binding-prune.d.ts +144 -0
- package/dist/store/ac-binding-prune.d.ts.map +1 -0
- package/dist/store/ac-binding-prune.js +293 -0
- package/dist/store/ac-binding-prune.js.map +1 -0
- package/dist/store/agent-registry-store.d.ts.map +1 -1
- package/dist/store/agent-registry-store.js +3 -2
- package/dist/store/agent-registry-store.js.map +1 -1
- package/dist/store/attachment-repair.d.ts.map +1 -1
- package/dist/store/attachment-repair.js +42 -3
- package/dist/store/attachment-repair.js.map +1 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +30 -46
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/backup-recover-brain.d.ts +4 -0
- package/dist/store/backup-recover-brain.d.ts.map +1 -1
- package/dist/store/backup-recover-brain.js +2 -0
- package/dist/store/backup-recover-brain.js.map +1 -1
- package/dist/store/backup-recover.d.ts +9 -0
- package/dist/store/backup-recover.d.ts.map +1 -1
- package/dist/store/backup-recover.js +28 -1
- package/dist/store/backup-recover.js.map +1 -1
- package/dist/store/backup-sidecar.d.ts +115 -2
- package/dist/store/backup-sidecar.d.ts.map +1 -1
- package/dist/store/backup-sidecar.js +263 -3
- package/dist/store/backup-sidecar.js.map +1 -1
- package/dist/store/blob-keep.d.ts +135 -0
- package/dist/store/blob-keep.d.ts.map +1 -0
- package/dist/store/blob-keep.js +283 -0
- package/dist/store/blob-keep.js.map +1 -0
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +3 -2
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/converters.d.ts.map +1 -1
- package/dist/store/converters.js +11 -0
- package/dist/store/converters.js.map +1 -1
- package/dist/store/credential-transfer.d.ts +37 -5
- package/dist/store/credential-transfer.d.ts.map +1 -1
- package/dist/store/credential-transfer.js +76 -18
- package/dist/store/credential-transfer.js.map +1 -1
- package/dist/store/data-accessor.d.ts +1 -1
- package/dist/store/data-accessor.d.ts.map +1 -1
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/db-helpers.d.ts +35 -11
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +107 -38
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/display-id-alias.d.ts +529 -0
- package/dist/store/display-id-alias.d.ts.map +1 -0
- package/dist/store/display-id-alias.js +1063 -0
- package/dist/store/display-id-alias.js.map +1 -0
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +21 -0
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts.map +1 -1
- package/dist/store/exodus/on-open.js +35 -0
- package/dist/store/exodus/on-open.js.map +1 -1
- package/dist/store/exodus/reconcile.d.ts.map +1 -1
- package/dist/store/exodus/reconcile.js +7 -2
- package/dist/store/exodus/reconcile.js.map +1 -1
- package/dist/store/exodus/recovery.d.ts.map +1 -1
- package/dist/store/exodus/recovery.js +20 -1
- package/dist/store/exodus/recovery.js.map +1 -1
- package/dist/store/exodus/runtime-targets.d.ts +3 -3
- package/dist/store/exodus/runtime-targets.js +3 -3
- package/dist/store/import-remap.d.ts +12 -1
- package/dist/store/import-remap.d.ts.map +1 -1
- package/dist/store/import-remap.js +14 -0
- package/dist/store/import-remap.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts +3 -1
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +22 -3
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/memory-accessor.js +1 -1
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/migration-manager.d.ts +61 -0
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +102 -4
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/nexus-validation-schemas.d.ts +64 -0
- package/dist/store/nexus-validation-schemas.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.d.ts +8 -0
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +10 -0
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +1 -0
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/portable-bundle.d.ts.map +1 -1
- package/dist/store/portable-bundle.js +15 -14
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/pre-repair-snapshot.d.ts +4 -1
- package/dist/store/pre-repair-snapshot.d.ts.map +1 -1
- package/dist/store/pre-repair-snapshot.js +5 -1
- package/dist/store/pre-repair-snapshot.js.map +1 -1
- package/dist/store/regenerators.d.ts +4 -2
- package/dist/store/regenerators.d.ts.map +1 -1
- package/dist/store/regenerators.js +7 -3
- package/dist/store/regenerators.js.map +1 -1
- package/dist/store/repair-malformed-dbs.d.ts +4 -0
- package/dist/store/repair-malformed-dbs.d.ts.map +1 -1
- package/dist/store/repair-malformed-dbs.js +3 -0
- package/dist/store/repair-malformed-dbs.js.map +1 -1
- package/dist/store/row-identity-flag.d.ts +26 -0
- package/dist/store/row-identity-flag.d.ts.map +1 -0
- package/dist/store/row-identity-flag.js +31 -0
- package/dist/store/row-identity-flag.js.map +1 -0
- package/dist/store/row-identity-registry.d.ts +61 -0
- package/dist/store/row-identity-registry.d.ts.map +1 -0
- package/dist/store/row-identity-registry.js +198 -0
- package/dist/store/row-identity-registry.js.map +1 -0
- package/dist/store/row-identity.d.ts +390 -0
- package/dist/store/row-identity.d.ts.map +1 -0
- package/dist/store/row-identity.js +1240 -0
- package/dist/store/row-identity.js.map +1 -0
- package/dist/store/safety-data-accessor.d.ts +10 -3
- package/dist/store/safety-data-accessor.d.ts.map +1 -1
- package/dist/store/safety-data-accessor.js +15 -4
- package/dist/store/safety-data-accessor.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +1 -1
- package/dist/store/schema/audit.d.ts +4 -4
- package/dist/store/schema/background-jobs.d.ts +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +49 -1
- package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +17 -0
- package/dist/store/schema/cleo-global/nexus.js.map +1 -1
- package/dist/store/schema/cleo-global/skills.d.ts +2 -2
- package/dist/store/schema/cleo-project/audit.d.ts +4 -4
- package/dist/store/schema/cleo-project/docs.d.ts +17 -1
- package/dist/store/schema/cleo-project/docs.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/docs.js +10 -0
- package/dist/store/schema/cleo-project/docs.js.map +1 -1
- package/dist/store/schema/cleo-project/lifecycle.d.ts +4 -4
- package/dist/store/schema/cleo-project/nexus-graph.d.ts +3 -3
- package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
- package/dist/store/schema/cleo-project/runtime.d.ts +3 -3
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +87 -1
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core-batch2.js +35 -0
- package/dist/store/schema/cleo-project/tasks-core-batch2.js.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +263 -7
- package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core.js +77 -2
- package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
- package/dist/store/schema/cleo-shared/brain.d.ts +7 -7
- package/dist/store/schema/lifecycle.d.ts +4 -4
- package/dist/store/schema/manifest.d.ts +1 -1
- package/dist/store/schema/memory-schema.d.ts +6 -6
- package/dist/store/schema/nexus-schema.d.ts +51 -3
- package/dist/store/schema/nexus-schema.d.ts.map +1 -1
- package/dist/store/schema/nexus-schema.js +28 -7
- package/dist/store/schema/nexus-schema.js.map +1 -1
- package/dist/store/schema/provenance/releases.d.ts +1 -1
- package/dist/store/schema/skills-schema.d.ts +2 -2
- package/dist/store/schema/tasks.d.ts +6 -6
- package/dist/store/session-store.d.ts +65 -0
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +108 -7
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/split-brain-import.d.ts +2 -14
- package/dist/store/split-brain-import.d.ts.map +1 -1
- package/dist/store/split-brain-import.js +4 -19
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +279 -2
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +789 -91
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +15 -3
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +52 -20
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/store-write-guard.d.ts +9 -3
- package/dist/store/store-write-guard.d.ts.map +1 -1
- package/dist/store/store-write-guard.js +25 -4
- package/dist/store/store-write-guard.js.map +1 -1
- package/dist/store/sync/clock-store.d.ts +67 -0
- package/dist/store/sync/clock-store.d.ts.map +1 -0
- package/dist/store/sync/clock-store.js +117 -0
- package/dist/store/sync/clock-store.js.map +1 -0
- package/dist/store/sync/flags.d.ts +51 -0
- package/dist/store/sync/flags.d.ts.map +1 -0
- package/dist/store/sync/flags.js +81 -0
- package/dist/store/sync/flags.js.map +1 -0
- package/dist/store/sync/hlc.d.ts +115 -0
- package/dist/store/sync/hlc.d.ts.map +1 -0
- package/dist/store/sync/hlc.js +172 -0
- package/dist/store/sync/hlc.js.map +1 -0
- package/dist/store/sync/index.d.ts +20 -0
- package/dist/store/sync/index.d.ts.map +1 -0
- package/dist/store/sync/index.js +20 -0
- package/dist/store/sync/index.js.map +1 -0
- package/dist/store/sync/replica-registry.d.ts +85 -0
- package/dist/store/sync/replica-registry.d.ts.map +1 -0
- package/dist/store/sync/replica-registry.js +147 -0
- package/dist/store/sync/replica-registry.js.map +1 -0
- package/dist/store/sync/replica.d.ts +181 -0
- package/dist/store/sync/replica.d.ts.map +1 -0
- package/dist/store/sync/replica.js +305 -0
- package/dist/store/sync/replica.js.map +1 -0
- package/dist/store/sync/schema.d.ts +68 -0
- package/dist/store/sync/schema.d.ts.map +1 -0
- package/dist/store/sync/schema.js +130 -0
- package/dist/store/sync/schema.js.map +1 -0
- package/dist/store/sync/skew-hold.d.ts +71 -0
- package/dist/store/sync/skew-hold.d.ts.map +1 -0
- package/dist/store/sync/skew-hold.js +89 -0
- package/dist/store/sync/skew-hold.js.map +1 -0
- package/dist/store/table-classification.d.ts +11 -9
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +127 -33
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/task-claim.d.ts +144 -0
- package/dist/store/task-claim.d.ts.map +1 -0
- package/dist/store/task-claim.js +195 -0
- package/dist/store/task-claim.js.map +1 -0
- package/dist/store/task-version.d.ts +43 -5
- package/dist/store/task-version.d.ts.map +1 -1
- package/dist/store/task-version.js +113 -17
- package/dist/store/task-version.js.map +1 -1
- package/dist/store/tasks-schema.d.ts +2 -0
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +1 -0
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +10 -2
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +450 -22
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +1552 -49
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/umbrella-data-accessor.d.ts +10 -3
- package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
- package/dist/store/umbrella-data-accessor.js +14 -4
- package/dist/store/umbrella-data-accessor.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +402 -50
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/store/with-retry.d.ts +36 -0
- package/dist/store/with-retry.d.ts.map +1 -1
- package/dist/store/with-retry.js +51 -0
- package/dist/store/with-retry.js.map +1 -1
- package/dist/store/worktree-build-guard.d.ts +13 -4
- package/dist/store/worktree-build-guard.d.ts.map +1 -1
- package/dist/store/worktree-build-guard.js +21 -10
- package/dist/store/worktree-build-guard.js.map +1 -1
- package/dist/store/worktree-isolation-guard.d.ts +121 -10
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +155 -34
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/system/backup.d.ts +7 -0
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +5 -0
- package/dist/system/backup.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +6 -1
- package/dist/system/health.js.map +1 -1
- package/dist/system/inject-generate.d.ts.map +1 -1
- package/dist/system/inject-generate.js +23 -10
- package/dist/system/inject-generate.js.map +1 -1
- package/dist/system/project-health.d.ts +17 -2
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +19 -6
- package/dist/system/project-health.js.map +1 -1
- package/dist/task-tools/index.d.ts +1 -1
- package/dist/task-tools/index.d.ts.map +1 -1
- package/dist/task-tools/index.js +1 -1
- package/dist/task-tools/index.js.map +1 -1
- package/dist/task-tools/score-task-priority.d.ts +38 -0
- package/dist/task-tools/score-task-priority.d.ts.map +1 -1
- package/dist/task-tools/score-task-priority.js +51 -0
- package/dist/task-tools/score-task-priority.js.map +1 -1
- package/dist/task-work/claims.d.ts +215 -0
- package/dist/task-work/claims.d.ts.map +1 -0
- package/dist/task-work/claims.js +272 -0
- package/dist/task-work/claims.js.map +1 -0
- package/dist/task-work/index.d.ts +47 -3
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +74 -41
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
- package/dist/tasks/ac-coverage-gate.js +3 -0
- package/dist/tasks/ac-coverage-gate.js.map +1 -1
- package/dist/tasks/ac-table.d.ts +35 -7
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +119 -14
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +51 -4
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +3 -4
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/backfill-child-projections.js +47 -6
- package/dist/tasks/backfill-child-projections.js.map +1 -1
- package/dist/tasks/change-set.d.ts +5 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +59 -3
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete.d.ts +16 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +33 -8
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/completion-evaluation.d.ts.map +1 -1
- package/dist/tasks/completion-evaluation.js +3 -0
- package/dist/tasks/completion-evaluation.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +162 -1
- package/dist/tasks/component-pr.d.ts.map +1 -1
- package/dist/tasks/component-pr.js +560 -59
- package/dist/tasks/component-pr.js.map +1 -1
- package/dist/tasks/done-record.d.ts +14 -1
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +37 -0
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/duplicate-detector.d.ts +20 -1
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +10 -2
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/engine-wrap-ops.d.ts +19 -10
- package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
- package/dist/tasks/engine-wrap-ops.js +38 -10
- package/dist/tasks/engine-wrap-ops.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +14 -3
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/graph-ops.d.ts +9 -2
- package/dist/tasks/graph-ops.d.ts.map +1 -1
- package/dist/tasks/graph-ops.js +24 -32
- package/dist/tasks/graph-ops.js.map +1 -1
- package/dist/tasks/plan.d.ts.map +1 -1
- package/dist/tasks/plan.js +16 -60
- package/dist/tasks/plan.js.map +1 -1
- package/dist/tasks/task-context.d.ts.map +1 -1
- package/dist/tasks/task-context.js +13 -0
- package/dist/tasks/task-context.js.map +1 -1
- package/dist/tasks/task-import.d.ts.map +1 -1
- package/dist/tasks/task-import.js +21 -12
- package/dist/tasks/task-import.js.map +1 -1
- package/dist/tasks/task-next.d.ts +25 -2
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +32 -13
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +7 -5
- package/dist/tasks/update.js.map +1 -1
- package/dist/upgrade.d.ts +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +48 -9
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/compliance.d.ts +5 -1
- package/dist/validation/compliance.d.ts.map +1 -1
- package/dist/validation/compliance.js +24 -3
- package/dist/validation/compliance.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +20 -6
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +51 -8
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/protocol-common.d.ts +47 -2
- package/dist/validation/protocol-common.d.ts.map +1 -1
- package/dist/validation/protocol-common.js +86 -21
- package/dist/validation/protocol-common.js.map +1 -1
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +2 -3
- package/dist/validation/validate-ops.js.map +1 -1
- package/migrations/README.md +12 -0
- package/migrations/drizzle-cleo-global/20260929010000_t12512-registry-probed-opened/migration.sql +35 -0
- package/migrations/drizzle-cleo-global/20260929020000_t12721-git-state-head-committed-at/migration.sql +25 -0
- package/migrations/drizzle-cleo-project/20260928120000_t12341-row-uids/migration.sql +169 -0
- package/migrations/drizzle-cleo-project/20260929000000_t12535-docs-attachments-union-shape/migration.sql +21 -0
- package/migrations/drizzle-cleo-project/20260929120000_t12502-task-claim-leases/migration.sql +77 -0
- package/migrations/drizzle-cleo-project/20260929130000_t12736-claim-lease-iso-repair/migration.sql +37 -0
- package/migrations/sync-journal/20260929140000_t12342-sync-clock/migration.sql +42 -0
- package/package.json +23 -13
- package/schemas/project-info.schema.json +10 -4
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +7 -3
- package/templates/cleo-gitignore +11 -0
- package/templates/workflows/release-prepare.yml.tmpl +156 -10
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The System One benchmark runner (T12495): replay every labelled row through
|
|
3
|
+
* every compared provider with `decideBatch`, next to each site's heuristic,
|
|
4
|
+
* and score the answers.
|
|
5
|
+
*
|
|
6
|
+
* - Provider answer cache off (`cache: false` on every request) and the
|
|
7
|
+
* in-process outcome cache off, so every row is a real provider call.
|
|
8
|
+
* - One batch deadline of at least {@link MIN_BENCH_TIMEOUT_MS} (spec §1: the
|
|
9
|
+
* batch endpoint answers its items serially).
|
|
10
|
+
* - A hard total spend cap across all providers and runs, SEPARATE from the
|
|
11
|
+
* everyday monthly cap: before each batch the spend estimate (per
|
|
12
|
+
* question, the larger of {@link DECISION_COST_ESTIMATE_MICROS_PER_QUESTION}
|
|
13
|
+
* and the connection's observed mean reported cost) is added to what was
|
|
14
|
+
* spent so far, and the run stops cleanly when that would pass the cap.
|
|
15
|
+
* Billed answers the client rejected (`invalid_response`) count at their
|
|
16
|
+
* reported cost (else the estimate), so a model that keeps answering in
|
|
17
|
+
* the wrong shape is still capped. The monthly cap does not gate the benchmark
|
|
18
|
+
* (`spend: null` on the calls), but every batch's spend is still recorded
|
|
19
|
+
* in the monthly ledger so month-to-date spend stays true.
|
|
20
|
+
* - Providers take turns batch by batch, so a cap stop leaves them with the
|
|
21
|
+
* same coverage.
|
|
22
|
+
*
|
|
23
|
+
* @task T12495
|
|
24
|
+
* @epic T12486
|
|
25
|
+
*/
|
|
26
|
+
import { type SpendLedger } from '../spend.js';
|
|
27
|
+
import type { DecideFetch } from '../transport.js';
|
|
28
|
+
import { type BenchDatasetSizes } from './dataset.js';
|
|
29
|
+
import { type BenchClassificationMetrics, type BenchLatency } from './metrics.js';
|
|
30
|
+
import { type BenchSpread } from './stats.js';
|
|
31
|
+
import { type BenchConnection, type BenchRow, type BenchSite } from './types.js';
|
|
32
|
+
/** Default hard spend cap across providers and runs: $5. */
|
|
33
|
+
export declare const DEFAULT_BENCH_MAX_MICROS = 5000000;
|
|
34
|
+
/** Minimum (and default) batch deadline, ms. */
|
|
35
|
+
export declare const MIN_BENCH_TIMEOUT_MS = 30000;
|
|
36
|
+
/** Default rows per batch call. */
|
|
37
|
+
export declare const DEFAULT_BENCH_BATCH_SIZE = 16;
|
|
38
|
+
/** Largest batch the layahost batch endpoint accepts (64 requests). */
|
|
39
|
+
export declare const MAX_BENCH_BATCH_SIZE = 64;
|
|
40
|
+
/** Name of the heuristic pseudo-provider in results. */
|
|
41
|
+
export declare const HEURISTIC_PROVIDER = "heuristic";
|
|
42
|
+
/** Options for {@link runDecideBench}. */
|
|
43
|
+
export interface RunDecideBenchOptions {
|
|
44
|
+
/** Labelled rows (already filtered to the sites to run). */
|
|
45
|
+
readonly rows: readonly BenchRow[];
|
|
46
|
+
/** Providers to compare. */
|
|
47
|
+
readonly connections: readonly BenchConnection[];
|
|
48
|
+
/** Repeated runs. Default 1. */
|
|
49
|
+
readonly runs?: number;
|
|
50
|
+
/** Hard total spend cap in micro-dollars. Default {@link DEFAULT_BENCH_MAX_MICROS}. */
|
|
51
|
+
readonly maxMicros?: number;
|
|
52
|
+
/** Rows per batch call, 1–{@link MAX_BENCH_BATCH_SIZE}. Default {@link DEFAULT_BENCH_BATCH_SIZE}. */
|
|
53
|
+
readonly batchSize?: number;
|
|
54
|
+
/** Batch deadline, ms; raised to at least {@link MIN_BENCH_TIMEOUT_MS}. */
|
|
55
|
+
readonly timeoutMs?: number;
|
|
56
|
+
/** Monthly ledger the actual spend is recorded in; `null` skips it. Default: the file ledger. */
|
|
57
|
+
readonly spendLedger?: SpendLedger | null;
|
|
58
|
+
/** Transport (tests). Default: the decide transport. */
|
|
59
|
+
readonly fetch?: DecideFetch;
|
|
60
|
+
/**
|
|
61
|
+
* Directory for per-connection provider-state files (detected
|
|
62
|
+
* capabilities). Default `<cleoHome>/decide/bench/`. Each compared
|
|
63
|
+
* connection gets its own file: the everyday state file holds ONE identity,
|
|
64
|
+
* so two connections sharing it would overwrite each other's detection and
|
|
65
|
+
* one would fall back to the Jev minimum (no batch, no `cache: false`).
|
|
66
|
+
*/
|
|
67
|
+
readonly providerStateDir?: string;
|
|
68
|
+
/** Clock (tests). */
|
|
69
|
+
readonly now?: () => Date;
|
|
70
|
+
}
|
|
71
|
+
/** One provider's (or the heuristic's) result on one site in one run. */
|
|
72
|
+
export interface BenchSiteResult extends BenchClassificationMetrics {
|
|
73
|
+
/** Site. */
|
|
74
|
+
readonly site: BenchSite;
|
|
75
|
+
/** Rows sent (or scored, for the heuristic). */
|
|
76
|
+
readonly attempted: number;
|
|
77
|
+
/** Rows the provider answered usably (the metrics' `n`). */
|
|
78
|
+
readonly answered: number;
|
|
79
|
+
/** Latency of provider-answered rows: the wall time of the batch call that carried each row. */
|
|
80
|
+
readonly latency: BenchLatency;
|
|
81
|
+
/** Spend accounted to this site, micro-dollars (reported cost, else the estimate). */
|
|
82
|
+
readonly costMicros: number;
|
|
83
|
+
/** Whether the provider reported its cost (`meta.cost_micros` / `cost_usd`). */
|
|
84
|
+
readonly costReported: boolean;
|
|
85
|
+
/** Fallback reason → rows (timeouts, 4xx/5xx, malformed answers, …). */
|
|
86
|
+
readonly fallbacks: Readonly<Record<string, number>>;
|
|
87
|
+
/** Rows the provider answered with a value outside the site's labels. */
|
|
88
|
+
readonly unusable: number;
|
|
89
|
+
}
|
|
90
|
+
/** One provider in one run. */
|
|
91
|
+
export interface BenchProviderRun {
|
|
92
|
+
/** Profile name. */
|
|
93
|
+
readonly provider: string;
|
|
94
|
+
/** Per-site results, in {@link BENCH_SITES} order. */
|
|
95
|
+
readonly sites: readonly BenchSiteResult[];
|
|
96
|
+
}
|
|
97
|
+
/** One repeated run. */
|
|
98
|
+
export interface BenchRunRecord {
|
|
99
|
+
/** 1-based run number. */
|
|
100
|
+
readonly run: number;
|
|
101
|
+
/** Whether every batch of the run was sent (false when the cap stopped it). */
|
|
102
|
+
readonly complete: boolean;
|
|
103
|
+
/** Per provider. */
|
|
104
|
+
readonly providers: readonly BenchProviderRun[];
|
|
105
|
+
}
|
|
106
|
+
/** Mean and spread of one provider × site across runs. */
|
|
107
|
+
export interface BenchAggregateRow {
|
|
108
|
+
/** Profile name (or {@link HEURISTIC_PROVIDER}). */
|
|
109
|
+
readonly provider: string;
|
|
110
|
+
/** Site. */
|
|
111
|
+
readonly site: BenchSite;
|
|
112
|
+
/** Rows answered, per run. */
|
|
113
|
+
readonly answered: BenchSpread;
|
|
114
|
+
/** Accuracy. */
|
|
115
|
+
readonly accuracy: BenchSpread;
|
|
116
|
+
/** Precision. */
|
|
117
|
+
readonly precision: BenchSpread;
|
|
118
|
+
/** Recall. */
|
|
119
|
+
readonly recall: BenchSpread;
|
|
120
|
+
/** F1. */
|
|
121
|
+
readonly f1: BenchSpread;
|
|
122
|
+
/** False-positive rate. */
|
|
123
|
+
readonly falsePositiveRate: BenchSpread;
|
|
124
|
+
/** p50 latency, ms. */
|
|
125
|
+
readonly p50Ms: BenchSpread;
|
|
126
|
+
/** p95 latency, ms. */
|
|
127
|
+
readonly p95Ms: BenchSpread;
|
|
128
|
+
/** Cost per run, micro-dollars (reported cost, else the estimate). */
|
|
129
|
+
readonly costMicros: BenchSpread;
|
|
130
|
+
/**
|
|
131
|
+
* Whether any run's provider reported its cost. False for a plain Jev host
|
|
132
|
+
* (no `meta.cost_*`): `costMicros` is then only the reservation estimate.
|
|
133
|
+
*/
|
|
134
|
+
readonly costReported: boolean;
|
|
135
|
+
/** Fallbacks summed over runs, by reason. */
|
|
136
|
+
readonly fallbacks: Readonly<Record<string, number>>;
|
|
137
|
+
}
|
|
138
|
+
/** Spend accounting of a benchmark. */
|
|
139
|
+
export interface BenchSpendSummary {
|
|
140
|
+
/** The hard cap, micro-dollars. */
|
|
141
|
+
readonly capMicros: number;
|
|
142
|
+
/** Spent (reported cost, else the estimate), micro-dollars. */
|
|
143
|
+
readonly spentMicros: number;
|
|
144
|
+
/** Of which the providers reported. */
|
|
145
|
+
readonly reportedMicros: number;
|
|
146
|
+
/** Whether the cap stopped the benchmark. */
|
|
147
|
+
readonly capReached: boolean;
|
|
148
|
+
/** Where it stopped, when it did. */
|
|
149
|
+
readonly stoppedAt?: {
|
|
150
|
+
readonly run: number;
|
|
151
|
+
readonly site: BenchSite;
|
|
152
|
+
readonly provider: string;
|
|
153
|
+
readonly batch: number;
|
|
154
|
+
readonly estimateMicros: number;
|
|
155
|
+
};
|
|
156
|
+
/** Batch calls made. */
|
|
157
|
+
readonly batchesSent: number;
|
|
158
|
+
/** Batch calls planned (runs × sites × batches × providers). */
|
|
159
|
+
readonly batchesPlanned: number;
|
|
160
|
+
/** Whether the monthly ledger accepted the spend record (false: it could not be written). */
|
|
161
|
+
readonly recordedInMonthlyLedger: boolean;
|
|
162
|
+
}
|
|
163
|
+
/** The machine-readable benchmark result. */
|
|
164
|
+
export interface BenchResults {
|
|
165
|
+
/** Format version. */
|
|
166
|
+
readonly schemaVersion: 1;
|
|
167
|
+
/** Owning task. */
|
|
168
|
+
readonly task: 'T12495';
|
|
169
|
+
/** ISO start time. */
|
|
170
|
+
readonly startedAt: string;
|
|
171
|
+
/** ISO end time. */
|
|
172
|
+
readonly finishedAt: string;
|
|
173
|
+
/** Run configuration; never contains an API key. */
|
|
174
|
+
readonly config: {
|
|
175
|
+
readonly runs: number;
|
|
176
|
+
readonly batchSize: number;
|
|
177
|
+
readonly timeoutMs: number;
|
|
178
|
+
readonly maxMicros: number;
|
|
179
|
+
readonly sites: readonly BenchSite[];
|
|
180
|
+
readonly providers: readonly {
|
|
181
|
+
readonly name: string;
|
|
182
|
+
readonly provider: string;
|
|
183
|
+
readonly baseUrl: string;
|
|
184
|
+
readonly model?: string;
|
|
185
|
+
}[];
|
|
186
|
+
};
|
|
187
|
+
/** Dataset sizes. */
|
|
188
|
+
readonly dataset: BenchDatasetSizes;
|
|
189
|
+
/** The heuristic baseline (deterministic, scored once). */
|
|
190
|
+
readonly heuristic: readonly BenchSiteResult[];
|
|
191
|
+
/** Every run. */
|
|
192
|
+
readonly runs: readonly BenchRunRecord[];
|
|
193
|
+
/** Mean and spread per provider × site (heuristic included). */
|
|
194
|
+
readonly aggregate: readonly BenchAggregateRow[];
|
|
195
|
+
/** Spend. */
|
|
196
|
+
readonly spend: BenchSpendSummary;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Run the benchmark.
|
|
200
|
+
*
|
|
201
|
+
* Never throws because of a provider: failures become per-row fallbacks with
|
|
202
|
+
* their reason. Stops cleanly at the spend cap and reports what it completed.
|
|
203
|
+
*
|
|
204
|
+
* @param opts - Rows, connections, runs, cap and wiring.
|
|
205
|
+
* @returns The results.
|
|
206
|
+
*/
|
|
207
|
+
export declare function runDecideBench(opts: RunDecideBenchOptions): Promise<BenchResults>;
|
|
208
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/decide/bench/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The System One benchmark runner (T12495): replay every labelled row through
|
|
3
|
+
* every compared provider with `decideBatch`, next to each site's heuristic,
|
|
4
|
+
* and score the answers.
|
|
5
|
+
*
|
|
6
|
+
* - Provider answer cache off (`cache: false` on every request) and the
|
|
7
|
+
* in-process outcome cache off, so every row is a real provider call.
|
|
8
|
+
* - One batch deadline of at least {@link MIN_BENCH_TIMEOUT_MS} (spec §1: the
|
|
9
|
+
* batch endpoint answers its items serially).
|
|
10
|
+
* - A hard total spend cap across all providers and runs, SEPARATE from the
|
|
11
|
+
* everyday monthly cap: before each batch the spend estimate (per
|
|
12
|
+
* question, the larger of {@link DECISION_COST_ESTIMATE_MICROS_PER_QUESTION}
|
|
13
|
+
* and the connection's observed mean reported cost) is added to what was
|
|
14
|
+
* spent so far, and the run stops cleanly when that would pass the cap.
|
|
15
|
+
* Billed answers the client rejected (`invalid_response`) count at their
|
|
16
|
+
* reported cost (else the estimate), so a model that keeps answering in
|
|
17
|
+
* the wrong shape is still capped. The monthly cap does not gate the benchmark
|
|
18
|
+
* (`spend: null` on the calls), but every batch's spend is still recorded
|
|
19
|
+
* in the monthly ledger so month-to-date spend stays true.
|
|
20
|
+
* - Providers take turns batch by batch, so a cap stop leaves them with the
|
|
21
|
+
* same coverage.
|
|
22
|
+
*
|
|
23
|
+
* @task T12495
|
|
24
|
+
* @epic T12486
|
|
25
|
+
*/
|
|
26
|
+
import { join } from 'node:path';
|
|
27
|
+
import { getCleoHome } from '@cleocode/paths';
|
|
28
|
+
import { hashCanonical } from '../cache.js';
|
|
29
|
+
import { DECISION_COST_ESTIMATE_MICROS_PER_QUESTION, decideBatch, redactDecisionState, } from '../client.js';
|
|
30
|
+
import { DECIDE_BENCH_DECISION_SITE } from '../sites/registry.js';
|
|
31
|
+
import { createFileSpendLedger } from '../spend.js';
|
|
32
|
+
import { benchDatasetSizes } from './dataset.js';
|
|
33
|
+
import { classificationMetrics, latencyOf, } from './metrics.js';
|
|
34
|
+
import { benchQuestionFor } from './questions.js';
|
|
35
|
+
import { spreadOf } from './stats.js';
|
|
36
|
+
import { BENCH_SITES, positiveLabel, } from './types.js';
|
|
37
|
+
/** Default hard spend cap across providers and runs: $5. */
|
|
38
|
+
export const DEFAULT_BENCH_MAX_MICROS = 5_000_000;
|
|
39
|
+
/** Minimum (and default) batch deadline, ms. */
|
|
40
|
+
export const MIN_BENCH_TIMEOUT_MS = 30_000;
|
|
41
|
+
/** Default rows per batch call. */
|
|
42
|
+
export const DEFAULT_BENCH_BATCH_SIZE = 16;
|
|
43
|
+
/** Largest batch the layahost batch endpoint accepts (64 requests). */
|
|
44
|
+
export const MAX_BENCH_BATCH_SIZE = 64;
|
|
45
|
+
/** Name of the heuristic pseudo-provider in results. */
|
|
46
|
+
export const HEURISTIC_PROVIDER = 'heuristic';
|
|
47
|
+
function newCollector() {
|
|
48
|
+
return {
|
|
49
|
+
attempted: 0,
|
|
50
|
+
predictions: [],
|
|
51
|
+
latencies: [],
|
|
52
|
+
costMicros: 0,
|
|
53
|
+
costReported: false,
|
|
54
|
+
fallbacks: {},
|
|
55
|
+
unusable: 0,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function finishCollector(site, c) {
|
|
59
|
+
return {
|
|
60
|
+
site,
|
|
61
|
+
...classificationMetrics(c.predictions, positiveLabel(site)),
|
|
62
|
+
attempted: c.attempted,
|
|
63
|
+
answered: c.predictions.length,
|
|
64
|
+
latency: latencyOf(c.latencies),
|
|
65
|
+
costMicros: c.costMicros,
|
|
66
|
+
costReported: c.costReported,
|
|
67
|
+
fallbacks: c.fallbacks,
|
|
68
|
+
unusable: c.unusable,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Estimated cost per question for the pre-batch cap check: the client's
|
|
73
|
+
* reservation estimate, or the connection's observed mean when a pricier
|
|
74
|
+
* model has reported more, so one batch cannot overshoot the cap by much.
|
|
75
|
+
*/
|
|
76
|
+
function perQuestionEstimate(seen) {
|
|
77
|
+
const mean = seen && seen.questions > 0 ? Math.ceil(seen.micros / seen.questions) : 0;
|
|
78
|
+
return Math.max(DECISION_COST_ESTIMATE_MICROS_PER_QUESTION, mean);
|
|
79
|
+
}
|
|
80
|
+
/** Provider-reported cost of an outcome in micros (`costMicros`, else `costUsd`). */
|
|
81
|
+
function reportedCostMicros(outcome) {
|
|
82
|
+
if (outcome.costMicros !== undefined)
|
|
83
|
+
return outcome.costMicros;
|
|
84
|
+
return outcome.costUsd !== undefined ? Math.round(outcome.costUsd * 1e6) : undefined;
|
|
85
|
+
}
|
|
86
|
+
/** A profile name made safe for a file name. */
|
|
87
|
+
function safeFileName(name) {
|
|
88
|
+
return name.replace(/[^A-Za-z0-9._-]/g, '_').slice(0, 64) || 'profile';
|
|
89
|
+
}
|
|
90
|
+
/** Split `items` into chunks of `size`. */
|
|
91
|
+
function chunks(items, size) {
|
|
92
|
+
const out = [];
|
|
93
|
+
for (let i = 0; i < items.length; i += size)
|
|
94
|
+
out.push(items.slice(i, i + size));
|
|
95
|
+
return out;
|
|
96
|
+
}
|
|
97
|
+
/** Audit key of a request, matching what `decide()` writes for it. */
|
|
98
|
+
function auditKey(q) {
|
|
99
|
+
return `${hashCanonical(q.req.questions)}:${hashCanonical(redactDecisionState(q.req.state))}`;
|
|
100
|
+
}
|
|
101
|
+
/** An in-memory audit sink that keeps fallback reasons by request key. */
|
|
102
|
+
function reasonSink() {
|
|
103
|
+
const reasons = new Map();
|
|
104
|
+
return {
|
|
105
|
+
sink: {
|
|
106
|
+
write(entry) {
|
|
107
|
+
if (entry.source !== 'fallback')
|
|
108
|
+
return;
|
|
109
|
+
const key = `${entry.questionsHash}:${entry.stateHash}`;
|
|
110
|
+
reasons.set(key, [...(reasons.get(key) ?? []), entry.fallbackReason ?? 'unknown']);
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
take: (key) => {
|
|
114
|
+
const list = reasons.get(key);
|
|
115
|
+
return list?.shift();
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/** Score the heuristic on every row (deterministic, no provider). */
|
|
120
|
+
function scoreHeuristic(sites, questions) {
|
|
121
|
+
return sites.map((site) => {
|
|
122
|
+
const c = newCollector();
|
|
123
|
+
for (const { row, q } of questions.get(site) ?? []) {
|
|
124
|
+
const started = performance.now();
|
|
125
|
+
const label = q.predict(q.heuristicAnswers) ?? q.heuristicLabel;
|
|
126
|
+
c.latencies.push(Math.max(0, performance.now() - started));
|
|
127
|
+
c.attempted++;
|
|
128
|
+
c.predictions.push({ gold: row.label, predicted: label });
|
|
129
|
+
}
|
|
130
|
+
return finishCollector(site, c);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/** Mean and spread per provider × site. */
|
|
134
|
+
function aggregate(heuristic, runs, providers, sites) {
|
|
135
|
+
const rows = [];
|
|
136
|
+
const build = (provider, site, results) => {
|
|
137
|
+
const fallbacks = {};
|
|
138
|
+
for (const r of results) {
|
|
139
|
+
for (const [k, v] of Object.entries(r.fallbacks))
|
|
140
|
+
fallbacks[k] = (fallbacks[k] ?? 0) + v;
|
|
141
|
+
}
|
|
142
|
+
const scored = results.filter((r) => r.answered > 0);
|
|
143
|
+
rows.push({
|
|
144
|
+
provider,
|
|
145
|
+
site,
|
|
146
|
+
answered: spreadOf(results.map((r) => r.answered)),
|
|
147
|
+
accuracy: spreadOf(scored.map((r) => r.accuracy)),
|
|
148
|
+
precision: spreadOf(scored.map((r) => r.precision)),
|
|
149
|
+
recall: spreadOf(scored.map((r) => r.recall)),
|
|
150
|
+
f1: spreadOf(scored.map((r) => r.f1)),
|
|
151
|
+
falsePositiveRate: spreadOf(scored.map((r) => r.falsePositiveRate)),
|
|
152
|
+
p50Ms: spreadOf(scored.map((r) => r.latency.p50Ms)),
|
|
153
|
+
p95Ms: spreadOf(scored.map((r) => r.latency.p95Ms)),
|
|
154
|
+
costMicros: spreadOf(results.map((r) => r.costMicros)),
|
|
155
|
+
costReported: results.some((r) => r.costReported),
|
|
156
|
+
fallbacks,
|
|
157
|
+
});
|
|
158
|
+
};
|
|
159
|
+
for (const site of sites) {
|
|
160
|
+
build(HEURISTIC_PROVIDER, site, heuristic.filter((h) => h.site === site));
|
|
161
|
+
for (const provider of providers) {
|
|
162
|
+
const results = runs.flatMap((run) => run.providers
|
|
163
|
+
.filter((p) => p.provider === provider)
|
|
164
|
+
.flatMap((p) => p.sites.filter((s) => s.site === site && s.attempted > 0)));
|
|
165
|
+
build(provider, site, results);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return rows;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Run the benchmark.
|
|
172
|
+
*
|
|
173
|
+
* Never throws because of a provider: failures become per-row fallbacks with
|
|
174
|
+
* their reason. Stops cleanly at the spend cap and reports what it completed.
|
|
175
|
+
*
|
|
176
|
+
* @param opts - Rows, connections, runs, cap and wiring.
|
|
177
|
+
* @returns The results.
|
|
178
|
+
*/
|
|
179
|
+
export async function runDecideBench(opts) {
|
|
180
|
+
const now = opts.now ?? (() => new Date());
|
|
181
|
+
const startedAt = now().toISOString();
|
|
182
|
+
const runs = Math.max(1, Math.floor(opts.runs ?? 1));
|
|
183
|
+
const capMicros = Math.max(0, opts.maxMicros ?? DEFAULT_BENCH_MAX_MICROS);
|
|
184
|
+
const batchSize = Math.min(MAX_BENCH_BATCH_SIZE, Math.max(1, Math.floor(opts.batchSize ?? DEFAULT_BENCH_BATCH_SIZE)));
|
|
185
|
+
const timeoutMs = Math.max(MIN_BENCH_TIMEOUT_MS, opts.timeoutMs ?? MIN_BENCH_TIMEOUT_MS);
|
|
186
|
+
const ledger = opts.spendLedger === undefined ? createFileSpendLedger() : opts.spendLedger;
|
|
187
|
+
const stateDir = opts.providerStateDir ?? join(getCleoHome(), 'decide', 'bench');
|
|
188
|
+
const sites = BENCH_SITES.filter((s) => opts.rows.some((r) => r.site === s));
|
|
189
|
+
const questions = new Map();
|
|
190
|
+
for (const row of opts.rows) {
|
|
191
|
+
questions.set(row.site, [
|
|
192
|
+
...(questions.get(row.site) ?? []),
|
|
193
|
+
{ row, q: benchQuestionFor(row) },
|
|
194
|
+
]);
|
|
195
|
+
}
|
|
196
|
+
const heuristic = scoreHeuristic(sites, questions);
|
|
197
|
+
const batchesPerRun = sites.reduce((n, s) => n + Math.ceil((questions.get(s)?.length ?? 0) / batchSize), 0);
|
|
198
|
+
let spentMicros = 0;
|
|
199
|
+
let reportedMicros = 0;
|
|
200
|
+
let batchesSent = 0;
|
|
201
|
+
let recordedInMonthlyLedger = true;
|
|
202
|
+
let stoppedAt;
|
|
203
|
+
const runRecords = [];
|
|
204
|
+
/** Reported cost per connection so far, for the pre-batch estimate. */
|
|
205
|
+
const observed = new Map();
|
|
206
|
+
runLoop: for (let run = 1; run <= runs; run++) {
|
|
207
|
+
const collectors = new Map();
|
|
208
|
+
for (const c of opts.connections) {
|
|
209
|
+
collectors.set(c.name, new Map(sites.map((s) => [s, newCollector()])));
|
|
210
|
+
}
|
|
211
|
+
const record = (complete) => ({
|
|
212
|
+
run,
|
|
213
|
+
complete,
|
|
214
|
+
providers: opts.connections.map((c) => ({
|
|
215
|
+
provider: c.name,
|
|
216
|
+
sites: sites.map((s) => finishCollector(s, collectors.get(c.name)?.get(s) ?? newCollector())),
|
|
217
|
+
})),
|
|
218
|
+
});
|
|
219
|
+
for (const site of sites) {
|
|
220
|
+
for (const [b, batch] of chunks(questions.get(site) ?? [], batchSize).entries()) {
|
|
221
|
+
for (const conn of opts.connections) {
|
|
222
|
+
const questionCount = batch.reduce((n, x) => n + Object.keys(x.q.req.questions).length, 0);
|
|
223
|
+
const estimate = questionCount * perQuestionEstimate(observed.get(conn.name));
|
|
224
|
+
if (spentMicros + estimate > capMicros) {
|
|
225
|
+
stoppedAt = { run, site, provider: conn.name, batch: b + 1, estimateMicros: estimate };
|
|
226
|
+
runRecords.push(record(false));
|
|
227
|
+
break runLoop;
|
|
228
|
+
}
|
|
229
|
+
const reasons = reasonSink();
|
|
230
|
+
const entries = batch.map(({ q }) => ({
|
|
231
|
+
req: q.req,
|
|
232
|
+
fallback: () => q.heuristicAnswers,
|
|
233
|
+
}));
|
|
234
|
+
const outcomes = await decideBatch(DECIDE_BENCH_DECISION_SITE.id, entries, {
|
|
235
|
+
connection: {
|
|
236
|
+
baseUrl: conn.baseUrl,
|
|
237
|
+
apiKey: conn.apiKey,
|
|
238
|
+
...(conn.model ? { model: conn.model } : {}),
|
|
239
|
+
},
|
|
240
|
+
timeoutMs,
|
|
241
|
+
cache: null,
|
|
242
|
+
budget: null,
|
|
243
|
+
spend: null,
|
|
244
|
+
audit: reasons.sink,
|
|
245
|
+
...(opts.fetch ? { fetch: opts.fetch } : {}),
|
|
246
|
+
providerStatePath: join(stateDir, `provider-state-${safeFileName(conn.name)}.json`),
|
|
247
|
+
});
|
|
248
|
+
batchesSent++;
|
|
249
|
+
const col = collectors.get(conn.name)?.get(site) ?? newCollector();
|
|
250
|
+
let batchSpend = 0;
|
|
251
|
+
const perQuestion = perQuestionEstimate(observed.get(conn.name));
|
|
252
|
+
const seen = observed.get(conn.name) ?? { micros: 0, questions: 0 };
|
|
253
|
+
for (const [i, { row, q }] of batch.entries()) {
|
|
254
|
+
const outcome = outcomes[i];
|
|
255
|
+
col.attempted++;
|
|
256
|
+
const questionsHere = Object.keys(q.req.questions).length;
|
|
257
|
+
const reported = outcome ? reportedCostMicros(outcome) : undefined;
|
|
258
|
+
if (reported !== undefined) {
|
|
259
|
+
col.costReported = true;
|
|
260
|
+
reportedMicros += reported;
|
|
261
|
+
seen.micros += reported;
|
|
262
|
+
seen.questions += questionsHere;
|
|
263
|
+
}
|
|
264
|
+
if (!outcome || outcome.source !== 'provider') {
|
|
265
|
+
const reason = reasons.take(auditKey(q)) ?? 'unknown';
|
|
266
|
+
col.fallbacks[reason] = (col.fallbacks[reason] ?? 0) + 1;
|
|
267
|
+
// Billed without a usable answer: a 2xx the client rejected
|
|
268
|
+
// (`invalid_response`, at its reported cost), or a call that
|
|
269
|
+
// timed out after send. Other failures are error responses,
|
|
270
|
+
// which the provider does not bill (layahost docs).
|
|
271
|
+
if (reason === 'invalid_response' || reason === 'timeout') {
|
|
272
|
+
batchSpend += reported ?? questionsHere * perQuestion;
|
|
273
|
+
}
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
batchSpend += reported ?? questionsHere * perQuestion;
|
|
277
|
+
col.latencies.push(outcome.latencyMs);
|
|
278
|
+
const predicted = q.predict(outcome.answers);
|
|
279
|
+
if (predicted === null) {
|
|
280
|
+
col.unusable++;
|
|
281
|
+
continue;
|
|
282
|
+
}
|
|
283
|
+
col.predictions.push({ gold: row.label, predicted });
|
|
284
|
+
}
|
|
285
|
+
observed.set(conn.name, seen);
|
|
286
|
+
col.costMicros += batchSpend;
|
|
287
|
+
spentMicros += batchSpend;
|
|
288
|
+
if (ledger && batchSpend > 0) {
|
|
289
|
+
try {
|
|
290
|
+
await ledger.record(batchSpend);
|
|
291
|
+
}
|
|
292
|
+
catch {
|
|
293
|
+
recordedInMonthlyLedger = false;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
runRecords.push(record(true));
|
|
300
|
+
}
|
|
301
|
+
const providerNames = opts.connections.map((c) => c.name);
|
|
302
|
+
return {
|
|
303
|
+
schemaVersion: 1,
|
|
304
|
+
task: 'T12495',
|
|
305
|
+
startedAt,
|
|
306
|
+
finishedAt: now().toISOString(),
|
|
307
|
+
config: {
|
|
308
|
+
runs,
|
|
309
|
+
batchSize,
|
|
310
|
+
timeoutMs,
|
|
311
|
+
maxMicros: capMicros,
|
|
312
|
+
sites,
|
|
313
|
+
providers: opts.connections.map((c) => ({
|
|
314
|
+
name: c.name,
|
|
315
|
+
provider: c.provider,
|
|
316
|
+
baseUrl: c.baseUrl,
|
|
317
|
+
...(c.model ? { model: c.model } : {}),
|
|
318
|
+
})),
|
|
319
|
+
},
|
|
320
|
+
dataset: benchDatasetSizes(opts.rows),
|
|
321
|
+
heuristic,
|
|
322
|
+
runs: runRecords,
|
|
323
|
+
aggregate: aggregate(heuristic, runRecords, providerNames, sites),
|
|
324
|
+
spend: {
|
|
325
|
+
capMicros,
|
|
326
|
+
spentMicros,
|
|
327
|
+
reportedMicros,
|
|
328
|
+
capReached: stoppedAt !== undefined,
|
|
329
|
+
...(stoppedAt ? { stoppedAt } : {}),
|
|
330
|
+
batchesSent,
|
|
331
|
+
batchesPlanned: batchesPerRun * runs * opts.connections.length,
|
|
332
|
+
recordedInMonthlyLedger,
|
|
333
|
+
},
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/decide/bench/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The store-backed {@link BenchSource}: reads tasks through the task data
|
|
3
|
+
* accessor and observations and decisions through the brain accessor — the
|
|
4
|
+
* core accessors only, never raw SQL on `.cleo/*.db` (T12495).
|
|
5
|
+
*
|
|
6
|
+
* @task T12495
|
|
7
|
+
* @epic T12486
|
|
8
|
+
*/
|
|
9
|
+
import type { BenchSource } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* A {@link BenchSource} over the project's stores.
|
|
12
|
+
*
|
|
13
|
+
* Tasks include every status (cancelled and archived too); observations and
|
|
14
|
+
* decisions include history (invalidated and superseded rows), because the
|
|
15
|
+
* labels come from exactly those records.
|
|
16
|
+
*
|
|
17
|
+
* @param projectRoot - Project root whose stores are read.
|
|
18
|
+
* @returns The source; each method opens its accessor lazily.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createStoreBenchSource(projectRoot: string): BenchSource;
|
|
21
|
+
//# sourceMappingURL=source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/decide/bench/source.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAGV,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CA8CvE"}
|