@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
|
@@ -46,6 +46,7 @@ import { existsSync } from 'node:fs';
|
|
|
46
46
|
import { dirname, join } from 'node:path';
|
|
47
47
|
import { fileURLToPath } from 'node:url';
|
|
48
48
|
import { getLogger } from '../logger.js';
|
|
49
|
+
import { transferOperationContext } from '../store/background-ops.js';
|
|
49
50
|
import { resolveDualScopeDbPath } from '../store/dual-scope-db.js';
|
|
50
51
|
import { acquireWriterLease, assertWriterLeaseHeld, resolveLeaseMode, } from '../store/writer-lease.js';
|
|
51
52
|
// ============================================================================
|
|
@@ -98,14 +99,15 @@ class BrainWriterManager {
|
|
|
98
99
|
seqCounter = 0;
|
|
99
100
|
shuttingDown = false;
|
|
100
101
|
/** Lazy-initialize the worker thread on first enqueue. */
|
|
101
|
-
async ensureWorker() {
|
|
102
|
+
async ensureWorker(execution) {
|
|
103
|
+
execution?.assertActive();
|
|
102
104
|
if (this.workerReady || this.shuttingDown)
|
|
103
105
|
return;
|
|
104
106
|
if (this.workerInitError)
|
|
105
107
|
throw this.workerInitError;
|
|
106
108
|
if (this.initPromise)
|
|
107
109
|
return this.initPromise;
|
|
108
|
-
this.initPromise = this.doInit();
|
|
110
|
+
this.initPromise = this.doInit(execution);
|
|
109
111
|
try {
|
|
110
112
|
await this.initPromise;
|
|
111
113
|
}
|
|
@@ -113,7 +115,8 @@ class BrainWriterManager {
|
|
|
113
115
|
this.initPromise = null;
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
|
-
async doInit() {
|
|
118
|
+
async doInit(execution) {
|
|
119
|
+
execution?.assertActive();
|
|
117
120
|
const workerPath = resolveWorkerPath();
|
|
118
121
|
if (!workerPath) {
|
|
119
122
|
// Worker file unavailable (test sandbox, esbuild bundle). Fall back to
|
|
@@ -122,6 +125,9 @@ class BrainWriterManager {
|
|
|
122
125
|
throw this.workerInitError;
|
|
123
126
|
}
|
|
124
127
|
const { Worker } = await import('node:worker_threads');
|
|
128
|
+
execution?.assertActive();
|
|
129
|
+
if (this.shuttingDown || isBrainWriterShuttingDown())
|
|
130
|
+
throw new BrainWriterShutDownError('observe');
|
|
125
131
|
const worker = new Worker(workerPath);
|
|
126
132
|
worker.on('message', (msg) => {
|
|
127
133
|
this.handleWorkerMessage(msg);
|
|
@@ -168,17 +174,28 @@ class BrainWriterManager {
|
|
|
168
174
|
* Enqueue a write op. Returns a promise that resolves with the worker's
|
|
169
175
|
* result envelope payload (shape depends on op kind).
|
|
170
176
|
*/
|
|
171
|
-
async enqueue(op) {
|
|
172
|
-
|
|
173
|
-
|
|
177
|
+
async enqueue(op, execution, transfer) {
|
|
178
|
+
execution?.assertActive();
|
|
179
|
+
// Defence in depth (T12239 AC3). The instance flag alone misses a manager
|
|
180
|
+
// captured BEFORE teardown and used after — `getManager()` returns a
|
|
181
|
+
// reference, and nothing stops a caller holding it across a shutdown.
|
|
182
|
+
if (this.shuttingDown || isBrainWriterShuttingDown()) {
|
|
183
|
+
throw new BrainWriterShutDownError(op.kind);
|
|
174
184
|
}
|
|
175
|
-
await this.ensureWorker();
|
|
185
|
+
await this.ensureWorker(execution);
|
|
186
|
+
execution?.assertActive();
|
|
187
|
+
if (this.shuttingDown || isBrainWriterShuttingDown())
|
|
188
|
+
throw new BrainWriterShutDownError(op.kind);
|
|
176
189
|
const worker = this.worker;
|
|
177
190
|
if (!worker) {
|
|
178
191
|
throw new Error('brain-writer worker is not available');
|
|
179
192
|
}
|
|
180
193
|
const seq = ++this.seqCounter;
|
|
181
|
-
const envelope = {
|
|
194
|
+
const envelope = {
|
|
195
|
+
seq,
|
|
196
|
+
op,
|
|
197
|
+
...(transfer ? { execution: transfer } : {}),
|
|
198
|
+
};
|
|
182
199
|
return new Promise((resolve, reject) => {
|
|
183
200
|
this.pending.set(seq, { resolve, reject });
|
|
184
201
|
try {
|
|
@@ -211,6 +228,9 @@ class BrainWriterManager {
|
|
|
211
228
|
this.worker = null;
|
|
212
229
|
}
|
|
213
230
|
this.workerReady = false;
|
|
231
|
+
for (const pending of this.pending.values()) {
|
|
232
|
+
pending.reject(new Error('Brain writer stopped before a result was observed; commit status remains unresolved'));
|
|
233
|
+
}
|
|
214
234
|
this.pending.clear();
|
|
215
235
|
}
|
|
216
236
|
/** @internal — test helper */
|
|
@@ -244,7 +264,25 @@ const _brainBatches = new Map();
|
|
|
244
264
|
* @returns A release callback the caller MUST invoke (in a `finally`) when its
|
|
245
265
|
* write completes; the underlying row is freed only when the batch quiesces.
|
|
246
266
|
*/
|
|
247
|
-
async function enterBrainBatchLease(dbPath) {
|
|
267
|
+
async function enterBrainBatchLease(dbPath, execution) {
|
|
268
|
+
if (execution) {
|
|
269
|
+
execution.assertActive();
|
|
270
|
+
const handle = await acquireWriterLease(BRAIN_LEASE_SCOPE, BRAIN_LEASE_LANE, {
|
|
271
|
+
priority: 50,
|
|
272
|
+
dbPath,
|
|
273
|
+
execution,
|
|
274
|
+
});
|
|
275
|
+
return async () => {
|
|
276
|
+
await handle.release();
|
|
277
|
+
if (handle.cleanupPending) {
|
|
278
|
+
getLogger('brain-writer').warn({
|
|
279
|
+
event: 'scoped-lease-cleanup-pending',
|
|
280
|
+
dbPath,
|
|
281
|
+
jobId: execution.writeFence?.lease.jobId,
|
|
282
|
+
}, 'Committed write outcome is unchanged; original lease cleanup requires TTL recovery');
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
}
|
|
248
286
|
if (resolveLeaseMode() === 'off') {
|
|
249
287
|
// No lease in off-mode — pass-through (busy_timeout serializes).
|
|
250
288
|
return async () => { };
|
|
@@ -306,8 +344,8 @@ async function enterBrainBatchLease(dbPath) {
|
|
|
306
344
|
* reintroduce the very race condition the chokepoint exists to eliminate.
|
|
307
345
|
*/
|
|
308
346
|
let inlineQueueTail = Promise.resolve();
|
|
309
|
-
function runInline(op) {
|
|
310
|
-
const next = inlineQueueTail.then(() => executeInline(op));
|
|
347
|
+
function runInline(op, execution) {
|
|
348
|
+
const next = inlineQueueTail.then(() => executeInline(op, execution));
|
|
311
349
|
// Swallow rejection in the chain marker so failures don't break later writes.
|
|
312
350
|
inlineQueueTail = next.catch(() => undefined);
|
|
313
351
|
return next;
|
|
@@ -321,19 +359,76 @@ function runInline(op) {
|
|
|
321
359
|
* The handler module is shared between the worker thread and this fallback,
|
|
322
360
|
* so behaviour is identical except for the thread of execution.
|
|
323
361
|
*/
|
|
324
|
-
async function executeInline(op) {
|
|
362
|
+
async function executeInline(op, execution) {
|
|
363
|
+
execution?.assertActive();
|
|
364
|
+
if (execution && isBrainWriterShuttingDown())
|
|
365
|
+
throw new BrainWriterShutDownError(op.kind);
|
|
325
366
|
// AC4 guard: a lease-less write must NOT open the brain WRITE handle. This is
|
|
326
367
|
// enforcement, not convention — `enqueueBrainWrite` holds the batch lease before
|
|
327
368
|
// it reaches here, so a held grant exists in every mode except `off` (exempt).
|
|
328
|
-
assertWriterLeaseHeld(BRAIN_LEASE_SCOPE, BRAIN_LEASE_LANE, resolveDualScopeDbPath(BRAIN_LEASE_SCOPE, op.projectRoot));
|
|
369
|
+
assertWriterLeaseHeld(BRAIN_LEASE_SCOPE, BRAIN_LEASE_LANE, execution?.writeFence?.dbPath ?? resolveDualScopeDbPath(BRAIN_LEASE_SCOPE, op.projectRoot));
|
|
329
370
|
const { handleWriteOp } = await import('./brain-writer-handlers.js');
|
|
330
|
-
|
|
371
|
+
execution?.assertActive();
|
|
372
|
+
return handleWriteOp(op, execution);
|
|
331
373
|
}
|
|
332
374
|
// ============================================================================
|
|
333
375
|
// Public API
|
|
334
376
|
// ============================================================================
|
|
335
377
|
let _manager = null;
|
|
336
|
-
|
|
378
|
+
/**
|
|
379
|
+
* Process-lifetime teardown latch (T12239 AC3).
|
|
380
|
+
*
|
|
381
|
+
* `shutdownBrainWriter()` sets `_manager = null`, which discards that manager's
|
|
382
|
+
* `shuttingDown` flag along with it. A write arriving afterwards therefore
|
|
383
|
+
* constructs a FRESH manager whose `shuttingDown` is `false`, so
|
|
384
|
+
* `ensureWorker()`'s guard passes and a worker realm is spawned *after*
|
|
385
|
+
* teardown — holding a MessagePort that keeps the event loop alive until the
|
|
386
|
+
* 3-second backstop fires. That is the "event loop still alive 3000ms after
|
|
387
|
+
* teardown" every mutating command pays (gh#1448, gh#1454, gh#1457, gh#1466).
|
|
388
|
+
*
|
|
389
|
+
* The flag has to live at MODULE scope precisely because the manager it would
|
|
390
|
+
* otherwise live on is the thing being discarded.
|
|
391
|
+
*/
|
|
392
|
+
let _brainWriterShutDown = false;
|
|
393
|
+
/**
|
|
394
|
+
* Whether the brain writer has been shut down for this process.
|
|
395
|
+
*
|
|
396
|
+
* @returns `true` once `shutdownBrainWriter()` has begun.
|
|
397
|
+
*/
|
|
398
|
+
export function isBrainWriterShuttingDown() {
|
|
399
|
+
return _brainWriterShutDown;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Raised when a brain write is attempted after teardown has begun.
|
|
403
|
+
*
|
|
404
|
+
* Deliberately NOT a `CleoError`: it is always caught one frame up in
|
|
405
|
+
* `enqueueBrainWrite`, which routes the op to `runInline`, so it must never
|
|
406
|
+
* reach a LAFS envelope. (`scripts/lint-cleo-errors.mjs` scans only the `tasks`
|
|
407
|
+
* and `validation` trees, so it does not apply here — stated so nobody
|
|
408
|
+
* "corrects" this to a CleoError and turns a handled fallback into a
|
|
409
|
+
* user-visible failure.)
|
|
410
|
+
*/
|
|
411
|
+
export class BrainWriterShutDownError extends Error {
|
|
412
|
+
codeName = 'E_BRAIN_WRITER_SHUTDOWN';
|
|
413
|
+
constructor(kind) {
|
|
414
|
+
super(`E_BRAIN_WRITER_SHUTDOWN: brain writer is shut down; refusing to spawn a worker ` +
|
|
415
|
+
`realm for a late '${kind}' write. Scoped writes are refused.`);
|
|
416
|
+
this.name = 'BrainWriterShutDownError';
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
function getManager(kind = 'observe') {
|
|
420
|
+
// Guard ACQUISITION, not just `ensureWorker`. There is exactly one
|
|
421
|
+
// acquisition site and it terminates; work-START sites are an open set that
|
|
422
|
+
// grows with every new fire-and-forget caller, which is why the earlier
|
|
423
|
+
// T12217 attempt could not converge.
|
|
424
|
+
//
|
|
425
|
+
// This also closes a listener leak that was never on the ticket: the block
|
|
426
|
+
// below registers `process.on('exit')` plus two `process.once` handlers EVERY
|
|
427
|
+
// time `_manager` is null, so each teardown -> late-write cycle added three
|
|
428
|
+
// more.
|
|
429
|
+
if (_brainWriterShutDown) {
|
|
430
|
+
throw new BrainWriterShutDownError(kind);
|
|
431
|
+
}
|
|
337
432
|
if (!_manager) {
|
|
338
433
|
_manager = new BrainWriterManager();
|
|
339
434
|
// Best-effort flush on process exit.
|
|
@@ -376,33 +471,70 @@ function getManager() {
|
|
|
376
471
|
* ```
|
|
377
472
|
*
|
|
378
473
|
* @param op - The write op (discriminated by `kind`).
|
|
474
|
+
* @param execution - Optional original lifetime and validated document job authority.
|
|
475
|
+
* @throws Error when scoped admission, ownership, shutdown or worker execution fails.
|
|
476
|
+
* @remarks Scoped operations preserve their original budget and never retry an
|
|
477
|
+
* uncertain worker outcome inline. A received committed result survives later cancellation.
|
|
379
478
|
* @returns Worker result for the op.
|
|
380
479
|
*/
|
|
381
|
-
export async function enqueueBrainWrite(op) {
|
|
480
|
+
export async function enqueueBrainWrite(op, execution) {
|
|
481
|
+
execution?.assertActive();
|
|
482
|
+
if (execution) {
|
|
483
|
+
if (!execution.writeFence ||
|
|
484
|
+
execution.identity.operation !== 'docs.projection' ||
|
|
485
|
+
op.kind !== 'observe' ||
|
|
486
|
+
!op.params._skipGate ||
|
|
487
|
+
op.projectRoot !== execution.identity.projectRoot) {
|
|
488
|
+
throw new Error('Scoped brain writer requires a fenced, validated document observation in its captured project');
|
|
489
|
+
}
|
|
490
|
+
if (isBrainWriterShuttingDown())
|
|
491
|
+
throw new BrainWriterShutDownError(op.kind);
|
|
492
|
+
op = structuredClone(op);
|
|
493
|
+
}
|
|
494
|
+
const transfer = execution
|
|
495
|
+
? transferOperationContext(execution, {
|
|
496
|
+
bytes: Buffer.byteLength(JSON.stringify(op), 'utf8'),
|
|
497
|
+
items: 1,
|
|
498
|
+
})
|
|
499
|
+
: undefined;
|
|
500
|
+
let releaseBatch;
|
|
382
501
|
// Seam 2 (AC4): hold the `brain` lease for the duration of this write. The lease
|
|
383
502
|
// is batch-granular (acquire-once / drain-N / release) via the process-local
|
|
384
503
|
// refcount — concurrent callers share one grant, freed when the batch quiesces.
|
|
385
504
|
// The lease-less path is blocked at the write primitive by `assertWriterLeaseHeld`.
|
|
386
|
-
const dbPath = resolveDualScopeDbPath(BRAIN_LEASE_SCOPE, op.projectRoot);
|
|
387
|
-
const releaseBatch = await enterBrainBatchLease(dbPath);
|
|
505
|
+
const dbPath = execution?.writeFence?.dbPath ?? resolveDualScopeDbPath(BRAIN_LEASE_SCOPE, op.projectRoot);
|
|
388
506
|
try {
|
|
507
|
+
releaseBatch = await enterBrainBatchLease(dbPath, execution);
|
|
508
|
+
execution?.assertActive();
|
|
389
509
|
// Bypass mode — log audit warn and run inline.
|
|
390
510
|
if (bypassEnabled()) {
|
|
391
|
-
return await runInline(op);
|
|
511
|
+
return await runInline(op, execution);
|
|
392
512
|
}
|
|
393
513
|
try {
|
|
394
|
-
return await getManager().enqueue(op);
|
|
514
|
+
return await getManager(op.kind).enqueue(op, execution, transfer?.transfer);
|
|
395
515
|
}
|
|
396
516
|
catch (err) {
|
|
517
|
+
if (execution)
|
|
518
|
+
throw err; // Never replay an uncertain committed worker write inline.
|
|
397
519
|
// Worker was unavailable (tests, esbuild bundle, etc.). Fall back to
|
|
398
|
-
// inline mode — still serialized via the inline mutex.
|
|
520
|
+
// inline mode — still serialized via the inline mutex. The write is NOT
|
|
521
|
+
// lost in either branch.
|
|
399
522
|
const msg = err instanceof Error ? err.message : String(err);
|
|
400
|
-
|
|
401
|
-
|
|
523
|
+
if (err instanceof BrainWriterShutDownError) {
|
|
524
|
+
// Distinct level on purpose. "No worker file in a bundle" is normal and
|
|
525
|
+
// belongs at debug; "a write arrived after teardown" is a design smell
|
|
526
|
+
// that should be countable in the field rather than buried with it.
|
|
527
|
+
getLogger('brain-writer').warn({ event: 'post-teardown-inline-write', kind: op.kind, codeName: err.codeName }, 'Brain write arrived after shutdown — running inline, no worker realm spawned');
|
|
528
|
+
}
|
|
529
|
+
else {
|
|
530
|
+
getLogger('brain-writer').debug({ err: msg }, 'Brain writer-thread unavailable — falling back to inline serialized executor');
|
|
531
|
+
}
|
|
532
|
+
return await runInline(op, execution);
|
|
402
533
|
}
|
|
403
534
|
}
|
|
404
535
|
finally {
|
|
405
|
-
|
|
536
|
+
transfer?.release();
|
|
537
|
+
await releaseBatch?.();
|
|
406
538
|
}
|
|
407
539
|
}
|
|
408
540
|
/**
|
|
@@ -410,6 +542,11 @@ export async function enqueueBrainWrite(op) {
|
|
|
410
542
|
* @internal
|
|
411
543
|
*/
|
|
412
544
|
export async function shutdownBrainWriter() {
|
|
545
|
+
// Latch BEFORE the first await. `_manager.shutdown()` has a grace period it
|
|
546
|
+
// waits out, and a write landing inside that window must be refused too —
|
|
547
|
+
// otherwise the exact race this guard exists for reopens for the duration of
|
|
548
|
+
// the shutdown itself.
|
|
549
|
+
_brainWriterShutDown = true;
|
|
413
550
|
if (_manager) {
|
|
414
551
|
await _manager.shutdown();
|
|
415
552
|
_manager = null;
|
|
@@ -422,6 +559,11 @@ export async function shutdownBrainWriter() {
|
|
|
422
559
|
*/
|
|
423
560
|
export function _resetBrainWriterForTests() {
|
|
424
561
|
_manager = null;
|
|
562
|
+
// MANDATORY, not tidiness. Every suite that touches the brain writer calls
|
|
563
|
+
// `shutdownBrainWriter()` then this in `afterEach`; without clearing the
|
|
564
|
+
// latch, the first teardown would leave every subsequent test in the file
|
|
565
|
+
// running against a permanently shut-down writer.
|
|
566
|
+
_brainWriterShutDown = false;
|
|
425
567
|
inlineQueueTail = Promise.resolve();
|
|
426
568
|
_brainBatches.clear();
|
|
427
569
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-thread.js","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brain-writer-thread.js","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* @saga T10281
|
|
14
14
|
*/
|
|
15
15
|
import { parentPort } from 'node:worker_threads';
|
|
16
|
+
import { receiveOperationContext } from '../store/background-ops.js';
|
|
16
17
|
import { handleWriteOp } from './brain-writer-handlers.js';
|
|
17
18
|
if (!parentPort) {
|
|
18
19
|
throw new Error('brain-writer-worker.ts must be run as a worker thread');
|
|
@@ -24,8 +25,11 @@ const port = parentPort;
|
|
|
24
25
|
* worker stays alive even when individual ops fail.
|
|
25
26
|
*/
|
|
26
27
|
async function processEnvelope(envelope) {
|
|
28
|
+
let execution;
|
|
27
29
|
try {
|
|
28
|
-
|
|
30
|
+
execution = envelope.execution ? receiveOperationContext(envelope.execution) : undefined;
|
|
31
|
+
execution?.assertActive();
|
|
32
|
+
const result = await handleWriteOp(envelope.op, execution);
|
|
29
33
|
const response = {
|
|
30
34
|
seq: envelope.seq,
|
|
31
35
|
ok: true,
|
|
@@ -41,6 +45,9 @@ async function processEnvelope(envelope) {
|
|
|
41
45
|
};
|
|
42
46
|
port.postMessage(response);
|
|
43
47
|
}
|
|
48
|
+
finally {
|
|
49
|
+
execution?.close();
|
|
50
|
+
}
|
|
44
51
|
}
|
|
45
52
|
// ---------------------------------------------------------------------------
|
|
46
53
|
// Single-consumer queue — guarantee in-order processing of one op at a time.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-worker.js","sourceRoot":"","sources":["../../src/memory/brain-writer-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"brain-writer-worker.js","sourceRoot":"","sources":["../../src/memory/brain-writer-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,IAAI,GAAG,UAAU,CAAC;AAExB;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,QAA+B;IAC5D,IAAI,SAAgD,CAAC;IACrD,IAAI,CAAC;QACH,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,SAAS,EAAE,YAAY,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAA2B;YACvC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,EAAE,EAAE,IAAI;YACR,MAAM;SACP,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,QAAQ,GAA2B;YACvC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;YAAS,CAAC;QACT,SAAS,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAE9E,IAAI,eAAe,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;AAE1D,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,QAA+B,EAAE,EAAE;IACrD,wEAAwE;IACxE,qCAAqC;IACrC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC;AACrI,CAAC,CAAC,CAAC"}
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
* @task T626
|
|
16
16
|
* @epic T626
|
|
17
17
|
*/
|
|
18
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
19
|
+
import type { DecisionCodeEvidenceLink, DecisionCodeEvidenceOptions, DecisionCodeEvidenceResult } from '@cleocode/contracts';
|
|
18
20
|
/** A reference extracted from a decision or rationale string. */
|
|
19
21
|
export interface ExtractedRef {
|
|
20
22
|
/** Raw text that matched. */
|
|
@@ -67,4 +69,41 @@ export declare function linkDecisionToTargets(projectRoot: string, decisionId: s
|
|
|
67
69
|
* @param rationale - Full rationale text.
|
|
68
70
|
*/
|
|
69
71
|
export declare function autoCrossLinkDecision(projectRoot: string, decisionId: string, decisionText: string, rationale: string): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Decode explicit decision provenance for inspectable link projections.
|
|
74
|
+
* @param provenance - Stored edge provenance; legacy strings are not treated as sourced evidence.
|
|
75
|
+
* @returns Validated provenance or null for legacy/malformed metadata.
|
|
76
|
+
* @remarks Parsing alone does not establish current freshness; use the current-state checker as well.
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* const evidence = readDecisionCodeEvidence(edge.provenance);
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function readDecisionCodeEvidence(provenance: string | null): DecisionCodeEvidenceLink | null;
|
|
83
|
+
/**
|
|
84
|
+
* Check stored decision relationships against current sources without deleting history.
|
|
85
|
+
* @param db - Canonical project brain handle sharing the Nexus graph store.
|
|
86
|
+
* @param provenance - Serialized edge provenance, including legacy provenance strings.
|
|
87
|
+
* @returns False for stale sourced links; legacy links remain explicitly unverified by consumers.
|
|
88
|
+
* @remarks Generation, canonical decision authority/content, and target file hashes are checked.
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* const current = isCurrentDecisionCodeEvidence(db, edge.provenance);
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare function isCurrentDecisionCodeEvidence(db: DatabaseSync, provenance: string | null): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Assess or backfill explicit decision-to-task-to-file and named-symbol relationships.
|
|
97
|
+
* @param projectRoot - Canonical project identity root, independent of configured source roots.
|
|
98
|
+
* @param decisionId - Canonical accepted decision ID, with or without the decision prefix.
|
|
99
|
+
* @param options - Explicit symbol targets and optional deterministic persistence.
|
|
100
|
+
* @returns Source-bearing links and actionable unresolved findings; repeated backfills apply zero changes.
|
|
101
|
+
* @remarks File evidence targets file nodes only. Historical edge provenance is retained before refresh.
|
|
102
|
+
* Code placed in `packages/core/` per Package-Boundary Check — verified against AGENTS.md.
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* const report = await linkDecisionToCodeEvidence(projectRoot, 'D001', { apply: true });
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare function linkDecisionToCodeEvidence(projectRoot: string, decisionId: string, options?: DecisionCodeEvidenceOptions): Promise<DecisionCodeEvidenceResult>;
|
|
70
109
|
//# sourceMappingURL=decision-cross-link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-cross-link.d.ts","sourceRoot":"","sources":["../../src/memory/decision-cross-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"decision-cross-link.d.ts","sourceRoot":"","sources":["../../src/memory/decision-cross-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAE3B,MAAM,qBAAqB,CAAC;AAiB7B,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AAwBD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CA0BrE;AAqGD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,YAAY,EAAE,GACnB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CASf;AAuED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,wBAAwB,GAAG,IAAI,CAQjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,YAAY,EAChB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CA2BT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,0BAA0B,CAAC,CAyMrC"}
|