@cleocode/core 2026.4.30 → 2026.4.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/adapter-registry.js +64 -0
- package/dist/adapters/adapter-registry.js.map +1 -0
- package/dist/adapters/discovery.js +83 -0
- package/dist/adapters/discovery.js.map +1 -0
- package/dist/adapters/index.js +9 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/manager.js +260 -0
- package/dist/adapters/manager.js.map +1 -0
- package/dist/admin/export-tasks.js +171 -0
- package/dist/admin/export-tasks.js.map +1 -0
- package/dist/admin/export.js +103 -0
- package/dist/admin/export.js.map +1 -0
- package/dist/admin/help.js +106 -0
- package/dist/admin/help.js.map +1 -0
- package/dist/admin/import-tasks.js +182 -0
- package/dist/admin/import-tasks.js.map +1 -0
- package/dist/admin/import.js +129 -0
- package/dist/admin/import.js.map +1 -0
- package/dist/admin/index.js +13 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/adrs/find.js +134 -0
- package/dist/adrs/find.js.map +1 -0
- package/dist/adrs/index.js +15 -0
- package/dist/adrs/index.js.map +1 -0
- package/dist/adrs/link-pipeline.js +160 -0
- package/dist/adrs/link-pipeline.js.map +1 -0
- package/dist/adrs/list.js +43 -0
- package/dist/adrs/list.js.map +1 -0
- package/dist/adrs/parse.js +51 -0
- package/dist/adrs/parse.js.map +1 -0
- package/dist/adrs/show.js +22 -0
- package/dist/adrs/show.js.map +1 -0
- package/dist/adrs/sync.js +232 -0
- package/dist/adrs/sync.js.map +1 -0
- package/dist/adrs/types.js +9 -0
- package/dist/adrs/types.js.map +1 -0
- package/dist/adrs/validate.js +57 -0
- package/dist/adrs/validate.js.map +1 -0
- package/dist/agents/agent-registry.js +288 -0
- package/dist/agents/agent-registry.js.map +1 -0
- package/dist/agents/agent-schema.js +82 -0
- package/dist/agents/agent-schema.js.map +1 -0
- package/dist/agents/capacity.js +116 -0
- package/dist/agents/capacity.js.map +1 -0
- package/dist/agents/execution-learning.js +474 -0
- package/dist/agents/execution-learning.js.map +1 -0
- package/dist/agents/health-monitor.js +217 -0
- package/dist/agents/health-monitor.js.map +1 -0
- package/dist/agents/index.js +29 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/registry.js +314 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/retry.js +215 -0
- package/dist/agents/retry.js.map +1 -0
- package/dist/audit-prune.js +94 -0
- package/dist/audit-prune.js.map +1 -0
- package/dist/audit.js +68 -0
- package/dist/audit.js.map +1 -0
- package/dist/backfill/index.js +229 -0
- package/dist/backfill/index.js.map +1 -0
- package/dist/bootstrap.d.ts +35 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +435 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/caamp/adapter.js +259 -0
- package/dist/caamp/adapter.js.map +1 -0
- package/dist/caamp/capability-check.js +38 -0
- package/dist/caamp/capability-check.js.map +1 -0
- package/dist/caamp/index.js +21 -0
- package/dist/caamp/index.js.map +1 -0
- package/dist/caamp-init.js +16 -0
- package/dist/caamp-init.js.map +1 -0
- package/dist/cleo.js +322 -0
- package/dist/cleo.js.map +1 -0
- package/dist/code/index.d.ts +8 -4
- package/dist/code/index.d.ts.map +1 -1
- package/dist/code/index.js +14 -0
- package/dist/code/index.js.map +1 -0
- package/dist/code/outline.js +165 -0
- package/dist/code/outline.js.map +1 -0
- package/dist/code/parser.d.ts +22 -9
- package/dist/code/parser.d.ts.map +1 -1
- package/dist/code/parser.js +420 -0
- package/dist/code/parser.js.map +1 -0
- package/dist/code/search.js +135 -0
- package/dist/code/search.js.map +1 -0
- package/dist/code/unfold.js +155 -0
- package/dist/code/unfold.js.map +1 -0
- package/dist/codebase-map/analyzers/architecture.js +129 -0
- package/dist/codebase-map/analyzers/architecture.js.map +1 -0
- package/dist/codebase-map/analyzers/concerns.js +122 -0
- package/dist/codebase-map/analyzers/concerns.js.map +1 -0
- package/dist/codebase-map/analyzers/conventions.js +149 -0
- package/dist/codebase-map/analyzers/conventions.js.map +1 -0
- package/dist/codebase-map/analyzers/integrations.js +108 -0
- package/dist/codebase-map/analyzers/integrations.js.map +1 -0
- package/dist/codebase-map/analyzers/stack.js +117 -0
- package/dist/codebase-map/analyzers/stack.js.map +1 -0
- package/dist/codebase-map/analyzers/structure.js +137 -0
- package/dist/codebase-map/analyzers/structure.js.map +1 -0
- package/dist/codebase-map/analyzers/testing.js +118 -0
- package/dist/codebase-map/analyzers/testing.js.map +1 -0
- package/dist/codebase-map/index.js +57 -0
- package/dist/codebase-map/index.js.map +1 -0
- package/dist/codebase-map/store.js +122 -0
- package/dist/codebase-map/store.js.map +1 -0
- package/dist/codebase-map/summary.js +152 -0
- package/dist/codebase-map/summary.js.map +1 -0
- package/dist/compliance/index.js +288 -0
- package/dist/compliance/index.js.map +1 -0
- package/dist/compliance/protocol-enforcement.js +332 -0
- package/dist/compliance/protocol-enforcement.js.map +1 -0
- package/dist/compliance/protocol-rules.js +786 -0
- package/dist/compliance/protocol-rules.js.map +1 -0
- package/dist/compliance/protocol-types.js +79 -0
- package/dist/compliance/protocol-types.js.map +1 -0
- package/dist/compliance/store.js +53 -0
- package/dist/compliance/store.js.map +1 -0
- package/dist/conduit/conduit-client.js +107 -0
- package/dist/conduit/conduit-client.js.map +1 -0
- package/dist/conduit/factory.js +52 -0
- package/dist/conduit/factory.js.map +1 -0
- package/dist/conduit/http-transport.js +155 -0
- package/dist/conduit/http-transport.js.map +1 -0
- package/dist/conduit/index.js +15 -0
- package/dist/conduit/index.js.map +1 -0
- package/dist/conduit/local-transport.js +255 -0
- package/dist/conduit/local-transport.js.map +1 -0
- package/dist/conduit/sse-transport.js +299 -0
- package/dist/conduit/sse-transport.js.map +1 -0
- package/dist/config/build-config.js +29 -0
- package/dist/config/build-config.js.map +1 -0
- package/dist/config.js +400 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.js +18 -0
- package/dist/constants.js.map +1 -0
- package/dist/context/index.js +137 -0
- package/dist/context/index.js.map +1 -0
- package/dist/crypto/credentials.js +219 -0
- package/dist/crypto/credentials.js.map +1 -0
- package/dist/discovery.js +182 -0
- package/dist/discovery.js.map +1 -0
- package/dist/engine-result.js +12 -0
- package/dist/engine-result.js.map +1 -0
- package/dist/error-catalog.js +404 -0
- package/dist/error-catalog.js.map +1 -0
- package/dist/error-registry.js +393 -0
- package/dist/error-registry.js.map +1 -0
- package/dist/errors.js +173 -0
- package/dist/errors.js.map +1 -0
- package/dist/hooks/handlers/agent-hooks.js +106 -0
- package/dist/hooks/handlers/agent-hooks.js.map +1 -0
- package/dist/hooks/handlers/context-hooks.js +111 -0
- package/dist/hooks/handlers/context-hooks.js.map +1 -0
- package/dist/hooks/handlers/error-hooks.js +52 -0
- package/dist/hooks/handlers/error-hooks.js.map +1 -0
- package/dist/hooks/handlers/file-hooks.js +104 -0
- package/dist/hooks/handlers/file-hooks.js.map +1 -0
- package/dist/hooks/handlers/handler-helpers.js +61 -0
- package/dist/hooks/handlers/handler-helpers.js.map +1 -0
- package/dist/hooks/handlers/index.d.ts +4 -0
- package/dist/hooks/handlers/index.d.ts.map +1 -1
- package/dist/hooks/handlers/index.js +34 -0
- package/dist/hooks/handlers/index.js.map +1 -0
- package/dist/hooks/handlers/intelligence-hooks.d.ts +26 -0
- package/dist/hooks/handlers/intelligence-hooks.d.ts.map +1 -0
- package/dist/hooks/handlers/intelligence-hooks.js +69 -0
- package/dist/hooks/handlers/intelligence-hooks.js.map +1 -0
- package/dist/hooks/handlers/memory-bridge-refresh.js +42 -0
- package/dist/hooks/handlers/memory-bridge-refresh.js.map +1 -0
- package/dist/hooks/handlers/notification-hooks.js +62 -0
- package/dist/hooks/handlers/notification-hooks.js.map +1 -0
- package/dist/hooks/handlers/session-hooks.d.ts +27 -4
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +157 -0
- package/dist/hooks/handlers/session-hooks.js.map +1 -0
- package/dist/hooks/handlers/task-hooks.js +65 -0
- package/dist/hooks/handlers/task-hooks.js.map +1 -0
- package/dist/hooks/handlers/watchdog-hooks.d.ts +49 -0
- package/dist/hooks/handlers/watchdog-hooks.d.ts.map +1 -0
- package/dist/hooks/handlers/watchdog-hooks.js +162 -0
- package/dist/hooks/handlers/watchdog-hooks.js.map +1 -0
- package/dist/hooks/handlers/work-capture-hooks.js +165 -0
- package/dist/hooks/handlers/work-capture-hooks.js.map +1 -0
- package/dist/hooks/index.js +13 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/payload-schemas.d.ts +6 -6
- package/dist/hooks/payload-schemas.js +220 -0
- package/dist/hooks/payload-schemas.js.map +1 -0
- package/dist/hooks/provider-hooks.js +66 -0
- package/dist/hooks/provider-hooks.js.map +1 -0
- package/dist/hooks/registry.js +229 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/types.js +66 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/hooks.js +136 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8765 -6253
- package/dist/index.js.map +4 -4
- package/dist/init.js +920 -0
- package/dist/init.js.map +1 -0
- package/dist/inject/index.js +82 -0
- package/dist/inject/index.js.map +1 -0
- package/dist/injection.d.ts +13 -1
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +377 -0
- package/dist/injection.js.map +1 -0
- package/dist/intelligence/adaptive-validation.js +497 -0
- package/dist/intelligence/adaptive-validation.js.map +1 -0
- package/dist/intelligence/impact.js +675 -0
- package/dist/intelligence/impact.js.map +1 -0
- package/dist/intelligence/index.js +22 -0
- package/dist/intelligence/index.js.map +1 -0
- package/dist/intelligence/patterns.js +492 -0
- package/dist/intelligence/patterns.js.map +1 -0
- package/dist/intelligence/prediction.js +499 -0
- package/dist/intelligence/prediction.js.map +1 -0
- package/dist/intelligence/types.js +13 -0
- package/dist/intelligence/types.js.map +1 -0
- package/dist/internal.d.ts +18 -10
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +320 -0
- package/dist/internal.js.map +1 -0
- package/dist/issue/create.js +121 -0
- package/dist/issue/create.js.map +1 -0
- package/dist/issue/diagnostics.js +59 -0
- package/dist/issue/diagnostics.js.map +1 -0
- package/dist/issue/index.js +10 -0
- package/dist/issue/index.js.map +1 -0
- package/dist/issue/template-parser.js +267 -0
- package/dist/issue/template-parser.js.map +1 -0
- package/dist/json-schema-validator.js +76 -0
- package/dist/json-schema-validator.js.map +1 -0
- package/dist/lib/index.js +11 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/retry.js +152 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/tree-sitter-languages.d.ts +11 -7
- package/dist/lib/tree-sitter-languages.d.ts.map +1 -1
- package/dist/lib/tree-sitter-languages.js +75 -0
- package/dist/lib/tree-sitter-languages.js.map +1 -0
- package/dist/lifecycle/chain-composition.js +152 -0
- package/dist/lifecycle/chain-composition.js.map +1 -0
- package/dist/lifecycle/chain-store.js +246 -0
- package/dist/lifecycle/chain-store.js.map +1 -0
- package/dist/lifecycle/consolidate-rcasd.js +352 -0
- package/dist/lifecycle/consolidate-rcasd.js.map +1 -0
- package/dist/lifecycle/default-chain.js +176 -0
- package/dist/lifecycle/default-chain.js.map +1 -0
- package/dist/lifecycle/evidence.js +180 -0
- package/dist/lifecycle/evidence.js.map +1 -0
- package/dist/lifecycle/frontmatter.js +363 -0
- package/dist/lifecycle/frontmatter.js.map +1 -0
- package/dist/lifecycle/index.js +756 -0
- package/dist/lifecycle/index.js.map +1 -0
- package/dist/lifecycle/pipeline.js +656 -0
- package/dist/lifecycle/pipeline.js.map +1 -0
- package/dist/lifecycle/rcasd-index.js +326 -0
- package/dist/lifecycle/rcasd-index.js.map +1 -0
- package/dist/lifecycle/rcasd-paths.js +220 -0
- package/dist/lifecycle/rcasd-paths.js.map +1 -0
- package/dist/lifecycle/resume.js +864 -0
- package/dist/lifecycle/resume.js.map +1 -0
- package/dist/lifecycle/stage-artifacts.js +94 -0
- package/dist/lifecycle/stage-artifacts.js.map +1 -0
- package/dist/lifecycle/stage-guidance.js +234 -0
- package/dist/lifecycle/stage-guidance.js.map +1 -0
- package/dist/lifecycle/stages.js +534 -0
- package/dist/lifecycle/stages.js.map +1 -0
- package/dist/lifecycle/state-machine.js +516 -0
- package/dist/lifecycle/state-machine.js.map +1 -0
- package/dist/lifecycle/tessera-engine.js +249 -0
- package/dist/lifecycle/tessera-engine.js.map +1 -0
- package/dist/logger.js +140 -0
- package/dist/logger.js.map +1 -0
- package/dist/memory/auto-extract.d.ts +27 -15
- package/dist/memory/auto-extract.d.ts.map +1 -1
- package/dist/memory/auto-extract.js +96 -0
- package/dist/memory/auto-extract.js.map +1 -0
- package/dist/memory/brain-backfill.d.ts +59 -0
- package/dist/memory/brain-backfill.d.ts.map +1 -0
- package/dist/memory/brain-backfill.js +389 -0
- package/dist/memory/brain-backfill.js.map +1 -0
- package/dist/memory/brain-consolidator.d.ts +48 -0
- package/dist/memory/brain-consolidator.d.ts.map +1 -0
- package/dist/memory/brain-consolidator.js +294 -0
- package/dist/memory/brain-consolidator.js.map +1 -0
- package/dist/memory/brain-embedding.js +66 -0
- package/dist/memory/brain-embedding.js.map +1 -0
- package/dist/memory/brain-lifecycle.d.ts +83 -2
- package/dist/memory/brain-lifecycle.d.ts.map +1 -1
- package/dist/memory/brain-lifecycle.js +807 -0
- package/dist/memory/brain-lifecycle.js.map +1 -0
- package/dist/memory/brain-links.js +161 -0
- package/dist/memory/brain-links.js.map +1 -0
- package/dist/memory/brain-maintenance.js +114 -0
- package/dist/memory/brain-maintenance.js.map +1 -0
- package/dist/memory/brain-migration.js +149 -0
- package/dist/memory/brain-migration.js.map +1 -0
- package/dist/memory/brain-purge.d.ts +51 -0
- package/dist/memory/brain-purge.d.ts.map +1 -0
- package/dist/memory/brain-purge.js +243 -0
- package/dist/memory/brain-purge.js.map +1 -0
- package/dist/memory/brain-reasoning.js +215 -0
- package/dist/memory/brain-reasoning.js.map +1 -0
- package/dist/memory/brain-retrieval.d.ts +69 -1
- package/dist/memory/brain-retrieval.d.ts.map +1 -1
- package/dist/memory/brain-retrieval.js +912 -0
- package/dist/memory/brain-retrieval.js.map +1 -0
- package/dist/memory/brain-row-types.js +10 -0
- package/dist/memory/brain-row-types.js.map +1 -0
- package/dist/memory/brain-search.d.ts.map +1 -1
- package/dist/memory/brain-search.js +528 -0
- package/dist/memory/brain-search.js.map +1 -0
- package/dist/memory/brain-similarity.js +145 -0
- package/dist/memory/brain-similarity.js.map +1 -0
- package/dist/memory/claude-mem-migration.js +277 -0
- package/dist/memory/claude-mem-migration.js.map +1 -0
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +218 -0
- package/dist/memory/decisions.js.map +1 -0
- package/dist/memory/embedding-local.js +102 -0
- package/dist/memory/embedding-local.js.map +1 -0
- package/dist/memory/embedding-queue.js +271 -0
- package/dist/memory/embedding-queue.js.map +1 -0
- package/dist/memory/embedding-worker.js +58 -0
- package/dist/memory/embedding-worker.js.map +1 -0
- package/dist/memory/engine-compat.d.ts +71 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +1564 -0
- package/dist/memory/engine-compat.js.map +1 -0
- package/dist/memory/extraction-gate.d.ts +139 -0
- package/dist/memory/extraction-gate.d.ts.map +1 -0
- package/dist/memory/extraction-gate.js +459 -0
- package/dist/memory/extraction-gate.js.map +1 -0
- package/dist/memory/graph-auto-populate.d.ts +65 -0
- package/dist/memory/graph-auto-populate.d.ts.map +1 -0
- package/dist/memory/graph-auto-populate.js +148 -0
- package/dist/memory/graph-auto-populate.js.map +1 -0
- package/dist/memory/graph-queries.d.ts +127 -0
- package/dist/memory/graph-queries.d.ts.map +1 -0
- package/dist/memory/graph-queries.js +290 -0
- package/dist/memory/graph-queries.js.map +1 -0
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1144 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/learnings.d.ts +16 -0
- package/dist/memory/learnings.d.ts.map +1 -1
- package/dist/memory/learnings.js +178 -0
- package/dist/memory/learnings.js.map +1 -0
- package/dist/memory/memory-bridge.js +370 -0
- package/dist/memory/memory-bridge.js.map +1 -0
- package/dist/memory/mental-model-injection.js +61 -0
- package/dist/memory/mental-model-injection.js.map +1 -0
- package/dist/memory/mental-model-queue.js +211 -0
- package/dist/memory/mental-model-queue.js.map +1 -0
- package/dist/memory/patterns.d.ts +26 -4
- package/dist/memory/patterns.d.ts.map +1 -1
- package/dist/memory/patterns.js +174 -0
- package/dist/memory/patterns.js.map +1 -0
- package/dist/memory/pipeline-manifest-sqlite.js +975 -0
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -0
- package/dist/memory/quality-scoring.d.ts +127 -0
- package/dist/memory/quality-scoring.d.ts.map +1 -0
- package/dist/memory/quality-scoring.js +182 -0
- package/dist/memory/quality-scoring.js.map +1 -0
- package/dist/memory/session-memory.js +331 -0
- package/dist/memory/session-memory.js.map +1 -0
- package/dist/metrics/ab-test.js +260 -0
- package/dist/metrics/ab-test.js.map +1 -0
- package/dist/metrics/aggregation.js +363 -0
- package/dist/metrics/aggregation.js.map +1 -0
- package/dist/metrics/common.js +64 -0
- package/dist/metrics/common.js.map +1 -0
- package/dist/metrics/enums.js +78 -0
- package/dist/metrics/enums.js.map +1 -0
- package/dist/metrics/index.js +19 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/model-provider-registry.js +88 -0
- package/dist/metrics/model-provider-registry.js.map +1 -0
- package/dist/metrics/otel-integration.js +263 -0
- package/dist/metrics/otel-integration.js.map +1 -0
- package/dist/metrics/provider-detection.js +103 -0
- package/dist/metrics/provider-detection.js.map +1 -0
- package/dist/metrics/token-estimation.js +253 -0
- package/dist/metrics/token-estimation.js.map +1 -0
- package/dist/metrics/token-service.js +450 -0
- package/dist/metrics/token-service.js.map +1 -0
- package/dist/migration/agent-outputs.js +316 -0
- package/dist/migration/agent-outputs.js.map +1 -0
- package/dist/migration/checksum.js +92 -0
- package/dist/migration/checksum.js.map +1 -0
- package/dist/migration/index.js +282 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/migration/logger.js +360 -0
- package/dist/migration/logger.js.map +1 -0
- package/dist/migration/preflight.js +9 -0
- package/dist/migration/preflight.js.map +1 -0
- package/dist/migration/state.js +421 -0
- package/dist/migration/state.js.map +1 -0
- package/dist/migration/validate.js +241 -0
- package/dist/migration/validate.js.map +1 -0
- package/dist/mvi-helpers.js +73 -0
- package/dist/mvi-helpers.js.map +1 -0
- package/dist/nexus/deps.js +375 -0
- package/dist/nexus/deps.js.map +1 -0
- package/dist/nexus/discover.js +288 -0
- package/dist/nexus/discover.js.map +1 -0
- package/dist/nexus/hash.js +10 -0
- package/dist/nexus/hash.js.map +1 -0
- package/dist/nexus/index.js +40 -0
- package/dist/nexus/index.js.map +1 -0
- package/dist/nexus/migrate-json-to-sqlite.js +115 -0
- package/dist/nexus/migrate-json-to-sqlite.js.map +1 -0
- package/dist/nexus/nexus-bridge.d.ts +51 -0
- package/dist/nexus/nexus-bridge.d.ts.map +1 -0
- package/dist/nexus/nexus-bridge.js +321 -0
- package/dist/nexus/nexus-bridge.js.map +1 -0
- package/dist/nexus/permissions.js +105 -0
- package/dist/nexus/permissions.js.map +1 -0
- package/dist/nexus/query.js +175 -0
- package/dist/nexus/query.js.map +1 -0
- package/dist/nexus/registry.js +584 -0
- package/dist/nexus/registry.js.map +1 -0
- package/dist/nexus/sharing/index.js +288 -0
- package/dist/nexus/sharing/index.js.map +1 -0
- package/dist/nexus/transfer-types.js +8 -0
- package/dist/nexus/transfer-types.js.map +1 -0
- package/dist/nexus/transfer.js +271 -0
- package/dist/nexus/transfer.js.map +1 -0
- package/dist/nexus/workspace.js +355 -0
- package/dist/nexus/workspace.js.map +1 -0
- package/dist/observability/index.js +103 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/log-filter.js +63 -0
- package/dist/observability/log-filter.js.map +1 -0
- package/dist/observability/log-parser.js +99 -0
- package/dist/observability/log-parser.js.map +1 -0
- package/dist/observability/log-reader.js +139 -0
- package/dist/observability/log-reader.js.map +1 -0
- package/dist/observability/types.js +19 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/orchestration/analyze.js +107 -0
- package/dist/orchestration/analyze.js.map +1 -0
- package/dist/orchestration/bootstrap.js +132 -0
- package/dist/orchestration/bootstrap.js.map +1 -0
- package/dist/orchestration/context.js +56 -0
- package/dist/orchestration/context.js.map +1 -0
- package/dist/orchestration/critical-path.js +100 -0
- package/dist/orchestration/critical-path.js.map +1 -0
- package/dist/orchestration/hierarchy.js +183 -0
- package/dist/orchestration/hierarchy.js.map +1 -0
- package/dist/orchestration/index.js +287 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/parallel.js +89 -0
- package/dist/orchestration/parallel.js.map +1 -0
- package/dist/orchestration/protocol-validators.js +815 -0
- package/dist/orchestration/protocol-validators.js.map +1 -0
- package/dist/orchestration/skill-ops.js +98 -0
- package/dist/orchestration/skill-ops.js.map +1 -0
- package/dist/orchestration/status.js +107 -0
- package/dist/orchestration/status.js.map +1 -0
- package/dist/orchestration/unblock.js +103 -0
- package/dist/orchestration/unblock.js.map +1 -0
- package/dist/orchestration/validate-spawn.js +67 -0
- package/dist/orchestration/validate-spawn.js.map +1 -0
- package/dist/orchestration/waves.js +86 -0
- package/dist/orchestration/waves.js.map +1 -0
- package/dist/otel/index.js +163 -0
- package/dist/otel/index.js.map +1 -0
- package/dist/output.js +164 -0
- package/dist/output.js.map +1 -0
- package/dist/pagination.js +64 -0
- package/dist/pagination.js.map +1 -0
- package/dist/paths.js +882 -0
- package/dist/paths.js.map +1 -0
- package/dist/phases/deps.js +372 -0
- package/dist/phases/deps.js.map +1 -0
- package/dist/phases/index.js +349 -0
- package/dist/phases/index.js.map +1 -0
- package/dist/pipeline/index.js +10 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/phase.js +45 -0
- package/dist/pipeline/phase.js.map +1 -0
- package/dist/platform.js +211 -0
- package/dist/platform.js.map +1 -0
- package/dist/project-info.js +84 -0
- package/dist/project-info.js.map +1 -0
- package/dist/reconciliation/index.js +10 -0
- package/dist/reconciliation/index.js.map +1 -0
- package/dist/reconciliation/link-store.js +175 -0
- package/dist/reconciliation/link-store.js.map +1 -0
- package/dist/reconciliation/reconciliation-engine.js +298 -0
- package/dist/reconciliation/reconciliation-engine.js.map +1 -0
- package/dist/release/artifacts.js +427 -0
- package/dist/release/artifacts.js.map +1 -0
- package/dist/release/changelog-writer.js +151 -0
- package/dist/release/changelog-writer.js.map +1 -0
- package/dist/release/channel.js +144 -0
- package/dist/release/channel.js.map +1 -0
- package/dist/release/ci.js +166 -0
- package/dist/release/ci.js.map +1 -0
- package/dist/release/github-pr.js +225 -0
- package/dist/release/github-pr.js.map +1 -0
- package/dist/release/guards.js +116 -0
- package/dist/release/guards.js.map +1 -0
- package/dist/release/index.js +22 -0
- package/dist/release/index.js.map +1 -0
- package/dist/release/release-config.js +158 -0
- package/dist/release/release-config.js.map +1 -0
- package/dist/release/release-manifest.js +1019 -0
- package/dist/release/release-manifest.js.map +1 -0
- package/dist/release/version-bump.js +255 -0
- package/dist/release/version-bump.js.map +1 -0
- package/dist/remote/index.js +257 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/repair.js +130 -0
- package/dist/repair.js.map +1 -0
- package/dist/research/index.js +2 -0
- package/dist/research/index.js.map +1 -0
- package/dist/roadmap/index.js +59 -0
- package/dist/roadmap/index.js.map +1 -0
- package/dist/routing/capability-matrix.js +1556 -0
- package/dist/routing/capability-matrix.js.map +1 -0
- package/dist/routing/index.js +9 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/scaffold.d.ts +18 -0
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +1798 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/schema-management.js +295 -0
- package/dist/schema-management.js.map +1 -0
- package/dist/security/index.js +9 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/input-sanitization.js +326 -0
- package/dist/security/input-sanitization.js.map +1 -0
- package/dist/sequence/index.js +295 -0
- package/dist/sequence/index.js.map +1 -0
- package/dist/sessions/assumptions.js +54 -0
- package/dist/sessions/assumptions.js.map +1 -0
- package/dist/sessions/briefing.js +377 -0
- package/dist/sessions/briefing.js.map +1 -0
- package/dist/sessions/context-alert.js +222 -0
- package/dist/sessions/context-alert.js.map +1 -0
- package/dist/sessions/context-inject.js +61 -0
- package/dist/sessions/context-inject.js.map +1 -0
- package/dist/sessions/context-monitor.js +98 -0
- package/dist/sessions/context-monitor.js.map +1 -0
- package/dist/sessions/decisions.js +65 -0
- package/dist/sessions/decisions.js.map +1 -0
- package/dist/sessions/find.js +65 -0
- package/dist/sessions/find.js.map +1 -0
- package/dist/sessions/handoff.js +328 -0
- package/dist/sessions/handoff.js.map +1 -0
- package/dist/sessions/hitl-warnings.js +254 -0
- package/dist/sessions/hitl-warnings.js.map +1 -0
- package/dist/sessions/index.js +327 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/sessions/session-archive.js +40 -0
- package/dist/sessions/session-archive.js.map +1 -0
- package/dist/sessions/session-cleanup.js +59 -0
- package/dist/sessions/session-cleanup.js.map +1 -0
- package/dist/sessions/session-drift.js +134 -0
- package/dist/sessions/session-drift.js.map +1 -0
- package/dist/sessions/session-enforcement.js +144 -0
- package/dist/sessions/session-enforcement.js.map +1 -0
- package/dist/sessions/session-grade.js +253 -0
- package/dist/sessions/session-grade.js.map +1 -0
- package/dist/sessions/session-history.js +42 -0
- package/dist/sessions/session-history.js.map +1 -0
- package/dist/sessions/session-id.js +81 -0
- package/dist/sessions/session-id.js.map +1 -0
- package/dist/sessions/session-memory-bridge.d.ts +16 -10
- package/dist/sessions/session-memory-bridge.d.ts.map +1 -1
- package/dist/sessions/session-memory-bridge.js +30 -0
- package/dist/sessions/session-memory-bridge.js.map +1 -0
- package/dist/sessions/session-show.js +24 -0
- package/dist/sessions/session-show.js.map +1 -0
- package/dist/sessions/session-stats.js +69 -0
- package/dist/sessions/session-stats.js.map +1 -0
- package/dist/sessions/session-suspend.js +39 -0
- package/dist/sessions/session-suspend.js.map +1 -0
- package/dist/sessions/session-switch.js +51 -0
- package/dist/sessions/session-switch.js.map +1 -0
- package/dist/sessions/session-view.js +76 -0
- package/dist/sessions/session-view.js.map +1 -0
- package/dist/sessions/snapshot.js +213 -0
- package/dist/sessions/snapshot.js.map +1 -0
- package/dist/sessions/statusline-setup.js +85 -0
- package/dist/sessions/statusline-setup.js.map +1 -0
- package/dist/sessions/types.js +8 -0
- package/dist/sessions/types.js.map +1 -0
- package/dist/skills/agents/config.js +94 -0
- package/dist/skills/agents/config.js.map +1 -0
- package/dist/skills/agents/install.js +116 -0
- package/dist/skills/agents/install.js.map +1 -0
- package/dist/skills/agents/registry.js +161 -0
- package/dist/skills/agents/registry.js.map +1 -0
- package/dist/skills/discovery.js +333 -0
- package/dist/skills/discovery.js.map +1 -0
- package/dist/skills/dispatch.js +347 -0
- package/dist/skills/dispatch.js.map +1 -0
- package/dist/skills/dynamic-skill-generator.js +87 -0
- package/dist/skills/dynamic-skill-generator.js.map +1 -0
- package/dist/skills/index.js +44 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/injection/subagent.js +195 -0
- package/dist/skills/injection/subagent.js.map +1 -0
- package/dist/skills/injection/token.js +260 -0
- package/dist/skills/injection/token.js.map +1 -0
- package/dist/skills/install.js +40 -0
- package/dist/skills/install.js.map +1 -0
- package/dist/skills/manifests/contribution.js +175 -0
- package/dist/skills/manifests/contribution.js.map +1 -0
- package/dist/skills/manifests/research.js +281 -0
- package/dist/skills/manifests/research.js.map +1 -0
- package/dist/skills/manifests/resolver.js +146 -0
- package/dist/skills/manifests/resolver.js.map +1 -0
- package/dist/skills/marketplace.js +90 -0
- package/dist/skills/marketplace.js.map +1 -0
- package/dist/skills/orchestrator/spawn.js +178 -0
- package/dist/skills/orchestrator/spawn.js.map +1 -0
- package/dist/skills/orchestrator/startup.js +451 -0
- package/dist/skills/orchestrator/startup.js.map +1 -0
- package/dist/skills/orchestrator/validator.js +301 -0
- package/dist/skills/orchestrator/validator.js.map +1 -0
- package/dist/skills/precedence-integration.js +73 -0
- package/dist/skills/precedence-integration.js.map +1 -0
- package/dist/skills/precedence-types.js +16 -0
- package/dist/skills/precedence-types.js.map +1 -0
- package/dist/skills/routing-table.js +63 -0
- package/dist/skills/routing-table.js.map +1 -0
- package/dist/skills/skill-paths.js +217 -0
- package/dist/skills/skill-paths.js.map +1 -0
- package/dist/skills/test-utility.js +55 -0
- package/dist/skills/test-utility.js.map +1 -0
- package/dist/skills/types.js +118 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills/validation.js +183 -0
- package/dist/skills/validation.js.map +1 -0
- package/dist/skills/version.js +57 -0
- package/dist/skills/version.js.map +1 -0
- package/dist/snapshot/index.js +188 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/spawn/adapter-registry.js +246 -0
- package/dist/spawn/adapter-registry.js.map +1 -0
- package/dist/spawn/index.js +10 -0
- package/dist/spawn/index.js.map +1 -0
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +350 -0
- package/dist/stats/index.js.map +1 -0
- package/dist/stats/workflow-telemetry.js +400 -0
- package/dist/stats/workflow-telemetry.js.map +1 -0
- package/dist/sticky/archive.js +47 -0
- package/dist/sticky/archive.js.map +1 -0
- package/dist/sticky/convert.js +235 -0
- package/dist/sticky/convert.js.map +1 -0
- package/dist/sticky/create.js +48 -0
- package/dist/sticky/create.js.map +1 -0
- package/dist/sticky/id.js +35 -0
- package/dist/sticky/id.js.map +1 -0
- package/dist/sticky/index.js +16 -0
- package/dist/sticky/index.js.map +1 -0
- package/dist/sticky/list.js +57 -0
- package/dist/sticky/list.js.map +1 -0
- package/dist/sticky/purge.js +45 -0
- package/dist/sticky/purge.js.map +1 -0
- package/dist/sticky/show.js +42 -0
- package/dist/sticky/show.js.map +1 -0
- package/dist/sticky/types.js +10 -0
- package/dist/sticky/types.js.map +1 -0
- package/dist/store/agent-registry-accessor.js +886 -0
- package/dist/store/agent-registry-accessor.js.map +1 -0
- package/dist/store/api-key-kdf.js +84 -0
- package/dist/store/api-key-kdf.js.map +1 -0
- package/dist/store/atomic.js +167 -0
- package/dist/store/atomic.js.map +1 -0
- package/dist/store/backup-crypto.js +184 -0
- package/dist/store/backup-crypto.js.map +1 -0
- package/dist/store/backup-pack.js +581 -0
- package/dist/store/backup-pack.js.map +1 -0
- package/dist/store/backup-unpack.js +449 -0
- package/dist/store/backup-unpack.js.map +1 -0
- package/dist/store/backup.js +94 -0
- package/dist/store/backup.js.map +1 -0
- package/dist/store/brain-accessor.d.ts +7 -0
- package/dist/store/brain-accessor.d.ts.map +1 -1
- package/dist/store/brain-accessor.js +429 -0
- package/dist/store/brain-accessor.js.map +1 -0
- package/dist/store/brain-schema.d.ts +712 -45
- package/dist/store/brain-schema.d.ts.map +1 -1
- package/dist/store/brain-schema.js +549 -0
- package/dist/store/brain-schema.js.map +1 -0
- package/dist/store/brain-sqlite.d.ts.map +1 -1
- package/dist/store/brain-sqlite.js +257 -0
- package/dist/store/brain-sqlite.js.map +1 -0
- package/dist/store/cache.js +168 -0
- package/dist/store/cache.js.map +1 -0
- package/dist/store/chain-schema.js +51 -0
- package/dist/store/chain-schema.js.map +1 -0
- package/dist/store/cleanup-legacy.js +171 -0
- package/dist/store/cleanup-legacy.js.map +1 -0
- package/dist/store/conduit-sqlite.js +570 -0
- package/dist/store/conduit-sqlite.js.map +1 -0
- package/dist/store/converters.js +124 -0
- package/dist/store/converters.js.map +1 -0
- package/dist/store/cross-db-cleanup.js +319 -0
- package/dist/store/cross-db-cleanup.js.map +1 -0
- package/dist/store/data-accessor.js +26 -0
- package/dist/store/data-accessor.js.map +1 -0
- package/dist/store/data-safety-central.js +269 -0
- package/dist/store/data-safety-central.js.map +1 -0
- package/dist/store/data-safety.js +274 -0
- package/dist/store/data-safety.js.map +1 -0
- package/dist/store/db-helpers.js +224 -0
- package/dist/store/db-helpers.js.map +1 -0
- package/dist/store/export.js +155 -0
- package/dist/store/export.js.map +1 -0
- package/dist/store/file-utils.js +270 -0
- package/dist/store/file-utils.js.map +1 -0
- package/dist/store/git-checkpoint.js +365 -0
- package/dist/store/git-checkpoint.js.map +1 -0
- package/dist/store/global-salt.js +147 -0
- package/dist/store/global-salt.js.map +1 -0
- package/dist/store/import-logging.js +139 -0
- package/dist/store/import-logging.js.map +1 -0
- package/dist/store/import-remap.js +145 -0
- package/dist/store/import-remap.js.map +1 -0
- package/dist/store/import-sort.js +121 -0
- package/dist/store/import-sort.js.map +1 -0
- package/dist/store/index.js +29 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/json.js +208 -0
- package/dist/store/json.js.map +1 -0
- package/dist/store/lifecycle-store.js +249 -0
- package/dist/store/lifecycle-store.js.map +1 -0
- package/dist/store/lock.js +70 -0
- package/dist/store/lock.js.map +1 -0
- package/dist/store/migrate-signaldock-to-conduit.js +562 -0
- package/dist/store/migrate-signaldock-to-conduit.js.map +1 -0
- package/dist/store/migration-manager.d.ts +5 -1
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +288 -0
- package/dist/store/migration-manager.js.map +1 -0
- package/dist/store/migration-sqlite.js +676 -0
- package/dist/store/migration-sqlite.js.map +1 -0
- package/dist/store/nexus-schema.d.ts +480 -2
- package/dist/store/nexus-schema.d.ts.map +1 -1
- package/dist/store/nexus-schema.js +268 -0
- package/dist/store/nexus-schema.js.map +1 -0
- package/dist/store/nexus-sqlite.js +242 -0
- package/dist/store/nexus-sqlite.js.map +1 -0
- package/dist/store/nexus-validation-schemas.js +40 -0
- package/dist/store/nexus-validation-schemas.js.map +1 -0
- package/dist/store/parsers.js +37 -0
- package/dist/store/parsers.js.map +1 -0
- package/dist/store/project-detect.js +457 -0
- package/dist/store/project-detect.js.map +1 -0
- package/dist/store/provider.js +101 -0
- package/dist/store/provider.js.map +1 -0
- package/dist/store/regenerators.js +207 -0
- package/dist/store/regenerators.js.map +1 -0
- package/dist/store/restore-conflict-report.js +206 -0
- package/dist/store/restore-conflict-report.js.map +1 -0
- package/dist/store/restore-json-merge.js +454 -0
- package/dist/store/restore-json-merge.js.map +1 -0
- package/dist/store/safety-data-accessor.js +257 -0
- package/dist/store/safety-data-accessor.js.map +1 -0
- package/dist/store/schema.js +7 -0
- package/dist/store/schema.js.map +1 -0
- package/dist/store/session-store.js +219 -0
- package/dist/store/session-store.js.map +1 -0
- package/dist/store/signaldock-sqlite.js +550 -0
- package/dist/store/signaldock-sqlite.js.map +1 -0
- package/dist/store/sqlite-backup.js +498 -0
- package/dist/store/sqlite-backup.js.map +1 -0
- package/dist/store/sqlite-data-accessor.js +787 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -0
- package/dist/store/sqlite.js +483 -0
- package/dist/store/sqlite.js.map +1 -0
- package/dist/store/status-registry.js +8 -0
- package/dist/store/status-registry.js.map +1 -0
- package/dist/store/t310-readiness.js +115 -0
- package/dist/store/t310-readiness.js.map +1 -0
- package/dist/store/task-store.js +358 -0
- package/dist/store/task-store.js.map +1 -0
- package/dist/store/tasks-schema.d.ts +10 -10
- package/dist/store/tasks-schema.js +610 -0
- package/dist/store/tasks-schema.js.map +1 -0
- package/dist/store/typed-query.js +15 -0
- package/dist/store/typed-query.js.map +1 -0
- package/dist/store/validation-schemas.d.ts +50 -34
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/store/validation-schemas.js +278 -0
- package/dist/store/validation-schemas.js.map +1 -0
- package/dist/system/archive-analytics.js +277 -0
- package/dist/system/archive-analytics.js.map +1 -0
- package/dist/system/archive-stats.js +64 -0
- package/dist/system/archive-stats.js.map +1 -0
- package/dist/system/audit.js +145 -0
- package/dist/system/audit.js.map +1 -0
- package/dist/system/backup.js +280 -0
- package/dist/system/backup.js.map +1 -0
- package/dist/system/cleanup.js +134 -0
- package/dist/system/cleanup.js.map +1 -0
- package/dist/system/dependencies.d.ts +43 -0
- package/dist/system/dependencies.d.ts.map +1 -0
- package/dist/system/dependencies.js +466 -0
- package/dist/system/dependencies.js.map +1 -0
- package/dist/system/health.d.ts +3 -0
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +1206 -0
- package/dist/system/health.js.map +1 -0
- package/dist/system/index.js +18 -0
- package/dist/system/index.js.map +1 -0
- package/dist/system/inject-generate.js +122 -0
- package/dist/system/inject-generate.js.map +1 -0
- package/dist/system/labels.js +38 -0
- package/dist/system/labels.js.map +1 -0
- package/dist/system/metrics.js +61 -0
- package/dist/system/metrics.js.map +1 -0
- package/dist/system/migrate.js +43 -0
- package/dist/system/migrate.js.map +1 -0
- package/dist/system/platform-paths.js +80 -0
- package/dist/system/platform-paths.js.map +1 -0
- package/dist/system/runtime.js +161 -0
- package/dist/system/runtime.js.map +1 -0
- package/dist/system/safestop.js +89 -0
- package/dist/system/safestop.js.map +1 -0
- package/dist/system/storage-preflight.js +123 -0
- package/dist/system/storage-preflight.js.map +1 -0
- package/dist/task-work/index.js +159 -0
- package/dist/task-work/index.js.map +1 -0
- package/dist/tasks/add.js +837 -0
- package/dist/tasks/add.js.map +1 -0
- package/dist/tasks/analyze.js +85 -0
- package/dist/tasks/analyze.js.map +1 -0
- package/dist/tasks/archive.js +90 -0
- package/dist/tasks/archive.js.map +1 -0
- package/dist/tasks/atomicity.js +83 -0
- package/dist/tasks/atomicity.js.map +1 -0
- package/dist/tasks/cancel-ops.js +83 -0
- package/dist/tasks/cancel-ops.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +229 -0
- package/dist/tasks/complete.js.map +1 -0
- package/dist/tasks/crossref-extract.js +73 -0
- package/dist/tasks/crossref-extract.js.map +1 -0
- package/dist/tasks/delete-preview.js +192 -0
- package/dist/tasks/delete-preview.js.map +1 -0
- package/dist/tasks/delete.js +120 -0
- package/dist/tasks/delete.js.map +1 -0
- package/dist/tasks/deletion-strategy.js +200 -0
- package/dist/tasks/deletion-strategy.js.map +1 -0
- package/dist/tasks/dependency-check.js +278 -0
- package/dist/tasks/dependency-check.js.map +1 -0
- package/dist/tasks/deps-ready.js +32 -0
- package/dist/tasks/deps-ready.js.map +1 -0
- package/dist/tasks/enforcement.js +86 -0
- package/dist/tasks/enforcement.js.map +1 -0
- package/dist/tasks/epic-enforcement.js +294 -0
- package/dist/tasks/epic-enforcement.js.map +1 -0
- package/dist/tasks/find.js +163 -0
- package/dist/tasks/find.js.map +1 -0
- package/dist/tasks/graph-cache.js +127 -0
- package/dist/tasks/graph-cache.js.map +1 -0
- package/dist/tasks/graph-ops.d.ts.map +1 -1
- package/dist/tasks/graph-ops.js +173 -0
- package/dist/tasks/graph-ops.js.map +1 -0
- package/dist/tasks/graph-rag.js +328 -0
- package/dist/tasks/graph-rag.js.map +1 -0
- package/dist/tasks/hierarchy-policy.js +149 -0
- package/dist/tasks/hierarchy-policy.js.map +1 -0
- package/dist/tasks/hierarchy.js +185 -0
- package/dist/tasks/hierarchy.js.map +1 -0
- package/dist/tasks/id-generator.js +65 -0
- package/dist/tasks/id-generator.js.map +1 -0
- package/dist/tasks/index.js +14 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/labels.js +55 -0
- package/dist/tasks/labels.js.map +1 -0
- package/dist/tasks/list.js +75 -0
- package/dist/tasks/list.js.map +1 -0
- package/dist/tasks/phase-tracking.js +133 -0
- package/dist/tasks/phase-tracking.js.map +1 -0
- package/dist/tasks/pipeline-stage.js +248 -0
- package/dist/tasks/pipeline-stage.js.map +1 -0
- package/dist/tasks/plan.js +268 -0
- package/dist/tasks/plan.js.map +1 -0
- package/dist/tasks/relates.js +101 -0
- package/dist/tasks/relates.js.map +1 -0
- package/dist/tasks/show.js +83 -0
- package/dist/tasks/show.js.map +1 -0
- package/dist/tasks/size-weighting.js +86 -0
- package/dist/tasks/size-weighting.js.map +1 -0
- package/dist/tasks/staleness.js +86 -0
- package/dist/tasks/staleness.js.map +1 -0
- package/dist/tasks/task-ops.js +1741 -0
- package/dist/tasks/task-ops.js.map +1 -0
- package/dist/tasks/update.js +303 -0
- package/dist/tasks/update.js.map +1 -0
- package/dist/templates/index.js +10 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/parser.js +254 -0
- package/dist/templates/parser.js.map +1 -0
- package/dist/ui/aliases.js +153 -0
- package/dist/ui/aliases.js.map +1 -0
- package/dist/ui/changelog.js +184 -0
- package/dist/ui/changelog.js.map +1 -0
- package/dist/ui/command-registry.js +168 -0
- package/dist/ui/command-registry.js.map +1 -0
- package/dist/ui/flags.js +94 -0
- package/dist/ui/flags.js.map +1 -0
- package/dist/ui/index.js +24 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/upgrade.js +1148 -0
- package/dist/upgrade.js.map +1 -0
- package/dist/validation/chain-validation.js +146 -0
- package/dist/validation/chain-validation.js.map +1 -0
- package/dist/validation/compliance.js +155 -0
- package/dist/validation/compliance.js.map +1 -0
- package/dist/validation/docs-sync.js +212 -0
- package/dist/validation/docs-sync.js.map +1 -0
- package/dist/validation/doctor/checks.js +1069 -0
- package/dist/validation/doctor/checks.js.map +1 -0
- package/dist/validation/doctor/index.js +9 -0
- package/dist/validation/doctor/index.js.map +1 -0
- package/dist/validation/doctor/project-cache.js +160 -0
- package/dist/validation/doctor/project-cache.js.map +1 -0
- package/dist/validation/doctor/utils.js +155 -0
- package/dist/validation/doctor/utils.js.map +1 -0
- package/dist/validation/engine.js +914 -0
- package/dist/validation/engine.js.map +1 -0
- package/dist/validation/gap-check.js +175 -0
- package/dist/validation/gap-check.js.map +1 -0
- package/dist/validation/index.js +40 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/manifest.js +237 -0
- package/dist/validation/manifest.js.map +1 -0
- package/dist/validation/operation-gate-validators.js +724 -0
- package/dist/validation/operation-gate-validators.js.map +1 -0
- package/dist/validation/operation-verification-gates.js +532 -0
- package/dist/validation/operation-verification-gates.js.map +1 -0
- package/dist/validation/param-utils.js +141 -0
- package/dist/validation/param-utils.js.map +1 -0
- package/dist/validation/protocol-common.js +300 -0
- package/dist/validation/protocol-common.js.map +1 -0
- package/dist/validation/protocols/_shared.js +82 -0
- package/dist/validation/protocols/_shared.js.map +1 -0
- package/dist/validation/protocols/architecture-decision.js +31 -0
- package/dist/validation/protocols/architecture-decision.js.map +1 -0
- package/dist/validation/protocols/artifact-publish.js +28 -0
- package/dist/validation/protocols/artifact-publish.js.map +1 -0
- package/dist/validation/protocols/consensus.js +41 -0
- package/dist/validation/protocols/consensus.js.map +1 -0
- package/dist/validation/protocols/contribution.js +27 -0
- package/dist/validation/protocols/contribution.js.map +1 -0
- package/dist/validation/protocols/decomposition.js +28 -0
- package/dist/validation/protocols/decomposition.js.map +1 -0
- package/dist/validation/protocols/implementation.js +24 -0
- package/dist/validation/protocols/implementation.js.map +1 -0
- package/dist/validation/protocols/provenance.js +29 -0
- package/dist/validation/protocols/provenance.js.map +1 -0
- package/dist/validation/protocols/release.js +29 -0
- package/dist/validation/protocols/release.js.map +1 -0
- package/dist/validation/protocols/research.js +24 -0
- package/dist/validation/protocols/research.js.map +1 -0
- package/dist/validation/protocols/specification.js +27 -0
- package/dist/validation/protocols/specification.js.map +1 -0
- package/dist/validation/protocols/testing.js +30 -0
- package/dist/validation/protocols/testing.js.map +1 -0
- package/dist/validation/protocols/validation.js +30 -0
- package/dist/validation/protocols/validation.js.map +1 -0
- package/dist/validation/schema-integrity.js +170 -0
- package/dist/validation/schema-integrity.js.map +1 -0
- package/dist/validation/schema-validator.js +176 -0
- package/dist/validation/schema-validator.js.map +1 -0
- package/dist/validation/validate-ops.js +937 -0
- package/dist/validation/validate-ops.js.map +1 -0
- package/dist/validation/validation-rules.js +226 -0
- package/dist/validation/validation-rules.js.map +1 -0
- package/dist/validation/verification.js +321 -0
- package/dist/validation/verification.js.map +1 -0
- package/migrations/drizzle-brain/20260411000001_t528-graph-schema-expansion/migration.sql +47 -0
- package/migrations/drizzle-brain/20260412000001_t531-quality-score-typed-tables/migration.sql +23 -0
- package/migrations/drizzle-brain/20260413000001_t549-tiered-typed-memory/migration.sql +195 -0
- package/migrations/drizzle-nexus/20260412000001_t529-nexus-graph-tables/migration.sql +49 -0
- package/package.json +19 -19
- package/src/bootstrap.ts +124 -0
- package/src/code/index.ts +20 -4
- package/src/code/parser.ts +310 -110
- package/src/hooks/handlers/__tests__/hook-automation-e2e.test.ts +19 -45
- package/src/hooks/handlers/__tests__/session-hooks.test.ts +42 -54
- package/src/hooks/handlers/index.ts +6 -0
- package/src/hooks/handlers/intelligence-hooks.ts +80 -0
- package/src/hooks/handlers/session-hooks.ts +52 -33
- package/src/hooks/handlers/watchdog-hooks.ts +187 -0
- package/src/index.ts +14 -0
- package/src/injection.ts +41 -2
- package/src/internal.ts +68 -9
- package/src/lib/tree-sitter-languages.ts +11 -7
- package/src/memory/__tests__/auto-extract.test.ts +20 -82
- package/src/memory/__tests__/embedding-pipeline.test.ts +389 -0
- package/src/memory/auto-extract.ts +34 -120
- package/src/memory/brain-backfill.ts +471 -0
- package/src/memory/brain-consolidator.ts +344 -0
- package/src/memory/brain-lifecycle.ts +636 -2
- package/src/memory/brain-purge.ts +315 -0
- package/src/memory/brain-retrieval.ts +486 -2
- package/src/memory/brain-search.ts +61 -10
- package/src/memory/decisions.ts +96 -3
- package/src/memory/engine-compat.ts +177 -11
- package/src/memory/extraction-gate.ts +574 -0
- package/src/memory/graph-auto-populate.ts +173 -0
- package/src/memory/graph-queries.ts +424 -0
- package/src/memory/index.ts +6 -2
- package/src/memory/learnings.ts +87 -7
- package/src/memory/patterns.ts +95 -13
- package/src/memory/quality-scoring.ts +257 -0
- package/src/nexus/nexus-bridge.ts +444 -0
- package/src/scaffold.ts +42 -0
- package/src/sessions/__tests__/session-memory-bridge.test.ts +27 -49
- package/src/sessions/session-memory-bridge.ts +19 -47
- package/src/stats/index.ts +11 -3
- package/src/store/__tests__/brain-accessor-pageindex.test.ts +93 -22
- package/src/store/brain-accessor.ts +48 -2
- package/src/store/brain-schema.ts +403 -13
- package/src/store/brain-sqlite.ts +90 -0
- package/src/store/migration-manager.ts +83 -12
- package/src/store/nexus-schema.ts +257 -3
- package/src/system/dependencies.ts +534 -0
- package/src/system/health.ts +143 -22
- package/src/tasks/complete.ts +40 -0
- package/src/tasks/graph-ops.ts +1 -0
- package/src/tasks/task-ops.ts +1 -1
- package/templates/CLEO-INJECTION.md +15 -0
|
@@ -14,6 +14,57 @@ import { index, integer, primaryKey, real, sqliteTable, text } from 'drizzle-orm
|
|
|
14
14
|
|
|
15
15
|
// === ENUM CONSTANTS ===
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Memory retention tiers for the tiered cognitive memory model (T549).
|
|
19
|
+
*
|
|
20
|
+
* - `short` — Session-scoped working context. Volatile; auto-evicted after 48h if not promoted.
|
|
21
|
+
* - `medium` — Project-scoped verified facts. Retained for weeks; decays if unverified.
|
|
22
|
+
* - `long` — Architectural bedrock. Permanent; supersession-only eviction.
|
|
23
|
+
*
|
|
24
|
+
* NULL semantics for legacy rows: treat NULL as 'medium' at query time.
|
|
25
|
+
* (Legacy rows survived the T523 purge, so medium is a safe tier assumption.)
|
|
26
|
+
*/
|
|
27
|
+
export const BRAIN_MEMORY_TIERS = ['short', 'medium', 'long'] as const;
|
|
28
|
+
|
|
29
|
+
/** Discriminated union of all memory retention tiers. */
|
|
30
|
+
export type BrainMemoryTier = (typeof BRAIN_MEMORY_TIERS)[number];
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Cognitive type taxonomy for the tiered memory model (T549).
|
|
34
|
+
*
|
|
35
|
+
* Uses `BRAIN_COGNITIVE_TYPES` (not `BRAIN_MEMORY_TYPES`) to avoid collision
|
|
36
|
+
* with the link table enum `BRAIN_MEMORY_TYPES` (which stores entity type names).
|
|
37
|
+
*
|
|
38
|
+
* - `semantic` — Declarative facts: "what is true about this project"
|
|
39
|
+
* → brain_decisions (always), brain_learnings (default)
|
|
40
|
+
* - `episodic` — Event records: "what happened and when"
|
|
41
|
+
* → brain_observations (always), brain_learnings (transcript-derived)
|
|
42
|
+
* - `procedural` — Process knowledge: "how to do things"
|
|
43
|
+
* → brain_patterns (always)
|
|
44
|
+
*/
|
|
45
|
+
export const BRAIN_COGNITIVE_TYPES = ['semantic', 'episodic', 'procedural'] as const;
|
|
46
|
+
|
|
47
|
+
/** Discriminated union of all cognitive memory types. */
|
|
48
|
+
export type BrainCognitiveType = (typeof BRAIN_COGNITIVE_TYPES)[number];
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Source reliability levels for the tiered memory model (T549).
|
|
52
|
+
*
|
|
53
|
+
* Separate dimension from content `quality_score` — captures source trustworthiness.
|
|
54
|
+
* Each level drives a quality multiplier applied at scoring time.
|
|
55
|
+
*
|
|
56
|
+
* | Level | Meaning | Quality multiplier |
|
|
57
|
+
* |---------------|-----------------------------------------|--------------------|
|
|
58
|
+
* | `owner` | Owner explicitly stated this fact | 1.0 |
|
|
59
|
+
* | `task-outcome`| Verified by completed task with result | 0.90 |
|
|
60
|
+
* | `agent` | Agent-inferred during work (default) | 0.70 |
|
|
61
|
+
* | `speculative` | Agent hypothesis, not yet corroborated | 0.40 |
|
|
62
|
+
*/
|
|
63
|
+
export const BRAIN_SOURCE_CONFIDENCE = ['owner', 'task-outcome', 'agent', 'speculative'] as const;
|
|
64
|
+
|
|
65
|
+
/** Discriminated union of all source confidence levels. */
|
|
66
|
+
export type BrainSourceConfidence = (typeof BRAIN_SOURCE_CONFIDENCE)[number];
|
|
67
|
+
|
|
17
68
|
/** Decision types from ADR-009. */
|
|
18
69
|
export const BRAIN_DECISION_TYPES = [
|
|
19
70
|
'architecture',
|
|
@@ -94,8 +145,54 @@ export const brainDecisions = sqliteTable(
|
|
|
94
145
|
contextEpicId: text('context_epic_id'), // soft FK to tasks.id in tasks.db
|
|
95
146
|
contextTaskId: text('context_task_id'), // soft FK to tasks.id in tasks.db
|
|
96
147
|
contextPhase: text('context_phase'),
|
|
148
|
+
/**
|
|
149
|
+
* Quality score: 0.0 (noise) – 1.0 (canonical). Null for legacy entries.
|
|
150
|
+
* Computed at insert time from confidence, content richness, and context.
|
|
151
|
+
* Entries below 0.3 are excluded from search results (T531).
|
|
152
|
+
*/
|
|
153
|
+
qualityScore: real('quality_score'),
|
|
97
154
|
createdAt: text('created_at').notNull().default(sql`(datetime('now'))`),
|
|
98
155
|
updatedAt: text('updated_at'),
|
|
156
|
+
|
|
157
|
+
// T549: Tiered + Typed Memory columns
|
|
158
|
+
|
|
159
|
+
/** Memory retention tier. NULL on legacy rows → treat as 'medium' at query time. */
|
|
160
|
+
memoryTier: text('memory_tier', { enum: BRAIN_MEMORY_TIERS }).default('short'),
|
|
161
|
+
|
|
162
|
+
/** Cognitive type. Decisions are always 'semantic' (declarative architectural facts). */
|
|
163
|
+
memoryType: text('memory_type', { enum: BRAIN_COGNITIVE_TYPES }).default('semantic'),
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Ground-truth verification flag.
|
|
167
|
+
* false = agent-inferred, pending verification.
|
|
168
|
+
* true = confirmed via owner statement, task outcome, corroboration, or manual `cleo memory verify`.
|
|
169
|
+
*/
|
|
170
|
+
verified: integer('verified', { mode: 'boolean' }).notNull().default(false),
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Bitemporal: when this decision became valid (ISO 8601 text).
|
|
174
|
+
* Defaults to creation time. Can be backdated for historical facts.
|
|
175
|
+
*/
|
|
176
|
+
validAt: text('valid_at').notNull().default(sql`(datetime('now'))`),
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Bitemporal: when this decision stopped being valid.
|
|
180
|
+
* NULL = currently valid. Prefer `supersedes` graph edges for decision supersession
|
|
181
|
+
* (ADR-009); this column is a convenience gate for bulk eviction queries.
|
|
182
|
+
*/
|
|
183
|
+
invalidAt: text('invalid_at'),
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Source reliability level — separate from content quality_score (T549 §3.1.5).
|
|
187
|
+
* Drives quality multiplier at scoring time.
|
|
188
|
+
*/
|
|
189
|
+
sourceConfidence: text('source_confidence', { enum: BRAIN_SOURCE_CONFIDENCE }).default('agent'),
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Number of times this decision has been cited/retrieved (T549 CONFLICT-03).
|
|
193
|
+
* Used by the consolidator for citation-based medium→long promotion.
|
|
194
|
+
*/
|
|
195
|
+
citationCount: integer('citation_count').notNull().default(0),
|
|
99
196
|
},
|
|
100
197
|
(table) => [
|
|
101
198
|
index('idx_brain_decisions_type').on(table.type),
|
|
@@ -103,6 +200,13 @@ export const brainDecisions = sqliteTable(
|
|
|
103
200
|
index('idx_brain_decisions_outcome').on(table.outcome),
|
|
104
201
|
index('idx_brain_decisions_context_epic').on(table.contextEpicId),
|
|
105
202
|
index('idx_brain_decisions_context_task').on(table.contextTaskId),
|
|
203
|
+
index('idx_brain_decisions_quality').on(table.qualityScore),
|
|
204
|
+
// T549 indexes
|
|
205
|
+
index('idx_brain_decisions_tier').on(table.memoryTier),
|
|
206
|
+
index('idx_brain_decisions_mem_type').on(table.memoryType),
|
|
207
|
+
index('idx_brain_decisions_verified').on(table.verified),
|
|
208
|
+
index('idx_brain_decisions_valid_at').on(table.validAt),
|
|
209
|
+
index('idx_brain_decisions_source_conf').on(table.sourceConfidence),
|
|
106
210
|
],
|
|
107
211
|
);
|
|
108
212
|
|
|
@@ -123,11 +227,63 @@ export const brainPatterns = sqliteTable(
|
|
|
123
227
|
examplesJson: text('examples_json').default('[]'),
|
|
124
228
|
extractedAt: text('extracted_at').notNull().default(sql`(datetime('now'))`),
|
|
125
229
|
updatedAt: text('updated_at'),
|
|
230
|
+
/**
|
|
231
|
+
* Quality score: 0.0 (noise) – 1.0 (canonical). Null for legacy entries.
|
|
232
|
+
* Computed at insert time from type, content richness, and examples.
|
|
233
|
+
* Entries below 0.3 are excluded from search results (T531).
|
|
234
|
+
*/
|
|
235
|
+
qualityScore: real('quality_score'),
|
|
236
|
+
|
|
237
|
+
// T549: Tiered + Typed Memory columns
|
|
238
|
+
|
|
239
|
+
/** Memory retention tier. NULL on legacy rows → treat as 'medium' at query time. */
|
|
240
|
+
memoryTier: text('memory_tier', { enum: BRAIN_MEMORY_TIERS }).default('short'),
|
|
241
|
+
|
|
242
|
+
/** Cognitive type. Patterns are always 'procedural' (process/workflow knowledge). */
|
|
243
|
+
memoryType: text('memory_type', { enum: BRAIN_COGNITIVE_TYPES }).default('procedural'),
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Ground-truth verification flag.
|
|
247
|
+
* For patterns, this is complementary to frequency+successRate verification.
|
|
248
|
+
* false = agent-inferred. true = confirmed via owner statement or task outcome.
|
|
249
|
+
*/
|
|
250
|
+
verified: integer('verified', { mode: 'boolean' }).notNull().default(false),
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Bitemporal: when this pattern became valid (ISO 8601 text).
|
|
254
|
+
* Defaults to extraction time.
|
|
255
|
+
*/
|
|
256
|
+
validAt: text('valid_at').notNull().default(sql`(datetime('now'))`),
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Bitemporal: when this pattern stopped being valid.
|
|
260
|
+
* NULL = currently valid. Set by consolidator when frequency+successRate drops below threshold.
|
|
261
|
+
*/
|
|
262
|
+
invalidAt: text('invalid_at'),
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Source reliability level — separate from content quality_score (T549 §3.1.5).
|
|
266
|
+
* Drives quality multiplier at scoring time.
|
|
267
|
+
*/
|
|
268
|
+
sourceConfidence: text('source_confidence', { enum: BRAIN_SOURCE_CONFIDENCE }).default('agent'),
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Number of times this pattern has been cited/retrieved (T549 CONFLICT-03).
|
|
272
|
+
* Used by the consolidator for citation-based medium→long promotion.
|
|
273
|
+
*/
|
|
274
|
+
citationCount: integer('citation_count').notNull().default(0),
|
|
126
275
|
},
|
|
127
276
|
(table) => [
|
|
128
277
|
index('idx_brain_patterns_type').on(table.type),
|
|
129
278
|
index('idx_brain_patterns_impact').on(table.impact),
|
|
130
279
|
index('idx_brain_patterns_frequency').on(table.frequency),
|
|
280
|
+
index('idx_brain_patterns_quality').on(table.qualityScore),
|
|
281
|
+
// T549 indexes
|
|
282
|
+
index('idx_brain_patterns_tier').on(table.memoryTier),
|
|
283
|
+
index('idx_brain_patterns_mem_type').on(table.memoryType),
|
|
284
|
+
index('idx_brain_patterns_verified').on(table.verified),
|
|
285
|
+
index('idx_brain_patterns_valid_at').on(table.validAt),
|
|
286
|
+
index('idx_brain_patterns_source_conf').on(table.sourceConfidence),
|
|
131
287
|
],
|
|
132
288
|
);
|
|
133
289
|
|
|
@@ -145,10 +301,66 @@ export const brainLearnings = sqliteTable(
|
|
|
145
301
|
applicableTypesJson: text('applicable_types_json'),
|
|
146
302
|
createdAt: text('created_at').notNull().default(sql`(datetime('now'))`),
|
|
147
303
|
updatedAt: text('updated_at'),
|
|
304
|
+
/**
|
|
305
|
+
* Quality score: 0.0 (noise) – 1.0 (canonical). Null for legacy entries.
|
|
306
|
+
* Computed at insert time from confidence, actionability, and content richness.
|
|
307
|
+
* Entries below 0.3 are excluded from search results (T531).
|
|
308
|
+
*/
|
|
309
|
+
qualityScore: real('quality_score'),
|
|
310
|
+
|
|
311
|
+
// T549: Tiered + Typed Memory columns
|
|
312
|
+
|
|
313
|
+
/** Memory retention tier. NULL on legacy rows → treat as 'medium' at query time. */
|
|
314
|
+
memoryTier: text('memory_tier', { enum: BRAIN_MEMORY_TIERS }).default('short'),
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Cognitive type. Learnings are 'semantic' by default (declarative facts).
|
|
318
|
+
* Transcript-derived learnings with source containing 'transcript:ses_' are 'episodic'.
|
|
319
|
+
*/
|
|
320
|
+
memoryType: text('memory_type', { enum: BRAIN_COGNITIVE_TYPES }).default('semantic'),
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Ground-truth verification flag.
|
|
324
|
+
* false = agent-inferred, pending verification.
|
|
325
|
+
* true = confirmed via owner statement, task outcome, corroboration, or manual verify.
|
|
326
|
+
*/
|
|
327
|
+
verified: integer('verified', { mode: 'boolean' }).notNull().default(false),
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Bitemporal: when this learning became valid (ISO 8601 text).
|
|
331
|
+
* Defaults to creation time. Facts can change — use invalidAt to retire stale ones.
|
|
332
|
+
*/
|
|
333
|
+
validAt: text('valid_at').notNull().default(sql`(datetime('now'))`),
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Bitemporal: when this learning stopped being valid.
|
|
337
|
+
* NULL = currently valid. Set by consolidator on contradiction detection or TTL decay.
|
|
338
|
+
*/
|
|
339
|
+
invalidAt: text('invalid_at'),
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Source reliability level — separate from content quality_score (T549 §3.1.5).
|
|
343
|
+
* Drives quality multiplier at scoring time.
|
|
344
|
+
*/
|
|
345
|
+
sourceConfidence: text('source_confidence', { enum: BRAIN_SOURCE_CONFIDENCE }).default('agent'),
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Number of times this learning has been cited/retrieved (T549 CONFLICT-03).
|
|
349
|
+
* Used by the consolidator for citation-based medium→long promotion.
|
|
350
|
+
*/
|
|
351
|
+
citationCount: integer('citation_count').notNull().default(0),
|
|
148
352
|
},
|
|
149
353
|
(table) => [
|
|
150
354
|
index('idx_brain_learnings_confidence').on(table.confidence),
|
|
151
355
|
index('idx_brain_learnings_actionable').on(table.actionable),
|
|
356
|
+
index('idx_brain_learnings_quality').on(table.qualityScore),
|
|
357
|
+
// T549 indexes
|
|
358
|
+
index('idx_brain_learnings_tier').on(table.memoryTier),
|
|
359
|
+
index('idx_brain_learnings_mem_type').on(table.memoryType),
|
|
360
|
+
index('idx_brain_learnings_verified').on(table.verified),
|
|
361
|
+
index('idx_brain_learnings_valid_at').on(table.validAt),
|
|
362
|
+
index('idx_brain_learnings_invalid').on(table.invalidAt),
|
|
363
|
+
index('idx_brain_learnings_source_conf').on(table.sourceConfidence),
|
|
152
364
|
],
|
|
153
365
|
);
|
|
154
366
|
|
|
@@ -176,8 +388,54 @@ export const brainObservations = sqliteTable(
|
|
|
176
388
|
agent: text('agent'), // nullable — null for legacy observations
|
|
177
389
|
contentHash: text('content_hash'), // SHA-256 prefix for dedup
|
|
178
390
|
discoveryTokens: integer('discovery_tokens'), // cost to produce this observation
|
|
391
|
+
/**
|
|
392
|
+
* Quality score: 0.0 (noise) – 1.0 (canonical). Null for legacy entries.
|
|
393
|
+
* Computed at insert time from content richness and title length.
|
|
394
|
+
* Entries below 0.3 are excluded from search results (T531).
|
|
395
|
+
*/
|
|
396
|
+
qualityScore: real('quality_score'),
|
|
179
397
|
createdAt: text('created_at').notNull().default(sql`(datetime('now'))`),
|
|
180
398
|
updatedAt: text('updated_at'),
|
|
399
|
+
|
|
400
|
+
// T549: Tiered + Typed Memory columns
|
|
401
|
+
|
|
402
|
+
/** Memory retention tier. NULL on legacy rows → treat as 'medium' at query time. */
|
|
403
|
+
memoryTier: text('memory_tier', { enum: BRAIN_MEMORY_TIERS }).default('short'),
|
|
404
|
+
|
|
405
|
+
/** Cognitive type. Observations are always 'episodic' (time-anchored event records). */
|
|
406
|
+
memoryType: text('memory_type', { enum: BRAIN_COGNITIVE_TYPES }).default('episodic'),
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Ground-truth verification flag.
|
|
410
|
+
* false = agent-inferred, pending verification.
|
|
411
|
+
* true = confirmed via owner statement, task outcome, corroboration, or manual verify.
|
|
412
|
+
*/
|
|
413
|
+
verified: integer('verified', { mode: 'boolean' }).notNull().default(false),
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Bitemporal: when this observation became valid (ISO 8601 text).
|
|
417
|
+
* Defaults to creation time. Can be backdated for historical facts.
|
|
418
|
+
*/
|
|
419
|
+
validAt: text('valid_at').notNull().default(sql`(datetime('now'))`),
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Bitemporal: when this observation stopped being valid.
|
|
423
|
+
* NULL = currently valid. Set by consolidator on contradiction detection.
|
|
424
|
+
* Temporal query pattern: WHERE valid_at <= :t AND (invalid_at IS NULL OR invalid_at > :t)
|
|
425
|
+
*/
|
|
426
|
+
invalidAt: text('invalid_at'),
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Source reliability level — separate from content quality_score (T549 §3.1.5).
|
|
430
|
+
* Drives quality multiplier at scoring time.
|
|
431
|
+
*/
|
|
432
|
+
sourceConfidence: text('source_confidence', { enum: BRAIN_SOURCE_CONFIDENCE }).default('agent'),
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* Number of times this observation has been cited/retrieved (T549 CONFLICT-03).
|
|
436
|
+
* Used by the consolidator for citation-based medium→long promotion.
|
|
437
|
+
*/
|
|
438
|
+
citationCount: integer('citation_count').notNull().default(0),
|
|
181
439
|
},
|
|
182
440
|
(table) => [
|
|
183
441
|
index('idx_brain_observations_type').on(table.type),
|
|
@@ -191,6 +449,15 @@ export const brainObservations = sqliteTable(
|
|
|
191
449
|
index('idx_brain_observations_type_project').on(table.type, table.project),
|
|
192
450
|
// T417: agent provenance index for memory.find --agent filter
|
|
193
451
|
index('idx_brain_observations_agent').on(table.agent),
|
|
452
|
+
// T531: quality score filter index
|
|
453
|
+
index('idx_brain_observations_quality').on(table.qualityScore),
|
|
454
|
+
// T549 indexes
|
|
455
|
+
index('idx_brain_observations_tier').on(table.memoryTier),
|
|
456
|
+
index('idx_brain_observations_mem_type').on(table.memoryType),
|
|
457
|
+
index('idx_brain_observations_verified').on(table.verified),
|
|
458
|
+
index('idx_brain_observations_valid_at').on(table.validAt),
|
|
459
|
+
index('idx_brain_observations_invalid').on(table.invalidAt),
|
|
460
|
+
index('idx_brain_observations_source_conf').on(table.sourceConfidence),
|
|
194
461
|
],
|
|
195
462
|
);
|
|
196
463
|
|
|
@@ -244,41 +511,163 @@ export const brainSchemaMeta = sqliteTable('brain_schema_meta', {
|
|
|
244
511
|
value: text('value').notNull(),
|
|
245
512
|
});
|
|
246
513
|
|
|
247
|
-
// === PAGEINDEX GRAPH TABLES (T5160) ===
|
|
514
|
+
// === PAGEINDEX GRAPH TABLES (T5160, expanded T528) ===
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* Node types for the graph-native memory model.
|
|
518
|
+
* Mirrors typed tables (decision, pattern, learning, observation, sticky),
|
|
519
|
+
* adds task provenance (task, session, epic), codebase bridging (file, symbol),
|
|
520
|
+
* and abstract/synthesized types (concept, summary).
|
|
521
|
+
*/
|
|
522
|
+
export const BRAIN_NODE_TYPES = [
|
|
523
|
+
// Memory entity types (mirror typed tables)
|
|
524
|
+
'decision',
|
|
525
|
+
'pattern',
|
|
526
|
+
'learning',
|
|
527
|
+
'observation',
|
|
528
|
+
'sticky',
|
|
529
|
+
// Task provenance (soft FK into tasks.db)
|
|
530
|
+
'task',
|
|
531
|
+
'session',
|
|
532
|
+
'epic',
|
|
533
|
+
// Codebase integration (bridge to nexus.db code_index)
|
|
534
|
+
'file',
|
|
535
|
+
'symbol',
|
|
536
|
+
// Abstract / synthesized
|
|
537
|
+
'concept',
|
|
538
|
+
'summary',
|
|
539
|
+
] as const;
|
|
540
|
+
|
|
541
|
+
/** Discriminated union of all supported brain graph node types. */
|
|
542
|
+
export type BrainNodeType = (typeof BRAIN_NODE_TYPES)[number];
|
|
248
543
|
|
|
249
|
-
/**
|
|
250
|
-
|
|
544
|
+
/**
|
|
545
|
+
* Edge types for the graph-native memory model.
|
|
546
|
+
* Covers provenance/derivation, semantic relationships, structural links,
|
|
547
|
+
* and graph bridging between memory entities and codebase nodes.
|
|
548
|
+
*/
|
|
549
|
+
export const BRAIN_EDGE_TYPES = [
|
|
550
|
+
// Provenance / derivation
|
|
551
|
+
'derived_from', // learning ← derived_from ← observation
|
|
552
|
+
'produced_by', // observation ← produced_by ← session
|
|
553
|
+
'informed_by', // decision ← informed_by ← pattern
|
|
554
|
+
// Semantic relationship
|
|
555
|
+
'supports', // observation → supports → decision
|
|
556
|
+
'contradicts', // observation → contradicts → decision
|
|
557
|
+
'supersedes', // decision → supersedes → decision (older)
|
|
558
|
+
'applies_to', // decision/pattern → applies_to → task/file/symbol
|
|
559
|
+
// Structural
|
|
560
|
+
'documents', // observation → documents → symbol/file
|
|
561
|
+
'summarizes', // summary → summarizes → observation (consolidation)
|
|
562
|
+
'part_of', // task → part_of → epic
|
|
563
|
+
// Graph bridging (memory ↔ code)
|
|
564
|
+
'references', // observation → references → symbol
|
|
565
|
+
'modified_by', // file → modified_by → session
|
|
566
|
+
] as const;
|
|
251
567
|
|
|
252
|
-
/**
|
|
253
|
-
export
|
|
568
|
+
/** Discriminated union of all supported brain graph edge types. */
|
|
569
|
+
export type BrainEdgeType = (typeof BRAIN_EDGE_TYPES)[number];
|
|
254
570
|
|
|
255
|
-
/**
|
|
571
|
+
/**
|
|
572
|
+
* Graph nodes table — the traversable knowledge graph layer.
|
|
573
|
+
*
|
|
574
|
+
* Every entity row in a typed table (decisions, patterns, learnings,
|
|
575
|
+
* observations) gets a corresponding node here. The typed table row is
|
|
576
|
+
* the source of truth; the graph node is the index entry for traversal
|
|
577
|
+
* and cross-entity reasoning.
|
|
578
|
+
*
|
|
579
|
+
* Node ID convention: '<type>:<source-id>'
|
|
580
|
+
* Examples: 'decision:D-abc123', 'observation:O-mntphoj6-0',
|
|
581
|
+
* 'task:T523', 'symbol:src/store/brain-schema.ts::brainPageNodes'
|
|
582
|
+
*/
|
|
256
583
|
export const brainPageNodes = sqliteTable(
|
|
257
584
|
'brain_page_nodes',
|
|
258
585
|
{
|
|
259
|
-
|
|
586
|
+
/** Stable composite ID: '<type>:<source-id>' */
|
|
587
|
+
id: text('id').primaryKey(),
|
|
588
|
+
|
|
589
|
+
/** Discriminated type from BRAIN_NODE_TYPES. */
|
|
260
590
|
nodeType: text('node_type', { enum: BRAIN_NODE_TYPES }).notNull(),
|
|
591
|
+
|
|
592
|
+
/** Human-readable label (title, name, or generated summary). */
|
|
261
593
|
label: text('label').notNull(),
|
|
262
|
-
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Quality score: 0.0 (noise) – 1.0 (canonical).
|
|
597
|
+
* Derived from: source confidence, edge density, age decay, agent provenance.
|
|
598
|
+
* Default 0.5 for unknown provenance; 0.0 triggers exclusion from traversal.
|
|
599
|
+
*/
|
|
600
|
+
qualityScore: real('quality_score').notNull().default(0.5),
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* SHA-256 prefix (first 16 hex chars) of the canonical content.
|
|
604
|
+
* Computed at insert time; duplicate hashes are rejected.
|
|
605
|
+
* Null for external references (task, session, symbol nodes).
|
|
606
|
+
*/
|
|
607
|
+
contentHash: text('content_hash'),
|
|
608
|
+
|
|
609
|
+
/**
|
|
610
|
+
* ISO 8601 timestamp of last activity on this node.
|
|
611
|
+
* Updated when new edges are added, quality changes, or content is revised.
|
|
612
|
+
*/
|
|
613
|
+
lastActivityAt: text('last_activity_at').notNull().default(sql`(datetime('now'))`),
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Extensible JSON metadata blob — type-specific payload.
|
|
617
|
+
* decision: { type, confidence, outcome }
|
|
618
|
+
* observation: { sourceType, agent, sessionId }
|
|
619
|
+
* symbol: { filePath, kind, startLine, endLine, language }
|
|
620
|
+
* task: { status, priority, epicId }
|
|
621
|
+
*/
|
|
622
|
+
metadataJson: text('metadata_json'),
|
|
623
|
+
|
|
263
624
|
createdAt: text('created_at').notNull().default(sql`(datetime('now'))`),
|
|
625
|
+
updatedAt: text('updated_at'),
|
|
264
626
|
},
|
|
265
|
-
(table) => [
|
|
627
|
+
(table) => [
|
|
628
|
+
index('idx_brain_nodes_type').on(table.nodeType),
|
|
629
|
+
index('idx_brain_nodes_quality').on(table.qualityScore),
|
|
630
|
+
index('idx_brain_nodes_content_hash').on(table.contentHash),
|
|
631
|
+
index('idx_brain_nodes_last_activity').on(table.lastActivityAt),
|
|
632
|
+
],
|
|
266
633
|
);
|
|
267
634
|
|
|
268
|
-
/**
|
|
635
|
+
/**
|
|
636
|
+
* Graph edges table — directed, typed, weighted, provenance-aware links
|
|
637
|
+
* between brain_page_nodes entries (or external nexus node IDs).
|
|
638
|
+
*
|
|
639
|
+
* The composite primary key (fromId, toId, edgeType) prevents duplicate
|
|
640
|
+
* edges of the same type between the same pair of nodes.
|
|
641
|
+
*/
|
|
269
642
|
export const brainPageEdges = sqliteTable(
|
|
270
643
|
'brain_page_edges',
|
|
271
644
|
{
|
|
272
|
-
fromId: text('from_id').notNull(),
|
|
273
|
-
toId: text('to_id').notNull(),
|
|
645
|
+
fromId: text('from_id').notNull(), // brain_page_nodes.id
|
|
646
|
+
toId: text('to_id').notNull(), // brain_page_nodes.id or nexus node id
|
|
274
647
|
edgeType: text('edge_type', { enum: BRAIN_EDGE_TYPES }).notNull(),
|
|
275
|
-
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* Edge weight / confidence: 0.0 – 1.0.
|
|
651
|
+
* Semantic edges use extractor confidence (similarity score).
|
|
652
|
+
* Structural edges use 1.0 (deterministic).
|
|
653
|
+
* Contradiction edges store the overlap score that triggered detection.
|
|
654
|
+
*/
|
|
655
|
+
weight: real('weight').notNull().default(1.0),
|
|
656
|
+
|
|
657
|
+
/**
|
|
658
|
+
* Human-readable note on why this edge was emitted.
|
|
659
|
+
* Examples: 'auto:task-complete' | 'auto:session-end' |
|
|
660
|
+
* 'auto:contradiction-detected' | 'auto:consolidation' | 'manual'
|
|
661
|
+
*/
|
|
662
|
+
provenance: text('provenance'),
|
|
663
|
+
|
|
276
664
|
createdAt: text('created_at').notNull().default(sql`(datetime('now'))`),
|
|
277
665
|
},
|
|
278
666
|
(table) => [
|
|
279
667
|
primaryKey({ columns: [table.fromId, table.toId, table.edgeType] }),
|
|
280
668
|
index('idx_brain_edges_from').on(table.fromId),
|
|
281
669
|
index('idx_brain_edges_to').on(table.toId),
|
|
670
|
+
index('idx_brain_edges_type').on(table.edgeType),
|
|
282
671
|
],
|
|
283
672
|
);
|
|
284
673
|
|
|
@@ -300,3 +689,4 @@ export type BrainPageEdgeRow = typeof brainPageEdges.$inferSelect;
|
|
|
300
689
|
export type NewBrainPageEdgeRow = typeof brainPageEdges.$inferInsert;
|
|
301
690
|
export type BrainStickyNoteRow = typeof brainStickyNotes.$inferSelect;
|
|
302
691
|
export type NewBrainStickyNoteRow = typeof brainStickyNotes.$inferInsert;
|
|
692
|
+
// BrainNodeType and BrainEdgeType are declared alongside their enum arrays above.
|
|
@@ -22,6 +22,7 @@ import { getCleoDirAbsolute } from '../paths.js';
|
|
|
22
22
|
import * as brainSchema from './brain-schema.js';
|
|
23
23
|
import {
|
|
24
24
|
createSafetyBackup,
|
|
25
|
+
ensureColumns,
|
|
25
26
|
migrateWithRetry,
|
|
26
27
|
reconcileJournal,
|
|
27
28
|
tableExists,
|
|
@@ -96,6 +97,60 @@ function runBrainMigrations(
|
|
|
96
97
|
// Pass nativeDb + existenceTable so migrateWithRetry can auto-reconcile any
|
|
97
98
|
// partial migration (Scenario 3) that slips through the proactive check above.
|
|
98
99
|
migrateWithRetry(db, migrationsFolder, nativeDb, 'brain_decisions', 'brain');
|
|
100
|
+
|
|
101
|
+
// Safety net: ensure all columns from T528/T531/T549 exist even if the
|
|
102
|
+
// migration files were never committed to git or the journal was not updated.
|
|
103
|
+
// ensureColumns uses PRAGMA table_info + ALTER TABLE ADD COLUMN — idempotent.
|
|
104
|
+
|
|
105
|
+
// T528: graph schema expansion — quality scoring, content hashing, last-activity.
|
|
106
|
+
// Note: last_activity_at uses nullable text (no non-constant default) because
|
|
107
|
+
// ALTER TABLE ADD COLUMN with datetime('now') default fails on non-empty tables.
|
|
108
|
+
ensureColumns(
|
|
109
|
+
nativeDb,
|
|
110
|
+
'brain_page_nodes',
|
|
111
|
+
[
|
|
112
|
+
{ name: 'quality_score', ddl: 'real DEFAULT 0.5' },
|
|
113
|
+
{ name: 'content_hash', ddl: 'text' },
|
|
114
|
+
{ name: 'last_activity_at', ddl: 'text' },
|
|
115
|
+
{ name: 'updated_at', ddl: 'text' },
|
|
116
|
+
],
|
|
117
|
+
'brain',
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
// T531: quality score on typed brain tables
|
|
121
|
+
for (const table of [
|
|
122
|
+
'brain_decisions',
|
|
123
|
+
'brain_patterns',
|
|
124
|
+
'brain_learnings',
|
|
125
|
+
'brain_observations',
|
|
126
|
+
] as const) {
|
|
127
|
+
ensureColumns(nativeDb, table, [{ name: 'quality_score', ddl: 'real' }], 'brain');
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// T549: tiered + typed memory architecture
|
|
131
|
+
for (const table of [
|
|
132
|
+
'brain_decisions',
|
|
133
|
+
'brain_patterns',
|
|
134
|
+
'brain_learnings',
|
|
135
|
+
'brain_observations',
|
|
136
|
+
] as const) {
|
|
137
|
+
ensureColumns(
|
|
138
|
+
nativeDb,
|
|
139
|
+
table,
|
|
140
|
+
[
|
|
141
|
+
{ name: 'memory_tier', ddl: "text DEFAULT 'short'" },
|
|
142
|
+
{ name: 'memory_type', ddl: "text DEFAULT 'episodic'" },
|
|
143
|
+
{ name: 'verified', ddl: 'integer NOT NULL DEFAULT 0' },
|
|
144
|
+
// valid_at uses nullable text (no datetime('now') default) because
|
|
145
|
+
// ALTER TABLE ADD COLUMN with non-constant defaults fails on non-empty tables.
|
|
146
|
+
{ name: 'valid_at', ddl: 'text' },
|
|
147
|
+
{ name: 'invalid_at', ddl: 'text' },
|
|
148
|
+
{ name: 'source_confidence', ddl: "text DEFAULT 'agent'" },
|
|
149
|
+
{ name: 'citation_count', ddl: 'integer NOT NULL DEFAULT 0' },
|
|
150
|
+
],
|
|
151
|
+
'brain',
|
|
152
|
+
);
|
|
153
|
+
}
|
|
99
154
|
}
|
|
100
155
|
|
|
101
156
|
/**
|
|
@@ -142,6 +197,30 @@ export function isBrainVecLoaded(): boolean {
|
|
|
142
197
|
return _vecLoaded;
|
|
143
198
|
}
|
|
144
199
|
|
|
200
|
+
/**
|
|
201
|
+
* Initialize the default embedding provider when brain.embedding.enabled is true.
|
|
202
|
+
*
|
|
203
|
+
* Called asynchronously after getBrainDb() completes its synchronous setup.
|
|
204
|
+
* Uses dynamic import to avoid circular dependencies and keep the heavy
|
|
205
|
+
* @huggingface/transformers bundle out of the critical startup path.
|
|
206
|
+
*
|
|
207
|
+
* Best-effort: errors are swallowed by the caller so DB access is never blocked.
|
|
208
|
+
*
|
|
209
|
+
* @task T539
|
|
210
|
+
*/
|
|
211
|
+
async function initEmbeddingProvider(cwd?: string): Promise<void> {
|
|
212
|
+
try {
|
|
213
|
+
const { loadConfig } = await import('../config.js');
|
|
214
|
+
const config = await loadConfig(cwd);
|
|
215
|
+
if (config.brain?.embedding?.enabled) {
|
|
216
|
+
const { initDefaultProvider } = await import('../memory/brain-embedding.js');
|
|
217
|
+
await initDefaultProvider();
|
|
218
|
+
}
|
|
219
|
+
} catch {
|
|
220
|
+
// Config load or provider init failed — non-fatal, embedding stays unavailable
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
145
224
|
/**
|
|
146
225
|
* Initialize the brain.db SQLite database (lazy, singleton).
|
|
147
226
|
* Creates the database file and tables if they don't exist.
|
|
@@ -200,6 +279,17 @@ export async function getBrainDb(cwd?: string): Promise<NodeSQLiteDatabase<typeo
|
|
|
200
279
|
|
|
201
280
|
// Set singleton only after migrations complete
|
|
202
281
|
_db = db;
|
|
282
|
+
|
|
283
|
+
// Wire the default embedding provider when vec is loaded and embedding is enabled.
|
|
284
|
+
// Best-effort, async, never blocks DB access. (T539)
|
|
285
|
+
if (_vecLoaded) {
|
|
286
|
+
setImmediate(() => {
|
|
287
|
+
initEmbeddingProvider(cwd).catch(() => {
|
|
288
|
+
// Non-fatal — embedding will be unavailable until next startup
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
|
|
203
293
|
return db;
|
|
204
294
|
})();
|
|
205
295
|
|