@cleocode/core 2026.9.20 → 2026.9.22
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/adapters/discovery.d.ts.map +1 -1
- package/dist/adapters/discovery.js +3 -10
- package/dist/adapters/discovery.js.map +1 -1
- package/dist/adrs/link-pipeline.js +2 -2
- package/dist/adrs/link-pipeline.js.map +1 -1
- package/dist/adrs/parse.js +3 -3
- package/dist/adrs/parse.js.map +1 -1
- package/dist/agents/invoke-meta-agent.d.ts.map +1 -1
- package/dist/agents/invoke-meta-agent.js +8 -4
- package/dist/agents/invoke-meta-agent.js.map +1 -1
- package/dist/agents/scaffold.d.ts.map +1 -1
- package/dist/agents/scaffold.js +0 -1
- package/dist/agents/scaffold.js.map +1 -1
- package/dist/bootstrap.d.ts +5 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +45 -21
- package/dist/bootstrap.js.map +1 -1
- package/dist/cloud/crypto.d.ts +47 -0
- package/dist/cloud/crypto.d.ts.map +1 -0
- package/dist/cloud/crypto.js +223 -0
- package/dist/cloud/crypto.js.map +1 -0
- package/dist/cloud/http.d.ts +52 -0
- package/dist/cloud/http.d.ts.map +1 -0
- package/dist/cloud/http.js +98 -0
- package/dist/cloud/http.js.map +1 -0
- package/dist/cloud/index.d.ts +19 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +19 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/journal.d.ts +169 -0
- package/dist/cloud/journal.d.ts.map +1 -0
- package/dist/cloud/journal.js +428 -0
- package/dist/cloud/journal.js.map +1 -0
- package/dist/cloud/keys.d.ts +213 -0
- package/dist/cloud/keys.d.ts.map +1 -0
- package/dist/cloud/keys.js +362 -0
- package/dist/cloud/keys.js.map +1 -0
- package/dist/cloud/manifest-check.d.ts +36 -0
- package/dist/cloud/manifest-check.d.ts.map +1 -0
- package/dist/cloud/manifest-check.js +70 -0
- package/dist/cloud/manifest-check.js.map +1 -0
- package/dist/cloud/projects.d.ts +13 -0
- package/dist/cloud/projects.d.ts.map +1 -0
- package/dist/cloud/projects.js +11 -0
- package/dist/cloud/projects.js.map +1 -0
- package/dist/cloud/signing.d.ts +105 -0
- package/dist/cloud/signing.d.ts.map +1 -0
- package/dist/cloud/signing.js +117 -0
- package/dist/cloud/signing.js.map +1 -0
- package/dist/cloud/streams.d.ts +6 -0
- package/dist/cloud/streams.d.ts.map +1 -0
- package/dist/cloud/streams.js +5 -0
- package/dist/cloud/streams.js.map +1 -0
- package/dist/decide/audit.d.ts +131 -0
- package/dist/decide/audit.d.ts.map +1 -0
- package/dist/decide/audit.js +98 -0
- package/dist/decide/audit.js.map +1 -0
- package/dist/decide/budget.d.ts +91 -0
- package/dist/decide/budget.d.ts.map +1 -0
- package/dist/decide/budget.js +194 -0
- package/dist/decide/budget.js.map +1 -0
- package/dist/decide/cache.d.ts +49 -0
- package/dist/decide/cache.d.ts.map +1 -0
- package/dist/decide/cache.js +87 -0
- package/dist/decide/cache.js.map +1 -0
- package/dist/decide/client.d.ts +103 -0
- package/dist/decide/client.d.ts.map +1 -0
- package/dist/decide/client.js +262 -0
- package/dist/decide/client.js.map +1 -0
- package/dist/decide/credentials.d.ts +159 -0
- package/dist/decide/credentials.d.ts.map +1 -0
- package/dist/decide/credentials.js +383 -0
- package/dist/decide/credentials.js.map +1 -0
- package/dist/decide/index.d.ts +18 -0
- package/dist/decide/index.d.ts.map +1 -0
- package/dist/decide/index.js +18 -0
- package/dist/decide/index.js.map +1 -0
- package/dist/decide/jev-wire.d.ts +155 -0
- package/dist/decide/jev-wire.d.ts.map +1 -0
- package/dist/decide/jev-wire.js +420 -0
- package/dist/decide/jev-wire.js.map +1 -0
- package/dist/decide/operations.d.ts +152 -0
- package/dist/decide/operations.d.ts.map +1 -0
- package/dist/decide/operations.js +199 -0
- package/dist/decide/operations.js.map +1 -0
- package/dist/decide/provider.d.ts +90 -0
- package/dist/decide/provider.d.ts.map +1 -0
- package/dist/decide/provider.js +43 -0
- package/dist/decide/provider.js.map +1 -0
- package/dist/decide/site.d.ts +148 -0
- package/dist/decide/site.d.ts.map +1 -0
- package/dist/decide/site.js +181 -0
- package/dist/decide/site.js.map +1 -0
- package/dist/decide/transport.d.ts +67 -0
- package/dist/decide/transport.d.ts.map +1 -0
- package/dist/decide/transport.js +350 -0
- package/dist/decide/transport.js.map +1 -0
- package/dist/dispatch/mutate-projection.d.ts.map +1 -1
- package/dist/dispatch/mutate-projection.js +5 -0
- package/dist/dispatch/mutate-projection.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +25 -9
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/export-document.js +5963 -2406
- package/dist/docs/export-document.js.map +3 -3
- package/dist/docs/index.d.ts +2 -2
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +1 -1
- package/dist/docs/index.js.map +1 -1
- package/dist/docs/projection.d.ts.map +1 -1
- package/dist/docs/projection.js +2 -3
- package/dist/docs/projection.js.map +1 -1
- package/dist/docs/publish-pr.d.ts +69 -1
- package/dist/docs/publish-pr.d.ts.map +1 -1
- package/dist/docs/publish-pr.js +112 -10
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/doctor/db-substrate.d.ts +13 -8
- package/dist/doctor/db-substrate.d.ts.map +1 -1
- package/dist/doctor/db-substrate.js +39 -26
- package/dist/doctor/db-substrate.js.map +1 -1
- package/dist/doctor/index.d.ts +2 -0
- package/dist/doctor/index.d.ts.map +1 -1
- package/dist/doctor/index.js +1 -0
- package/dist/doctor/index.js.map +1 -1
- package/dist/doctor/knowledge.d.ts +16 -1
- package/dist/doctor/knowledge.d.ts.map +1 -1
- package/dist/doctor/knowledge.js +58 -32
- package/dist/doctor/knowledge.js.map +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
- package/dist/doctor/nexus-schema-residency.js +3 -0
- package/dist/doctor/nexus-schema-residency.js.map +1 -1
- package/dist/doctor/project-identity.d.ts +44 -1
- package/dist/doctor/project-identity.d.ts.map +1 -1
- package/dist/doctor/project-identity.js +237 -10
- package/dist/doctor/project-identity.js.map +1 -1
- package/dist/doctor/projects.d.ts +170 -0
- package/dist/doctor/projects.d.ts.map +1 -0
- package/dist/doctor/projects.js +1075 -0
- package/dist/doctor/projects.js.map +1 -0
- package/dist/doctor/twin-collapse.d.ts +97 -0
- package/dist/doctor/twin-collapse.d.ts.map +1 -0
- package/dist/doctor/twin-collapse.js +168 -0
- package/dist/doctor/twin-collapse.js.map +1 -0
- package/dist/doctor/worktree-orphans.d.ts.map +1 -1
- package/dist/doctor/worktree-orphans.js +13 -29
- package/dist/doctor/worktree-orphans.js.map +1 -1
- package/dist/doctor/worktree-stores.d.ts +128 -0
- package/dist/doctor/worktree-stores.d.ts.map +1 -0
- package/dist/doctor/worktree-stores.js +374 -0
- package/dist/doctor/worktree-stores.js.map +1 -0
- package/dist/engine/engine-ops.d.ts +36 -6
- package/dist/engine/engine-ops.d.ts.map +1 -1
- package/dist/engine/engine-ops.js +115 -14
- package/dist/engine/engine-ops.js.map +1 -1
- package/dist/error-catalog.d.ts.map +1 -1
- package/dist/error-catalog.js +21 -0
- package/dist/error-catalog.js.map +1 -1
- package/dist/error-registry.d.ts.map +1 -1
- package/dist/error-registry.js +40 -0
- package/dist/error-registry.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +1 -1
- package/dist/gc/cleanup.d.ts.map +1 -1
- package/dist/gc/cleanup.js +32 -19
- package/dist/gc/cleanup.js.map +1 -1
- package/dist/git/bounded-git.d.ts +170 -0
- package/dist/git/bounded-git.d.ts.map +1 -0
- package/dist/git/bounded-git.js +371 -0
- package/dist/git/bounded-git.js.map +1 -0
- package/dist/git/work-tree.d.ts +20 -0
- package/dist/git/work-tree.d.ts.map +1 -1
- package/dist/git/work-tree.js +20 -2
- package/dist/git/work-tree.js.map +1 -1
- package/dist/hooks/handlers/session-hooks.d.ts +11 -26
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +18 -47
- package/dist/hooks/handlers/session-hooks.js.map +1 -1
- package/dist/hooks/payload-schemas.d.ts +2 -2
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/init/engine-ops.d.ts.map +1 -1
- package/dist/init/engine-ops.js +23 -1
- package/dist/init/engine-ops.js.map +1 -1
- package/dist/init.d.ts +158 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +578 -53
- package/dist/init.js.map +1 -1
- package/dist/inject/index.d.ts.map +1 -1
- package/dist/inject/index.js +8 -3
- package/dist/inject/index.js.map +1 -1
- package/dist/injection.d.ts +55 -0
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +102 -6
- package/dist/injection.js.map +1 -1
- package/dist/internal.d.ts +11 -7
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +9 -5
- package/dist/internal.js.map +1 -1
- package/dist/issue/diagnostics.d.ts.map +1 -1
- package/dist/issue/diagnostics.js +2 -1
- package/dist/issue/diagnostics.js.map +1 -1
- package/dist/lib/concurrency.d.ts +25 -0
- package/dist/lib/concurrency.d.ts.map +1 -0
- package/dist/lib/concurrency.js +43 -0
- package/dist/lib/concurrency.js.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lifecycle/engine-ops.d.ts.map +1 -1
- package/dist/lifecycle/engine-ops.js +4 -2
- package/dist/lifecycle/engine-ops.js.map +1 -1
- package/dist/lifecycle/stage-guidance.d.ts +5 -0
- package/dist/lifecycle/stage-guidance.d.ts.map +1 -1
- package/dist/lifecycle/stage-guidance.js +14 -4
- package/dist/lifecycle/stage-guidance.js.map +1 -1
- package/dist/llm/catalog-cache.d.ts +3 -2
- package/dist/llm/catalog-cache.d.ts.map +1 -1
- package/dist/llm/catalog-cache.js +5 -5
- package/dist/llm/catalog-cache.js.map +1 -1
- package/dist/llm/credentials.d.ts +4 -4
- package/dist/llm/credentials.js +6 -6
- package/dist/llm/credentials.js.map +1 -1
- package/dist/llm/plugin-facade.js +4400 -1801
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/stable-device-id.d.ts.map +1 -1
- package/dist/llm/stable-device-id.js +3 -5
- package/dist/llm/stable-device-id.js.map +1 -1
- package/dist/memory/attention.js +31 -31
- package/dist/memory/attention.js.map +1 -1
- package/dist/memory/decision-contradiction.d.ts +152 -0
- package/dist/memory/decision-contradiction.d.ts.map +1 -0
- package/dist/memory/decision-contradiction.js +273 -0
- package/dist/memory/decision-contradiction.js.map +1 -0
- package/dist/memory/decisions.d.ts +42 -11
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +153 -56
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/dialectic-evaluator.d.ts +7 -0
- package/dist/memory/dialectic-evaluator.d.ts.map +1 -1
- package/dist/memory/dialectic-evaluator.js +23 -8
- package/dist/memory/dialectic-evaluator.js.map +1 -1
- package/dist/memory/dispatch-trace-format.d.ts +39 -0
- package/dist/memory/dispatch-trace-format.d.ts.map +1 -0
- package/dist/memory/dispatch-trace-format.js +54 -0
- package/dist/memory/dispatch-trace-format.js.map +1 -0
- package/dist/memory/dispatch-trace.d.ts.map +1 -1
- package/dist/memory/dispatch-trace.js +1 -27
- package/dist/memory/dispatch-trace.js.map +1 -1
- package/dist/memory/engine-compat.d.ts +2 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +1 -0
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/memory/import-from-provider.js +3 -3
- package/dist/memory/import-from-provider.js.map +1 -1
- package/dist/memory/learnings.d.ts +2 -2
- package/dist/memory/observation-type-decision.d.ts +96 -0
- package/dist/memory/observation-type-decision.d.ts.map +1 -0
- package/dist/memory/observation-type-decision.js +218 -0
- package/dist/memory/observation-type-decision.js.map +1 -0
- package/dist/memory/redaction.js +2 -0
- package/dist/memory/redaction.js.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.d.ts +9 -2
- package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.js +42 -11
- package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
- package/dist/memory/retrieval/get-current-session-id.d.ts +5 -0
- package/dist/memory/retrieval/get-current-session-id.d.ts.map +1 -1
- package/dist/memory/retrieval/get-current-session-id.js +7 -2
- package/dist/memory/retrieval/get-current-session-id.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +30 -29
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +38 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +136 -48
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/assessment-projection.d.ts +76 -0
- package/dist/nexus/assessment-projection.d.ts.map +1 -0
- package/dist/nexus/assessment-projection.js +143 -0
- package/dist/nexus/assessment-projection.js.map +1 -0
- package/dist/nexus/assessment-store.d.ts +14 -2
- package/dist/nexus/assessment-store.d.ts.map +1 -1
- package/dist/nexus/assessment-store.js +21 -3
- package/dist/nexus/assessment-store.js.map +1 -1
- package/dist/nexus/checkout-nonce.d.ts +48 -0
- package/dist/nexus/checkout-nonce.d.ts.map +1 -0
- package/dist/nexus/checkout-nonce.js +84 -0
- package/dist/nexus/checkout-nonce.js.map +1 -0
- package/dist/nexus/devices.d.ts +93 -0
- package/dist/nexus/devices.d.ts.map +1 -0
- package/dist/nexus/devices.js +141 -0
- package/dist/nexus/devices.js.map +1 -0
- package/dist/nexus/freshness.d.ts.map +1 -1
- package/dist/nexus/freshness.js +25 -6
- package/dist/nexus/freshness.js.map +1 -1
- package/dist/nexus/git-state.d.ts +225 -0
- package/dist/nexus/git-state.d.ts.map +1 -0
- package/dist/nexus/git-state.js +677 -0
- package/dist/nexus/git-state.js.map +1 -0
- package/dist/nexus/graph-manifest.d.ts +20 -4
- package/dist/nexus/graph-manifest.d.ts.map +1 -1
- package/dist/nexus/graph-manifest.js +40 -5
- package/dist/nexus/graph-manifest.js.map +1 -1
- package/dist/nexus/identity.d.ts +68 -23
- package/dist/nexus/identity.d.ts.map +1 -1
- package/dist/nexus/identity.js +99 -22
- package/dist/nexus/identity.js.map +1 -1
- package/dist/nexus/index.d.ts +5 -2
- package/dist/nexus/index.d.ts.map +1 -1
- package/dist/nexus/index.js +10 -4
- package/dist/nexus/index.js.map +1 -1
- package/dist/nexus/knowledge.d.ts +5 -0
- package/dist/nexus/knowledge.d.ts.map +1 -1
- package/dist/nexus/knowledge.js +40 -5
- package/dist/nexus/knowledge.js.map +1 -1
- package/dist/nexus/legacy-alias.d.ts +60 -0
- package/dist/nexus/legacy-alias.d.ts.map +1 -0
- package/dist/nexus/legacy-alias.js +68 -0
- package/dist/nexus/legacy-alias.js.map +1 -0
- package/dist/nexus/migrate-json-to-sqlite.js +2 -2
- 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/path-map.d.ts +264 -20
- package/dist/nexus/path-map.d.ts.map +1 -1
- package/dist/nexus/path-map.js +580 -44
- package/dist/nexus/path-map.js.map +1 -1
- package/dist/nexus/projects-clean.d.ts +9 -1
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +126 -14
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/projects-scan.d.ts +56 -1
- package/dist/nexus/projects-scan.d.ts.map +1 -1
- package/dist/nexus/projects-scan.js +144 -3
- package/dist/nexus/projects-scan.js.map +1 -1
- package/dist/nexus/registry-hygiene.d.ts +18 -2
- package/dist/nexus/registry-hygiene.d.ts.map +1 -1
- package/dist/nexus/registry-hygiene.js +37 -11
- package/dist/nexus/registry-hygiene.js.map +1 -1
- package/dist/nexus/registry-roots.d.ts +47 -0
- package/dist/nexus/registry-roots.d.ts.map +1 -0
- package/dist/nexus/registry-roots.js +79 -0
- package/dist/nexus/registry-roots.js.map +1 -0
- package/dist/nexus/registry.d.ts +50 -9
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +311 -156
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/stored-roots.d.ts +171 -0
- package/dist/nexus/stored-roots.d.ts.map +1 -0
- package/dist/nexus/stored-roots.js +253 -0
- package/dist/nexus/stored-roots.js.map +1 -0
- package/dist/nexus/transfer.d.ts.map +1 -1
- package/dist/nexus/transfer.js +3 -0
- package/dist/nexus/transfer.js.map +1 -1
- package/dist/nexus/user-profile-hygiene.d.ts +168 -0
- package/dist/nexus/user-profile-hygiene.d.ts.map +1 -0
- package/dist/nexus/user-profile-hygiene.js +305 -0
- package/dist/nexus/user-profile-hygiene.js.map +1 -0
- package/dist/nexus/user-profile.d.ts +53 -2
- package/dist/nexus/user-profile.d.ts.map +1 -1
- package/dist/nexus/user-profile.js +106 -4
- package/dist/nexus/user-profile.js.map +1 -1
- package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
- package/dist/orchestrate/lifecycle-ops.js +4 -1
- package/dist/orchestrate/lifecycle-ops.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +5 -1
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/plan.d.ts.map +1 -1
- package/dist/orchestrate/plan.js +5 -2
- package/dist/orchestrate/plan.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts +7 -2
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +17 -6
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts +12 -0
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +157 -71
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +4 -2
- package/dist/orchestration/bootstrap.js.map +1 -1
- package/dist/orchestration/classify-readiness.d.ts +37 -1
- package/dist/orchestration/classify-readiness.d.ts.map +1 -1
- package/dist/orchestration/classify-readiness.js +48 -19
- package/dist/orchestration/classify-readiness.js.map +1 -1
- package/dist/orchestration/index.d.ts +4 -2
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +6 -4
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +8 -5
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +32 -15
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/owner-decision-readiness.d.ts +88 -0
- package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -0
- package/dist/orchestration/owner-decision-readiness.js +152 -0
- package/dist/orchestration/owner-decision-readiness.js.map +1 -0
- package/dist/orchestration/parallel.d.ts.map +1 -1
- package/dist/orchestration/parallel.js +10 -17
- package/dist/orchestration/parallel.js.map +1 -1
- package/dist/orchestration/psyche-memory-budget.d.ts +105 -0
- package/dist/orchestration/psyche-memory-budget.d.ts.map +1 -0
- package/dist/orchestration/psyche-memory-budget.js +383 -0
- package/dist/orchestration/psyche-memory-budget.js.map +1 -0
- package/dist/orchestration/spawn-prompt.d.ts +16 -2
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +144 -181
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.d.ts +7 -0
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +1 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/orchestration/status.d.ts +8 -3
- package/dist/orchestration/status.d.ts.map +1 -1
- package/dist/orchestration/status.js +9 -6
- package/dist/orchestration/status.js.map +1 -1
- package/dist/orchestration/wave-topic.d.ts +54 -0
- package/dist/orchestration/wave-topic.d.ts.map +1 -0
- package/dist/orchestration/wave-topic.js +68 -0
- package/dist/orchestration/wave-topic.js.map +1 -0
- package/dist/orchestration/waves.d.ts +47 -8
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +152 -43
- package/dist/orchestration/waves.js.map +1 -1
- package/dist/paths.d.ts +24 -8
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +135 -71
- package/dist/paths.js.map +1 -1
- package/dist/phases/index.d.ts.map +1 -1
- package/dist/phases/index.js +6 -2
- package/dist/phases/index.js.map +1 -1
- package/dist/platform.d.ts +6 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +8 -19
- package/dist/platform.js.map +1 -1
- package/dist/project-info.d.ts +18 -0
- package/dist/project-info.d.ts.map +1 -1
- package/dist/project-info.js +29 -1
- package/dist/project-info.js.map +1 -1
- package/dist/project-lifecycle.d.ts +91 -32
- package/dist/project-lifecycle.d.ts.map +1 -1
- package/dist/project-lifecycle.js +639 -75
- package/dist/project-lifecycle.js.map +1 -1
- package/dist/project-scope.d.ts +104 -4
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +263 -13
- package/dist/project-scope.js.map +1 -1
- package/dist/project-tombstone.d.ts +111 -0
- package/dist/project-tombstone.d.ts.map +1 -0
- package/dist/project-tombstone.js +220 -0
- package/dist/project-tombstone.js.map +1 -0
- package/dist/release/artifacts.d.ts.map +1 -1
- package/dist/release/artifacts.js +14 -9
- package/dist/release/artifacts.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +233 -0
- package/dist/release/ci-evidence.d.ts.map +1 -0
- package/dist/release/ci-evidence.js +668 -0
- package/dist/release/ci-evidence.js.map +1 -0
- package/dist/release/engine-ops.d.ts.map +1 -1
- package/dist/release/engine-ops.js +3 -3
- package/dist/release/engine-ops.js.map +1 -1
- package/dist/release/github-pr.d.ts +30 -0
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +40 -0
- package/dist/release/github-pr.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +11 -7
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +38 -0
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +79 -15
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +3 -2
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/release-manifest.d.ts +2 -1
- package/dist/release/release-manifest.d.ts.map +1 -1
- package/dist/release/release-manifest.js +6 -5
- package/dist/release/release-manifest.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts +4 -0
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +57 -0
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/resources/spawn-wrapper.d.ts +8 -1
- package/dist/resources/spawn-wrapper.d.ts.map +1 -1
- package/dist/resources/spawn-wrapper.js +42 -5
- package/dist/resources/spawn-wrapper.js.map +1 -1
- package/dist/routing/build-command-groups.d.ts.map +1 -1
- package/dist/routing/build-command-groups.js +1 -0
- package/dist/routing/build-command-groups.js.map +1 -1
- package/dist/sagas/index.d.ts +1 -1
- package/dist/sagas/index.d.ts.map +1 -1
- package/dist/sagas/index.js +1 -1
- package/dist/sagas/index.js.map +1 -1
- package/dist/sagas/reconcile.d.ts +24 -4
- package/dist/sagas/reconcile.d.ts.map +1 -1
- package/dist/sagas/reconcile.js +226 -100
- package/dist/sagas/reconcile.js.map +1 -1
- package/dist/scaffold/ensure-config.d.ts.map +1 -1
- package/dist/scaffold/ensure-config.js +31 -1
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/scaffold/project-identity.d.ts +2 -8
- package/dist/scaffold/project-identity.d.ts.map +1 -1
- package/dist/scaffold/project-identity.js +5 -21
- package/dist/scaffold/project-identity.js.map +1 -1
- package/dist/security/input-sanitization.d.ts +9 -1
- package/dist/security/input-sanitization.d.ts.map +1 -1
- package/dist/security/input-sanitization.js +20 -3
- package/dist/security/input-sanitization.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +4409 -1810
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/propose-tick.d.ts.map +1 -1
- package/dist/sentient/propose-tick.js +4 -2
- package/dist/sentient/propose-tick.js.map +1 -1
- package/dist/sequence/index.d.ts.map +1 -1
- package/dist/sequence/index.js +6 -23
- package/dist/sequence/index.js.map +1 -1
- package/dist/session/engine-ops.d.ts +15 -0
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +146 -22
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/assumptions.d.ts.map +1 -1
- package/dist/sessions/assumptions.js +7 -4
- package/dist/sessions/assumptions.js.map +1 -1
- package/dist/sessions/briefing.d.ts +23 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +59 -9
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/decisions.d.ts +38 -3
- package/dist/sessions/decisions.d.ts.map +1 -1
- package/dist/sessions/decisions.js +235 -21
- package/dist/sessions/decisions.js.map +1 -1
- package/dist/sessions/drift-watchdog.d.ts.map +1 -1
- package/dist/sessions/drift-watchdog.js +8 -5
- package/dist/sessions/drift-watchdog.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +89 -1
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +97 -1
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/sessions/index.d.ts +2 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +34 -5
- 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 -3
- package/dist/sessions/session-drift.js.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.d.ts +26 -0
- package/dist/sessions/session-end-snapshot-entry.d.ts.map +1 -0
- package/dist/sessions/session-end-snapshot-entry.js +59 -0
- package/dist/sessions/session-end-snapshot-entry.js.map +1 -0
- package/dist/sessions/session-end-snapshot.d.ts +114 -0
- package/dist/sessions/session-end-snapshot.d.ts.map +1 -0
- package/dist/sessions/session-end-snapshot.js +446 -0
- package/dist/sessions/session-end-snapshot.js.map +1 -0
- package/dist/sessions/session-manifest-mirror.d.ts.map +1 -1
- package/dist/sessions/session-manifest-mirror.js +10 -17
- package/dist/sessions/session-manifest-mirror.js.map +1 -1
- package/dist/sessions/session-switch.d.ts.map +1 -1
- package/dist/sessions/session-switch.js +5 -3
- package/dist/sessions/session-switch.js.map +1 -1
- package/dist/sessions/snapshot.d.ts.map +1 -1
- package/dist/sessions/snapshot.js +5 -4
- package/dist/sessions/snapshot.js.map +1 -1
- package/dist/sessions/terminal-identity.d.ts +169 -0
- package/dist/sessions/terminal-identity.d.ts.map +1 -0
- package/dist/sessions/terminal-identity.js +273 -0
- package/dist/sessions/terminal-identity.js.map +1 -0
- package/dist/setup/sections/verification.d.ts +1 -1
- package/dist/setup/sections/verification.d.ts.map +1 -1
- package/dist/setup/sections/verification.js +11 -15
- package/dist/setup/sections/verification.js.map +1 -1
- package/dist/skills/discovery.d.ts +20 -3
- package/dist/skills/discovery.d.ts.map +1 -1
- package/dist/skills/discovery.js +41 -4
- package/dist/skills/discovery.js.map +1 -1
- package/dist/skills/dispatch.d.ts +5 -2
- package/dist/skills/dispatch.d.ts.map +1 -1
- package/dist/skills/dispatch.js +5 -2
- package/dist/skills/dispatch.js.map +1 -1
- package/dist/skills/doctor.d.ts.map +1 -1
- package/dist/skills/doctor.js +5 -1
- package/dist/skills/doctor.js.map +1 -1
- package/dist/skills/federated-search.js +2 -2
- package/dist/skills/federated-search.js.map +1 -1
- package/dist/skills/index.d.ts +3 -3
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/migration.d.ts +5 -5
- package/dist/skills/migration.d.ts.map +1 -1
- package/dist/skills/migration.js +7 -9
- package/dist/skills/migration.js.map +1 -1
- package/dist/skills/orchestrator/startup.d.ts.map +1 -1
- package/dist/skills/orchestrator/startup.js +14 -7
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/skills/prune-bundled.d.ts +267 -0
- package/dist/skills/prune-bundled.d.ts.map +1 -0
- package/dist/skills/prune-bundled.js +536 -0
- package/dist/skills/prune-bundled.js.map +1 -0
- package/dist/skills/skill-paths.d.ts +30 -3
- package/dist/skills/skill-paths.d.ts.map +1 -1
- package/dist/skills/skill-paths.js +28 -9
- package/dist/skills/skill-paths.js.map +1 -1
- package/dist/skills/skill-root.d.ts +60 -11
- package/dist/skills/skill-root.d.ts.map +1 -1
- package/dist/skills/skill-root.js +100 -14
- package/dist/skills/skill-root.js.map +1 -1
- package/dist/skills/skills-guard.js +5 -5
- package/dist/skills/skills-guard.js.map +1 -1
- package/dist/skills/types.d.ts +32 -1
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +17 -34
- package/dist/skills/types.js.map +1 -1
- package/dist/spawn/agent-identity.d.ts +51 -2
- package/dist/spawn/agent-identity.d.ts.map +1 -1
- package/dist/spawn/agent-identity.js +89 -26
- package/dist/spawn/agent-identity.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +80 -79
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/spawn/index.d.ts +2 -2
- 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/spawn/worktree-lock-holder.d.ts +37 -0
- package/dist/spawn/worktree-lock-holder.d.ts.map +1 -0
- package/dist/spawn/worktree-lock-holder.js +41 -0
- package/dist/spawn/worktree-lock-holder.js.map +1 -0
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +4 -2
- package/dist/stats/index.js.map +1 -1
- package/dist/sticky/convert.d.ts.map +1 -1
- package/dist/sticky/convert.js +16 -4
- package/dist/sticky/convert.js.map +1 -1
- package/dist/store/attachment-store.d.ts +14 -0
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +11 -1
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/backup-inspect.d.ts +7 -3
- package/dist/store/backup-inspect.d.ts.map +1 -1
- package/dist/store/backup-inspect.js +18 -7
- package/dist/store/backup-inspect.js.map +1 -1
- package/dist/store/backup-sidecar.d.ts +60 -0
- package/dist/store/backup-sidecar.d.ts.map +1 -0
- package/dist/store/backup-sidecar.js +96 -0
- package/dist/store/backup-sidecar.js.map +1 -0
- 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 +6 -6
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/data-safety-central.d.ts +13 -4
- package/dist/store/data-safety-central.d.ts.map +1 -1
- package/dist/store/data-safety-central.js +31 -4
- package/dist/store/data-safety-central.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +10 -0
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/__fixtures__/representative-fixture.d.ts.map +1 -1
- package/dist/store/exodus/__fixtures__/representative-fixture.js +4 -0
- package/dist/store/exodus/__fixtures__/representative-fixture.js.map +1 -1
- package/dist/store/exodus/migrate.js +1 -1
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/reconcile.js +1 -1
- package/dist/store/exodus/reconcile.js.map +1 -1
- package/dist/store/exodus/runtime-targets.d.ts +4 -3
- package/dist/store/exodus/runtime-targets.d.ts.map +1 -1
- package/dist/store/exodus/runtime-targets.js +4 -3
- package/dist/store/exodus/runtime-targets.js.map +1 -1
- package/dist/store/import-logging.d.ts.map +1 -1
- package/dist/store/import-logging.js +5 -4
- package/dist/store/import-logging.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +2 -7
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/lock.d.ts +1 -0
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +1 -0
- package/dist/store/lock.js.map +1 -1
- package/dist/store/memory-accessor.d.ts +8 -3
- package/dist/store/memory-accessor.d.ts.map +1 -1
- package/dist/store/memory-accessor.js +29 -13
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/memory-sqlite.d.ts.map +1 -1
- package/dist/store/memory-sqlite.js +5 -0
- package/dist/store/memory-sqlite.js.map +1 -1
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +11 -6
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts +13 -8
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +75 -31
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +2 -1
- 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 +7 -3
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/pre-repair-snapshot.d.ts +77 -0
- package/dist/store/pre-repair-snapshot.d.ts.map +1 -0
- package/dist/store/pre-repair-snapshot.js +122 -0
- package/dist/store/pre-repair-snapshot.js.map +1 -0
- package/dist/store/regenerators.d.ts +2 -1
- package/dist/store/regenerators.d.ts.map +1 -1
- package/dist/store/regenerators.js +17 -3
- package/dist/store/regenerators.js.map +1 -1
- package/dist/store/relocated-store-guard.d.ts +71 -0
- package/dist/store/relocated-store-guard.d.ts.map +1 -0
- package/dist/store/relocated-store-guard.js +138 -0
- package/dist/store/relocated-store-guard.js.map +1 -0
- package/dist/store/safety-data-accessor.d.ts +2 -2
- package/dist/store/safety-data-accessor.d.ts.map +1 -1
- package/dist/store/safety-data-accessor.js +2 -2
- package/dist/store/safety-data-accessor.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +2 -2
- package/dist/store/schema/audit.d.ts +5 -5
- package/dist/store/schema/background-jobs.d.ts +1 -1
- package/dist/store/schema/cleo-global/models-catalog.d.ts +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +686 -0
- package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +175 -7
- 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 +5 -5
- package/dist/store/schema/cleo-project/docs.d.ts +3 -3
- package/dist/store/schema/cleo-project/lifecycle.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/tasks-core-batch2.d.ts +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +6 -6
- package/dist/store/schema/cleo-shared/brain.d.ts +26 -26
- package/dist/store/schema/lifecycle.d.ts +3 -3
- package/dist/store/schema/manifest.d.ts +1 -1
- package/dist/store/schema/memory-schema.d.ts +26 -26
- package/dist/store/schema/nexus-schema.d.ts +696 -2
- package/dist/store/schema/nexus-schema.d.ts.map +1 -1
- package/dist/store/schema/nexus-schema.js +175 -19
- 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 +5 -5
- package/dist/store/session-binding-schema.d.ts +132 -0
- package/dist/store/session-binding-schema.d.ts.map +1 -0
- package/dist/store/session-binding-schema.js +53 -0
- package/dist/store/session-binding-schema.js.map +1 -0
- package/dist/store/session-store.d.ts +262 -4
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +486 -26
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/skills-db.d.ts +17 -0
- package/dist/store/skills-db.d.ts.map +1 -1
- package/dist/store/skills-db.js +30 -0
- package/dist/store/skills-db.js.map +1 -1
- package/dist/store/snapshot-gate.d.ts +239 -0
- package/dist/store/snapshot-gate.d.ts.map +1 -0
- package/dist/store/snapshot-gate.js +401 -0
- package/dist/store/snapshot-gate.js.map +1 -0
- package/dist/store/split-brain-import.js +2 -2
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-backup.d.ts +55 -13
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/sqlite-backup.js +414 -106
- package/dist/store/sqlite-backup.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +15 -0
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +73 -4
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +15 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +75 -5
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/store-write-guard.d.ts +28 -0
- package/dist/store/store-write-guard.d.ts.map +1 -0
- package/dist/store/store-write-guard.js +50 -0
- package/dist/store/store-write-guard.js.map +1 -0
- package/dist/store/table-classification.d.ts +143 -0
- package/dist/store/table-classification.d.ts.map +1 -0
- package/dist/store/table-classification.js +1866 -0
- package/dist/store/table-classification.js.map +1 -0
- package/dist/store/task-version.d.ts +72 -0
- package/dist/store/task-version.d.ts.map +1 -0
- package/dist/store/task-version.js +93 -0
- package/dist/store/task-version.js.map +1 -0
- package/dist/store/tasks-schema.d.ts +1 -0
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +13 -0
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts +10 -3
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +12 -3
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +320 -0
- package/dist/store/twin-collapse.d.ts.map +1 -0
- package/dist/store/twin-collapse.js +931 -0
- package/dist/store/twin-collapse.js.map +1 -0
- package/dist/store/umbrella-data-accessor.d.ts +2 -2
- package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
- package/dist/store/umbrella-data-accessor.js +2 -2
- package/dist/store/umbrella-data-accessor.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +63 -63
- package/dist/store/worktree-isolation-guard.d.ts +46 -24
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +71 -50
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +3 -67
- package/dist/system/backup.js.map +1 -1
- package/dist/system/cleo-link.d.ts +163 -0
- package/dist/system/cleo-link.d.ts.map +1 -0
- package/dist/system/cleo-link.js +246 -0
- package/dist/system/cleo-link.js.map +1 -0
- package/dist/system/dependencies.d.ts.map +1 -1
- package/dist/system/dependencies.js +3 -6
- package/dist/system/dependencies.js.map +1 -1
- package/dist/system/global-delivery.d.ts +205 -0
- package/dist/system/global-delivery.d.ts.map +1 -0
- package/dist/system/global-delivery.js +320 -0
- package/dist/system/global-delivery.js.map +1 -0
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +29 -6
- package/dist/system/health.js.map +1 -1
- package/dist/system/inject-generate.d.ts.map +1 -1
- package/dist/system/inject-generate.js +4 -4
- package/dist/system/inject-generate.js.map +1 -1
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +1 -20
- package/dist/system/project-health.js.map +1 -1
- package/dist/system/runtime.d.ts.map +1 -1
- package/dist/system/runtime.js +2 -12
- package/dist/system/runtime.js.map +1 -1
- package/dist/system/safestop.d.ts.map +1 -1
- package/dist/system/safestop.js +5 -2
- package/dist/system/safestop.js.map +1 -1
- package/dist/system/skill-fixtures.d.ts +200 -0
- package/dist/system/skill-fixtures.d.ts.map +1 -0
- package/dist/system/skill-fixtures.js +331 -0
- package/dist/system/skill-fixtures.js.map +1 -0
- package/dist/task-work/index.d.ts +6 -0
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +6 -3
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +4 -2
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +218 -0
- package/dist/tasks/affected-packages.d.ts.map +1 -0
- package/dist/tasks/affected-packages.js +496 -0
- package/dist/tasks/affected-packages.js.map +1 -0
- package/dist/tasks/affected-scope.d.ts +59 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -0
- package/dist/tasks/affected-scope.js +81 -0
- package/dist/tasks/affected-scope.js.map +1 -0
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +7 -2
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/change-set.d.ts +175 -0
- package/dist/tasks/change-set.d.ts.map +1 -0
- package/dist/tasks/change-set.js +753 -0
- package/dist/tasks/change-set.js.map +1 -0
- package/dist/tasks/complete.d.ts +10 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +59 -5
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +106 -0
- package/dist/tasks/component-pr.d.ts.map +1 -0
- package/dist/tasks/component-pr.js +190 -0
- package/dist/tasks/component-pr.js.map +1 -0
- package/dist/tasks/done-plan.d.ts +123 -0
- package/dist/tasks/done-plan.d.ts.map +1 -0
- package/dist/tasks/done-plan.js +696 -0
- package/dist/tasks/done-plan.js.map +1 -0
- package/dist/tasks/done-record.d.ts +127 -0
- package/dist/tasks/done-record.d.ts.map +1 -0
- package/dist/tasks/done-record.js +302 -0
- package/dist/tasks/done-record.js.map +1 -0
- package/dist/tasks/duplicate-detector.d.ts +68 -11
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +314 -58
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/evidence-paths.d.ts +78 -0
- package/dist/tasks/evidence-paths.d.ts.map +1 -0
- package/dist/tasks/evidence-paths.js +150 -0
- package/dist/tasks/evidence-paths.js.map +1 -0
- package/dist/tasks/evidence.d.ts +101 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +278 -31
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-preview.d.ts +5 -0
- package/dist/tasks/gate-preview.d.ts.map +1 -1
- package/dist/tasks/gate-preview.js +25 -21
- package/dist/tasks/gate-preview.js.map +1 -1
- package/dist/tasks/gate-result-cache.d.ts +205 -0
- package/dist/tasks/gate-result-cache.d.ts.map +1 -0
- package/dist/tasks/gate-result-cache.js +285 -0
- package/dist/tasks/gate-result-cache.js.map +1 -0
- package/dist/tasks/gate-runner.d.ts +126 -3
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +483 -28
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/session-scope.d.ts +3 -1
- package/dist/tasks/session-scope.d.ts.map +1 -1
- package/dist/tasks/session-scope.js +18 -3
- package/dist/tasks/session-scope.js.map +1 -1
- package/dist/tasks/task-next.d.ts +4 -0
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +32 -28
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +23 -6
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +146 -8
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-vacuity.d.ts +71 -0
- package/dist/tasks/tool-vacuity.d.ts.map +1 -0
- package/dist/tasks/tool-vacuity.js +334 -0
- package/dist/tasks/tool-vacuity.js.map +1 -0
- package/dist/tasks/update.d.ts +8 -0
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +159 -78
- package/dist/tasks/update.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +18 -2
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +20 -2
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +64 -4
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/doctor/index.d.ts +1 -1
- package/dist/validation/doctor/index.d.ts.map +1 -1
- package/dist/validation/doctor/index.js +1 -1
- package/dist/validation/doctor/index.js.map +1 -1
- package/dist/validation/doctor/utils.d.ts.map +1 -1
- package/dist/validation/doctor/utils.js +7 -2
- package/dist/validation/doctor/utils.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +24 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +272 -98
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +9 -3
- package/dist/validation/validate-ops.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +5 -2
- package/dist/worktree/worktree-adopt.js.map +1 -1
- package/migrations/drizzle-cleo-global/20260927000000_t12469-project-locations/migration.sql +121 -0
- package/migrations/drizzle-cleo-global/20260927010000_t12543-user-profile-project-scope/migration.sql +23 -0
- package/migrations/drizzle-cleo-global/20260928010000_t12470-location-candidates/migration.sql +72 -0
- package/migrations/drizzle-cleo-global/20260928020000_t12510-nexus-devices/migration.sql +34 -0
- package/migrations/drizzle-cleo-global/20260928030000_t12511-project-git-state/migration.sql +62 -0
- package/migrations/drizzle-cleo-project/20260927000000_t12499-session-terminal-bindings/migration.sql +34 -0
- package/migrations/drizzle-cleo-project/20260928000000_t12500-binding-provider-flag/migration.sql +15 -0
- package/package.json +23 -13
- package/schemas/config.schema.json +54 -0
- package/schemas/project-context.schema.json +51 -3
- package/schemas/project-info.schema.json +28 -1
- package/templates/CLEO-INJECTION.md +40 -332
- package/templates/CLEO-REFERENCE.md +303 -0
- package/templates/workflows/README.md +36 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"done-plan.js","sourceRoot":"","sources":["../../src/tasks/done-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cleo done` / `cleo verify --auto` — record every required gate in one write.
|
|
3
|
+
*
|
|
4
|
+
* {@link recordTaskDone} turns the read-only plan from
|
|
5
|
+
* {@link deriveTaskEvidence} into recorded gates, in a fixed order that keeps
|
|
6
|
+
* every slow step OUTSIDE the task write transaction:
|
|
7
|
+
*
|
|
8
|
+
* 1. plan — change set, gate evidence, AC links, blockers (git and gh only);
|
|
9
|
+
* 2. tools — `lint` and `typecheck` in parallel, then `test`, each through the
|
|
10
|
+
* ADR-061 resolver and cache (`runToolCached`, under its global semaphore
|
|
11
|
+
* and memory caps); a cached result is reused, a failure stops here;
|
|
12
|
+
* 3. typed gates — executed once by `previewTaskGates`, which caches each pass
|
|
13
|
+
* (T12621); a failure stops here;
|
|
14
|
+
* 4. write — ONE `validateGateVerify` call with per-gate evidence
|
|
15
|
+
* (`gateEvidence`), which parses and validates every atom through the
|
|
16
|
+
* existing `parseEvidence` → `validateAtom` → gate minimum →
|
|
17
|
+
* `checkTaskEvidenceContext` path, serves the typed gates from the cache
|
|
18
|
+
* (`noRun`), and persists all gates in a single transaction.
|
|
19
|
+
*
|
|
20
|
+
* Tool atoms re-enter `validateAtom` at step 4, where they hit the cache entry
|
|
21
|
+
* step 2 wrote — the same key, because the tools ran in the same execution
|
|
22
|
+
* root the validator resolves. That is why a plan whose change set lives in the
|
|
23
|
+
* task's worktree refuses to run from the main checkout: the validator would
|
|
24
|
+
* measure the wrong tree.
|
|
25
|
+
*
|
|
26
|
+
* There is no override: `CLEO_OWNER_OVERRIDE` is refused by the multi-gate
|
|
27
|
+
* write and stays a single-gate `cleo verify` path. Completion is the caller's
|
|
28
|
+
* next step (`cleo done` dispatches `tasks.complete`, unchanged).
|
|
29
|
+
*
|
|
30
|
+
* Spec: `verify-streamlined-design` §3.2 steps 3-7 and §4.
|
|
31
|
+
*
|
|
32
|
+
* @task T12625
|
|
33
|
+
*/
|
|
34
|
+
import type { DoneRecordResult, VerificationGate } from '@cleocode/contracts';
|
|
35
|
+
import { type EngineResult } from '../engine-result.js';
|
|
36
|
+
import { type DeriveTaskEvidenceOptions } from './done-plan.js';
|
|
37
|
+
/** A tool run as `recordTaskDone` needs it; injectable for tests. */
|
|
38
|
+
export type DoneToolRunner = (tool: string, storeRoot: string, executionRoot: string) => Promise<{
|
|
39
|
+
exitCode: number | null;
|
|
40
|
+
cacheHit: boolean;
|
|
41
|
+
durationMs: number;
|
|
42
|
+
timedOut: boolean;
|
|
43
|
+
tail: string;
|
|
44
|
+
}>;
|
|
45
|
+
/** Typed-gate execution before the write; injectable for tests. */
|
|
46
|
+
export type DoneTypedGateRunner = (storeRoot: string, taskId: string) => Promise<{
|
|
47
|
+
gateCount: number;
|
|
48
|
+
passed: boolean;
|
|
49
|
+
failing: string[];
|
|
50
|
+
}>;
|
|
51
|
+
/** The single multi-gate write; injectable for tests. */
|
|
52
|
+
export type DoneGateWriter = (storeRoot: string, params: {
|
|
53
|
+
taskId: string;
|
|
54
|
+
gateEvidence: Partial<Record<VerificationGate, string | readonly string[]>>;
|
|
55
|
+
noRun: boolean;
|
|
56
|
+
sessionId?: string;
|
|
57
|
+
agent?: string;
|
|
58
|
+
}) => Promise<EngineResult<{
|
|
59
|
+
passed: boolean;
|
|
60
|
+
}>>;
|
|
61
|
+
/** Options for {@link recordTaskDone}. */
|
|
62
|
+
export interface RecordTaskDoneOptions extends DeriveTaskEvidenceOptions {
|
|
63
|
+
/** Agent recorded as the gate author. */
|
|
64
|
+
agent?: string;
|
|
65
|
+
/** Session for the audit trail; defaults to the caller's bound session. */
|
|
66
|
+
sessionId?: string;
|
|
67
|
+
/** Injectable slow steps (tests assert their order). */
|
|
68
|
+
steps?: {
|
|
69
|
+
runTool?: DoneToolRunner;
|
|
70
|
+
runTypedGates?: DoneTypedGateRunner;
|
|
71
|
+
write?: DoneGateWriter;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Record every required gate a task lacks, in one write, from derived
|
|
76
|
+
* evidence. Does not complete the task.
|
|
77
|
+
*
|
|
78
|
+
* @param taskId - Task to record.
|
|
79
|
+
* @param opts - Planner options (`satisfies`, `prNumber`, roots) plus author,
|
|
80
|
+
* session and injectable steps.
|
|
81
|
+
* @returns The recorded gates, or `E_DONE_BLOCKED` with one next step and
|
|
82
|
+
* the original cause in `details.cause`.
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* const r = await recordTaskDone('T123', { satisfies: 'all' });
|
|
86
|
+
* if (!r.success) console.error(r.error.fix);
|
|
87
|
+
* ```
|
|
88
|
+
* @task T12625
|
|
89
|
+
*/
|
|
90
|
+
export declare function recordTaskDone(taskId: string, opts?: RecordTaskDoneOptions): Promise<EngineResult<DoneRecordResult>>;
|
|
91
|
+
/**
|
|
92
|
+
* A tool runner shared by a batch: each (tool, execution root) pair runs once
|
|
93
|
+
* and every later caller gets the same outcome. Keyed on the root as well as
|
|
94
|
+
* the tool — two tasks whose work lives in different trees must each be
|
|
95
|
+
* measured in their own tree.
|
|
96
|
+
*
|
|
97
|
+
* @param base - The runner that actually executes.
|
|
98
|
+
* @returns A memoising runner.
|
|
99
|
+
* @task T12628
|
|
100
|
+
*/
|
|
101
|
+
export declare function sharedToolRunner(base: DoneToolRunner): DoneToolRunner;
|
|
102
|
+
/** One task's outcome in a batch close. */
|
|
103
|
+
export interface BatchDoneEntry {
|
|
104
|
+
/** Task the entry is for. */
|
|
105
|
+
taskId: string;
|
|
106
|
+
/** Its record result, or its `E_DONE_BLOCKED`. */
|
|
107
|
+
result: EngineResult<DoneRecordResult>;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Close several tasks shipped by one PR (T12628): each task is planned and
|
|
111
|
+
* recorded on its own, and one task's blocker never stops the others. The
|
|
112
|
+
* tools run once per execution root for the whole batch — every task shares
|
|
113
|
+
* one memoised runner — and each task still gets its own validated write.
|
|
114
|
+
* Shared evidence is NOT pre-acknowledged: the ADR-059 warning fires as for
|
|
115
|
+
* any other reuse.
|
|
116
|
+
*
|
|
117
|
+
* @param taskIds - Tasks to record, in order.
|
|
118
|
+
* @param opts - Shared options (`prNumber`, `satisfies`, roots, author, steps).
|
|
119
|
+
* @returns One entry per task, in the given order.
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* const entries = await recordTasksDone(['T1', 'T2', 'T3'], { prNumber: 42 });
|
|
123
|
+
* ```
|
|
124
|
+
* @task T12628
|
|
125
|
+
*/
|
|
126
|
+
export declare function recordTasksDone(taskIds: readonly string[], opts?: RecordTaskDoneOptions): Promise<BatchDoneEntry[]>;
|
|
127
|
+
//# sourceMappingURL=done-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"done-record.d.ts","sourceRoot":"","sources":["../../src/tasks/done-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAIV,gBAAgB,EAEhB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EAAE,KAAK,yBAAyB,EAAkC,MAAM,gBAAgB,CAAC;AAGhG,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,KAClB,OAAO,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH,mEAAmE;AACnE,MAAM,MAAM,mBAAmB,GAAG,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,KACX,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAExE,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,CAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,KACE,OAAO,CAAC,YAAY,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACtE,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,cAAc,CAAC;QAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;QAAC,KAAK,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;CACnG;AAkID;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAsFzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAWrE;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,cAAc,EAAE,CAAC,CAU3B"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cleo done` / `cleo verify --auto` — record every required gate in one write.
|
|
3
|
+
*
|
|
4
|
+
* {@link recordTaskDone} turns the read-only plan from
|
|
5
|
+
* {@link deriveTaskEvidence} into recorded gates, in a fixed order that keeps
|
|
6
|
+
* every slow step OUTSIDE the task write transaction:
|
|
7
|
+
*
|
|
8
|
+
* 1. plan — change set, gate evidence, AC links, blockers (git and gh only);
|
|
9
|
+
* 2. tools — `lint` and `typecheck` in parallel, then `test`, each through the
|
|
10
|
+
* ADR-061 resolver and cache (`runToolCached`, under its global semaphore
|
|
11
|
+
* and memory caps); a cached result is reused, a failure stops here;
|
|
12
|
+
* 3. typed gates — executed once by `previewTaskGates`, which caches each pass
|
|
13
|
+
* (T12621); a failure stops here;
|
|
14
|
+
* 4. write — ONE `validateGateVerify` call with per-gate evidence
|
|
15
|
+
* (`gateEvidence`), which parses and validates every atom through the
|
|
16
|
+
* existing `parseEvidence` → `validateAtom` → gate minimum →
|
|
17
|
+
* `checkTaskEvidenceContext` path, serves the typed gates from the cache
|
|
18
|
+
* (`noRun`), and persists all gates in a single transaction.
|
|
19
|
+
*
|
|
20
|
+
* Tool atoms re-enter `validateAtom` at step 4, where they hit the cache entry
|
|
21
|
+
* step 2 wrote — the same key, because the tools ran in the same execution
|
|
22
|
+
* root the validator resolves. That is why a plan whose change set lives in the
|
|
23
|
+
* task's worktree refuses to run from the main checkout: the validator would
|
|
24
|
+
* measure the wrong tree.
|
|
25
|
+
*
|
|
26
|
+
* There is no override: `CLEO_OWNER_OVERRIDE` is refused by the multi-gate
|
|
27
|
+
* write and stays a single-gate `cleo verify` path. Completion is the caller's
|
|
28
|
+
* next step (`cleo done` dispatches `tasks.complete`, unchanged).
|
|
29
|
+
*
|
|
30
|
+
* Spec: `verify-streamlined-design` §3.2 steps 3-7 and §4.
|
|
31
|
+
*
|
|
32
|
+
* @task T12625
|
|
33
|
+
*/
|
|
34
|
+
import { engineError, engineSuccess } from '../engine-result.js';
|
|
35
|
+
import { cleoErrorToEngineResult } from '../errors-to-engine.js';
|
|
36
|
+
import { getProjectRoot } from '../paths.js';
|
|
37
|
+
import { deriveTaskEvidence, shellQuote } from './done-plan.js';
|
|
38
|
+
import { resolveToolCommand } from './tool-resolver.js';
|
|
39
|
+
/** Default tool runner: resolve through ADR-061 and run through its cache. */
|
|
40
|
+
const defaultRunTool = async (tool, storeRoot, executionRoot) => {
|
|
41
|
+
if (tool === 'test-affected') {
|
|
42
|
+
const { planAffectedTestRun } = await import('./affected-packages.js');
|
|
43
|
+
const affected = await planAffectedTestRun(storeRoot, executionRoot, { wait: true });
|
|
44
|
+
if (!affected.ok) {
|
|
45
|
+
return {
|
|
46
|
+
exitCode: null,
|
|
47
|
+
cacheHit: false,
|
|
48
|
+
durationMs: 0,
|
|
49
|
+
timedOut: false,
|
|
50
|
+
tail: affected.reason,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const { runToolCached } = await import('./tool-cache.js');
|
|
54
|
+
const r = await runToolCached(affected.command, storeRoot, { executionRoot });
|
|
55
|
+
return {
|
|
56
|
+
exitCode: r.exitCode,
|
|
57
|
+
cacheHit: r.cacheHit,
|
|
58
|
+
durationMs: r.cacheHit ? 0 : r.durationMs,
|
|
59
|
+
timedOut: r.timedOut,
|
|
60
|
+
tail: (r.stderrTail || r.stdoutTail).trim().slice(-400),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const resolved = resolveToolCommand(tool, storeRoot);
|
|
64
|
+
if (!resolved.ok) {
|
|
65
|
+
return {
|
|
66
|
+
exitCode: null,
|
|
67
|
+
cacheHit: false,
|
|
68
|
+
durationMs: 0,
|
|
69
|
+
timedOut: false,
|
|
70
|
+
tail: resolved.reason,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const { runToolCached } = await import('./tool-cache.js');
|
|
74
|
+
const r = await runToolCached(resolved.command, storeRoot, { executionRoot });
|
|
75
|
+
return {
|
|
76
|
+
exitCode: r.exitCode,
|
|
77
|
+
cacheHit: r.cacheHit,
|
|
78
|
+
durationMs: r.cacheHit ? 0 : r.durationMs,
|
|
79
|
+
timedOut: r.timedOut,
|
|
80
|
+
tail: (r.stderrTail || r.stdoutTail).trim().slice(-400),
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
/** Default typed-gate runner: `previewTaskGates`, which caches each pass (T12621). */
|
|
84
|
+
const defaultRunTypedGates = async (storeRoot, taskId) => {
|
|
85
|
+
const { previewTaskGates } = await import('./gate-preview.js');
|
|
86
|
+
const preview = await previewTaskGates(storeRoot, { taskId });
|
|
87
|
+
return {
|
|
88
|
+
gateCount: preview.gateCount,
|
|
89
|
+
passed: preview.passed,
|
|
90
|
+
failing: preview.results
|
|
91
|
+
.filter((r) => r.result === 'fail' || r.result === 'error')
|
|
92
|
+
.map((r) => `${r.req ?? `#${r.index}`} (${r.kind}): ${r.errorMessage ?? r.result}`),
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
/** Default writer: the existing gate write, with per-gate evidence. */
|
|
96
|
+
const defaultWrite = async (storeRoot, params) => {
|
|
97
|
+
const { validateGateVerify } = await import('../validation/engine-ops.js');
|
|
98
|
+
const result = await validateGateVerify(storeRoot, params);
|
|
99
|
+
return result.success ? engineSuccess({ passed: result.data.passed }) : result;
|
|
100
|
+
};
|
|
101
|
+
function blocked(plan, blocker, recordedGates = []) {
|
|
102
|
+
const details = {
|
|
103
|
+
blocker: blocker.code,
|
|
104
|
+
...(blocker.cause ? { cause: blocker.cause } : {}),
|
|
105
|
+
next: blocker.next,
|
|
106
|
+
recordedGates,
|
|
107
|
+
plan,
|
|
108
|
+
};
|
|
109
|
+
return engineError('E_DONE_BLOCKED', blocker.message, { details, fix: blocker.next.command });
|
|
110
|
+
}
|
|
111
|
+
/** Step 2: lint + typecheck in parallel, then test; stop at the first failure. */
|
|
112
|
+
async function runPlannedTools(plan, storeRoot, runTool) {
|
|
113
|
+
const root = plan.changeSet.executionRoot;
|
|
114
|
+
const runnable = plan.toolRuns.filter((r) => r.cache !== 'not-applicable');
|
|
115
|
+
const results = [];
|
|
116
|
+
const waves = [
|
|
117
|
+
runnable.filter((r) => r.tool !== 'test'),
|
|
118
|
+
runnable.filter((r) => r.tool === 'test'),
|
|
119
|
+
];
|
|
120
|
+
for (const wave of waves) {
|
|
121
|
+
const outcomes = await Promise.all(wave.map(async (r) => ({ run: r, out: await runTool(r.tool, storeRoot, root) })));
|
|
122
|
+
for (const { run, out } of outcomes) {
|
|
123
|
+
results.push({
|
|
124
|
+
tool: run.tool,
|
|
125
|
+
gate: run.gate,
|
|
126
|
+
exitCode: out.exitCode,
|
|
127
|
+
cacheHit: out.cacheHit,
|
|
128
|
+
durationMs: out.durationMs,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
const failed = outcomes.find(({ out }) => out.exitCode !== 0);
|
|
132
|
+
if (failed) {
|
|
133
|
+
const { run, out } = failed;
|
|
134
|
+
return {
|
|
135
|
+
results,
|
|
136
|
+
blocker: {
|
|
137
|
+
code: 'tool-failed',
|
|
138
|
+
message: out.timedOut
|
|
139
|
+
? `tool:${run.tool} exceeded its deadline in ${root}.`
|
|
140
|
+
: `tool:${run.tool} failed (exit ${out.exitCode}) in ${root}: ${out.tail}`,
|
|
141
|
+
next: {
|
|
142
|
+
command: `cd ${shellQuote(root)} && ${run.command ?? `cleo done ${plan.taskId}`}`,
|
|
143
|
+
why: `${run.gate} needs a passing ${run.tool} run on the recorded tree.`,
|
|
144
|
+
},
|
|
145
|
+
cause: out.timedOut ? 'E_EVIDENCE_TOOL_TIMEOUT' : 'E_EVIDENCE_TOOL_FAILED',
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return { results };
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Record every required gate a task lacks, in one write, from derived
|
|
154
|
+
* evidence. Does not complete the task.
|
|
155
|
+
*
|
|
156
|
+
* @param taskId - Task to record.
|
|
157
|
+
* @param opts - Planner options (`satisfies`, `prNumber`, roots) plus author,
|
|
158
|
+
* session and injectable steps.
|
|
159
|
+
* @returns The recorded gates, or `E_DONE_BLOCKED` with one next step and
|
|
160
|
+
* the original cause in `details.cause`.
|
|
161
|
+
* @example
|
|
162
|
+
* ```ts
|
|
163
|
+
* const r = await recordTaskDone('T123', { satisfies: 'all' });
|
|
164
|
+
* if (!r.success) console.error(r.error.fix);
|
|
165
|
+
* ```
|
|
166
|
+
* @task T12625
|
|
167
|
+
*/
|
|
168
|
+
export async function recordTaskDone(taskId, opts = {}) {
|
|
169
|
+
const storeRoot = opts.projectRoot ?? getProjectRoot();
|
|
170
|
+
let plan;
|
|
171
|
+
try {
|
|
172
|
+
// It will run the tests anyway, so it may queue for the test slot.
|
|
173
|
+
plan = await deriveTaskEvidence(taskId, {
|
|
174
|
+
...opts,
|
|
175
|
+
projectRoot: storeRoot,
|
|
176
|
+
waitForTestSlot: true,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
return cleoErrorToEngineResult(err, 'E_DONE_FAILED', 'cleo done failed');
|
|
181
|
+
}
|
|
182
|
+
// T12672: every plan-visible refusal (worktree, checkout, evidence the
|
|
183
|
+
// validators would refuse) is already a plan blocker — one readiness check.
|
|
184
|
+
const first = plan.blockers[0];
|
|
185
|
+
if (first)
|
|
186
|
+
return blocked(plan, first);
|
|
187
|
+
const steps = opts.steps ?? {};
|
|
188
|
+
const tools = await runPlannedTools(plan, storeRoot, steps.runTool ?? defaultRunTool);
|
|
189
|
+
if (tools.blocker)
|
|
190
|
+
return blocked(plan, tools.blocker);
|
|
191
|
+
const typed = plan.typedGates.length
|
|
192
|
+
? await (steps.runTypedGates ?? defaultRunTypedGates)(storeRoot, taskId)
|
|
193
|
+
: { gateCount: 0, passed: true, failing: [] };
|
|
194
|
+
if (!typed.passed) {
|
|
195
|
+
return blocked(plan, {
|
|
196
|
+
code: 'typed-gate-failed',
|
|
197
|
+
message: `Typed gate(s) failed: ${typed.failing.join('; ')}`,
|
|
198
|
+
next: {
|
|
199
|
+
command: `cleo verify ${taskId} --run`,
|
|
200
|
+
why: 'Fix the failing typed gate and re-run.',
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
const pending = plan.gates.filter((g) => !g.passed && g.evidence !== null);
|
|
205
|
+
const gateEvidence = Object.fromEntries(pending.map((g) => [g.gate, g.evidence]));
|
|
206
|
+
let verificationPassed = plan.gates.every((g) => g.passed);
|
|
207
|
+
if (pending.length > 0) {
|
|
208
|
+
let sessionId = opts.sessionId;
|
|
209
|
+
if (sessionId === undefined) {
|
|
210
|
+
const { resolveBoundSessionId } = await import('../store/session-store.js');
|
|
211
|
+
sessionId = (await resolveBoundSessionId(storeRoot).catch(() => null)) ?? undefined;
|
|
212
|
+
}
|
|
213
|
+
const { readAllowCachedGates } = await import('./gate-result-cache.js');
|
|
214
|
+
// D11151: every earlier own-branch PR is an ordered implemented attempt in
|
|
215
|
+
// the SAME write as the primary, so all are recorded or none (review HIGH).
|
|
216
|
+
if (plan.additionalImplemented?.length && gateEvidence.implemented) {
|
|
217
|
+
gateEvidence.implemented = [
|
|
218
|
+
...plan.additionalImplemented,
|
|
219
|
+
gateEvidence.implemented,
|
|
220
|
+
];
|
|
221
|
+
}
|
|
222
|
+
const written = await (steps.write ?? defaultWrite)(storeRoot, {
|
|
223
|
+
taskId,
|
|
224
|
+
gateEvidence,
|
|
225
|
+
noRun: typed.gateCount > 0 && readAllowCachedGates(storeRoot),
|
|
226
|
+
...(sessionId ? { sessionId } : {}),
|
|
227
|
+
...(opts.agent ? { agent: opts.agent } : {}),
|
|
228
|
+
});
|
|
229
|
+
if (!written.success) {
|
|
230
|
+
return blocked(plan, {
|
|
231
|
+
code: 'evidence-refused',
|
|
232
|
+
message: written.error.message,
|
|
233
|
+
next: {
|
|
234
|
+
command: `cleo done ${taskId} --plan`,
|
|
235
|
+
why: 'The validators refused the derived evidence; the plan shows what changed.',
|
|
236
|
+
},
|
|
237
|
+
cause: written.error.code,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
verificationPassed = written.data.passed;
|
|
241
|
+
}
|
|
242
|
+
return engineSuccess({
|
|
243
|
+
taskId,
|
|
244
|
+
recordedGates: pending.map((g) => g.gate),
|
|
245
|
+
alreadyPassed: plan.gates.filter((g) => g.passed).map((g) => g.gate),
|
|
246
|
+
toolResults: tools.results,
|
|
247
|
+
typedGateCount: typed.gateCount,
|
|
248
|
+
verificationPassed,
|
|
249
|
+
plan,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* A tool runner shared by a batch: each (tool, execution root) pair runs once
|
|
254
|
+
* and every later caller gets the same outcome. Keyed on the root as well as
|
|
255
|
+
* the tool — two tasks whose work lives in different trees must each be
|
|
256
|
+
* measured in their own tree.
|
|
257
|
+
*
|
|
258
|
+
* @param base - The runner that actually executes.
|
|
259
|
+
* @returns A memoising runner.
|
|
260
|
+
* @task T12628
|
|
261
|
+
*/
|
|
262
|
+
export function sharedToolRunner(base) {
|
|
263
|
+
const runs = new Map();
|
|
264
|
+
return (tool, storeRoot, executionRoot) => {
|
|
265
|
+
const key = `${tool}\u0000${executionRoot}`;
|
|
266
|
+
let run = runs.get(key);
|
|
267
|
+
if (!run) {
|
|
268
|
+
run = base(tool, storeRoot, executionRoot);
|
|
269
|
+
runs.set(key, run);
|
|
270
|
+
}
|
|
271
|
+
return run;
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Close several tasks shipped by one PR (T12628): each task is planned and
|
|
276
|
+
* recorded on its own, and one task's blocker never stops the others. The
|
|
277
|
+
* tools run once per execution root for the whole batch — every task shares
|
|
278
|
+
* one memoised runner — and each task still gets its own validated write.
|
|
279
|
+
* Shared evidence is NOT pre-acknowledged: the ADR-059 warning fires as for
|
|
280
|
+
* any other reuse.
|
|
281
|
+
*
|
|
282
|
+
* @param taskIds - Tasks to record, in order.
|
|
283
|
+
* @param opts - Shared options (`prNumber`, `satisfies`, roots, author, steps).
|
|
284
|
+
* @returns One entry per task, in the given order.
|
|
285
|
+
* @example
|
|
286
|
+
* ```ts
|
|
287
|
+
* const entries = await recordTasksDone(['T1', 'T2', 'T3'], { prNumber: 42 });
|
|
288
|
+
* ```
|
|
289
|
+
* @task T12628
|
|
290
|
+
*/
|
|
291
|
+
export async function recordTasksDone(taskIds, opts = {}) {
|
|
292
|
+
const runTool = sharedToolRunner(opts.steps?.runTool ?? defaultRunTool);
|
|
293
|
+
const entries = [];
|
|
294
|
+
for (const taskId of taskIds) {
|
|
295
|
+
entries.push({
|
|
296
|
+
taskId,
|
|
297
|
+
result: await recordTaskDone(taskId, { ...opts, steps: { ...opts.steps, runTool } }),
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
return entries;
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=done-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"done-record.js","sourceRoot":"","sources":["../../src/tasks/done-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,20 @@
|
|
|
20
20
|
* score < 0.40 → insert
|
|
21
21
|
* score in [0.40, 0.85) → escalate to Tier 3 (LLM, paid)
|
|
22
22
|
*
|
|
23
|
-
* Tier 3 —
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
23
|
+
* Tier 3 — one batched System One decision (T12492), then the optional
|
|
24
|
+
* generative LLM tier:
|
|
25
|
+
* - System One: ONE `decide()` request carrying up to {@link MAX_CANDIDATES}
|
|
26
|
+
* noul questions ("is the new task the same work as candidate cN?"),
|
|
27
|
+
* bounded by {@link DUPLICATE_DECISION_BUDGET_MS} end to end. Mode comes
|
|
28
|
+
* from `decide.sites.duplicateDetection` (`off | shadow | on`): `shadow`
|
|
29
|
+
* (the default once a provider is configured) records the heuristic and
|
|
30
|
+
* decision answers side by side in `.cleo/audit/decisions.jsonl` and acts
|
|
31
|
+
* on the heuristic; `on` acts on the decision when one arrives. No
|
|
32
|
+
* provider configured → `off`, and no network call is made at all.
|
|
33
|
+
* - Generative LLM (T1681, max 1 call): OPT-IN via
|
|
34
|
+
* `decide.generativeFallback.duplicateDetection: true`. Off by default,
|
|
35
|
+
* so `cleo add` no longer pays its 15 s timeout.
|
|
36
|
+
* Fallback on every failure: the Tier-1-only decision (never block on error).
|
|
27
37
|
*
|
|
28
38
|
* Thresholds (original T1633 behavior preserved for the Tier-1 clear-match path):
|
|
29
39
|
* Tier-1 score >= 0.85 → warning emitted to stderr (non-blocking)
|
|
@@ -35,6 +45,8 @@
|
|
|
35
45
|
*/
|
|
36
46
|
import type { Task } from '@cleocode/contracts';
|
|
37
47
|
import { z } from 'zod';
|
|
48
|
+
import type { DecideOptions } from '../decide/client.js';
|
|
49
|
+
import { type DecisionSiteMode } from '../decide/site.js';
|
|
38
50
|
import type { DataAccessor } from '../store/data-accessor.js';
|
|
39
51
|
/** Tier-1 score at which a non-blocking warning is emitted. (Name kept: exported API.) */
|
|
40
52
|
export declare const DUPLICATE_WARN_THRESHOLD = 0.85;
|
|
@@ -42,6 +54,25 @@ export declare const DUPLICATE_WARN_THRESHOLD = 0.85;
|
|
|
42
54
|
export declare const DUPLICATE_REJECT_THRESHOLD = 0.92;
|
|
43
55
|
/** Maximum number of candidates to surface in the warning/rejection message. */
|
|
44
56
|
export declare const MAX_CANDIDATES = 3;
|
|
57
|
+
/**
|
|
58
|
+
* End-to-end budget for the System One duplicate decision, in milliseconds:
|
|
59
|
+
* module load, settings, redaction, the shared request budget and the HTTP
|
|
60
|
+
* round trip (connection setup included) all fit inside it.
|
|
61
|
+
*
|
|
62
|
+
* @task T12492
|
|
63
|
+
*/
|
|
64
|
+
export declare const DUPLICATE_DECISION_BUDGET_MS = 300;
|
|
65
|
+
/**
|
|
66
|
+
* Minimum confidence EVERY decision answer needs before `on` mode acts on the
|
|
67
|
+
* decision. Below it the decision is audited but the heuristic acts.
|
|
68
|
+
*/
|
|
69
|
+
export declare const DUPLICATE_DECISION_MIN_CONFIDENCE = 0.6;
|
|
70
|
+
/** Call-site id for the duplicate decision; keys the audit line. */
|
|
71
|
+
export declare const DUPLICATE_DECISION_SITE = "tasks.duplicate-detection";
|
|
72
|
+
/** Config key selecting the System One mode for duplicate detection. */
|
|
73
|
+
export declare const DUPLICATE_DECISION_MODE_KEY = "decide.sites.duplicateDetection";
|
|
74
|
+
/** Config key opting in to the generative LLM tier (T1681). Default `false`. */
|
|
75
|
+
export declare const DUPLICATE_LLM_TIER_KEY = "decide.generativeFallback.duplicateDetection";
|
|
45
76
|
/** A candidate active task that scored above the warning threshold. */
|
|
46
77
|
export interface DuplicateCandidate {
|
|
47
78
|
/** The matching active task ID. */
|
|
@@ -76,7 +107,24 @@ export interface DuplicateCheckResult {
|
|
|
76
107
|
* not BM25 — see the module docblock. Reporting WHICH Tier-1 implementation
|
|
77
108
|
* ran (lexical vs vector) is tracked separately.
|
|
78
109
|
*/
|
|
79
|
-
tier?: 'bm25' | 'jaccard' | 'llm';
|
|
110
|
+
tier?: 'bm25' | 'jaccard' | 'llm' | 'decision';
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* System One mode for duplicate detection (T12492).
|
|
114
|
+
*
|
|
115
|
+
* - `off` — no decision request.
|
|
116
|
+
* - `shadow` — ask, audit both answers, act on the heuristic.
|
|
117
|
+
* - `on` — ask, act on the decision; the heuristic acts on any fallback.
|
|
118
|
+
*/
|
|
119
|
+
export type DuplicateDecisionMode = DecisionSiteMode;
|
|
120
|
+
/** Optional wiring for {@link checkDuplicates}. Every field defaults from config. */
|
|
121
|
+
export interface DuplicateCheckOptions {
|
|
122
|
+
/** Force a mode instead of reading {@link DUPLICATE_DECISION_MODE_KEY}. Still `off` when unconfigured. */
|
|
123
|
+
mode?: DuplicateDecisionMode;
|
|
124
|
+
/** Force the generative LLM tier on/off instead of reading {@link DUPLICATE_LLM_TIER_KEY}. */
|
|
125
|
+
llmTier?: boolean;
|
|
126
|
+
/** Provider, connection, budget, cache and audit wiring forwarded to `decide()`. Tests inject a stub here. */
|
|
127
|
+
decide?: DecideOptions;
|
|
80
128
|
}
|
|
81
129
|
/**
|
|
82
130
|
* Structured output schema for the LLM duplicate-reasoning call.
|
|
@@ -158,27 +206,32 @@ export declare function callLlmDuplicateReasoning(incomingTitle: string, incomin
|
|
|
158
206
|
* - score < JACCARD_ESCALATE_LOW (0.40): clear different → skip LLM.
|
|
159
207
|
* - score in [0.40, 0.85): ambiguous → escalate to LLM (cost cap: 1 call per invocation).
|
|
160
208
|
*
|
|
161
|
-
* Tier 3 —
|
|
162
|
-
*
|
|
163
|
-
*
|
|
209
|
+
* Tier 3 — System One, then the opt-in generative LLM (T12492):
|
|
210
|
+
* One `decide()` request with up to 3 candidates as noul questions, bounded by
|
|
211
|
+
* DUPLICATE_DECISION_BUDGET_MS. `shadow` audits it and acts on the heuristic; `on`
|
|
212
|
+
* acts on it. Then, only when `decide.generativeFallback.duplicateDetection` is true,
|
|
213
|
+
* the T1681 LLM call (max 1). On any failure: the Tier-1 decision (never block).
|
|
164
214
|
*
|
|
165
215
|
* @param title - Title of the task being added.
|
|
166
216
|
* @param description - Description of the task being added (empty string if not provided).
|
|
167
217
|
* @param accessor - DataAccessor instance to load active tasks from.
|
|
168
218
|
* @param labels - Labels of the task being added (empty array if not provided).
|
|
169
219
|
* @param cwd - Project root for LLM credential resolution (Tier 3).
|
|
220
|
+
* @param options - System One mode, generative-tier opt-in and `decide()` wiring (T12492).
|
|
170
221
|
* @returns Duplicate check result with tier provenance.
|
|
171
222
|
* @task T1633
|
|
172
223
|
* @task T1681
|
|
224
|
+
* @task T12492
|
|
173
225
|
*/
|
|
174
|
-
export declare function checkDuplicates(title: string, description: string, accessor: DataAccessor, labels?: string[], cwd?: string): Promise<DuplicateCheckResult>;
|
|
226
|
+
export declare function checkDuplicates(title: string, description: string, accessor: DataAccessor, labels?: string[], cwd?: string, options?: DuplicateCheckOptions): Promise<DuplicateCheckResult>;
|
|
175
227
|
/**
|
|
176
228
|
* Format a human-readable candidate list for warning/rejection messages.
|
|
177
229
|
*
|
|
178
230
|
* @param candidates - Array of duplicate candidates.
|
|
231
|
+
* @param label - What `score` measures; defaults to the lexical `similarity`.
|
|
179
232
|
* @returns Formatted multi-line string listing candidates.
|
|
180
233
|
*/
|
|
181
|
-
export declare function formatCandidateList(candidates: DuplicateCandidate[]): string;
|
|
234
|
+
export declare function formatCandidateList(candidates: DuplicateCandidate[], label?: string): string;
|
|
182
235
|
/**
|
|
183
236
|
* Build a warning message for candidates above the warn threshold.
|
|
184
237
|
*
|
|
@@ -189,10 +242,14 @@ export declare function buildWarnMessage(candidates: DuplicateCandidate[]): stri
|
|
|
189
242
|
/**
|
|
190
243
|
* Build a rejection message for candidates above the reject threshold.
|
|
191
244
|
*
|
|
245
|
+
* A System One rejection (`tier: 'decision'`) is worded as what it is — the
|
|
246
|
+
* model's duplicate probability — never as a lexical similarity score.
|
|
247
|
+
*
|
|
192
248
|
* @param candidates - Candidates to include in the message.
|
|
249
|
+
* @param tier - The tier that decided (from {@link DuplicateCheckResult.tier}).
|
|
193
250
|
* @returns Rejection string (no newline at end).
|
|
194
251
|
*/
|
|
195
|
-
export declare function buildRejectMessage(candidates: DuplicateCandidate[]): string;
|
|
252
|
+
export declare function buildRejectMessage(candidates: DuplicateCandidate[], tier?: DuplicateCheckResult['tier']): string;
|
|
196
253
|
/**
|
|
197
254
|
* Load active tasks from the data accessor, restricted to non-terminal statuses.
|
|
198
255
|
* Exported for testing purposes.
|