@cleocode/core 2026.9.7 → 2026.9.9
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/audit/reconstruct.d.ts +13 -43
- package/dist/audit/reconstruct.d.ts.map +1 -1
- package/dist/audit/reconstruct.js +295 -290
- package/dist/audit/reconstruct.js.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +8 -2
- package/dist/bootstrap.js.map +1 -1
- package/dist/dispatch/mutate-projection.d.ts.map +1 -1
- package/dist/dispatch/mutate-projection.js +12 -0
- package/dist/dispatch/mutate-projection.js.map +1 -1
- package/dist/dispatch/mvi-projection.d.ts +29 -6
- package/dist/dispatch/mvi-projection.d.ts.map +1 -1
- package/dist/dispatch/mvi-projection.js +109 -139
- package/dist/dispatch/mvi-projection.js.map +1 -1
- package/dist/docs/docs-read-model.d.ts +3 -2
- package/dist/docs/docs-read-model.d.ts.map +1 -1
- package/dist/docs/docs-read-model.js +4 -3
- package/dist/docs/docs-read-model.js.map +1 -1
- package/dist/docs/export-document.js +5100 -2297
- package/dist/docs/export-document.js.map +3 -3
- package/dist/docs/projection.d.ts +67 -0
- package/dist/docs/projection.d.ts.map +1 -0
- package/dist/docs/projection.js +370 -0
- package/dist/docs/projection.js.map +1 -0
- package/dist/doctor/acceptance-drift.d.ts +6 -2
- package/dist/doctor/acceptance-drift.d.ts.map +1 -1
- package/dist/doctor/acceptance-drift.js +43 -5
- package/dist/doctor/acceptance-drift.js.map +1 -1
- package/dist/doctor/knowledge-summary.d.ts +41 -0
- package/dist/doctor/knowledge-summary.d.ts.map +1 -0
- package/dist/doctor/knowledge-summary.js +81 -0
- package/dist/doctor/knowledge-summary.js.map +1 -0
- package/dist/doctor/knowledge.d.ts +192 -0
- package/dist/doctor/knowledge.d.ts.map +1 -0
- package/dist/doctor/knowledge.js +1864 -0
- package/dist/doctor/knowledge.js.map +1 -0
- package/dist/git/work-tree.d.ts +64 -0
- package/dist/git/work-tree.d.ts.map +1 -0
- package/dist/git/work-tree.js +111 -0
- package/dist/git/work-tree.js.map +1 -0
- package/dist/hooks/handlers/task-hooks.d.ts +8 -5
- package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/task-hooks.js +15 -60
- package/dist/hooks/handlers/task-hooks.js.map +1 -1
- package/dist/identity/cleo-identity.d.ts +13 -0
- package/dist/identity/cleo-identity.d.ts.map +1 -1
- package/dist/identity/cleo-identity.js +20 -6
- package/dist/identity/cleo-identity.js.map +1 -1
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +29 -13
- package/dist/injection.js.map +1 -1
- package/dist/internal.d.ts +2 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.js +124 -120
- package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
- package/dist/llm/plugin-facade.js +4018 -1726
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/brain-backfill.d.ts +27 -12
- package/dist/memory/brain-backfill.d.ts.map +1 -1
- package/dist/memory/brain-backfill.js +325 -134
- package/dist/memory/brain-backfill.js.map +1 -1
- package/dist/memory/brain-doctor.d.ts +21 -0
- package/dist/memory/brain-doctor.d.ts.map +1 -1
- package/dist/memory/brain-doctor.js +111 -53
- package/dist/memory/brain-doctor.js.map +1 -1
- package/dist/memory/brain-links.d.ts.map +1 -1
- package/dist/memory/brain-links.js +31 -4
- package/dist/memory/brain-links.js.map +1 -1
- package/dist/memory/brain-reasoning.d.ts.map +1 -1
- package/dist/memory/brain-reasoning.js +28 -2
- package/dist/memory/brain-reasoning.js.map +1 -1
- package/dist/memory/brain-reconciler.d.ts +14 -19
- package/dist/memory/brain-reconciler.d.ts.map +1 -1
- package/dist/memory/brain-reconciler.js +70 -97
- package/dist/memory/brain-reconciler.js.map +1 -1
- package/dist/memory/brain-search.d.ts +2 -0
- package/dist/memory/brain-search.d.ts.map +1 -1
- package/dist/memory/brain-search.js +59 -29
- package/dist/memory/brain-search.js.map +1 -1
- package/dist/memory/brain-similarity.d.ts.map +1 -1
- package/dist/memory/brain-similarity.js +5 -4
- package/dist/memory/brain-similarity.js.map +1 -1
- package/dist/memory/brain-stub-prune.d.ts +31 -9
- package/dist/memory/brain-stub-prune.d.ts.map +1 -1
- package/dist/memory/brain-stub-prune.js +65 -18
- package/dist/memory/brain-stub-prune.js.map +1 -1
- package/dist/memory/brain-writer-handlers.d.ts +10 -1
- package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
- package/dist/memory/brain-writer-handlers.js +23 -3
- package/dist/memory/brain-writer-handlers.js.map +1 -1
- package/dist/memory/brain-writer-thread.d.ts +31 -1
- package/dist/memory/brain-writer-thread.d.ts.map +1 -1
- package/dist/memory/brain-writer-thread.js +166 -24
- package/dist/memory/brain-writer-thread.js.map +1 -1
- package/dist/memory/brain-writer-worker.js +8 -1
- package/dist/memory/brain-writer-worker.js.map +1 -1
- package/dist/memory/decision-cross-link.d.ts +39 -0
- package/dist/memory/decision-cross-link.d.ts.map +1 -1
- package/dist/memory/decision-cross-link.js +316 -0
- package/dist/memory/decision-cross-link.js.map +1 -1
- package/dist/memory/decisions.d.ts +4 -1
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +7 -24
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/dispatch-trace.d.ts +12 -5
- package/dist/memory/dispatch-trace.d.ts.map +1 -1
- package/dist/memory/dispatch-trace.js +17 -7
- package/dist/memory/dispatch-trace.js.map +1 -1
- package/dist/memory/eligibility.d.ts +51 -0
- package/dist/memory/eligibility.d.ts.map +1 -0
- package/dist/memory/eligibility.js +77 -0
- package/dist/memory/eligibility.js.map +1 -0
- 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 +10 -0
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/memory/extraction-gate.d.ts +21 -7
- package/dist/memory/extraction-gate.d.ts.map +1 -1
- package/dist/memory/extraction-gate.js +178 -216
- package/dist/memory/extraction-gate.js.map +1 -1
- package/dist/memory/graph-auto-populate.d.ts +38 -5
- package/dist/memory/graph-auto-populate.d.ts.map +1 -1
- package/dist/memory/graph-auto-populate.js +182 -60
- package/dist/memory/graph-auto-populate.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts +14 -1
- package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
- package/dist/memory/graph-memory-bridge.js +66 -28
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/memory/index.d.ts +1 -19
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1 -50
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/learnings.d.ts.map +1 -1
- package/dist/memory/learnings.js +2 -23
- package/dist/memory/learnings.js.map +1 -1
- package/dist/memory/manifest-filter.d.ts +21 -0
- package/dist/memory/manifest-filter.d.ts.map +1 -0
- package/dist/memory/manifest-filter.js +51 -0
- package/dist/memory/manifest-filter.js.map +1 -0
- package/dist/memory/manifest-ingestion.d.ts +28 -30
- package/dist/memory/manifest-ingestion.d.ts.map +1 -1
- package/dist/memory/manifest-ingestion.js +104 -235
- package/dist/memory/manifest-ingestion.js.map +1 -1
- package/dist/memory/observer-reflector.d.ts +2 -0
- package/dist/memory/observer-reflector.d.ts.map +1 -1
- package/dist/memory/observer-reflector.js +6 -49
- package/dist/memory/observer-reflector.js.map +1 -1
- package/dist/memory/patterns.d.ts +10 -0
- package/dist/memory/patterns.d.ts.map +1 -1
- package/dist/memory/patterns.js +25 -33
- package/dist/memory/patterns.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +72 -9
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +508 -412
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.js +16 -15
- package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
- package/dist/memory/retrieval/fetch.d.ts +7 -0
- package/dist/memory/retrieval/fetch.d.ts.map +1 -1
- package/dist/memory/retrieval/fetch.js +14 -11
- package/dist/memory/retrieval/fetch.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts +7 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +58 -4
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/memory/retrieval/search.d.ts +14 -1
- package/dist/memory/retrieval/search.d.ts.map +1 -1
- package/dist/memory/retrieval/search.js +133 -69
- package/dist/memory/retrieval/search.js.map +1 -1
- package/dist/memory/retrieval/telemetry.d.ts +31 -0
- package/dist/memory/retrieval/telemetry.d.ts.map +1 -0
- package/dist/memory/retrieval/telemetry.js +53 -0
- package/dist/memory/retrieval/telemetry.js.map +1 -0
- package/dist/nexus/analyze-orchestrator.d.ts +41 -9
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +257 -58
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/api-contracts.d.ts +2 -6
- package/dist/nexus/api-contracts.d.ts.map +1 -1
- package/dist/nexus/api-contracts.js +11 -2
- package/dist/nexus/api-contracts.js.map +1 -1
- package/dist/nexus/context.d.ts.map +1 -1
- package/dist/nexus/context.js +14 -37
- package/dist/nexus/context.js.map +1 -1
- package/dist/nexus/diff.d.ts.map +1 -1
- package/dist/nexus/diff.js +2 -1
- package/dist/nexus/diff.js.map +1 -1
- package/dist/nexus/identity.d.ts +29 -3
- package/dist/nexus/identity.d.ts.map +1 -1
- package/dist/nexus/identity.js +63 -12
- package/dist/nexus/identity.js.map +1 -1
- package/dist/nexus/impact.d.ts +21 -19
- package/dist/nexus/impact.d.ts.map +1 -1
- package/dist/nexus/impact.js +96 -192
- package/dist/nexus/impact.js.map +1 -1
- package/dist/nexus/knowledge.d.ts +80 -0
- package/dist/nexus/knowledge.d.ts.map +1 -0
- package/dist/nexus/knowledge.js +786 -0
- package/dist/nexus/knowledge.js.map +1 -0
- package/dist/nexus/living-brain.d.ts +8 -5
- package/dist/nexus/living-brain.d.ts.map +1 -1
- package/dist/nexus/living-brain.js +252 -188
- package/dist/nexus/living-brain.js.map +1 -1
- package/dist/nexus/registry.d.ts +11 -2
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +144 -128
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/source-roots.d.ts +16 -0
- package/dist/nexus/source-roots.d.ts.map +1 -0
- package/dist/nexus/source-roots.js +174 -0
- package/dist/nexus/source-roots.js.map +1 -0
- package/dist/nexus/task-evidence.d.ts +22 -0
- package/dist/nexus/task-evidence.d.ts.map +1 -0
- package/dist/nexus/task-evidence.js +210 -0
- package/dist/nexus/task-evidence.js.map +1 -0
- package/dist/nexus/tasks-bridge.d.ts +14 -7
- package/dist/nexus/tasks-bridge.d.ts.map +1 -1
- package/dist/nexus/tasks-bridge.js +81 -40
- package/dist/nexus/tasks-bridge.js.map +1 -1
- package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
- package/dist/orchestrate/lifecycle-ops.js +170 -120
- package/dist/orchestrate/lifecycle-ops.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts +6 -7
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +509 -532
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts +15 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +21 -10
- package/dist/orchestration/bootstrap.js.map +1 -1
- package/dist/orchestration/index.d.ts +35 -3
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +64 -35
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +24 -1
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +31 -11
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +16 -41
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/unblock.d.ts +15 -1
- package/dist/orchestration/unblock.d.ts.map +1 -1
- package/dist/orchestration/unblock.js +23 -12
- package/dist/orchestration/unblock.js.map +1 -1
- package/dist/orchestration/validate-spawn.d.ts.map +1 -1
- package/dist/orchestration/validate-spawn.js +3 -3
- package/dist/orchestration/validate-spawn.js.map +1 -1
- package/dist/orchestration/waves.d.ts +29 -13
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +43 -55
- package/dist/orchestration/waves.js.map +1 -1
- package/dist/paths.d.ts +17 -163
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +145 -496
- package/dist/paths.js.map +1 -1
- package/dist/project-info.d.ts +2 -11
- package/dist/project-info.d.ts.map +1 -1
- package/dist/project-info.js +3 -31
- package/dist/project-info.js.map +1 -1
- package/dist/project-scope.d.ts +239 -0
- package/dist/project-scope.d.ts.map +1 -0
- package/dist/project-scope.js +473 -0
- package/dist/project-scope.js.map +1 -0
- package/dist/release/pr-evidence.d.ts +16 -3
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +53 -7
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +4 -2
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/render/orchestration/audit-reconstruct.d.ts +11 -0
- package/dist/render/orchestration/audit-reconstruct.d.ts.map +1 -1
- package/dist/render/orchestration/audit-reconstruct.js +21 -6
- package/dist/render/orchestration/audit-reconstruct.js.map +1 -1
- package/dist/render/tasks/show.js +2 -1
- package/dist/render/tasks/show.js.map +1 -1
- package/dist/resources/spawn-wrapper.d.ts +82 -14
- package/dist/resources/spawn-wrapper.d.ts.map +1 -1
- package/dist/resources/spawn-wrapper.js +585 -27
- package/dist/resources/spawn-wrapper.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +4026 -1734
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sequence/index.d.ts.map +1 -1
- package/dist/sequence/index.js +76 -68
- package/dist/sequence/index.js.map +1 -1
- package/dist/session/canon-lint.d.ts +24 -3
- package/dist/session/canon-lint.d.ts.map +1 -1
- package/dist/session/canon-lint.js +72 -31
- package/dist/session/canon-lint.js.map +1 -1
- package/dist/session/engine-ops.d.ts +1 -4
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +6 -2
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +11 -1
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +76 -8
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/handoff.d.ts +3 -1
- package/dist/sessions/handoff.d.ts.map +1 -1
- package/dist/sessions/handoff.js +2 -0
- package/dist/sessions/handoff.js.map +1 -1
- package/dist/shutdown-deadline.d.ts +24 -33
- package/dist/shutdown-deadline.d.ts.map +1 -1
- package/dist/shutdown-deadline.js +71 -14
- package/dist/shutdown-deadline.js.map +1 -1
- package/dist/shutdown.d.ts +21 -10
- package/dist/shutdown.d.ts.map +1 -1
- package/dist/shutdown.js +91 -35
- package/dist/shutdown.js.map +1 -1
- package/dist/skills/index.d.ts +1 -1
- 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/orchestrator/validator.d.ts +87 -20
- package/dist/skills/orchestrator/validator.d.ts.map +1 -1
- package/dist/skills/orchestrator/validator.js +330 -241
- package/dist/skills/orchestrator/validator.js.map +1 -1
- package/dist/store/agent-resolver.d.ts.map +1 -1
- package/dist/store/agent-resolver.js +16 -9
- package/dist/store/agent-resolver.js.map +1 -1
- package/dist/store/attachment-store.d.ts +4 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +20 -3
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/background-jobs.d.ts +426 -105
- package/dist/store/background-jobs.d.ts.map +1 -1
- package/dist/store/background-jobs.js +1208 -252
- package/dist/store/background-jobs.js.map +1 -1
- package/dist/store/background-ops.d.ts +145 -8
- package/dist/store/background-ops.d.ts.map +1 -1
- package/dist/store/background-ops.js +459 -15
- package/dist/store/background-ops.js.map +1 -1
- package/dist/store/backup-inspect.d.ts +48 -4
- package/dist/store/backup-inspect.d.ts.map +1 -1
- package/dist/store/backup-inspect.js +384 -4
- package/dist/store/backup-inspect.js.map +1 -1
- package/dist/store/converters.d.ts.map +1 -1
- package/dist/store/converters.js +19 -2
- package/dist/store/converters.js.map +1 -1
- package/dist/store/data-accessor.d.ts +9 -1
- package/dist/store/data-accessor.d.ts.map +1 -1
- package/dist/store/data-accessor.js +22 -5
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/data-safety-central.d.ts.map +1 -1
- package/dist/store/data-safety-central.js +272 -232
- package/dist/store/data-safety-central.js.map +1 -1
- package/dist/store/db-helpers.d.ts +19 -3
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +42 -58
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts +63 -4
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +166 -19
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/archive.d.ts +21 -7
- package/dist/store/exodus/archive.d.ts.map +1 -1
- package/dist/store/exodus/archive.js +60 -18
- package/dist/store/exodus/archive.js.map +1 -1
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +27 -23
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts +16 -27
- package/dist/store/exodus/on-open.d.ts.map +1 -1
- package/dist/store/exodus/on-open.js +121 -169
- package/dist/store/exodus/on-open.js.map +1 -1
- package/dist/store/exodus/recovery.d.ts +90 -0
- package/dist/store/exodus/recovery.d.ts.map +1 -0
- package/dist/store/exodus/recovery.js +434 -0
- package/dist/store/exodus/recovery.js.map +1 -0
- package/dist/store/exodus/types.d.ts +15 -0
- package/dist/store/exodus/types.d.ts.map +1 -1
- package/dist/store/memory-accessor.d.ts +52 -3
- package/dist/store/memory-accessor.d.ts.map +1 -1
- package/dist/store/memory-accessor.js +122 -7
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/nexus-sqlite.d.ts +24 -6
- package/dist/store/nexus-sqlite.d.ts.map +1 -1
- package/dist/store/nexus-sqlite.js +39 -20
- package/dist/store/nexus-sqlite.js.map +1 -1
- package/dist/store/ports/domain-binding.d.ts.map +1 -1
- package/dist/store/ports/domain-binding.js +27 -5
- package/dist/store/ports/domain-binding.js.map +1 -1
- package/dist/store/schema/background-jobs.d.ts +181 -2
- package/dist/store/schema/background-jobs.d.ts.map +1 -1
- package/dist/store/schema/background-jobs.js +27 -3
- package/dist/store/schema/background-jobs.js.map +1 -1
- package/dist/store/schema/cleo-global/skills.d.ts +2 -2
- package/dist/store/schema/cleo-project/lifecycle.d.ts +2 -2
- package/dist/store/schema/cleo-project/runtime.d.ts +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +1 -1
- package/dist/store/schema/lifecycle.d.ts +2 -2
- package/dist/store/schema/skills-schema.d.ts +2 -2
- package/dist/store/schema/tasks.d.ts +1 -1
- package/dist/store/session-store.d.ts +3 -1
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +252 -207
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +39 -4
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +689 -527
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts +3 -1
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +309 -279
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +8 -8
- package/dist/store/writer-lease.d.ts +80 -8
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +503 -134
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/system/audit.d.ts +2 -1
- package/dist/system/audit.d.ts.map +1 -1
- package/dist/system/audit.js +118 -71
- package/dist/system/audit.js.map +1 -1
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +5 -5
- package/dist/system/backup.js.map +1 -1
- package/dist/system/inject-generate.js +1 -1
- package/dist/task-work/index.d.ts +3 -0
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +34 -37
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
- package/dist/tasks/ac-coverage-gate.js +4 -0
- package/dist/tasks/ac-coverage-gate.js.map +1 -1
- package/dist/tasks/ac-immutability.d.ts +7 -4
- package/dist/tasks/ac-immutability.d.ts.map +1 -1
- package/dist/tasks/ac-immutability.js +19 -17
- package/dist/tasks/ac-immutability.js.map +1 -1
- package/dist/tasks/ac-table.d.ts +5 -5
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +26 -12
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/acceptance-input.d.ts +52 -0
- package/dist/tasks/acceptance-input.d.ts.map +1 -0
- package/dist/tasks/acceptance-input.js +259 -0
- package/dist/tasks/acceptance-input.js.map +1 -0
- package/dist/tasks/add.d.ts +67 -29
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +255 -97
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/complete.d.ts +16 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +152 -55
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/decompose.d.ts +103 -0
- package/dist/tasks/decompose.d.ts.map +1 -0
- package/dist/tasks/decompose.js +224 -0
- package/dist/tasks/decompose.js.map +1 -0
- package/dist/tasks/delete.d.ts +5 -8
- package/dist/tasks/delete.d.ts.map +1 -1
- package/dist/tasks/delete.js +4 -3
- package/dist/tasks/delete.js.map +1 -1
- package/dist/tasks/dependency-check.d.ts +59 -0
- package/dist/tasks/dependency-check.d.ts.map +1 -1
- package/dist/tasks/dependency-check.js +73 -0
- package/dist/tasks/dependency-check.js.map +1 -1
- package/dist/tasks/deps-ready.d.ts +13 -1
- package/dist/tasks/deps-ready.d.ts.map +1 -1
- package/dist/tasks/deps-ready.js +16 -5
- package/dist/tasks/deps-ready.js.map +1 -1
- package/dist/tasks/engine-converters.d.ts +7 -0
- package/dist/tasks/engine-converters.d.ts.map +1 -1
- package/dist/tasks/engine-converters.js +8 -1
- package/dist/tasks/engine-converters.js.map +1 -1
- package/dist/tasks/evidence.d.ts +54 -26
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +292 -40
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/find.d.ts +16 -12
- package/dist/tasks/find.d.ts.map +1 -1
- package/dist/tasks/find.js +107 -93
- package/dist/tasks/find.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +88 -14
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +596 -253
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/hierarchy-policy.d.ts +8 -0
- package/dist/tasks/hierarchy-policy.d.ts.map +1 -1
- package/dist/tasks/hierarchy-policy.js +9 -2
- package/dist/tasks/hierarchy-policy.js.map +1 -1
- package/dist/tasks/hierarchy.d.ts +67 -1
- package/dist/tasks/hierarchy.d.ts.map +1 -1
- package/dist/tasks/hierarchy.js +81 -1
- package/dist/tasks/hierarchy.js.map +1 -1
- package/dist/tasks/index.d.ts +3 -0
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +3 -0
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/infer-add-params.d.ts +1 -20
- package/dist/tasks/infer-add-params.d.ts.map +1 -1
- package/dist/tasks/infer-add-params.js +2 -203
- package/dist/tasks/infer-add-params.js.map +1 -1
- package/dist/tasks/list.d.ts +7 -2
- package/dist/tasks/list.d.ts.map +1 -1
- package/dist/tasks/list.js +24 -36
- package/dist/tasks/list.js.map +1 -1
- package/dist/tasks/ops.d.ts +6 -61
- package/dist/tasks/ops.d.ts.map +1 -1
- package/dist/tasks/ops.js +5 -53
- package/dist/tasks/ops.js.map +1 -1
- package/dist/tasks/plan.d.ts +15 -1
- package/dist/tasks/plan.d.ts.map +1 -1
- package/dist/tasks/plan.js +23 -25
- package/dist/tasks/plan.js.map +1 -1
- package/dist/tasks/population.d.ts +46 -0
- package/dist/tasks/population.d.ts.map +1 -0
- package/dist/tasks/population.js +88 -0
- package/dist/tasks/population.js.map +1 -0
- package/dist/tasks/reconcile-scope.d.ts +157 -0
- package/dist/tasks/reconcile-scope.d.ts.map +1 -0
- package/dist/tasks/reconcile-scope.js +242 -0
- package/dist/tasks/reconcile-scope.js.map +1 -0
- package/dist/tasks/req.d.ts +51 -12
- package/dist/tasks/req.d.ts.map +1 -1
- package/dist/tasks/req.js +125 -69
- package/dist/tasks/req.js.map +1 -1
- package/dist/tasks/session-scope.d.ts +6 -31
- package/dist/tasks/session-scope.d.ts.map +1 -1
- package/dist/tasks/session-scope.js +3 -17
- package/dist/tasks/session-scope.js.map +1 -1
- package/dist/tasks/severity-attestation.d.ts +39 -10
- package/dist/tasks/severity-attestation.d.ts.map +1 -1
- package/dist/tasks/severity-attestation.js +75 -36
- package/dist/tasks/severity-attestation.js.map +1 -1
- package/dist/tasks/task-next.d.ts +5 -0
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +10 -9
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/task-reparent.d.ts.map +1 -1
- package/dist/tasks/task-reparent.js +3 -13
- package/dist/tasks/task-reparent.js.map +1 -1
- package/dist/tasks/update.d.ts +20 -43
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +64 -49
- package/dist/tasks/update.js.map +1 -1
- package/dist/teardown-signal.d.ts +72 -0
- package/dist/teardown-signal.d.ts.map +1 -0
- package/dist/teardown-signal.js +108 -0
- package/dist/teardown-signal.js.map +1 -0
- package/dist/validation/engine-ops.d.ts +17 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +149 -11
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/workgraph/reparent-preflight.d.ts +1 -1
- package/dist/workgraph/reparent-preflight.d.ts.map +1 -1
- package/dist/workgraph/reparent-preflight.js +6 -1
- package/dist/workgraph/reparent-preflight.js.map +1 -1
- package/dist/workgraph/scaffold-apply.d.ts.map +1 -1
- package/dist/workgraph/scaffold-apply.js +81 -76
- package/dist/workgraph/scaffold-apply.js.map +1 -1
- package/dist/workgraph/structure-validation.d.ts +1 -1
- package/dist/workgraph/structure-validation.d.ts.map +1 -1
- package/dist/workgraph/structure-validation.js +6 -1
- package/dist/workgraph/structure-validation.js.map +1 -1
- package/migrations/drizzle-tasks/20260919180000_t12263-job-ownership-fences/migration.sql +34 -0
- package/migrations/drizzle-tasks/20260919184500_t12265-durable-pending-proposals/migration.sql +4 -0
- package/package.json +18 -13
- package/schemas/config.schema.json +2 -2
- package/templates/CLEO-INJECTION.md +103 -101
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
*
|
|
30
30
|
* Here, instead:
|
|
31
31
|
*
|
|
32
|
-
* - **Dry-run is the default.**
|
|
32
|
+
* - **Dry-run is the default.** Quarantine requires an explicit `apply`.
|
|
33
33
|
* - Only OBSERVATIONS are considered. Decisions, patterns and learnings are
|
|
34
34
|
* never touched.
|
|
35
35
|
* - A row is a candidate only if it matches a named, narrow rule AND its
|
|
@@ -53,39 +53,39 @@ export const MAX_STUB_NARRATIVE = 200;
|
|
|
53
53
|
* The prune rules, each narrow and independently justified.
|
|
54
54
|
*
|
|
55
55
|
* Every predicate is ANDed with `length(narrative) <= MAX_STUB_NARRATIVE` and
|
|
56
|
-
* `verified IS NOT 1
|
|
57
|
-
*
|
|
56
|
+
* `verified IS NOT 1`. Exact empty-hook shapes establish candidacy; short
|
|
57
|
+
* narratives with additional content are retained for agent review.
|
|
58
58
|
*/
|
|
59
59
|
export const STUB_PRUNE_RULES = [
|
|
60
60
|
{
|
|
61
61
|
id: 'status-undefined',
|
|
62
62
|
reason: 'Artefact of T12071: PostToolUse was dispatched with `newStatus` while the payload declares `status`, so every completion interpolated the literal string "undefined". Carries no information beyond the task id, which the tasks table already holds.',
|
|
63
|
-
predicate: "
|
|
63
|
+
predicate: "title LIKE 'Task complete: T%' AND narrative = 'Task ' || substr(title, 16) || ' completed with status: undefined'",
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
id: 'task-start-stub',
|
|
67
|
-
reason: '
|
|
68
|
-
predicate: "title LIKE 'Task start: T%' AND narrative
|
|
67
|
+
reason: 'Exact empty-title auto-hook record. Nonempty task-start narratives can contain substantive incident evidence and must remain available, regardless of length.',
|
|
68
|
+
predicate: "title LIKE 'Task start: T%' AND narrative IN ('Started work on ' || substr(title, 13) || ': ', 'Started work on ' || substr(title, 13) || ': undefined')",
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
71
|
id: 'task-complete-stub',
|
|
72
72
|
reason: 'Auto-hook record of the form "Task T#### completed with status: <status>". Duplicates the task row; retained only when it carries a real status AND some other content, which the length guard enforces.',
|
|
73
|
-
predicate: "title LIKE 'Task complete: T%' AND narrative
|
|
73
|
+
predicate: "title LIKE 'Task complete: T%' AND narrative IN ('Task ' || substr(title, 16) || ' completed with status: undefined', 'Task ' || substr(title, 16) || ' completed with status: done', 'Task ' || substr(title, 16) || ' completed with status: completed', 'Task ' || substr(title, 16) || ' completed with status: cancelled')",
|
|
74
74
|
},
|
|
75
75
|
];
|
|
76
76
|
/** Build the WHERE clause shared by counting, sampling and deleting. */
|
|
77
77
|
function ruleClause(rule) {
|
|
78
|
-
return `(${rule.predicate}) AND length(COALESCE(narrative, '')) <= ${MAX_STUB_NARRATIVE} AND COALESCE(verified, 0) != 1`;
|
|
78
|
+
return `(${rule.predicate}) AND length(COALESCE(narrative, '')) <= ${MAX_STUB_NARRATIVE} AND COALESCE(verified, 0) != 1 AND invalid_at IS NULL`;
|
|
79
79
|
}
|
|
80
80
|
/** Combined predicate across every rule. */
|
|
81
81
|
function allRulesClause() {
|
|
82
82
|
return STUB_PRUNE_RULES.map(ruleClause).join(' OR ');
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
|
-
* Count, sample and
|
|
85
|
+
* Count, sample and reversibly quarantine confirmed content-free observation stubs.
|
|
86
86
|
*
|
|
87
87
|
* @param nativeDb - open handle to the database holding `brain_observations`.
|
|
88
|
-
* @param apply - when `true`,
|
|
88
|
+
* @param apply - when `true`, invalidate matched rows while retaining their content.
|
|
89
89
|
* @returns counts, per-rule breakdown and a sample of matched rows.
|
|
90
90
|
*
|
|
91
91
|
* @example
|
|
@@ -98,19 +98,27 @@ function allRulesClause() {
|
|
|
98
98
|
* @task T12073
|
|
99
99
|
*/
|
|
100
100
|
export function pruneObservationStubs(nativeDb, apply) {
|
|
101
|
-
const countAll = () => nativeDb
|
|
101
|
+
const countAll = () => nativeDb
|
|
102
|
+
.prepare('SELECT COUNT(*) AS c FROM main.brain_observations WHERE invalid_at IS NULL')
|
|
103
|
+
.get().c;
|
|
102
104
|
const before = countAll();
|
|
103
105
|
const byRule = {};
|
|
104
106
|
for (const rule of STUB_PRUNE_RULES) {
|
|
105
107
|
const row = nativeDb
|
|
106
|
-
.prepare(`SELECT COUNT(*) AS c FROM brain_observations WHERE ${ruleClause(rule)}`)
|
|
108
|
+
.prepare(`SELECT COUNT(*) AS c FROM main.brain_observations WHERE ${ruleClause(rule)}`)
|
|
107
109
|
.get();
|
|
108
110
|
byRule[rule.id] = row.c;
|
|
109
111
|
}
|
|
110
112
|
const combined = allRulesClause();
|
|
111
|
-
const matched = nativeDb
|
|
113
|
+
const matched = nativeDb
|
|
114
|
+
.prepare(`SELECT COUNT(*) AS c FROM main.brain_observations WHERE ${combined}`)
|
|
115
|
+
.get().c;
|
|
116
|
+
const candidateIds = nativeDb
|
|
117
|
+
.prepare(`SELECT id FROM main.brain_observations WHERE ${combined} ORDER BY id`)
|
|
118
|
+
.all()
|
|
119
|
+
.flatMap((row) => (typeof row.id === 'string' ? [row.id] : []));
|
|
112
120
|
const sample = nativeDb
|
|
113
|
-
.prepare(`SELECT id, title, COALESCE(narrative, '') AS narrative FROM brain_observations WHERE ${combined} LIMIT 5`)
|
|
121
|
+
.prepare(`SELECT id, title, COALESCE(narrative, '') AS narrative FROM main.brain_observations WHERE ${combined} LIMIT 5`)
|
|
114
122
|
.all();
|
|
115
123
|
if (!apply || matched === 0) {
|
|
116
124
|
return {
|
|
@@ -118,18 +126,24 @@ export function pruneObservationStubs(nativeDb, apply) {
|
|
|
118
126
|
before,
|
|
119
127
|
after: before,
|
|
120
128
|
matched,
|
|
129
|
+
candidateIds,
|
|
121
130
|
byRule,
|
|
122
131
|
sample: sample.map((r) => ({ ...r, rule: matchingRule(r.narrative, r.title) })),
|
|
123
132
|
};
|
|
124
133
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
134
|
+
const quarantinedAt = new Date().toISOString();
|
|
135
|
+
const retained = nativeDb
|
|
136
|
+
.prepare(`UPDATE main.brain_observations SET invalid_at = ? WHERE ${combined} RETURNING id`)
|
|
137
|
+
.all(quarantinedAt);
|
|
138
|
+
const quarantinedIds = retained.flatMap((row) => (typeof row.id === 'string' ? [row.id] : []));
|
|
128
139
|
return {
|
|
129
140
|
applied: true,
|
|
141
|
+
quarantinedIds,
|
|
142
|
+
quarantinedAt,
|
|
130
143
|
before,
|
|
131
144
|
after: countAll(),
|
|
132
145
|
matched,
|
|
146
|
+
candidateIds,
|
|
133
147
|
byRule,
|
|
134
148
|
sample: sample.map((r) => ({ ...r, rule: matchingRule(r.narrative, r.title) })),
|
|
135
149
|
};
|
|
@@ -137,7 +151,7 @@ export function pruneObservationStubs(nativeDb, apply) {
|
|
|
137
151
|
/**
|
|
138
152
|
* Best-effort attribution of a sampled row to the rule that matched it.
|
|
139
153
|
*
|
|
140
|
-
* Reporting only —
|
|
154
|
+
* Reporting only — quarantine uses the combined SQL predicate.
|
|
141
155
|
*
|
|
142
156
|
* @param narrative - the row's narrative text.
|
|
143
157
|
* @param title - the row's title.
|
|
@@ -152,4 +166,37 @@ function matchingRule(narrative, title) {
|
|
|
152
166
|
return 'task-complete-stub';
|
|
153
167
|
return 'unknown';
|
|
154
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Restore only rows still bearing this quarantine receipt's timestamp.
|
|
171
|
+
* Later invalidations or edits to authority are preserved by the precondition.
|
|
172
|
+
*
|
|
173
|
+
* @param nativeDb - Canonical project database handle.
|
|
174
|
+
* @param receipt - Prior quarantine receipt with retained IDs and timestamp.
|
|
175
|
+
* @returns Count of rows restored; mismatched preconditions are left unchanged.
|
|
176
|
+
* @remarks This helper checks retained IDs and invalidation timestamps. It does
|
|
177
|
+
* not compare source-content hashes; stronger resource guards belong to the
|
|
178
|
+
* repair lifecycle. Original observation content is retained by quarantine.
|
|
179
|
+
* @example
|
|
180
|
+
* ```ts
|
|
181
|
+
* const restoredCount = restoreObservationStubs(nativeDb, quarantineReceipt);
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
export function restoreObservationStubs(nativeDb, receipt) {
|
|
185
|
+
if (!receipt.quarantinedAt || !receipt.quarantinedIds?.length)
|
|
186
|
+
return 0;
|
|
187
|
+
let restored = 0;
|
|
188
|
+
const statement = nativeDb.prepare('UPDATE main.brain_observations SET invalid_at = NULL WHERE id = ? AND invalid_at = ?');
|
|
189
|
+
nativeDb.exec('SAVEPOINT restore_observation_stubs');
|
|
190
|
+
try {
|
|
191
|
+
for (const id of receipt.quarantinedIds)
|
|
192
|
+
restored += Number(statement.run(id, receipt.quarantinedAt).changes);
|
|
193
|
+
nativeDb.exec('RELEASE restore_observation_stubs');
|
|
194
|
+
return restored;
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
nativeDb.exec('ROLLBACK TO restore_observation_stubs');
|
|
198
|
+
nativeDb.exec('RELEASE restore_observation_stubs');
|
|
199
|
+
throw error;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
155
202
|
//# sourceMappingURL=brain-stub-prune.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-stub-prune.js","sourceRoot":"","sources":["../../src/memory/brain-stub-prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAYtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD;QACE,EAAE,EAAE,kBAAkB;QACtB,MAAM,EACJ,uPAAuP;QACzP,SAAS,
|
|
1
|
+
{"version":3,"file":"brain-stub-prune.js","sourceRoot":"","sources":["../../src/memory/brain-stub-prune.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,13 +13,22 @@
|
|
|
13
13
|
* @epic T10286
|
|
14
14
|
* @saga T10281
|
|
15
15
|
*/
|
|
16
|
+
import type { OperationExecutionContext } from '@cleocode/contracts/jobs';
|
|
16
17
|
import type { BrainWriteOp, BrainWriteResult } from './brain-writer-thread.js';
|
|
17
18
|
/**
|
|
18
19
|
* Dispatch a write op to its terminal handler. Throws on failure — the worker
|
|
19
20
|
* envelope code converts the throw into an `ok:false` response.
|
|
20
21
|
*
|
|
21
22
|
* @param op - The discriminated write op.
|
|
23
|
+
* @param execution - Optional original operation lifetime and persisted document job fence.
|
|
24
|
+
* @throws Error when scope, cancellation, authority or the domain write fails.
|
|
25
|
+
* @remarks Scoped observations use their existing routing context and start no
|
|
26
|
+
* semantic enrichment. The committed result is not reclassified by late cancellation.
|
|
22
27
|
* @returns A typed `BrainWriteResult` mirroring the op's `kind`.
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* const result = await handleWriteOp(op, admittedContext);
|
|
31
|
+
* ```
|
|
23
32
|
*/
|
|
24
|
-
export declare function handleWriteOp(op: BrainWriteOp): Promise<BrainWriteResult>;
|
|
33
|
+
export declare function handleWriteOp(op: BrainWriteOp, execution?: OperationExecutionContext): Promise<BrainWriteResult>;
|
|
25
34
|
//# sourceMappingURL=brain-writer-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-handlers.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"brain-writer-handlers.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAOV,YAAY,EACZ,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAmClC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,YAAY,EAChB,SAAS,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAuC3B"}
|
|
@@ -54,9 +54,28 @@ function syncWorkerCleoDir(projectRoot) {
|
|
|
54
54
|
* envelope code converts the throw into an `ok:false` response.
|
|
55
55
|
*
|
|
56
56
|
* @param op - The discriminated write op.
|
|
57
|
+
* @param execution - Optional original operation lifetime and persisted document job fence.
|
|
58
|
+
* @throws Error when scope, cancellation, authority or the domain write fails.
|
|
59
|
+
* @remarks Scoped observations use their existing routing context and start no
|
|
60
|
+
* semantic enrichment. The committed result is not reclassified by late cancellation.
|
|
57
61
|
* @returns A typed `BrainWriteResult` mirroring the op's `kind`.
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* const result = await handleWriteOp(op, admittedContext);
|
|
65
|
+
* ```
|
|
58
66
|
*/
|
|
59
|
-
export async function handleWriteOp(op) {
|
|
67
|
+
export async function handleWriteOp(op, execution) {
|
|
68
|
+
execution?.assertActive();
|
|
69
|
+
if (execution) {
|
|
70
|
+
if (!execution.writeFence ||
|
|
71
|
+
execution.identity.operation !== 'docs.projection' ||
|
|
72
|
+
op.kind !== 'observe' ||
|
|
73
|
+
!op.params._skipGate ||
|
|
74
|
+
op.projectRoot !== execution.identity.projectRoot) {
|
|
75
|
+
throw new Error('Scoped writer supports only authenticated document observations');
|
|
76
|
+
}
|
|
77
|
+
return handleObserve(op, execution);
|
|
78
|
+
}
|
|
60
79
|
// Re-point CLEO_DIR to the op's project root on the worker thread so all
|
|
61
80
|
// downstream `.cleo` resolution (incl. cross-db write-guards) is consistent
|
|
62
81
|
// with the main thread regardless of the worker's stale env snapshot.
|
|
@@ -85,16 +104,17 @@ export async function handleWriteOp(op) {
|
|
|
85
104
|
// ---------------------------------------------------------------------------
|
|
86
105
|
// observe — full observeBrain pipeline on the writer side.
|
|
87
106
|
// ---------------------------------------------------------------------------
|
|
88
|
-
async function handleObserve(op) {
|
|
107
|
+
async function handleObserve(op, execution) {
|
|
89
108
|
// T10351: route to the direct-write path inside observeBrain so the
|
|
90
109
|
// chokepoint actually performs the row insert. Passing `_skipQueue: true`
|
|
91
110
|
// signals observeBrain to skip the queue and write directly (preventing
|
|
92
111
|
// an infinite enqueue loop when the worker thread itself calls observeBrain).
|
|
93
112
|
const { observeBrain } = await import('./retrieval/observe.js');
|
|
113
|
+
execution?.assertActive();
|
|
94
114
|
const result = await observeBrain(op.projectRoot, {
|
|
95
115
|
...op.params,
|
|
96
116
|
_skipQueue: true,
|
|
97
|
-
});
|
|
117
|
+
}, execution);
|
|
98
118
|
return { kind: 'observe', result };
|
|
99
119
|
}
|
|
100
120
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-handlers.js","sourceRoot":"","sources":["../../src/memory/brain-writer-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"brain-writer-handlers.js","sourceRoot":"","sources":["../../src/memory/brain-writer-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
* @saga T10281
|
|
44
44
|
*/
|
|
45
45
|
import type { ObserveBrainParams, ObserveBrainResult } from '@cleocode/contracts';
|
|
46
|
+
import type { OperationExecutionContext, OperationExecutionTransfer } from '@cleocode/contracts/jobs';
|
|
46
47
|
import type { NewBrainDecisionRow, NewBrainLearningRow } from '../store/schema/memory-schema.js';
|
|
47
48
|
/**
|
|
48
49
|
* Discriminated union of all hot-path brain.db write operations.
|
|
@@ -155,6 +156,11 @@ export type BrainWriteResult = {
|
|
|
155
156
|
};
|
|
156
157
|
/** Outbound message envelope (main → worker). */
|
|
157
158
|
export interface WriterRequestEnvelope {
|
|
159
|
+
/**
|
|
160
|
+
* Original admitted lifetime and job fence, serialized without renewing its budget.
|
|
161
|
+
* @defaultValue undefined — legacy unscoped operation.
|
|
162
|
+
*/
|
|
163
|
+
execution?: OperationExecutionTransfer;
|
|
158
164
|
seq: number;
|
|
159
165
|
op: BrainWriteOp;
|
|
160
166
|
}
|
|
@@ -168,6 +174,26 @@ export type WriterResponseEnvelope = {
|
|
|
168
174
|
ok: false;
|
|
169
175
|
error: string;
|
|
170
176
|
};
|
|
177
|
+
/**
|
|
178
|
+
* Whether the brain writer has been shut down for this process.
|
|
179
|
+
*
|
|
180
|
+
* @returns `true` once `shutdownBrainWriter()` has begun.
|
|
181
|
+
*/
|
|
182
|
+
export declare function isBrainWriterShuttingDown(): boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Raised when a brain write is attempted after teardown has begun.
|
|
185
|
+
*
|
|
186
|
+
* Deliberately NOT a `CleoError`: it is always caught one frame up in
|
|
187
|
+
* `enqueueBrainWrite`, which routes the op to `runInline`, so it must never
|
|
188
|
+
* reach a LAFS envelope. (`scripts/lint-cleo-errors.mjs` scans only the `tasks`
|
|
189
|
+
* and `validation` trees, so it does not apply here — stated so nobody
|
|
190
|
+
* "corrects" this to a CleoError and turns a handled fallback into a
|
|
191
|
+
* user-visible failure.)
|
|
192
|
+
*/
|
|
193
|
+
export declare class BrainWriterShutDownError extends Error {
|
|
194
|
+
readonly codeName: "E_BRAIN_WRITER_SHUTDOWN";
|
|
195
|
+
constructor(kind: BrainWriteOp['kind']);
|
|
196
|
+
}
|
|
171
197
|
/**
|
|
172
198
|
* Enqueue a brain.db write op through the single-writer chokepoint.
|
|
173
199
|
*
|
|
@@ -189,9 +215,13 @@ export type WriterResponseEnvelope = {
|
|
|
189
215
|
* ```
|
|
190
216
|
*
|
|
191
217
|
* @param op - The write op (discriminated by `kind`).
|
|
218
|
+
* @param execution - Optional original lifetime and validated document job authority.
|
|
219
|
+
* @throws Error when scoped admission, ownership, shutdown or worker execution fails.
|
|
220
|
+
* @remarks Scoped operations preserve their original budget and never retry an
|
|
221
|
+
* uncertain worker outcome inline. A received committed result survives later cancellation.
|
|
192
222
|
* @returns Worker result for the op.
|
|
193
223
|
*/
|
|
194
|
-
export declare function enqueueBrainWrite(op: BrainWriteOp): Promise<BrainWriteResult>;
|
|
224
|
+
export declare function enqueueBrainWrite(op: BrainWriteOp, execution?: OperationExecutionContext): Promise<BrainWriteResult>;
|
|
195
225
|
/**
|
|
196
226
|
* Shutdown the writer-thread singleton (mostly used by tests).
|
|
197
227
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-thread.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"brain-writer-thread.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"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"}
|