@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/core",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.25",
|
|
4
4
|
"description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -421,6 +421,16 @@
|
|
|
421
421
|
"import": "./dist/git-shim-export.js",
|
|
422
422
|
"require": "./dist/git-shim-export.js"
|
|
423
423
|
},
|
|
424
|
+
"./cloud/*": {
|
|
425
|
+
"types": "./dist/cloud/*.d.ts",
|
|
426
|
+
"import": "./dist/cloud/*.js",
|
|
427
|
+
"require": "./dist/cloud/*.js"
|
|
428
|
+
},
|
|
429
|
+
"./cloud/*.js": {
|
|
430
|
+
"types": "./dist/cloud/*.d.ts",
|
|
431
|
+
"import": "./dist/cloud/*.js",
|
|
432
|
+
"require": "./dist/cloud/*.js"
|
|
433
|
+
},
|
|
424
434
|
"./decide/*": {
|
|
425
435
|
"types": "./dist/decide/*.d.ts",
|
|
426
436
|
"import": "./dist/decide/*.js",
|
|
@@ -481,16 +491,16 @@
|
|
|
481
491
|
"write-file-atomic": "^7.0.1",
|
|
482
492
|
"yaml": "^2.8.3",
|
|
483
493
|
"zod": "^4.3.6",
|
|
484
|
-
"@cleocode/agents": "2026.9.
|
|
485
|
-
"@cleocode/
|
|
486
|
-
"@cleocode/
|
|
487
|
-
"@cleocode/contracts": "2026.9.
|
|
488
|
-
"@cleocode/git-shim": "2026.9.
|
|
489
|
-
"@cleocode/lafs": "2026.9.
|
|
490
|
-
"@cleocode/paths": "2026.9.
|
|
491
|
-
"@cleocode/skills": "2026.9.
|
|
492
|
-
"@cleocode/nexus": "2026.9.
|
|
493
|
-
"@cleocode/worktree": "2026.9.
|
|
494
|
+
"@cleocode/agents": "2026.9.25",
|
|
495
|
+
"@cleocode/caamp": "2026.9.25",
|
|
496
|
+
"@cleocode/adapters": "2026.9.25",
|
|
497
|
+
"@cleocode/contracts": "2026.9.25",
|
|
498
|
+
"@cleocode/git-shim": "2026.9.25",
|
|
499
|
+
"@cleocode/lafs": "2026.9.25",
|
|
500
|
+
"@cleocode/paths": "2026.9.25",
|
|
501
|
+
"@cleocode/skills": "2026.9.25",
|
|
502
|
+
"@cleocode/nexus": "2026.9.25",
|
|
503
|
+
"@cleocode/worktree": "2026.9.25"
|
|
494
504
|
},
|
|
495
505
|
"engines": {
|
|
496
506
|
"node": ">=24.16.0"
|
|
@@ -516,7 +526,7 @@
|
|
|
516
526
|
"@types/proper-lockfile": "^4.1.4",
|
|
517
527
|
"@types/tar": "^6.1.13",
|
|
518
528
|
"@types/write-file-atomic": "^4.0.3",
|
|
519
|
-
"@cleocode/utils": "2026.9.
|
|
529
|
+
"@cleocode/utils": "2026.9.25"
|
|
520
530
|
},
|
|
521
531
|
"repository": {
|
|
522
532
|
"type": "git",
|
|
@@ -525,7 +535,7 @@
|
|
|
525
535
|
},
|
|
526
536
|
"optionalDependencies": {
|
|
527
537
|
"llmtxt": "^2026.5.15",
|
|
528
|
-
"@cleocode/studio": "^2026.9.
|
|
538
|
+
"@cleocode/studio": "^2026.9.25"
|
|
529
539
|
},
|
|
530
540
|
"scripts": {
|
|
531
541
|
"build": "tsc && node scripts/copy-selfimprove-fixtures.mjs && node scripts/write-build-provenance.mjs",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"$id": "https://cleo-dev.com/schemas/v1/project-info.schema.json",
|
|
4
4
|
"schemaVersion": "1.0.0",
|
|
5
5
|
"title": "CLEO Project Info Schema",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "Device-local project metadata (.cleo/project-info.json, untracked per ADR-013 §9). The committed identity lives in .cleo/project.json {schemaVersion, id, name} (T12716; legacy mirror .cleo/project-id); here projectId is only a cache of that id, and name is a frozen legacy value. Also carries origin provenance, the per-checkout nonce and schema version tracking.",
|
|
7
7
|
"type": "object",
|
|
8
8
|
"required": ["schemaVersion", "projectHash", "projectId", "schemas"],
|
|
9
9
|
"additionalProperties": false,
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"projectId": {
|
|
22
22
|
"type": "string",
|
|
23
23
|
"minLength": 1,
|
|
24
|
-
"description": "
|
|
24
|
+
"description": "Cache of the tracked portable id in .cleo/project.json (T12716; legacy .cleo/project-id). The tracked id always wins; a cache that disagrees is re-keyed only by `cleo doctor project-identity --resolve`. Used alone only by a project with no tracked id yet."
|
|
25
25
|
},
|
|
26
26
|
"checkoutNonce": {
|
|
27
27
|
"type": "string",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"projectHash": {
|
|
32
32
|
"type": "string",
|
|
33
33
|
"pattern": "^[a-f0-9]{12}$",
|
|
34
|
-
"description": "Write-once 12-character hex identity key
|
|
34
|
+
"description": "Write-once 12-character hex identity key. Keys release ids, audit rows and idempotency. A new key is SHA-256('project-id:' + id) prefix, identical on every clone (T12716); keys written before T12716 are the SHA-256 prefix of the real main-checkout path. Never re-computed: not on project move, relocation, restore or `cleo upgrade` (T12557)."
|
|
35
35
|
},
|
|
36
36
|
"previousProjectIds": {
|
|
37
37
|
"type": "array",
|
|
@@ -55,11 +55,17 @@
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
|
+
"displayName": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"minLength": 1,
|
|
61
|
+
"maxLength": 120,
|
|
62
|
+
"description": "Display name of a legacy project (no .cleo/project.json yet), written by `cleo project rename` / `cleo upgrade --name` (T12716). Kept apart from `name` so a rename never moves the path-fingerprint alias key. `cleo doctor project-identity --resolve` carries it into project.json."
|
|
63
|
+
},
|
|
58
64
|
"name": {
|
|
59
65
|
"type": "string",
|
|
60
66
|
"minLength": 1,
|
|
61
67
|
"maxLength": 128,
|
|
62
|
-
"description": "
|
|
68
|
+
"description": "Legacy name, written once (the directory basename at init). Kept only as the input to the path-fingerprint alias key older builds recorded. The display name lives in .cleo/project.json (T12716); it is read from here (after `displayName`) only for a legacy project not yet migrated by `cleo doctor project-identity --resolve`. Nothing rewrites it after init."
|
|
63
69
|
},
|
|
64
70
|
"description": {
|
|
65
71
|
"type": "string",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CLEO Protocol — on-demand reference
|
|
2
2
|
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.24.1 | Companion to the always-loaded `CLEO-INJECTION.md` core
|
|
4
4
|
|
|
5
5
|
Not injected into agent context. Print one section with `cleo briefing inject --section <name>`; tier-2 spawn prompts embed this whole file. Section names are the `CLEO-INJECTION:section` markers below.
|
|
6
6
|
|
|
@@ -13,7 +13,7 @@ Not injected into agent context. Print one section with `cleo briefing inject --
|
|
|
13
13
|
<!-- CLEO-INJECTION:section=projection -->
|
|
14
14
|
## Projections, budgets and mutation receipts
|
|
15
15
|
|
|
16
|
-
Projection markers include omitted empty/null fields and survive repeated projection. `_withheld` maps omitted fields to UTF-8 content bytes (JSON bytes for structured values). A record without `_withheld` is complete. Budgeting preserves coverage, diagnostic failures, authority corrections and pending repair facts before examples. A read budget too small for mandatory facts fails explicitly; request narrower scope or more budget. Never treat this failure as clean coverage.
|
|
16
|
+
Projection markers include omitted empty/null fields and survive repeated projection. `_withheld` maps omitted fields to UTF-8 content bytes (JSON bytes for structured values). A `list/*/field` key (e.g. `acRows/*/id` on `cleo show`) names a field omitted from every element of that list, with the summed size. A record without `_withheld` is complete. Budgeting preserves coverage, diagnostic failures, authority corrections and pending repair facts before examples. A read budget too small for mandatory facts fails explicitly; request narrower scope or more budget. Never treat this failure as clean coverage.
|
|
17
17
|
|
|
18
18
|
An impossible internal mutation budget rejects before execution. If a successful mutation's actual receipt exceeds a viable budget, its success and complete receipt remain available with `_budgetEnforcement.withinBudget: false`; overflow does not mean rollback. Inspect the receipt before retrying a mutation.
|
|
19
19
|
|
|
@@ -189,7 +189,7 @@ Small legacy DBs beside large snapshots do not prove corruption. `cleo doctor su
|
|
|
189
189
|
**FIRST CALL IS `cleo nexus status`.** Check `nodeCount`, `lastIndexedAt`, `staleFileCount`/`fileCount`. Queries report `_nexus.freshness` and auto-refresh ≤25 stale files; beyond that they warn `W_NEXUS_INDEX_STALE`. `analyze` is incremental (`--full` rebuilds). For stale coverage, refresh or inspect source with `git grep` and disclose that basis. Impact/context `E_NOT_FOUND` includes index size, median age and a repair command; inspect these first.
|
|
190
190
|
|
|
191
191
|
**Project resolution**: `--project-id` > `--path` > `cwd`.
|
|
192
|
-
Identity is the portable `project_id` (`.cleo/project-id`); a path is a per-device hint.
|
|
192
|
+
Identity is the portable `project_id` (`.cleo/project.json`, legacy `.cleo/project-id`); a path is a per-device hint.
|
|
193
193
|
|
|
194
194
|
**Rule**: BEFORE editing any symbol, run `cleo nexus impact <symbol>`.
|
|
195
195
|
HIGH/CRITICAL requires reviewing affected callers before editing. For stale, partial, missing, or failed coverage, inspect source and report the remaining uncertainty. An empty footprint alone never establishes `NONE`.
|
|
@@ -303,5 +303,9 @@ All overrides append a line to `.cleo/audit/force-bypass.jsonl`. Use sparingly.
|
|
|
303
303
|
|
|
304
304
|
A task PR merged into an integration branch is a component: `pr:<component>@<integration>` (and `ci:<component>@<integration>`) takes the merge commit and CI from the integration PR that landed it, and the task linkage and changed files from the component PR — only its files that survive the integration merge, never the whole integration diff (T12671). `cleo done` derives this from either PR number. A file a later change also edited still counts while the component's own hunks apply to the landed version. A component that only deleted files implements with `pr:<component>@<integration>;note:<deleted paths>`, because a deletion has no bytes for `files:`.
|
|
305
305
|
|
|
306
|
+
### `ci:<number>` merge-commit CI atom (D11149 · T12742)
|
|
307
|
+
|
|
308
|
+
With `evidence.ciSatisfies: true`, `ci:<number>` attests `testsPassed`/`qaPassed` from the required checks (`evidence.ciChecks`) green on the merged PR's merge commit, or on a final PR head whose tree equals it. When a concurrency group CANCELLED (or skipped) the merge commit's own push run, a later default-branch commit's green `push` run may stand in (T12742). That run proves the DESCENDANT's tree, not the merge tree, so it counts only when all of these hold: no merge-commit run or job failed; the PR's final head has a green latest `pull_request` run for every stood-in check; the commit descends from the merge commit and is one of the first 10 first-parent commits within 7 days; NO commit between them, merge commits included, touched the PR's changed files, a pinned workflow file or `.github/actions`; and it is the first candidate with a decisive verdict. A red first decisive candidate refuses, and a pending one refuses with "wait for <sha>"; only cancelled, skipped or never-started runs move on. The atom records `descendantSha`, `descendantRange` and `descendantPrHeadSha`, and `cleo complete` re-fetches both runs' latest attempts, because a re-run can turn a completed check red.
|
|
309
|
+
|
|
306
310
|
Required checks: explicit configuration or target repository protection. `release.prRequiredWorkflows: []` requires no checks; it proves neither testing nor review. `.cleo/cache/evidence/pr-<num>.json` retains provenance and changed files; obsolete versions reject. Use `tool:test` or `test-run:<json>` plus appropriate QA tools, linking each result to verified criteria.
|
|
307
311
|
<!-- /CLEO-INJECTION:section=evidence -->
|
package/templates/cleo-gitignore
CHANGED
|
@@ -24,6 +24,11 @@
|
|
|
24
24
|
# the write-once portable project identity. CLEO creates it once and never
|
|
25
25
|
# rewrites it, so git has nothing to overwrite — unlike the four mutable
|
|
26
26
|
# files above, whose hazard was git replacing live state CLEO rewrites.
|
|
27
|
+
#
|
|
28
|
+
# T12716 (ADR-096, amends ADR-094): `project.json` IS tracked. It holds
|
|
29
|
+
# {schemaVersion, id, name}: the same write-once id, plus the display name,
|
|
30
|
+
# which only `cleo project rename` changes. `project-id` stays tracked as the
|
|
31
|
+
# legacy id-only mirror for older builds.
|
|
27
32
|
# =============================================================================
|
|
28
33
|
|
|
29
34
|
# Step 1: Ignore everything in .cleo/
|
|
@@ -40,6 +45,8 @@
|
|
|
40
45
|
# (detected project facts and bootstrap scripts — not runtime state).
|
|
41
46
|
!project-context.json
|
|
42
47
|
# T12325: write-once portable project identity (ADR-094, amends ADR-013 §9).
|
|
48
|
+
# T12716: project.json is the canonical {id, name}; project-id its legacy mirror.
|
|
49
|
+
!project.json
|
|
43
50
|
!project-id
|
|
44
51
|
!setup-otel.sh
|
|
45
52
|
!DATA-SAFETY-IMPLEMENTATION-SUMMARY.md
|
|
@@ -75,6 +82,10 @@
|
|
|
75
82
|
config.json
|
|
76
83
|
project-info.json
|
|
77
84
|
|
|
85
|
+
# Cleo Nexus project link (T12712): machine-local binding of this project to
|
|
86
|
+
# a Nexus account's organization. Each clone links itself; NEVER track.
|
|
87
|
+
nexus-link.json
|
|
88
|
+
|
|
78
89
|
# Logs — NEVER track (append-only runtime data)
|
|
79
90
|
log.json
|
|
80
91
|
tasks-log.jsonl
|
|
@@ -55,10 +55,23 @@ on:
|
|
|
55
55
|
- alpha
|
|
56
56
|
- rc
|
|
57
57
|
skip-tests:
|
|
58
|
-
description: 'Skip the
|
|
58
|
+
description: 'Skip the Linux test shards in Preflight (use when main CI is already green for this commit — `cleo release open` sets it after checking). Lint, typecheck and build still run.'
|
|
59
59
|
type: boolean
|
|
60
60
|
required: false
|
|
61
61
|
default: false
|
|
62
|
+
skip-macos-tests:
|
|
63
|
+
description: 'Skip the macOS test shards in Preflight (set by `cleo release open` only when the nightly macOS run for this exact commit is green).'
|
|
64
|
+
type: boolean
|
|
65
|
+
required: false
|
|
66
|
+
default: false
|
|
67
|
+
verified-sha:
|
|
68
|
+
description: 'Commit the skip-tests / skip-macos-tests decisions were verified against. REQUIRED for any skip: when empty, or when the run checks out a different commit (main moved after the check), every skip is ignored and all tests run.'
|
|
69
|
+
type: string
|
|
70
|
+
required: false
|
|
71
|
+
skip-reason:
|
|
72
|
+
description: 'Why the caller skipped test suites; recorded in the run summary.'
|
|
73
|
+
type: string
|
|
74
|
+
required: false
|
|
62
75
|
|
|
63
76
|
# R-202: contents:write (commit + branch), pull-requests:write (gh pr create),
|
|
64
77
|
# id-token:write (signed tags only). MUST NOT request packages:write — npm
|
|
@@ -94,7 +107,7 @@ jobs:
|
|
|
94
107
|
# time out the preflight. Two mitigations:
|
|
95
108
|
# (a) `skip-tests` input (default false) — when the caller knows main CI
|
|
96
109
|
# is already green, tests can be skipped to avoid the redundant run.
|
|
97
|
-
# (b) The test step is sharded across
|
|
110
|
+
# (b) The test step is sharded across 4 parallel matrix workers, keeping
|
|
98
111
|
# each shard under 10 min even without skipping.
|
|
99
112
|
# T12309: a dispatch that CANNOT succeed must not cost a full preflight.
|
|
100
113
|
#
|
|
@@ -113,8 +126,59 @@ jobs:
|
|
|
113
126
|
name: Dispatch preconditions
|
|
114
127
|
runs-on: ubuntu-latest
|
|
115
128
|
timeout-minutes: 3
|
|
129
|
+
outputs:
|
|
130
|
+
run-linux-tests: ${{ steps.tests.outputs.linux }}
|
|
131
|
+
run-macos-tests: ${{ steps.tests.outputs.macos }}
|
|
116
132
|
steps:
|
|
117
133
|
- uses: actions/checkout@v4
|
|
134
|
+
# The ONE place that decides which preflight test suites run, so the
|
|
135
|
+
# test jobs and the run summary can never disagree. A skip is honoured
|
|
136
|
+
# only for the commit it was verified against: `cleo release open`
|
|
137
|
+
# checks CI for main's HEAD, and if main moves between that check and
|
|
138
|
+
# this checkout, the green result belongs to a different tree.
|
|
139
|
+
- name: Decide which preflight test suites run
|
|
140
|
+
id: tests
|
|
141
|
+
env:
|
|
142
|
+
SKIP_TESTS: ${{ inputs.skip-tests }}
|
|
143
|
+
SKIP_MACOS_TESTS: ${{ inputs.skip-macos-tests }}
|
|
144
|
+
VERIFIED_SHA: ${{ inputs.verified-sha }}
|
|
145
|
+
SKIP_REASON: ${{ inputs.skip-reason }}
|
|
146
|
+
HEAD_SHA: ${{ github.sha }}
|
|
147
|
+
run: |
|
|
148
|
+
linux=true
|
|
149
|
+
macos=true
|
|
150
|
+
note=""
|
|
151
|
+
skip_requested=false
|
|
152
|
+
if [ "$SKIP_TESTS" = "true" ] || [ "$SKIP_MACOS_TESTS" = "true" ]; then skip_requested=true; fi
|
|
153
|
+
if [ "$skip_requested" = "true" ] && [ -z "$VERIFIED_SHA" ]; then
|
|
154
|
+
# A skip is a claim that CI already tested THIS tree. Without the
|
|
155
|
+
# commit it was verified against, nothing ties the claim to what
|
|
156
|
+
# this run checked out, so it is refused rather than trusted.
|
|
157
|
+
note="A test skip was requested without verified-sha, so it cannot be tied to the commit this run checked out ($HEAD_SHA). Ignoring it: every suite runs."
|
|
158
|
+
elif [ -n "$VERIFIED_SHA" ] && [ "$VERIFIED_SHA" != "$HEAD_SHA" ]; then
|
|
159
|
+
note="Skips were verified against $VERIFIED_SHA, but this run checked out $HEAD_SHA (main moved after the check). Ignoring them: every suite runs."
|
|
160
|
+
else
|
|
161
|
+
if [ "$SKIP_TESTS" = "true" ]; then linux=false; fi
|
|
162
|
+
if [ "$SKIP_MACOS_TESTS" = "true" ]; then macos=false; fi
|
|
163
|
+
fi
|
|
164
|
+
echo "linux=$linux" >> "$GITHUB_OUTPUT"
|
|
165
|
+
echo "macos=$macos" >> "$GITHUB_OUTPUT"
|
|
166
|
+
describe() { if [ "$1" = "true" ]; then echo "runs"; else echo "skipped"; fi; }
|
|
167
|
+
{
|
|
168
|
+
echo "## Preflight test decision"
|
|
169
|
+
echo ""
|
|
170
|
+
echo "| suite | decision |"
|
|
171
|
+
echo "|---|---|"
|
|
172
|
+
echo "| Linux test shards | $(describe "$linux") |"
|
|
173
|
+
echo "| macOS test shards | $(describe "$macos") |"
|
|
174
|
+
echo ""
|
|
175
|
+
echo "Commit: \`$HEAD_SHA\`"
|
|
176
|
+
if [ -n "$VERIFIED_SHA" ]; then echo "Skips verified against: \`$VERIFIED_SHA\`"; fi
|
|
177
|
+
if [ -n "$SKIP_REASON" ]; then echo ""; echo "Reason: $SKIP_REASON"; fi
|
|
178
|
+
if [ -n "$note" ]; then echo ""; echo "**$note**"; fi
|
|
179
|
+
} >> "$GITHUB_STEP_SUMMARY"
|
|
180
|
+
echo "linux tests: $(describe "$linux"); macOS tests: $(describe "$macos")"
|
|
181
|
+
if [ -n "$note" ]; then echo "::warning::$note"; fi
|
|
118
182
|
- name: A scoped dispatch needs a committed plan
|
|
119
183
|
run: |
|
|
120
184
|
if [ -n "${{ inputs.plan-blob-sha256 }}" ]; then
|
|
@@ -169,10 +233,11 @@ jobs:
|
|
|
169
233
|
timeout-minutes: 5
|
|
170
234
|
|
|
171
235
|
# T11490 — DHQ-042: test shards run in parallel to stay under 10 min.
|
|
172
|
-
# Skipped when skip-tests=true (e.g. dispatched after a green main CI
|
|
236
|
+
# Skipped when skip-tests=true (e.g. dispatched after a green main CI for
|
|
237
|
+
# this exact commit) — see "Decide which preflight test suites run".
|
|
173
238
|
preflight-test:
|
|
174
|
-
name: Preflight (test shard ${{ matrix.shard }}/
|
|
175
|
-
if: ${{
|
|
239
|
+
name: Preflight (test shard ${{ matrix.shard }}/4)
|
|
240
|
+
if: ${{ needs.dispatch-preconditions.outputs.run-linux-tests == 'true' }}
|
|
176
241
|
needs: [dispatch-preconditions]
|
|
177
242
|
runs-on: ubuntu-latest
|
|
178
243
|
# T12309: the job ceiling has to clear the step ceiling it contains. The
|
|
@@ -182,7 +247,8 @@ jobs:
|
|
|
182
247
|
strategy:
|
|
183
248
|
fail-fast: true
|
|
184
249
|
matrix:
|
|
185
|
-
|
|
250
|
+
# 4 shards, matching ci.yml's ubuntu sweep (#1716).
|
|
251
|
+
shard: [1, 2, 3, 4]
|
|
186
252
|
steps:
|
|
187
253
|
- name: Checkout
|
|
188
254
|
uses: actions/checkout@v4
|
|
@@ -257,14 +323,84 @@ jobs:
|
|
|
257
323
|
run: pnpm --filter @cleocode/studio exec svelte-kit sync
|
|
258
324
|
timeout-minutes: 2
|
|
259
325
|
|
|
260
|
-
- name: Test (shard ${{ matrix.shard }}/
|
|
261
|
-
run: pnpm exec vitest run --shard=${{ matrix.shard }}/
|
|
326
|
+
- name: Test (shard ${{ matrix.shard }}/4)
|
|
327
|
+
run: pnpm exec vitest run --shard=${{ matrix.shard }}/4
|
|
262
328
|
# T12309: was 20, against a sweep that does not fit in it. ci.yml gives
|
|
263
329
|
# the same suite 55 minutes and a shard measured 17m04s there; this step
|
|
264
330
|
# timed out at 20:00 on a tree whose CI was fully green, so a release
|
|
265
331
|
# could not be prepared from a release-ready commit.
|
|
266
332
|
timeout-minutes: 55
|
|
267
333
|
|
|
334
|
+
# macOS runs on nightly + release instead of on every push to main, so the
|
|
335
|
+
# release is where a macOS regression must be caught before it ships. Runs
|
|
336
|
+
# even when the Linux shards are skipped, unless the nightly macOS run for
|
|
337
|
+
# this exact commit is already green (skip-macos-tests, set and verified by
|
|
338
|
+
# `cleo release open`). macOS runners are ~2x slower than Linux, hence 4
|
|
339
|
+
# shards and a generous ceiling; retry=2 matches ci.yml's macOS shards.
|
|
340
|
+
preflight-test-macos:
|
|
341
|
+
name: Preflight (macOS test shard ${{ matrix.shard }}/4)
|
|
342
|
+
if: ${{ needs.dispatch-preconditions.outputs.run-macos-tests == 'true' }}
|
|
343
|
+
needs: [dispatch-preconditions]
|
|
344
|
+
runs-on: macos-latest
|
|
345
|
+
timeout-minutes: 90
|
|
346
|
+
strategy:
|
|
347
|
+
fail-fast: true
|
|
348
|
+
matrix:
|
|
349
|
+
shard: [1, 2, 3, 4]
|
|
350
|
+
steps:
|
|
351
|
+
- name: Checkout
|
|
352
|
+
uses: actions/checkout@v4
|
|
353
|
+
with:
|
|
354
|
+
fetch-depth: 0
|
|
355
|
+
timeout-minutes: 5
|
|
356
|
+
|
|
357
|
+
- name: Set up pnpm
|
|
358
|
+
uses: pnpm/action-setup@v4
|
|
359
|
+
timeout-minutes: 2
|
|
360
|
+
|
|
361
|
+
- name: Set up Node.js
|
|
362
|
+
uses: actions/setup-node@v4
|
|
363
|
+
with:
|
|
364
|
+
node-version: '{{NODE_VERSION}}'
|
|
365
|
+
timeout-minutes: 3
|
|
366
|
+
|
|
367
|
+
- name: Build worktree-napi native addon BEFORE pnpm install (T9982)
|
|
368
|
+
# Same reason as the Linux shards: the file: link to crates/worktree-napi
|
|
369
|
+
# only copies .node artifacts that exist at install time.
|
|
370
|
+
shell: bash
|
|
371
|
+
run: |
|
|
372
|
+
cargo build --release -p worktree-napi
|
|
373
|
+
triple="darwin-x64"
|
|
374
|
+
if [[ "$(uname -m)" == "arm64" ]]; then
|
|
375
|
+
triple="darwin-arm64"
|
|
376
|
+
fi
|
|
377
|
+
cp target/release/libworktree_napi.dylib "crates/worktree-napi/worktree-napi.${triple}.node"
|
|
378
|
+
timeout-minutes: 20
|
|
379
|
+
|
|
380
|
+
- name: Install dependencies
|
|
381
|
+
run: {{INSTALL_CMD}}
|
|
382
|
+
timeout-minutes: 10
|
|
383
|
+
|
|
384
|
+
- name: Install ripgrep (required for T1605 callsite-coverage validator)
|
|
385
|
+
uses: ./.github/actions/install-ripgrep
|
|
386
|
+
|
|
387
|
+
- name: Build cant-napi native addon for CANT tests (T12382)
|
|
388
|
+
shell: bash
|
|
389
|
+
run: pnpm --filter @cleocode/cant run build:napi
|
|
390
|
+
timeout-minutes: 20
|
|
391
|
+
|
|
392
|
+
- name: Build packages (required for cross-package imports)
|
|
393
|
+
run: {{BUILD_CMD}}
|
|
394
|
+
timeout-minutes: 15
|
|
395
|
+
|
|
396
|
+
- name: Generate SvelteKit type stubs (required for studio tests)
|
|
397
|
+
run: pnpm --filter @cleocode/studio exec svelte-kit sync
|
|
398
|
+
timeout-minutes: 2
|
|
399
|
+
|
|
400
|
+
- name: Test macOS (shard ${{ matrix.shard }}/4)
|
|
401
|
+
run: pnpm exec vitest run --shard=${{ matrix.shard }}/4 --retry=2
|
|
402
|
+
timeout-minutes: 75
|
|
403
|
+
|
|
268
404
|
preflight-build:
|
|
269
405
|
name: Preflight (build)
|
|
270
406
|
runs-on: ubuntu-latest
|
|
@@ -303,15 +439,24 @@ jobs:
|
|
|
303
439
|
# R-205: plan resolution → version bump → CHANGELOG → commit → push → bump-PR.
|
|
304
440
|
# T11490: needs both lint/typecheck and build to pass; test shards are
|
|
305
441
|
# independent (always() used so prepare can run even when tests are skipped).
|
|
442
|
+
# A skipped suite is accepted only because dispatch-preconditions decided to
|
|
443
|
+
# skip it; a failed or cancelled one blocks the bump-PR.
|
|
306
444
|
prepare:
|
|
307
445
|
name: Prepare bump-PR
|
|
308
446
|
runs-on: ubuntu-latest
|
|
309
|
-
needs:
|
|
447
|
+
needs:
|
|
448
|
+
- dispatch-preconditions
|
|
449
|
+
- preflight-lint-typecheck
|
|
450
|
+
- preflight-test
|
|
451
|
+
- preflight-test-macos
|
|
452
|
+
- preflight-build
|
|
310
453
|
if: |
|
|
311
454
|
always() &&
|
|
455
|
+
needs.dispatch-preconditions.result == 'success' &&
|
|
312
456
|
needs.preflight-lint-typecheck.result == 'success' &&
|
|
313
457
|
needs.preflight-build.result == 'success' &&
|
|
314
|
-
(needs.preflight-test.result == 'success' || needs.preflight-test.result == 'skipped')
|
|
458
|
+
(needs.preflight-test.result == 'success' || needs.preflight-test.result == 'skipped') &&
|
|
459
|
+
(needs.preflight-test-macos.result == 'success' || needs.preflight-test-macos.result == 'skipped')
|
|
315
460
|
timeout-minutes: 20
|
|
316
461
|
outputs:
|
|
317
462
|
branch: ${{ steps.branch.outputs.name }}
|
|
@@ -614,6 +759,7 @@ jobs:
|
|
|
614
759
|
needs:
|
|
615
760
|
- preflight-lint-typecheck
|
|
616
761
|
- preflight-test
|
|
762
|
+
- preflight-test-macos
|
|
617
763
|
- preflight-build
|
|
618
764
|
- prepare
|
|
619
765
|
if: failure()
|