@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
package/src/memory/learnings.ts
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
import { randomBytes } from 'node:crypto';
|
|
14
14
|
import { getBrainAccessor } from '../store/brain-accessor.js';
|
|
15
|
+
import { upsertGraphNode } from './graph-auto-populate.js';
|
|
16
|
+
import { computeLearningQuality } from './quality-scoring.js';
|
|
15
17
|
|
|
16
18
|
/** Parameters for storing a new learning. */
|
|
17
19
|
export interface StoreLearningParams {
|
|
@@ -44,10 +46,10 @@ function generateLearningId(): string {
|
|
|
44
46
|
* @task T4769, T5241
|
|
45
47
|
*/
|
|
46
48
|
export async function storeLearning(projectRoot: string, params: StoreLearningParams) {
|
|
47
|
-
if (!params.insight
|
|
49
|
+
if (!params.insight?.trim()) {
|
|
48
50
|
throw new Error('Insight text is required');
|
|
49
51
|
}
|
|
50
|
-
if (!params.source
|
|
52
|
+
if (!params.source?.trim()) {
|
|
51
53
|
throw new Error('Source is required');
|
|
52
54
|
}
|
|
53
55
|
if (params.confidence < 0 || params.confidence > 1) {
|
|
@@ -55,18 +57,77 @@ export async function storeLearning(projectRoot: string, params: StoreLearningPa
|
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
const accessor = await getBrainAccessor(projectRoot);
|
|
58
|
-
const now = new Date().toISOString().replace('T', ' ').slice(0, 19);
|
|
59
60
|
|
|
60
|
-
// Check for duplicate insight
|
|
61
|
+
// Check for duplicate insight by normalized text
|
|
61
62
|
const existingLearnings = await accessor.findLearnings();
|
|
63
|
+
const normalizedInput = params.insight.trim().toLowerCase();
|
|
62
64
|
const duplicate = existingLearnings.find(
|
|
63
|
-
(e) => e.insight.toLowerCase() ===
|
|
65
|
+
(e) => e.insight.trim().toLowerCase() === normalizedInput,
|
|
64
66
|
);
|
|
65
67
|
|
|
66
68
|
if (duplicate) {
|
|
67
|
-
//
|
|
69
|
+
// Take the higher confidence value and update the timestamp
|
|
70
|
+
const maxConfidence = Math.max(duplicate.confidence, params.confidence);
|
|
71
|
+
await accessor.updateLearning(duplicate.id, {
|
|
72
|
+
confidence: maxConfidence,
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
const updated = await accessor.getLearning(duplicate.id);
|
|
76
|
+
|
|
77
|
+
// Refresh graph node for the updated learning (best-effort, T537).
|
|
78
|
+
upsertGraphNode(
|
|
79
|
+
projectRoot,
|
|
80
|
+
`learning:${duplicate.id}`,
|
|
81
|
+
'learning',
|
|
82
|
+
duplicate.insight.substring(0, 200),
|
|
83
|
+
duplicate.qualityScore ?? 0.5,
|
|
84
|
+
duplicate.insight + (duplicate.application ?? ''),
|
|
85
|
+
{ source: duplicate.source, confidence: maxConfidence, actionable: duplicate.actionable },
|
|
86
|
+
).catch(() => {
|
|
87
|
+
/* best-effort */
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
...updated!,
|
|
92
|
+
applicableTypes: JSON.parse(updated!.applicableTypesJson || '[]'),
|
|
93
|
+
};
|
|
68
94
|
}
|
|
69
95
|
|
|
96
|
+
// T549 Wave 1-A: Tier routing for learnings.
|
|
97
|
+
// Learnings are short-term semantic entries — they start unverified and must earn promotion.
|
|
98
|
+
// sourceConfidence routing (spec §4.1 Decision Tree):
|
|
99
|
+
// - source contains 'manual' → 'owner' (manually entered learnings are owner-stated)
|
|
100
|
+
// - source contains 'transcript:ses_' → 'speculative' (transcript-extracted, low confidence)
|
|
101
|
+
// - otherwise → 'agent' (agent-generated during session grading, hooks, etc.)
|
|
102
|
+
// memoryTier routing:
|
|
103
|
+
// - source contains 'manual' → 'medium' (owner-stated facts skip short-term)
|
|
104
|
+
// - otherwise → 'short' (auto/agent learnings start short-term, consolidator promotes)
|
|
105
|
+
// memoryType routing (spec §4.1 Decision Tree for memoryType):
|
|
106
|
+
// - source contains 'transcript:ses_' → 'episodic' (event-specific insight)
|
|
107
|
+
// - otherwise → 'semantic' (declarative factual learning)
|
|
108
|
+
// verified = false (learnings need corroboration or manual verify gate)
|
|
109
|
+
const isManual = params.source.includes('manual');
|
|
110
|
+
const isTranscript = params.source.includes('transcript:ses_');
|
|
111
|
+
const sourceConfidence = isManual
|
|
112
|
+
? ('owner' as const)
|
|
113
|
+
: isTranscript
|
|
114
|
+
? ('speculative' as const)
|
|
115
|
+
: ('agent' as const);
|
|
116
|
+
const memoryTier = isManual ? ('medium' as const) : ('short' as const);
|
|
117
|
+
const memoryType = isTranscript ? ('episodic' as const) : ('semantic' as const);
|
|
118
|
+
const verified = false;
|
|
119
|
+
|
|
120
|
+
// Compute quality score from confidence, actionability, content richness,
|
|
121
|
+
// and T549 source multiplier.
|
|
122
|
+
const qualityScore = computeLearningQuality({
|
|
123
|
+
confidence: params.confidence,
|
|
124
|
+
actionable: params.actionable ?? false,
|
|
125
|
+
insight: params.insight.trim(),
|
|
126
|
+
application: params.application ?? null,
|
|
127
|
+
sourceConfidence,
|
|
128
|
+
memoryTier,
|
|
129
|
+
});
|
|
130
|
+
|
|
70
131
|
// Create new entry
|
|
71
132
|
const entry = {
|
|
72
133
|
id: generateLearningId(),
|
|
@@ -76,10 +137,29 @@ export async function storeLearning(projectRoot: string, params: StoreLearningPa
|
|
|
76
137
|
actionable: params.actionable ?? false,
|
|
77
138
|
application: params.application ?? null,
|
|
78
139
|
applicableTypesJson: params.applicableTypes ? JSON.stringify(params.applicableTypes) : '[]',
|
|
79
|
-
|
|
140
|
+
qualityScore,
|
|
141
|
+
// T549 Wave 1-A: tier/type/confidence assigned at write time
|
|
142
|
+
memoryTier,
|
|
143
|
+
memoryType,
|
|
144
|
+
sourceConfidence,
|
|
145
|
+
verified,
|
|
80
146
|
};
|
|
81
147
|
|
|
82
148
|
const saved = await accessor.addLearning(entry);
|
|
149
|
+
|
|
150
|
+
// Auto-populate graph node for the new learning (best-effort, T537).
|
|
151
|
+
upsertGraphNode(
|
|
152
|
+
projectRoot,
|
|
153
|
+
`learning:${saved.id}`,
|
|
154
|
+
'learning',
|
|
155
|
+
saved.insight.substring(0, 200),
|
|
156
|
+
qualityScore,
|
|
157
|
+
saved.insight + (saved.application ?? ''),
|
|
158
|
+
{ source: saved.source, confidence: saved.confidence, actionable: saved.actionable },
|
|
159
|
+
).catch(() => {
|
|
160
|
+
/* best-effort */
|
|
161
|
+
});
|
|
162
|
+
|
|
83
163
|
return {
|
|
84
164
|
...saved,
|
|
85
165
|
applicableTypes: JSON.parse(saved.applicableTypesJson || '[]'),
|
package/src/memory/patterns.ts
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
import { randomBytes } from 'node:crypto';
|
|
14
14
|
import { getBrainAccessor } from '../store/brain-accessor.js';
|
|
15
|
+
import { upsertGraphNode } from './graph-auto-populate.js';
|
|
16
|
+
import { computePatternQuality } from './quality-scoring.js';
|
|
15
17
|
|
|
16
18
|
/** Pattern types from ADR-009. */
|
|
17
19
|
export type PatternType = 'workflow' | 'blocker' | 'success' | 'failure' | 'optimization';
|
|
@@ -29,6 +31,12 @@ export interface StorePatternParams {
|
|
|
29
31
|
mitigation?: string;
|
|
30
32
|
examples?: string[];
|
|
31
33
|
successRate?: number;
|
|
34
|
+
/**
|
|
35
|
+
* T549 Wave 1-A: origin of this pattern.
|
|
36
|
+
* Used to route sourceConfidence at write time.
|
|
37
|
+
* Values starting with 'auto' map to 'speculative'; otherwise 'agent'.
|
|
38
|
+
*/
|
|
39
|
+
source?: string;
|
|
32
40
|
}
|
|
33
41
|
|
|
34
42
|
/** Parameters for searching patterns. */
|
|
@@ -53,34 +61,88 @@ function generatePatternId(): string {
|
|
|
53
61
|
* @task T4768, T5241
|
|
54
62
|
*/
|
|
55
63
|
export async function storePattern(projectRoot: string, params: StorePatternParams) {
|
|
56
|
-
if (!params.pattern
|
|
64
|
+
if (!params.pattern?.trim()) {
|
|
57
65
|
throw new Error('Pattern description is required');
|
|
58
66
|
}
|
|
59
|
-
if (!params.context
|
|
67
|
+
if (!params.context?.trim()) {
|
|
60
68
|
throw new Error('Pattern context is required');
|
|
61
69
|
}
|
|
62
70
|
|
|
63
71
|
const accessor = await getBrainAccessor(projectRoot);
|
|
64
72
|
|
|
65
|
-
//
|
|
66
|
-
// Currently we just match on type and exact text
|
|
73
|
+
// Search for duplicate pattern by normalized text within same type
|
|
67
74
|
const existingPatterns = await accessor.findPatterns({ type: params.type });
|
|
75
|
+
const normalizedInput = params.pattern.trim().toLowerCase();
|
|
68
76
|
const duplicate = existingPatterns.find(
|
|
69
|
-
(e) => e.pattern.toLowerCase() ===
|
|
77
|
+
(e) => e.pattern.trim().toLowerCase() === normalizedInput,
|
|
70
78
|
);
|
|
71
79
|
|
|
72
80
|
const now = new Date().toISOString().replace('T', ' ').slice(0, 19);
|
|
73
81
|
|
|
74
82
|
if (duplicate) {
|
|
75
|
-
//
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
83
|
+
// Merge examples arrays (union of task IDs)
|
|
84
|
+
const existingExamples: string[] = JSON.parse(duplicate.examplesJson || '[]');
|
|
85
|
+
const newExamples: string[] = params.examples ?? [];
|
|
86
|
+
const mergedExamples = Array.from(new Set([...existingExamples, ...newExamples]));
|
|
87
|
+
|
|
88
|
+
await accessor.updatePattern(duplicate.id, {
|
|
89
|
+
frequency: duplicate.frequency + 1,
|
|
90
|
+
extractedAt: now,
|
|
91
|
+
examplesJson: JSON.stringify(mergedExamples),
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const updated = await accessor.getPattern(duplicate.id);
|
|
95
|
+
|
|
96
|
+
// Refresh graph node for the updated (incremented) pattern (best-effort, T537).
|
|
97
|
+
upsertGraphNode(
|
|
98
|
+
projectRoot,
|
|
99
|
+
`pattern:${duplicate.id}`,
|
|
100
|
+
'pattern',
|
|
101
|
+
duplicate.pattern.substring(0, 200),
|
|
102
|
+
duplicate.qualityScore ?? 0.5,
|
|
103
|
+
duplicate.pattern + duplicate.context,
|
|
104
|
+
{
|
|
105
|
+
type: duplicate.type,
|
|
106
|
+
impact: duplicate.impact ?? undefined,
|
|
107
|
+
frequency: duplicate.frequency + 1,
|
|
108
|
+
},
|
|
109
|
+
).catch(() => {
|
|
110
|
+
/* best-effort */
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
return {
|
|
114
|
+
...updated!,
|
|
115
|
+
examples: mergedExamples,
|
|
116
|
+
};
|
|
82
117
|
}
|
|
83
118
|
|
|
119
|
+
// T549 Wave 1-A: Tier routing for patterns.
|
|
120
|
+
// Patterns are medium-term procedural entries — they describe how things work.
|
|
121
|
+
// sourceConfidence routing (spec §4.1 Decision Tree):
|
|
122
|
+
// - source starts with 'auto' → 'speculative' (auto-extracted, unconfirmed)
|
|
123
|
+
// - otherwise → 'agent' (agent-observed during work)
|
|
124
|
+
// memoryTier = 'medium' (patterns have more than one observation and are project-scoped)
|
|
125
|
+
// memoryType = 'procedural' (patterns are always process knowledge)
|
|
126
|
+
// verified = false (patterns need validation through repetition, not boolean gate)
|
|
127
|
+
const memoryTier = 'medium' as const;
|
|
128
|
+
const memoryType = 'procedural' as const;
|
|
129
|
+
const sourceConfidence = params.source?.startsWith('auto')
|
|
130
|
+
? ('speculative' as const)
|
|
131
|
+
: ('agent' as const);
|
|
132
|
+
const verified = false;
|
|
133
|
+
|
|
134
|
+
// Compute quality score based on type, content richness, examples,
|
|
135
|
+
// and T549 source multiplier.
|
|
136
|
+
const examplesJson = params.examples ? JSON.stringify(params.examples) : '[]';
|
|
137
|
+
const qualityScore = computePatternQuality({
|
|
138
|
+
type: params.type,
|
|
139
|
+
pattern: params.pattern.trim(),
|
|
140
|
+
context: params.context.trim(),
|
|
141
|
+
examples_json: examplesJson,
|
|
142
|
+
sourceConfidence,
|
|
143
|
+
memoryTier,
|
|
144
|
+
});
|
|
145
|
+
|
|
84
146
|
// Create new entry
|
|
85
147
|
const entry = {
|
|
86
148
|
id: generatePatternId(),
|
|
@@ -92,11 +154,31 @@ export async function storePattern(projectRoot: string, params: StorePatternPara
|
|
|
92
154
|
impact: params.impact ?? null,
|
|
93
155
|
antiPattern: params.antiPattern ?? null,
|
|
94
156
|
mitigation: params.mitigation ?? null,
|
|
95
|
-
examplesJson
|
|
157
|
+
examplesJson,
|
|
96
158
|
extractedAt: now,
|
|
159
|
+
qualityScore,
|
|
160
|
+
// T549 Wave 1-A: tier/type/confidence assigned at write time
|
|
161
|
+
memoryTier,
|
|
162
|
+
memoryType,
|
|
163
|
+
sourceConfidence,
|
|
164
|
+
verified,
|
|
97
165
|
};
|
|
98
166
|
|
|
99
167
|
const saved = await accessor.addPattern(entry);
|
|
168
|
+
|
|
169
|
+
// Auto-populate graph node for the new pattern (best-effort, T537).
|
|
170
|
+
upsertGraphNode(
|
|
171
|
+
projectRoot,
|
|
172
|
+
`pattern:${saved.id}`,
|
|
173
|
+
'pattern',
|
|
174
|
+
saved.pattern.substring(0, 200),
|
|
175
|
+
qualityScore,
|
|
176
|
+
saved.pattern + saved.context,
|
|
177
|
+
{ type: saved.type, impact: saved.impact ?? undefined },
|
|
178
|
+
).catch(() => {
|
|
179
|
+
/* best-effort */
|
|
180
|
+
});
|
|
181
|
+
|
|
100
182
|
return {
|
|
101
183
|
...saved,
|
|
102
184
|
examples: JSON.parse(saved.examplesJson || '[]'),
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quality scoring for CLEO BRAIN memory entries.
|
|
3
|
+
*
|
|
4
|
+
* Computes a 0.0–1.0 quality score at insert time for each typed brain table entry.
|
|
5
|
+
* Entries with a score below the minimum threshold are excluded from search results.
|
|
6
|
+
*
|
|
7
|
+
* Score formula per CA1 spec Section 3: source reliability * content richness * recency signals.
|
|
8
|
+
* Each helper clamps the result to [0.0, 1.0].
|
|
9
|
+
*
|
|
10
|
+
* T549 Wave 1-B: source confidence multipliers and memory tier bonuses are applied
|
|
11
|
+
* on top of the existing base formulas. The base formulas are unchanged; the
|
|
12
|
+
* multiplier and tier bonus are additive final transforms.
|
|
13
|
+
*
|
|
14
|
+
* Exported for use in backfill (T530) and future scoring hooks.
|
|
15
|
+
*
|
|
16
|
+
* @task T531 T549
|
|
17
|
+
* @epic T523
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import type { BrainMemoryTier, BrainSourceConfidence } from '../store/brain-schema.js';
|
|
21
|
+
|
|
22
|
+
/** Minimum quality score for inclusion in search results. */
|
|
23
|
+
export const QUALITY_SCORE_THRESHOLD = 0.3;
|
|
24
|
+
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// T549: Source Confidence Multipliers
|
|
27
|
+
// ============================================================================
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Quality multiplier per source confidence level (T549 §3.1.5 and §5.3).
|
|
31
|
+
*
|
|
32
|
+
* Applied as a final multiplicative transform on top of the existing base score.
|
|
33
|
+
* Separate from content richness — captures trustworthiness of the source.
|
|
34
|
+
*
|
|
35
|
+
* | Level | Meaning | Multiplier |
|
|
36
|
+
* |---------------|-----------------------------------------|------------|
|
|
37
|
+
* | owner | Owner explicitly stated this fact | 1.0 |
|
|
38
|
+
* | task-outcome | Verified by completed task with result | 0.90 |
|
|
39
|
+
* | agent | Agent-inferred during work (default) | 0.70 |
|
|
40
|
+
* | speculative | Agent hypothesis, not yet corroborated | 0.40 |
|
|
41
|
+
*/
|
|
42
|
+
const SOURCE_MULTIPLIERS: Record<BrainSourceConfidence, number> = {
|
|
43
|
+
owner: 1.0,
|
|
44
|
+
'task-outcome': 0.9,
|
|
45
|
+
agent: 0.7,
|
|
46
|
+
speculative: 0.4,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Tier bonus applied after the source multiplier (T549 Wave 1-B).
|
|
51
|
+
*
|
|
52
|
+
* Short-term entries get no bonus (they are new and unproven).
|
|
53
|
+
* Medium-term entries get a small bonus (survived session consolidation).
|
|
54
|
+
* Long-term entries get a larger bonus (architecturally proven).
|
|
55
|
+
*/
|
|
56
|
+
const TIER_BONUS: Record<BrainMemoryTier, number> = {
|
|
57
|
+
short: 0.0,
|
|
58
|
+
medium: 0.05,
|
|
59
|
+
long: 0.1,
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Apply the source confidence multiplier and optional memory tier bonus.
|
|
64
|
+
*
|
|
65
|
+
* This is the final transform in every compute function. It multiplies the
|
|
66
|
+
* raw content-richness score by the source multiplier, then adds the tier
|
|
67
|
+
* bonus, then clamps to [0.0, 1.0].
|
|
68
|
+
*
|
|
69
|
+
* @param rawScore - Score from the base content-richness formula
|
|
70
|
+
* @param sourceConfidence - Source reliability level (defaults to 'agent')
|
|
71
|
+
* @param memoryTier - Memory retention tier (defaults to 'short' = no bonus)
|
|
72
|
+
*/
|
|
73
|
+
export function applySourceMultiplier(
|
|
74
|
+
rawScore: number,
|
|
75
|
+
sourceConfidence: BrainSourceConfidence = 'agent',
|
|
76
|
+
memoryTier: BrainMemoryTier = 'short',
|
|
77
|
+
): number {
|
|
78
|
+
const multiplied = rawScore * SOURCE_MULTIPLIERS[sourceConfidence];
|
|
79
|
+
const withTierBonus = multiplied + TIER_BONUS[memoryTier];
|
|
80
|
+
return clamp(withTierBonus);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// ============================================================================
|
|
84
|
+
// Pattern quality
|
|
85
|
+
// ============================================================================
|
|
86
|
+
|
|
87
|
+
/** Input shape for pattern quality computation — mirrors StorePatternParams. */
|
|
88
|
+
export interface PatternQualityInput {
|
|
89
|
+
type: string;
|
|
90
|
+
pattern: string;
|
|
91
|
+
context?: string | null;
|
|
92
|
+
examples_json?: string | null;
|
|
93
|
+
/** T549: source reliability level — applies multiplier on top of base score. */
|
|
94
|
+
sourceConfidence?: BrainSourceConfidence;
|
|
95
|
+
/** T549: memory retention tier — applies tier bonus on top of multiplied score. */
|
|
96
|
+
memoryTier?: BrainMemoryTier;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Compute quality score for a brain_patterns row.
|
|
101
|
+
*
|
|
102
|
+
* Base: 0.4 (auto-generated patterns start lower).
|
|
103
|
+
* Bonuses:
|
|
104
|
+
* +0.10 for 'workflow' type (structured operational knowledge)
|
|
105
|
+
* +0.05 for 'success' type (validated positive pattern)
|
|
106
|
+
* +0.10 if pattern text exceeds 100 chars (richer description)
|
|
107
|
+
* +0.10 if context exceeds 50 chars (contextual detail present)
|
|
108
|
+
* +0.10 if examples_json contains more than 3 items (empirically validated)
|
|
109
|
+
*
|
|
110
|
+
* T549 Wave 1-B: raw score is then multiplied by the source confidence multiplier
|
|
111
|
+
* and the memory tier bonus is added. Result clamped to [0.0, 1.0].
|
|
112
|
+
*/
|
|
113
|
+
export function computePatternQuality(params: PatternQualityInput): number {
|
|
114
|
+
let score = 0.4;
|
|
115
|
+
|
|
116
|
+
if (params.type === 'workflow') score += 0.1;
|
|
117
|
+
if (params.type === 'success') score += 0.05;
|
|
118
|
+
|
|
119
|
+
if (params.pattern.length > 100) score += 0.1;
|
|
120
|
+
if (params.context && params.context.length > 50) score += 0.1;
|
|
121
|
+
|
|
122
|
+
if (params.examples_json) {
|
|
123
|
+
try {
|
|
124
|
+
const examples = JSON.parse(params.examples_json) as unknown[];
|
|
125
|
+
if (Array.isArray(examples) && examples.length > 3) score += 0.1;
|
|
126
|
+
} catch {
|
|
127
|
+
// Malformed JSON — no bonus
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return applySourceMultiplier(score, params.sourceConfidence, params.memoryTier);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// ============================================================================
|
|
135
|
+
// Learning quality
|
|
136
|
+
// ============================================================================
|
|
137
|
+
|
|
138
|
+
/** Input shape for learning quality computation — mirrors StoreLearningParams. */
|
|
139
|
+
export interface LearningQualityInput {
|
|
140
|
+
confidence: number;
|
|
141
|
+
actionable?: boolean | null;
|
|
142
|
+
insight: string;
|
|
143
|
+
application?: string | null;
|
|
144
|
+
/** T549: source reliability level — applies multiplier on top of base score. */
|
|
145
|
+
sourceConfidence?: BrainSourceConfidence;
|
|
146
|
+
/** T549: memory retention tier — applies tier bonus on top of multiplied score. */
|
|
147
|
+
memoryTier?: BrainMemoryTier;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Compute quality score for a brain_learnings row.
|
|
152
|
+
*
|
|
153
|
+
* Base: confidence value (already 0.0–1.0, caller-provided).
|
|
154
|
+
* Bonuses:
|
|
155
|
+
* +0.10 if actionable (directly applicable guidance)
|
|
156
|
+
* +0.10 if insight text exceeds 100 chars (detailed insight)
|
|
157
|
+
* +0.10 if application exceeds 20 chars (concrete application context)
|
|
158
|
+
*
|
|
159
|
+
* T549 Wave 1-B: raw score is then multiplied by the source confidence multiplier
|
|
160
|
+
* and the memory tier bonus is added. Result clamped to [0.0, 1.0].
|
|
161
|
+
*/
|
|
162
|
+
export function computeLearningQuality(params: LearningQualityInput): number {
|
|
163
|
+
let score = params.confidence ?? 0.5;
|
|
164
|
+
|
|
165
|
+
if (params.actionable) score += 0.1;
|
|
166
|
+
if (params.insight.length > 100) score += 0.1;
|
|
167
|
+
if (params.application && params.application.length > 20) score += 0.1;
|
|
168
|
+
|
|
169
|
+
return applySourceMultiplier(score, params.sourceConfidence, params.memoryTier);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// ============================================================================
|
|
173
|
+
// Decision quality
|
|
174
|
+
// ============================================================================
|
|
175
|
+
|
|
176
|
+
/** Input shape for decision quality computation — mirrors StoreDecisionParams. */
|
|
177
|
+
export interface DecisionQualityInput {
|
|
178
|
+
confidence: 'low' | 'medium' | 'high';
|
|
179
|
+
rationale?: string | null;
|
|
180
|
+
contextTaskId?: string | null;
|
|
181
|
+
/** T549: source reliability level — applies multiplier on top of base score. */
|
|
182
|
+
sourceConfidence?: BrainSourceConfidence;
|
|
183
|
+
/** T549: memory retention tier — applies tier bonus on top of multiplied score. */
|
|
184
|
+
memoryTier?: BrainMemoryTier;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/** Numeric value map from confidence level. */
|
|
188
|
+
const CONFIDENCE_SCORE_MAP: Record<'low' | 'medium' | 'high', number> = {
|
|
189
|
+
high: 0.9,
|
|
190
|
+
medium: 0.7,
|
|
191
|
+
low: 0.5,
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Compute quality score for a brain_decisions row.
|
|
196
|
+
*
|
|
197
|
+
* Base: mapped from confidence level (high=0.9, medium=0.7, low=0.5).
|
|
198
|
+
* Bonuses:
|
|
199
|
+
* +0.10 if rationale exceeds 50 chars (substantiated reasoning)
|
|
200
|
+
* +0.05 if linked to a specific task (anchored in real work)
|
|
201
|
+
*
|
|
202
|
+
* T549 Wave 1-B: raw score is then multiplied by the source confidence multiplier
|
|
203
|
+
* and the memory tier bonus is added. Result clamped to [0.0, 1.0].
|
|
204
|
+
*/
|
|
205
|
+
export function computeDecisionQuality(params: DecisionQualityInput): number {
|
|
206
|
+
let score = CONFIDENCE_SCORE_MAP[params.confidence] ?? 0.5;
|
|
207
|
+
|
|
208
|
+
if (params.rationale && params.rationale.length > 50) score += 0.1;
|
|
209
|
+
if (params.contextTaskId) score += 0.05;
|
|
210
|
+
|
|
211
|
+
return applySourceMultiplier(score, params.sourceConfidence, params.memoryTier);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// ============================================================================
|
|
215
|
+
// Observation quality
|
|
216
|
+
// ============================================================================
|
|
217
|
+
|
|
218
|
+
/** Input shape for observation quality computation — mirrors ObserveBrainParams. */
|
|
219
|
+
export interface ObservationQualityInput {
|
|
220
|
+
text: string;
|
|
221
|
+
title?: string | null;
|
|
222
|
+
/** T549: source reliability level — applies multiplier on top of base score. */
|
|
223
|
+
sourceConfidence?: BrainSourceConfidence;
|
|
224
|
+
/** T549: memory retention tier — applies tier bonus on top of multiplied score. */
|
|
225
|
+
memoryTier?: BrainMemoryTier;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Compute quality score for a brain_observations row.
|
|
230
|
+
*
|
|
231
|
+
* Base: 0.6 (manual observations start higher than auto-extracted entries).
|
|
232
|
+
* Bonuses:
|
|
233
|
+
* +0.10 if text exceeds 200 chars (rich narrative)
|
|
234
|
+
* +0.05 if title exceeds 10 chars (meaningful label)
|
|
235
|
+
*
|
|
236
|
+
* T549 Wave 1-B: raw score is then multiplied by the source confidence multiplier
|
|
237
|
+
* and the memory tier bonus is added. Result clamped to [0.0, 1.0].
|
|
238
|
+
*/
|
|
239
|
+
export function computeObservationQuality(params: ObservationQualityInput): number {
|
|
240
|
+
let score = 0.6;
|
|
241
|
+
|
|
242
|
+
if (params.text && params.text.length > 200) score += 0.1;
|
|
243
|
+
if (params.title && params.title.length > 10) score += 0.05;
|
|
244
|
+
|
|
245
|
+
return applySourceMultiplier(score, params.sourceConfidence, params.memoryTier);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// ============================================================================
|
|
249
|
+
// Helpers
|
|
250
|
+
// ============================================================================
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Clamp a score to the valid [0.0, 1.0] range.
|
|
254
|
+
*/
|
|
255
|
+
function clamp(score: number): number {
|
|
256
|
+
return Math.min(1.0, Math.max(0.0, score));
|
|
257
|
+
}
|