@cleocode/core 2026.10.21 → 2026.10.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/STABILITY.md +1 -1
- package/dist/build-provenance.json +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/docs/document-edges.d.ts +38 -0
- package/dist/docs/document-edges.d.ts.map +1 -0
- package/dist/docs/document-edges.js +62 -0
- package/dist/docs/document-edges.js.map +1 -0
- package/dist/docs/projection.d.ts +3 -2
- package/dist/docs/projection.d.ts.map +1 -1
- package/dist/docs/projection.js +33 -36
- package/dist/docs/projection.js.map +1 -1
- package/dist/events/event-bus.d.ts +6 -5
- package/dist/events/event-bus.d.ts.map +1 -1
- package/dist/events/event-bus.js +9 -8
- package/dist/events/event-bus.js.map +1 -1
- package/dist/gateway-client/generated/index.d.ts +2 -2
- package/dist/gateway-client/generated/index.d.ts.map +1 -1
- package/dist/gateway-client/generated/index.js +1 -1
- package/dist/gateway-client/generated/index.js.map +1 -1
- package/dist/gateway-client/generated/namespaces.gen.d.ts +1 -0
- package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -1
- package/dist/gateway-client/generated/namespaces.gen.js +2 -1
- package/dist/gateway-client/generated/namespaces.gen.js.map +1 -1
- package/dist/gateway-client/generated/sdk.gen.d.ts +5 -1
- package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -1
- package/dist/gateway-client/generated/sdk.gen.js +11 -0
- package/dist/gateway-client/generated/sdk.gen.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +34 -0
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
- package/dist/git/base-ref.d.ts +81 -0
- package/dist/git/base-ref.d.ts.map +1 -0
- package/dist/git/base-ref.js +135 -0
- package/dist/git/base-ref.js.map +1 -0
- package/dist/git/hooks-install.d.ts +1 -1
- package/dist/git/hooks-install.d.ts.map +1 -1
- package/dist/git/work-tree.d.ts +40 -0
- package/dist/git/work-tree.d.ts.map +1 -1
- package/dist/git/work-tree.js +62 -7
- package/dist/git/work-tree.js.map +1 -1
- package/dist/hooks/handlers/conduit-hooks.d.ts +2 -1
- package/dist/hooks/handlers/conduit-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/conduit-hooks.js +9 -23
- package/dist/hooks/handlers/conduit-hooks.js.map +1 -1
- package/dist/hooks/handlers/index.d.ts +0 -1
- package/dist/hooks/handlers/index.d.ts.map +1 -1
- package/dist/hooks/handlers/index.js +0 -2
- package/dist/hooks/handlers/index.js.map +1 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +5 -12
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +2 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/lifecycle/index.d.ts +15 -1
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +12 -6
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/lifecycle/stage-guidance.js +1 -1
- package/dist/lifecycle/stage-guidance.js.map +1 -1
- package/dist/memory/auto-row-quarantine.d.ts +196 -0
- package/dist/memory/auto-row-quarantine.d.ts.map +1 -0
- package/dist/memory/auto-row-quarantine.js +363 -0
- package/dist/memory/auto-row-quarantine.js.map +1 -0
- package/dist/memory/auto-row-rules.d.ts +29 -0
- package/dist/memory/auto-row-rules.d.ts.map +1 -0
- package/dist/memory/auto-row-rules.js +55 -0
- package/dist/memory/auto-row-rules.js.map +1 -0
- package/dist/memory/brain-lifecycle.d.ts.map +1 -1
- package/dist/memory/brain-lifecycle.js +13 -8
- package/dist/memory/brain-lifecycle.js.map +1 -1
- package/dist/memory/brain-search.d.ts +49 -29
- package/dist/memory/brain-search.d.ts.map +1 -1
- package/dist/memory/brain-search.js +159 -156
- package/dist/memory/brain-search.js.map +1 -1
- package/dist/memory/brain-similarity.d.ts +27 -4
- package/dist/memory/brain-similarity.d.ts.map +1 -1
- package/dist/memory/brain-similarity.js +41 -20
- package/dist/memory/brain-similarity.js.map +1 -1
- package/dist/memory/brain-stub-prune.d.ts +13 -0
- package/dist/memory/brain-stub-prune.d.ts.map +1 -1
- package/dist/memory/brain-stub-prune.js +14 -3
- package/dist/memory/brain-stub-prune.js.map +1 -1
- package/dist/memory/brain-writer-handlers.d.ts +3 -7
- package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
- package/dist/memory/brain-writer-handlers.js +5 -20
- package/dist/memory/brain-writer-handlers.js.map +1 -1
- package/dist/memory/brain-writer-thread.d.ts +2 -11
- package/dist/memory/brain-writer-thread.d.ts.map +1 -1
- package/dist/memory/brain-writer-thread.js +20 -78
- package/dist/memory/brain-writer-thread.js.map +1 -1
- package/dist/memory/brain-writer-worker.js +1 -8
- package/dist/memory/brain-writer-worker.js.map +1 -1
- package/dist/memory/dispatch-trace-format.d.ts +13 -14
- package/dist/memory/dispatch-trace-format.d.ts.map +1 -1
- package/dist/memory/dispatch-trace-format.js +13 -14
- package/dist/memory/dispatch-trace-format.js.map +1 -1
- package/dist/memory/eligibility.d.ts +22 -0
- package/dist/memory/eligibility.d.ts.map +1 -1
- package/dist/memory/eligibility.js +36 -0
- package/dist/memory/eligibility.js.map +1 -1
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +11 -1
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/memory/evidence-graph-links.d.ts +253 -0
- package/dist/memory/evidence-graph-links.d.ts.map +1 -0
- package/dist/memory/evidence-graph-links.js +554 -0
- package/dist/memory/evidence-graph-links.js.map +1 -0
- package/dist/memory/extraction-gate.d.ts +7 -0
- package/dist/memory/extraction-gate.d.ts.map +1 -1
- package/dist/memory/extraction-gate.js +20 -8
- package/dist/memory/extraction-gate.js.map +1 -1
- package/dist/memory/global-brain.d.ts +4 -6
- package/dist/memory/global-brain.d.ts.map +1 -1
- package/dist/memory/global-brain.js +15 -2
- package/dist/memory/global-brain.js.map +1 -1
- package/dist/memory/graph-auto-populate.d.ts +73 -1
- package/dist/memory/graph-auto-populate.d.ts.map +1 -1
- package/dist/memory/graph-auto-populate.js +111 -8
- package/dist/memory/graph-auto-populate.js.map +1 -1
- package/dist/memory/import-from-provider.d.ts +19 -6
- package/dist/memory/import-from-provider.d.ts.map +1 -1
- package/dist/memory/import-from-provider.js +28 -15
- package/dist/memory/import-from-provider.js.map +1 -1
- package/dist/memory/lessons-import.d.ts +175 -0
- package/dist/memory/lessons-import.d.ts.map +1 -0
- package/dist/memory/lessons-import.js +233 -0
- package/dist/memory/lessons-import.js.map +1 -0
- package/dist/memory/lessons.d.ts +67 -0
- package/dist/memory/lessons.d.ts.map +1 -0
- package/dist/memory/lessons.js +121 -0
- package/dist/memory/lessons.js.map +1 -0
- package/dist/memory/memory-bridge.d.ts.map +1 -1
- package/dist/memory/memory-bridge.js +3 -2
- package/dist/memory/memory-bridge.js.map +1 -1
- package/dist/memory/public-api.d.ts.map +1 -1
- package/dist/memory/public-api.js +7 -6
- package/dist/memory/public-api.js.map +1 -1
- package/dist/memory/recall-ranking.d.ts +88 -0
- package/dist/memory/recall-ranking.d.ts.map +1 -0
- package/dist/memory/recall-ranking.js +130 -0
- package/dist/memory/recall-ranking.js.map +1 -0
- package/dist/memory/retrieval/build-retrieval-bundle.js +5 -5
- package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
- package/dist/memory/retrieval/fetch.d.ts +3 -2
- package/dist/memory/retrieval/fetch.d.ts.map +1 -1
- package/dist/memory/retrieval/fetch.js +4 -3
- package/dist/memory/retrieval/fetch.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts +1 -7
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +9 -58
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/memory/retrieval/search.d.ts +5 -6
- package/dist/memory/retrieval/search.d.ts.map +1 -1
- package/dist/memory/retrieval/search.js +38 -102
- package/dist/memory/retrieval/search.js.map +1 -1
- package/dist/memory/retrieval/telemetry.d.ts +5 -16
- package/dist/memory/retrieval/telemetry.d.ts.map +1 -1
- package/dist/memory/retrieval/telemetry.js +5 -22
- package/dist/memory/retrieval/telemetry.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +15 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +53 -6
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/brief-map.d.ts +60 -0
- package/dist/nexus/brief-map.d.ts.map +1 -0
- package/dist/nexus/brief-map.js +234 -0
- package/dist/nexus/brief-map.js.map +1 -0
- package/dist/nexus/freshness.d.ts +128 -13
- package/dist/nexus/freshness.d.ts.map +1 -1
- package/dist/nexus/freshness.js +374 -86
- package/dist/nexus/freshness.js.map +1 -1
- package/dist/nexus/graph-manifest.d.ts +47 -0
- package/dist/nexus/graph-manifest.d.ts.map +1 -1
- package/dist/nexus/graph-manifest.js +69 -0
- package/dist/nexus/graph-manifest.js.map +1 -1
- package/dist/nexus/hooks-augment.d.ts.map +1 -1
- package/dist/nexus/hooks-augment.js +7 -3
- package/dist/nexus/hooks-augment.js.map +1 -1
- package/dist/nexus/index-health.d.ts +112 -0
- package/dist/nexus/index-health.d.ts.map +1 -0
- package/dist/nexus/index-health.js +199 -0
- package/dist/nexus/index-health.js.map +1 -0
- package/dist/nexus/living-brain.d.ts.map +1 -1
- package/dist/nexus/living-brain.js +2 -15
- package/dist/nexus/living-brain.js.map +1 -1
- package/dist/nexus/pid-lock.d.ts +50 -0
- package/dist/nexus/pid-lock.d.ts.map +1 -0
- package/dist/nexus/pid-lock.js +135 -0
- package/dist/nexus/pid-lock.js.map +1 -0
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +33 -2
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/refresh-child.js +4 -0
- package/dist/nexus/refresh-child.js.map +1 -1
- package/dist/nexus/registry-host.d.ts +70 -0
- package/dist/nexus/registry-host.d.ts.map +1 -0
- package/dist/nexus/registry-host.js +79 -0
- package/dist/nexus/registry-host.js.map +1 -0
- package/dist/nexus/registry.d.ts +37 -0
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +49 -1
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/reindex-on-merge.d.ts +94 -0
- package/dist/nexus/reindex-on-merge.d.ts.map +1 -0
- package/dist/nexus/reindex-on-merge.js +192 -0
- package/dist/nexus/reindex-on-merge.js.map +1 -0
- package/dist/orchestrate/handoff-ops.d.ts.map +1 -1
- package/dist/orchestrate/handoff-ops.js +1 -13
- package/dist/orchestrate/handoff-ops.js.map +1 -1
- package/dist/orchestrate/index.d.ts +2 -3
- package/dist/orchestrate/index.d.ts.map +1 -1
- package/dist/orchestrate/index.js +2 -2
- package/dist/orchestrate/index.js.map +1 -1
- package/dist/orchestrate/lifecycle-ops.d.ts +3 -0
- package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
- package/dist/orchestrate/lifecycle-ops.js +5 -5
- package/dist/orchestrate/lifecycle-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts +8 -28
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +8 -67
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +7 -0
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +8 -29
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +44 -112
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.d.ts +7 -14
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +2 -5
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/orchestration/wave-topic.d.ts +0 -13
- package/dist/orchestration/wave-topic.d.ts.map +1 -1
- package/dist/orchestration/wave-topic.js +0 -20
- package/dist/orchestration/wave-topic.js.map +1 -1
- package/dist/release/engine-ops.js +2 -2
- package/dist/release/engine-ops.js.map +1 -1
- package/dist/release/github-pr.d.ts +8 -5
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +11 -16
- package/dist/release/github-pr.js.map +1 -1
- package/dist/release/plan.d.ts +4 -2
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +11 -4
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +39 -11
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +122 -31
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/release/reconcile.d.ts +15 -0
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +36 -0
- package/dist/release/reconcile.js.map +1 -1
- package/dist/render/brain/index.d.ts +3 -2
- package/dist/render/brain/index.d.ts.map +1 -1
- package/dist/render/brain/index.js +4 -2
- package/dist/render/brain/index.js.map +1 -1
- package/dist/render/brain/migrate-repo-ids.d.ts +19 -0
- package/dist/render/brain/migrate-repo-ids.d.ts.map +1 -0
- package/dist/render/brain/migrate-repo-ids.js +41 -0
- package/dist/render/brain/migrate-repo-ids.js.map +1 -0
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +10 -1
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +39 -4
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +147 -32
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/hook-footprint.d.ts +90 -0
- package/dist/resources/hook-footprint.d.ts.map +1 -0
- package/dist/resources/hook-footprint.js +245 -0
- package/dist/resources/hook-footprint.js.map +1 -0
- package/dist/resources/pressure-gate.d.ts +3 -2
- package/dist/resources/pressure-gate.d.ts.map +1 -1
- package/dist/resources/pressure-gate.js +8 -5
- package/dist/resources/pressure-gate.js.map +1 -1
- package/dist/resources/run-admission.d.ts +23 -3
- package/dist/resources/run-admission.d.ts.map +1 -1
- package/dist/resources/run-admission.js +70 -8
- package/dist/resources/run-admission.js.map +1 -1
- package/dist/resources/run-class.d.ts +1 -0
- package/dist/resources/run-class.d.ts.map +1 -1
- package/dist/resources/run-class.js +7 -0
- package/dist/resources/run-class.js.map +1 -1
- package/dist/resources/run-governed.d.ts +13 -1
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +29 -6
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/resources/top-memory.d.ts +67 -0
- package/dist/resources/top-memory.d.ts.map +1 -0
- package/dist/resources/top-memory.js +143 -0
- package/dist/resources/top-memory.js.map +1 -0
- package/dist/scaffold/global-scaffold.d.ts +6 -1
- package/dist/scaffold/global-scaffold.d.ts.map +1 -1
- package/dist/scaffold/global-scaffold.js +11 -2
- package/dist/scaffold/global-scaffold.js.map +1 -1
- package/dist/scaffold/scaffold-global.d.ts +3 -2
- package/dist/scaffold/scaffold-global.d.ts.map +1 -1
- package/dist/scaffold/scaffold-global.js +3 -2
- package/dist/scaffold/scaffold-global.js.map +1 -1
- package/dist/sentient/ingesters/brain-ingester.d.ts.map +1 -1
- package/dist/sentient/ingesters/brain-ingester.js +2 -1
- package/dist/sentient/ingesters/brain-ingester.js.map +1 -1
- package/dist/session/engine-ops.js +1 -1
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +26 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +46 -0
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/session-end-snapshot.d.ts +1 -1
- package/dist/sessions/session-end-snapshot.js +1 -1
- package/dist/sessions/session-id.d.ts +2 -1
- package/dist/sessions/session-id.d.ts.map +1 -1
- package/dist/sessions/session-id.js +3 -2
- package/dist/sessions/session-id.js.map +1 -1
- package/dist/store/agent-resolver.d.ts +0 -6
- package/dist/store/agent-resolver.d.ts.map +1 -1
- package/dist/store/agent-resolver.js +0 -31
- package/dist/store/agent-resolver.js.map +1 -1
- package/dist/store/memory-accessor.d.ts +45 -2
- package/dist/store/memory-accessor.d.ts.map +1 -1
- package/dist/store/memory-accessor.js +81 -7
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/schema/cleo-shared/brain.d.ts +2 -2
- package/dist/store/schema/memory-schema.d.ts +3 -3
- package/dist/store/schema/memory-schema.d.ts.map +1 -1
- package/dist/store/schema/memory-schema.js +2 -0
- package/dist/store/schema/memory-schema.js.map +1 -1
- package/dist/store/session-store.d.ts +5 -2
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +10 -5
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/sqlite-native.d.ts +5 -4
- package/dist/store/sqlite-native.d.ts.map +1 -1
- package/dist/store/sqlite-native.js +5 -4
- package/dist/store/sqlite-native.js.map +1 -1
- package/dist/store/sync/merge/rules.d.ts.map +1 -1
- package/dist/store/sync/merge/rules.js +4 -3
- package/dist/store/sync/merge/rules.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +1 -0
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +1 -1
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/system/project-health.d.ts +7 -0
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +13 -0
- package/dist/system/project-health.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +0 -15
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +26 -11
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +54 -17
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +24 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +57 -0
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/change-set.d.ts +72 -9
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +227 -20
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete-ci.d.ts.map +1 -1
- package/dist/tasks/complete-ci.js +2 -0
- package/dist/tasks/complete-ci.js.map +1 -1
- package/dist/tasks/complete.d.ts +2 -2
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +38 -17
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +66 -18
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/epic-enforcement.d.ts +39 -1
- package/dist/tasks/epic-enforcement.d.ts.map +1 -1
- package/dist/tasks/epic-enforcement.js +46 -2
- package/dist/tasks/epic-enforcement.js.map +1 -1
- package/dist/tasks/evidence.d.ts +74 -22
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +221 -35
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +2 -12
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/qa-run-binding.d.ts +2 -0
- package/dist/tasks/qa-run-binding.d.ts.map +1 -1
- package/dist/tasks/qa-run-binding.js +6 -2
- package/dist/tasks/qa-run-binding.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +2 -0
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +8 -3
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/tasks/verification-policy.d.ts +57 -1
- package/dist/tasks/verification-policy.d.ts.map +1 -1
- package/dist/tasks/verification-policy.js +94 -1
- package/dist/tasks/verification-policy.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +2 -15
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +39 -19
- package/dist/validation/engine-ops.js.map +1 -1
- package/package.json +13 -13
- package/schemas/config.schema.json +69 -0
- package/templates/CLEO-INJECTION.md +4 -5
- package/templates/CLEO-REFERENCE.md +2 -4
- package/templates/git-hooks/post-merge +25 -0
- package/dist/memory/dispatch-trace.d.ts +0 -44
- package/dist/memory/dispatch-trace.d.ts.map +0 -1
- package/dist/memory/dispatch-trace.js +0 -65
- package/dist/memory/dispatch-trace.js.map +0 -1
- package/dist/memory/retrieval/increment-citation-counts.d.ts +0 -11
- package/dist/memory/retrieval/increment-citation-counts.d.ts.map +0 -1
- package/dist/memory/retrieval/increment-citation-counts.js +0 -43
- package/dist/memory/retrieval/increment-citation-counts.js.map +0 -1
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph links from accepted verification evidence (T13950).
|
|
3
|
+
*
|
|
4
|
+
* When `cleo verify` accepts evidence atoms it has already validated them
|
|
5
|
+
* against git, the filesystem or GitHub. Those atoms are the most reliable
|
|
6
|
+
* statement of what a task touched, so they become graph edges:
|
|
7
|
+
*
|
|
8
|
+
* | atom | graph write |
|
|
9
|
+
* |-------------|----------------------------------------------------------------|
|
|
10
|
+
* | `commit` | `task:<id> --touches_code--> commit:<sha>` (`ensureCommitNode`) |
|
|
11
|
+
* | `pr` | the same, for the PR's merge commit |
|
|
12
|
+
* | `files` | `task:<id> --touches_code--> file:<path>` |
|
|
13
|
+
* | `decision` | `decision:<id> --applies_to--> task:<id>` |
|
|
14
|
+
*
|
|
15
|
+
* Other atoms (tool runs, test runs, notes, `satisfies` bindings that already
|
|
16
|
+
* live in the tasks store) add no edge. Writes are explicit (they do not depend
|
|
17
|
+
* on `brain.autoCapture`) and idempotent: nodes are created when absent and an
|
|
18
|
+
* existing edge is left unchanged, so re-verifying adds nothing.
|
|
19
|
+
*
|
|
20
|
+
* Node ids are permanent and sync between devices, so a file node is keyed by
|
|
21
|
+
* its POSIX path relative to the checkout that holds it. A path outside both
|
|
22
|
+
* the evidence repository and the store root gets no node and is reported in
|
|
23
|
+
* `skipped`. File and commit ids of every repository but the store's primary
|
|
24
|
+
* one carry a repository key (`file:<repo>::<path>`, `commit:<repo>::<sha>`;
|
|
25
|
+
* T14012, {@link createEvidenceRepoResolver}), so same-named files in two child
|
|
26
|
+
* repositories stay separate nodes.
|
|
27
|
+
*
|
|
28
|
+
* Code placed in `packages/core/` per Package-Boundary Check — verified against AGENTS.md.
|
|
29
|
+
*
|
|
30
|
+
* @module memory/evidence-graph-links
|
|
31
|
+
* @task T13950
|
|
32
|
+
*/
|
|
33
|
+
import type { EvidenceAtom } from '@cleocode/contracts';
|
|
34
|
+
/** Provenance stamped on every edge this module writes. */
|
|
35
|
+
export declare const EVIDENCE_EDGE_PROVENANCE = "evidence:verify";
|
|
36
|
+
/** Graph writes from one accepted verification. */
|
|
37
|
+
export interface EvidenceLinkResult {
|
|
38
|
+
/** Commits linked (from `commit` and `pr` atoms). */
|
|
39
|
+
commits: number;
|
|
40
|
+
/** Files linked. */
|
|
41
|
+
files: number;
|
|
42
|
+
/** Decisions linked. */
|
|
43
|
+
decisions: number;
|
|
44
|
+
/** `files:` paths given no node because they lie outside the evidence repository. */
|
|
45
|
+
skipped: string[];
|
|
46
|
+
}
|
|
47
|
+
/** A file's node key: its repository (`null` = the store's own) and repo-relative path. */
|
|
48
|
+
export interface EvidenceFileKey {
|
|
49
|
+
/** Repository key, or `null` for the store's own repository. */
|
|
50
|
+
repo: string | null;
|
|
51
|
+
/** POSIX path relative to the checkout holding the file. */
|
|
52
|
+
path: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolves which repository an evidence file or commit belongs to (T14012),
|
|
56
|
+
* caching every git probe by directory for the resolver's lifetime (one link
|
|
57
|
+
* call or one migration run).
|
|
58
|
+
*/
|
|
59
|
+
export interface EvidenceRepoResolver {
|
|
60
|
+
/**
|
|
61
|
+
* Node key of an evidence file, or `null` when it lies outside both the
|
|
62
|
+
* execution and the store root, or its path contains the id separator.
|
|
63
|
+
*/
|
|
64
|
+
file(path: string, executionRoot: string): EvidenceFileKey | null;
|
|
65
|
+
/**
|
|
66
|
+
* Repository key of the checkout holding `dir`: `null` for the primary
|
|
67
|
+
* repository, for a directory in no checkout, and for an outer repository
|
|
68
|
+
* that tracks nothing under the store root.
|
|
69
|
+
*/
|
|
70
|
+
repoOf(dir: string): string | null;
|
|
71
|
+
/**
|
|
72
|
+
* Repository of a commit, by the same rule as files: the key of the
|
|
73
|
+
* checkout that contains it (`repo: null` for the primary repository), or
|
|
74
|
+
* `null` when no known checkout, or checkouts of more than one repository,
|
|
75
|
+
* contain it.
|
|
76
|
+
*/
|
|
77
|
+
commit(sha: string): {
|
|
78
|
+
repo: string | null;
|
|
79
|
+
} | null;
|
|
80
|
+
/** The checkouts the store knows: primary, its children, and their submodules. */
|
|
81
|
+
checkouts(): readonly string[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Repository key of an `origin` URL, the same on every device for the same
|
|
85
|
+
* repository: `github.com/<owner>/<repo>` through the github.com-anchored
|
|
86
|
+
* {@link extractRepoOwnerAndName} the PR evidence uses, else `<host>/<path>`.
|
|
87
|
+
* Scheme, user, port (only a `scheme://` URL has one; in scp form the digits
|
|
88
|
+
* after the colon are an owner) and `.git` are dropped and the key is
|
|
89
|
+
* lowercased, so `git@github.com:O/R.git`, `https://github.com/o/r` and
|
|
90
|
+
* `ssh://git@github.com:22/o/r` agree. A local-path remote has no key.
|
|
91
|
+
*
|
|
92
|
+
* @param url - Raw `origin` URL.
|
|
93
|
+
* @returns The key, or `null`.
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* originRepoKey('ssh://git@github.com:22/O/R.git'); // 'github.com/o/r'
|
|
97
|
+
* ```
|
|
98
|
+
* @task T14012
|
|
99
|
+
*/
|
|
100
|
+
export declare function originRepoKey(url: string): string | null;
|
|
101
|
+
/**
|
|
102
|
+
* Create an {@link EvidenceRepoResolver} for one CLEO store.
|
|
103
|
+
*
|
|
104
|
+
* The primary repository is the store root's own: the checkout whose toplevel
|
|
105
|
+
* is the store root, or an outer repository that tracks files under it (a
|
|
106
|
+
* store inside a monorepo); failing that, the declared evidence git root
|
|
107
|
+
* (`evidence.gitRoot` or `CLEO_EVIDENCE_GIT_ROOT`). Its files and commits, in
|
|
108
|
+
* any of its worktrees, keep unqualified ids, so single-repo stores never
|
|
109
|
+
* change. Without either, nothing is primary: the id of a child repository
|
|
110
|
+
* never depends on how many repositories the store holds, so adding one later
|
|
111
|
+
* moves nothing. Every other checkout (a child repository, a submodule) is
|
|
112
|
+
* keyed by {@link originRepoKey}; without a usable origin, by its main
|
|
113
|
+
* checkout's directory relative to the store root. An outer repository that
|
|
114
|
+
* tracks nothing under the store root (a dotfiles repository at `~`) is
|
|
115
|
+
* ignored: files under the store root are keyed against the store root.
|
|
116
|
+
*
|
|
117
|
+
* @param storeRoot - CLEO store root.
|
|
118
|
+
* @returns The resolver.
|
|
119
|
+
* @example
|
|
120
|
+
* ```ts
|
|
121
|
+
* const repos = createEvidenceRepoResolver('/work');
|
|
122
|
+
* repos.file('api/src/x.ts', '/work'); // { repo: 'github.com/o/api', path: 'src/x.ts' }
|
|
123
|
+
* ```
|
|
124
|
+
* @task T14012
|
|
125
|
+
*/
|
|
126
|
+
export declare function createEvidenceRepoResolver(storeRoot: string): EvidenceRepoResolver;
|
|
127
|
+
/**
|
|
128
|
+
* The POSIX path of an evidence file relative to the checkout that holds it,
|
|
129
|
+
* or `null` when it lies outside both the execution and the store root.
|
|
130
|
+
*
|
|
131
|
+
* The file is located as `validateFiles` located it: the execution root when it
|
|
132
|
+
* exists there, else the store root, else (validated at a commit only) the
|
|
133
|
+
* execution root. Keying by the holding checkout makes a file verified from a
|
|
134
|
+
* worktree, from the main checkout, or through a store that parents several
|
|
135
|
+
* repositories (T14005) one node with the commit-anchored form; the repository
|
|
136
|
+
* itself is {@link EvidenceRepoResolver.file}'s `repo` (T14012).
|
|
137
|
+
*
|
|
138
|
+
* @param path - Path as the `files:` atom stored it.
|
|
139
|
+
* @param executionRoot - Root of the repository the evidence is about.
|
|
140
|
+
* @param storeRoot - CLEO store root.
|
|
141
|
+
* @returns The normalised path, or `null`.
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* repoRelativeEvidencePath('./src/a.ts', '/repo', '/repo'); // 'src/a.ts'
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare function repoRelativeEvidencePath(path: string, executionRoot: string, storeRoot: string): string | null;
|
|
148
|
+
/**
|
|
149
|
+
* Link a task to the commits, files and decisions its accepted evidence names.
|
|
150
|
+
*
|
|
151
|
+
* @param projectRoot - Project whose brain graph is written.
|
|
152
|
+
* @param taskId - Task the evidence was accepted for.
|
|
153
|
+
* @param atoms - Validated atoms the verification stored.
|
|
154
|
+
* @returns Counts of linked targets (repeat links count again; writes are
|
|
155
|
+
* idempotent) and the paths skipped as outside the repository.
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* await linkVerifiedEvidence(root, 'T123', evidenceStored);
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export declare function linkVerifiedEvidence(projectRoot: string, taskId: string, atoms: readonly EvidenceAtom[]): Promise<EvidenceLinkResult>;
|
|
162
|
+
/** One evidence edge re-pointed by {@link migrateEvidenceRepoIds}. */
|
|
163
|
+
export interface EvidenceRepoMove {
|
|
164
|
+
/** Source node of the edge (`task:<id>`). */
|
|
165
|
+
from: string;
|
|
166
|
+
/** Unqualified node id the edge pointed at. */
|
|
167
|
+
oldTarget: string;
|
|
168
|
+
/** Repo-qualified node id it points at now. */
|
|
169
|
+
newTarget: string;
|
|
170
|
+
}
|
|
171
|
+
/** What {@link migrateEvidenceRepoIds} moved and left. */
|
|
172
|
+
export interface EvidenceRepoMigrationResult {
|
|
173
|
+
/** True when nothing was written (the default; `apply` writes). */
|
|
174
|
+
dryRun: boolean;
|
|
175
|
+
/** Receipt an apply wrote before its first write, or `null` for a dry run. */
|
|
176
|
+
receiptPath: string | null;
|
|
177
|
+
/** Evidence edges re-pointed (or, in a dry run, that would be). */
|
|
178
|
+
moved: EvidenceRepoMove[];
|
|
179
|
+
/** Repo-qualified nodes created, each from the old node it copies. */
|
|
180
|
+
nodes: Array<{
|
|
181
|
+
oldId: string;
|
|
182
|
+
newId: string;
|
|
183
|
+
}>;
|
|
184
|
+
/** Evidence edges left unchanged because their repository cannot be told. */
|
|
185
|
+
unresolved: Array<{
|
|
186
|
+
from: string;
|
|
187
|
+
target: string;
|
|
188
|
+
reason: string;
|
|
189
|
+
}>;
|
|
190
|
+
}
|
|
191
|
+
/** Receipt of an applied {@link migrateEvidenceRepoIds} run: every old id → new id. */
|
|
192
|
+
export interface EvidenceRepoMigrationReceipt {
|
|
193
|
+
/** Receipt format version. */
|
|
194
|
+
version: 1;
|
|
195
|
+
/** ISO timestamp of the apply. */
|
|
196
|
+
migratedAt: string;
|
|
197
|
+
/** `started` before the first write; `complete` once the transaction committed. */
|
|
198
|
+
status: 'started' | 'complete';
|
|
199
|
+
/** Edges re-pointed, old target → new target. */
|
|
200
|
+
moved: EvidenceRepoMove[];
|
|
201
|
+
/** Nodes created, old id → new id. Old nodes are kept for a later prune. */
|
|
202
|
+
nodes: Array<{
|
|
203
|
+
oldId: string;
|
|
204
|
+
newId: string;
|
|
205
|
+
}>;
|
|
206
|
+
/** Edges left unchanged. */
|
|
207
|
+
unresolved: EvidenceRepoMigrationResult['unresolved'];
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Default receipt path of an applied evidence repo-id migration.
|
|
211
|
+
*
|
|
212
|
+
* @param projectRoot - Project root.
|
|
213
|
+
* @param migratedAt - ISO timestamp of the apply.
|
|
214
|
+
* @returns Absolute receipt path under `.cleo/backups/migrations/`.
|
|
215
|
+
* @example
|
|
216
|
+
* ```ts
|
|
217
|
+
* defaultEvidenceRepoReceiptPath(root, '2026-10-24T00:00:00.000Z');
|
|
218
|
+
* ```
|
|
219
|
+
* @task T14012
|
|
220
|
+
*/
|
|
221
|
+
export declare function defaultEvidenceRepoReceiptPath(projectRoot: string, migratedAt: string): string;
|
|
222
|
+
/**
|
|
223
|
+
* Forward migration of evidence file and commit node ids to repo-qualified ids
|
|
224
|
+
* (T14012), by the rule {@link createEvidenceRepoResolver} applies to new links.
|
|
225
|
+
*
|
|
226
|
+
* Only `evidence:verify` edges move. A commit belongs to the repository whose
|
|
227
|
+
* checkout contains it. A file belongs to the one repository whose checkout has
|
|
228
|
+
* its path, or, when several do, to the one the same task's commits belong to.
|
|
229
|
+
* Anything still ambiguous or absent everywhere is reported in `unresolved`
|
|
230
|
+
* and left as it is. Old nodes are never deleted here (other tables and
|
|
231
|
+
* writers may still reference them; a later prune owns that); a copied commit
|
|
232
|
+
* node records its `repo` in its metadata. Re-running is a no-op.
|
|
233
|
+
*
|
|
234
|
+
* A dry run is the default; only `apply` writes, after recording a receipt
|
|
235
|
+
* (status `started`, every old id → new id) and completing it once the single
|
|
236
|
+
* transaction commits. It never runs automatically.
|
|
237
|
+
*
|
|
238
|
+
* @param projectRoot - CLEO store root.
|
|
239
|
+
* @param options - `apply` writes; `receiptPath` overrides the default; `now` for tests.
|
|
240
|
+
* @returns The moves, the created nodes, the unresolved edges and the receipt path.
|
|
241
|
+
* @example
|
|
242
|
+
* ```ts
|
|
243
|
+
* const plan = await migrateEvidenceRepoIds(root);
|
|
244
|
+
* const done = await migrateEvidenceRepoIds(root, { apply: true });
|
|
245
|
+
* ```
|
|
246
|
+
* @task T14012
|
|
247
|
+
*/
|
|
248
|
+
export declare function migrateEvidenceRepoIds(projectRoot: string, options?: {
|
|
249
|
+
apply?: boolean;
|
|
250
|
+
receiptPath?: string;
|
|
251
|
+
now?: Date;
|
|
252
|
+
}): Promise<EvidenceRepoMigrationResult>;
|
|
253
|
+
//# sourceMappingURL=evidence-graph-links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-graph-links.d.ts","sourceRoot":"","sources":["../../src/memory/evidence-graph-links.ts"],"names":[],"mappings":"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"}
|