cognitive-core 0.1.2 → 0.2.1
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/.claude/settings.json +111 -2
- package/.sessionlog/settings.json +4 -0
- package/CLAUDE.md +233 -0
- package/README.md +370 -54
- package/dist/atlas.d.ts +10 -10
- package/dist/atlas.d.ts.map +1 -1
- package/dist/atlas.js +79 -48
- package/dist/atlas.js.map +1 -1
- package/dist/bin/cli-utils.d.ts +37 -0
- package/dist/bin/cli-utils.d.ts.map +1 -0
- package/dist/bin/cli-utils.js +176 -0
- package/dist/bin/cli-utils.js.map +1 -0
- package/dist/bin/cognitive-core.d.ts +2 -12
- package/dist/bin/cognitive-core.d.ts.map +1 -1
- package/dist/bin/cognitive-core.js +76 -351
- package/dist/bin/cognitive-core.js.map +1 -1
- package/dist/bin/commands/kb.d.ts +6 -0
- package/dist/bin/commands/kb.d.ts.map +1 -0
- package/dist/bin/commands/kb.js +240 -0
- package/dist/bin/commands/kb.js.map +1 -0
- package/dist/bin/commands/learn.d.ts +6 -0
- package/dist/bin/commands/learn.d.ts.map +1 -0
- package/dist/bin/commands/learn.js +91 -0
- package/dist/bin/commands/learn.js.map +1 -0
- package/dist/bin/commands/legacy.d.ts +12 -0
- package/dist/bin/commands/legacy.d.ts.map +1 -0
- package/dist/bin/commands/legacy.js +142 -0
- package/dist/bin/commands/legacy.js.map +1 -0
- package/dist/bin/commands/run.d.ts +3 -0
- package/dist/bin/commands/run.d.ts.map +1 -0
- package/dist/bin/commands/run.js +99 -0
- package/dist/bin/commands/run.js.map +1 -0
- package/dist/bin/commands/sessions.d.ts +9 -0
- package/dist/bin/commands/sessions.d.ts.map +1 -0
- package/dist/bin/commands/sessions.js +183 -0
- package/dist/bin/commands/sessions.js.map +1 -0
- package/dist/bin/commands/skills.d.ts +6 -0
- package/dist/bin/commands/skills.d.ts.map +1 -0
- package/dist/bin/commands/skills.js +135 -0
- package/dist/bin/commands/skills.js.map +1 -0
- package/dist/embeddings/index.d.ts +1 -0
- package/dist/embeddings/index.d.ts.map +1 -1
- package/dist/embeddings/index.js +2 -0
- package/dist/embeddings/index.js.map +1 -1
- package/dist/embeddings/inverted-index.d.ts +47 -0
- package/dist/embeddings/inverted-index.d.ts.map +1 -0
- package/dist/embeddings/inverted-index.js +122 -0
- package/dist/embeddings/inverted-index.js.map +1 -0
- package/dist/embeddings/manager.d.ts +3 -1
- package/dist/embeddings/manager.d.ts.map +1 -1
- package/dist/embeddings/manager.js +12 -7
- package/dist/embeddings/manager.js.map +1 -1
- package/dist/embeddings/vector-store.d.ts +7 -3
- package/dist/embeddings/vector-store.d.ts.map +1 -1
- package/dist/embeddings/vector-store.js +22 -6
- package/dist/embeddings/vector-store.js.map +1 -1
- package/dist/factory.d.ts +11 -12
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +20 -7
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -6
- package/dist/index.js.map +1 -1
- package/dist/learning/analyzer.d.ts.map +1 -1
- package/dist/learning/analyzer.js +17 -35
- package/dist/learning/analyzer.js.map +1 -1
- package/dist/learning/energy-evaluator.d.ts +128 -0
- package/dist/learning/energy-evaluator.d.ts.map +1 -0
- package/dist/learning/energy-evaluator.js +175 -0
- package/dist/learning/energy-evaluator.js.map +1 -0
- package/dist/learning/healing-orchestrator.d.ts +182 -0
- package/dist/learning/healing-orchestrator.d.ts.map +1 -0
- package/dist/learning/healing-orchestrator.js +250 -0
- package/dist/learning/healing-orchestrator.js.map +1 -0
- package/dist/learning/index.d.ts +7 -2
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +13 -2
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/instant-loop.d.ts +87 -0
- package/dist/learning/instant-loop.d.ts.map +1 -0
- package/dist/learning/instant-loop.js +264 -0
- package/dist/learning/instant-loop.js.map +1 -0
- package/dist/learning/loop-coordinator.d.ts +61 -0
- package/dist/learning/loop-coordinator.d.ts.map +1 -0
- package/dist/learning/loop-coordinator.js +96 -0
- package/dist/learning/loop-coordinator.js.map +1 -0
- package/dist/learning/maintenance-scheduler.d.ts +141 -0
- package/dist/learning/maintenance-scheduler.d.ts.map +1 -0
- package/dist/learning/maintenance-scheduler.js +186 -0
- package/dist/learning/maintenance-scheduler.js.map +1 -0
- package/dist/learning/meta-learner.d.ts.map +1 -1
- package/dist/learning/meta-learner.js +4 -21
- package/dist/learning/meta-learner.js.map +1 -1
- package/dist/learning/pipeline.d.ts +31 -4
- package/dist/learning/pipeline.d.ts.map +1 -1
- package/dist/learning/pipeline.js +64 -12
- package/dist/learning/pipeline.js.map +1 -1
- package/dist/learning/reflexion-generator.d.ts +64 -0
- package/dist/learning/reflexion-generator.d.ts.map +1 -0
- package/dist/learning/reflexion-generator.js +194 -0
- package/dist/learning/reflexion-generator.js.map +1 -0
- package/dist/learning/trajectory-sources/entire.d.ts +8 -5
- package/dist/learning/trajectory-sources/entire.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/entire.js +13 -6
- package/dist/learning/trajectory-sources/entire.js.map +1 -1
- package/dist/learning/trajectory-sources/index.d.ts +1 -1
- package/dist/learning/trajectory-sources/index.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/index.js +1 -1
- package/dist/learning/trajectory-sources/index.js.map +1 -1
- package/dist/learning/trajectory-sources/pipeline.d.ts +4 -4
- package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/pipeline.js +2 -2
- package/dist/learning/trajectory-sources/pipeline.js.map +1 -1
- package/dist/learning/unified-pipeline.d.ts +311 -0
- package/dist/learning/unified-pipeline.d.ts.map +1 -0
- package/dist/learning/unified-pipeline.js +844 -0
- package/dist/learning/unified-pipeline.js.map +1 -0
- package/dist/memory/candidate-retrieval.d.ts +43 -0
- package/dist/memory/candidate-retrieval.d.ts.map +1 -0
- package/dist/memory/candidate-retrieval.js +43 -0
- package/dist/memory/candidate-retrieval.js.map +1 -0
- package/dist/memory/causal-store.d.ts +97 -0
- package/dist/memory/causal-store.d.ts.map +1 -0
- package/dist/memory/causal-store.js +209 -0
- package/dist/memory/causal-store.js.map +1 -0
- package/dist/memory/coherence.d.ts +71 -0
- package/dist/memory/coherence.d.ts.map +1 -0
- package/dist/memory/coherence.js +176 -0
- package/dist/memory/coherence.js.map +1 -0
- package/dist/memory/experience.d.ts +39 -6
- package/dist/memory/experience.d.ts.map +1 -1
- package/dist/memory/experience.js +193 -49
- package/dist/memory/experience.js.map +1 -1
- package/dist/memory/index.d.ts +7 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +12 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/knowledge-bank.d.ts +14 -0
- package/dist/memory/knowledge-bank.d.ts.map +1 -1
- package/dist/memory/knowledge-bank.js +45 -0
- package/dist/memory/knowledge-bank.js.map +1 -1
- package/dist/memory/meta.d.ts +7 -8
- package/dist/memory/meta.d.ts.map +1 -1
- package/dist/memory/meta.js +73 -79
- package/dist/memory/meta.js.map +1 -1
- package/dist/memory/playbook.d.ts +26 -9
- package/dist/memory/playbook.d.ts.map +1 -1
- package/dist/memory/playbook.js +198 -74
- package/dist/memory/playbook.js.map +1 -1
- package/dist/memory/reasoning-bank.d.ts +130 -0
- package/dist/memory/reasoning-bank.d.ts.map +1 -0
- package/dist/memory/reasoning-bank.js +342 -0
- package/dist/memory/reasoning-bank.js.map +1 -0
- package/dist/memory/reflexion.d.ts +59 -0
- package/dist/memory/reflexion.d.ts.map +1 -0
- package/dist/memory/reflexion.js +96 -0
- package/dist/memory/reflexion.js.map +1 -0
- package/dist/memory/system.d.ts +7 -2
- package/dist/memory/system.d.ts.map +1 -1
- package/dist/memory/system.js +19 -7
- package/dist/memory/system.js.map +1 -1
- package/dist/memory/temporal-compressor.d.ts +126 -0
- package/dist/memory/temporal-compressor.d.ts.map +1 -0
- package/dist/memory/temporal-compressor.js +335 -0
- package/dist/memory/temporal-compressor.js.map +1 -0
- package/dist/persistence/index.d.ts +11 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +11 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/migrator.d.ts +40 -0
- package/dist/persistence/migrator.d.ts.map +1 -0
- package/dist/persistence/migrator.js +238 -0
- package/dist/persistence/migrator.js.map +1 -0
- package/dist/persistence/serializers.d.ts +45 -0
- package/dist/persistence/serializers.d.ts.map +1 -0
- package/dist/persistence/serializers.js +80 -0
- package/dist/persistence/serializers.js.map +1 -0
- package/dist/persistence/sqlite-persistence.d.ts +228 -0
- package/dist/persistence/sqlite-persistence.d.ts.map +1 -0
- package/dist/persistence/sqlite-persistence.js +588 -0
- package/dist/persistence/sqlite-persistence.js.map +1 -0
- package/dist/runtime/flows/learning.d.ts +10 -12
- package/dist/runtime/flows/learning.d.ts.map +1 -1
- package/dist/runtime/flows/learning.js +10 -23
- package/dist/runtime/flows/learning.js.map +1 -1
- package/dist/search/index.d.ts +1 -0
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +2 -0
- package/dist/search/index.js.map +1 -1
- package/dist/search/moe-gate.d.ts +124 -0
- package/dist/search/moe-gate.d.ts.map +1 -0
- package/dist/search/moe-gate.js +234 -0
- package/dist/search/moe-gate.js.map +1 -0
- package/dist/search/router.d.ts +32 -2
- package/dist/search/router.d.ts.map +1 -1
- package/dist/search/router.js +87 -4
- package/dist/search/router.js.map +1 -1
- package/dist/session-bank/git-reader.d.ts +9 -4
- package/dist/session-bank/git-reader.d.ts.map +1 -1
- package/dist/session-bank/git-reader.js +22 -15
- package/dist/session-bank/git-reader.js.map +1 -1
- package/dist/session-bank/index.d.ts +2 -2
- package/dist/session-bank/index.d.ts.map +1 -1
- package/dist/session-bank/index.js +2 -2
- package/dist/session-bank/index.js.map +1 -1
- package/dist/session-bank/parser.d.ts +16 -5
- package/dist/session-bank/parser.d.ts.map +1 -1
- package/dist/session-bank/parser.js +187 -80
- package/dist/session-bank/parser.js.map +1 -1
- package/dist/session-bank/session-bank.d.ts +5 -0
- package/dist/session-bank/session-bank.d.ts.map +1 -1
- package/dist/session-bank/session-bank.js +30 -9
- package/dist/session-bank/session-bank.js.map +1 -1
- package/dist/session-bank/types.d.ts +4 -1
- package/dist/session-bank/types.d.ts.map +1 -1
- package/dist/session-bank/types.js +3 -3
- package/dist/session-bank/types.js.map +1 -1
- package/dist/surfacing/skill-publisher.d.ts.map +1 -1
- package/dist/surfacing/skill-publisher.js +15 -43
- package/dist/surfacing/skill-publisher.js.map +1 -1
- package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -1
- package/dist/surfacing/sqlite-storage-adapter.js +13 -21
- package/dist/surfacing/sqlite-storage-adapter.js.map +1 -1
- package/dist/types/config.d.ts +100 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +27 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/memory.d.ts +52 -0
- package/dist/types/memory.d.ts.map +1 -1
- package/dist/types/memory.js +13 -0
- package/dist/types/memory.js.map +1 -1
- package/dist/types/playbook.d.ts +4 -0
- package/dist/types/playbook.d.ts.map +1 -1
- package/dist/types/playbook.js.map +1 -1
- package/dist/utils/error-classifier.d.ts +30 -0
- package/dist/utils/error-classifier.d.ts.map +1 -0
- package/dist/utils/error-classifier.js +85 -0
- package/dist/utils/error-classifier.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/partitioned-store.d.ts +93 -0
- package/dist/utils/partitioned-store.d.ts.map +1 -0
- package/dist/utils/partitioned-store.js +251 -0
- package/dist/utils/partitioned-store.js.map +1 -0
- package/dist/utils/trajectory-helpers.d.ts +39 -0
- package/dist/utils/trajectory-helpers.d.ts.map +1 -0
- package/dist/utils/trajectory-helpers.js +57 -0
- package/dist/utils/trajectory-helpers.js.map +1 -0
- package/dist/workspace/efficacy-toolkit.d.ts +164 -0
- package/dist/workspace/efficacy-toolkit.d.ts.map +1 -0
- package/dist/workspace/efficacy-toolkit.js +281 -0
- package/dist/workspace/efficacy-toolkit.js.map +1 -0
- package/dist/workspace/index.d.ts +2 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +3 -1
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/runner.d.ts +3 -4
- package/dist/workspace/runner.d.ts.map +1 -1
- package/dist/workspace/runner.js.map +1 -1
- package/dist/workspace/templates/index.d.ts +3 -0
- package/dist/workspace/templates/index.d.ts.map +1 -1
- package/dist/workspace/templates/index.js +6 -0
- package/dist/workspace/templates/index.js.map +1 -1
- package/dist/workspace/templates/playbook-decay-detection.d.ts +46 -0
- package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-decay-detection.js +197 -0
- package/dist/workspace/templates/playbook-decay-detection.js.map +1 -0
- package/dist/workspace/templates/playbook-efficacy-audit.d.ts +46 -0
- package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-efficacy-audit.js +160 -0
- package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -0
- package/dist/workspace/templates/playbook-lifecycle-review.d.ts +51 -0
- package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-lifecycle-review.js +187 -0
- package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -0
- package/dist/workspace/types.d.ts +9 -2
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/types.js.map +1 -1
- package/package.json +12 -4
- package/references/sessionlog/.husky/pre-commit +1 -0
- package/references/sessionlog/.lintstagedrc.json +4 -0
- package/references/sessionlog/.prettierignore +4 -0
- package/references/sessionlog/.prettierrc.json +11 -0
- package/references/sessionlog/LICENSE +21 -0
- package/references/sessionlog/README.md +453 -0
- package/references/sessionlog/eslint.config.js +58 -0
- package/references/sessionlog/package-lock.json +3672 -0
- package/references/sessionlog/package.json +65 -0
- package/references/sessionlog/src/__tests__/agent-hooks.test.ts +570 -0
- package/references/sessionlog/src/__tests__/agent-registry.test.ts +127 -0
- package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +225 -0
- package/references/sessionlog/src/__tests__/claude-generator.test.ts +46 -0
- package/references/sessionlog/src/__tests__/commit-msg.test.ts +86 -0
- package/references/sessionlog/src/__tests__/cursor-agent.test.ts +224 -0
- package/references/sessionlog/src/__tests__/e2e-live.test.ts +890 -0
- package/references/sessionlog/src/__tests__/event-log.test.ts +183 -0
- package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +105 -0
- package/references/sessionlog/src/__tests__/gemini-agent.test.ts +375 -0
- package/references/sessionlog/src/__tests__/git-hooks.test.ts +78 -0
- package/references/sessionlog/src/__tests__/hook-managers.test.ts +121 -0
- package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +759 -0
- package/references/sessionlog/src/__tests__/opencode-agent.test.ts +338 -0
- package/references/sessionlog/src/__tests__/redaction.test.ts +136 -0
- package/references/sessionlog/src/__tests__/session-repo.test.ts +353 -0
- package/references/sessionlog/src/__tests__/session-store.test.ts +166 -0
- package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +466 -0
- package/references/sessionlog/src/__tests__/skill-live.test.ts +461 -0
- package/references/sessionlog/src/__tests__/summarize.test.ts +348 -0
- package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +610 -0
- package/references/sessionlog/src/__tests__/task-plan-live.test.ts +632 -0
- package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +121 -0
- package/references/sessionlog/src/__tests__/types.test.ts +166 -0
- package/references/sessionlog/src/__tests__/utils.test.ts +333 -0
- package/references/sessionlog/src/__tests__/validation.test.ts +103 -0
- package/references/sessionlog/src/__tests__/worktree.test.ts +57 -0
- package/references/sessionlog/src/agent/agents/claude-code.ts +1089 -0
- package/references/sessionlog/src/agent/agents/cursor.ts +361 -0
- package/references/sessionlog/src/agent/agents/gemini-cli.ts +632 -0
- package/references/sessionlog/src/agent/agents/opencode.ts +540 -0
- package/references/sessionlog/src/agent/registry.ts +143 -0
- package/references/sessionlog/src/agent/session-types.ts +113 -0
- package/references/sessionlog/src/agent/types.ts +220 -0
- package/references/sessionlog/src/cli.ts +597 -0
- package/references/sessionlog/src/commands/clean.ts +133 -0
- package/references/sessionlog/src/commands/disable.ts +84 -0
- package/references/sessionlog/src/commands/doctor.ts +145 -0
- package/references/sessionlog/src/commands/enable.ts +202 -0
- package/references/sessionlog/src/commands/explain.ts +261 -0
- package/references/sessionlog/src/commands/reset.ts +105 -0
- package/references/sessionlog/src/commands/resume.ts +180 -0
- package/references/sessionlog/src/commands/rewind.ts +195 -0
- package/references/sessionlog/src/commands/setup-ccweb.ts +275 -0
- package/references/sessionlog/src/commands/status.ts +172 -0
- package/references/sessionlog/src/config.ts +165 -0
- package/references/sessionlog/src/events/event-log.ts +126 -0
- package/references/sessionlog/src/git-operations.ts +558 -0
- package/references/sessionlog/src/hooks/git-hooks.ts +165 -0
- package/references/sessionlog/src/hooks/lifecycle.ts +391 -0
- package/references/sessionlog/src/index.ts +650 -0
- package/references/sessionlog/src/security/redaction.ts +283 -0
- package/references/sessionlog/src/session/state-machine.ts +452 -0
- package/references/sessionlog/src/store/checkpoint-store.ts +509 -0
- package/references/sessionlog/src/store/native-store.ts +173 -0
- package/references/sessionlog/src/store/provider-types.ts +99 -0
- package/references/sessionlog/src/store/session-store.ts +266 -0
- package/references/sessionlog/src/strategy/attribution.ts +296 -0
- package/references/sessionlog/src/strategy/common.ts +207 -0
- package/references/sessionlog/src/strategy/content-overlap.ts +228 -0
- package/references/sessionlog/src/strategy/manual-commit.ts +988 -0
- package/references/sessionlog/src/strategy/types.ts +279 -0
- package/references/sessionlog/src/summarize/claude-generator.ts +115 -0
- package/references/sessionlog/src/summarize/summarize.ts +432 -0
- package/references/sessionlog/src/types.ts +508 -0
- package/references/sessionlog/src/utils/chunk-files.ts +49 -0
- package/references/sessionlog/src/utils/commit-message.ts +65 -0
- package/references/sessionlog/src/utils/detect-agent.ts +36 -0
- package/references/sessionlog/src/utils/hook-managers.ts +125 -0
- package/references/sessionlog/src/utils/ide-tags.ts +32 -0
- package/references/sessionlog/src/utils/paths.ts +79 -0
- package/references/sessionlog/src/utils/preview-rewind.ts +80 -0
- package/references/sessionlog/src/utils/rewind-conflict.ts +121 -0
- package/references/sessionlog/src/utils/shadow-branch.ts +109 -0
- package/references/sessionlog/src/utils/string-utils.ts +46 -0
- package/references/sessionlog/src/utils/todo-extract.ts +188 -0
- package/references/sessionlog/src/utils/trailers.ts +187 -0
- package/references/sessionlog/src/utils/transcript-parse.ts +177 -0
- package/references/sessionlog/src/utils/transcript-timestamp.ts +59 -0
- package/references/sessionlog/src/utils/tree-ops.ts +219 -0
- package/references/sessionlog/src/utils/tty.ts +72 -0
- package/references/sessionlog/src/utils/validation.ts +65 -0
- package/references/sessionlog/src/utils/worktree.ts +58 -0
- package/references/sessionlog/src/wire-types.ts +59 -0
- package/references/sessionlog/templates/setup-env.sh +153 -0
- package/references/sessionlog/tsconfig.json +18 -0
- package/references/sessionlog/vitest.config.ts +12 -0
- package/references/skill-tree/.sudocode/issues.jsonl +8 -0
- package/references/skill-tree/.sudocode/specs.jsonl +2 -0
- package/references/skill-tree/CLAUDE.md +56 -80
- package/references/skill-tree/README.md +188 -140
- package/references/skill-tree/examples/basic-usage.ts +95 -121
- package/references/skill-tree/package-lock.json +369 -26
- package/references/skill-tree/package.json +1 -1
- package/src/atlas.ts +97 -67
- package/src/bin/cli-utils.ts +220 -0
- package/src/bin/cognitive-core.ts +84 -392
- package/src/bin/commands/kb.ts +266 -0
- package/src/bin/commands/learn.ts +100 -0
- package/src/bin/commands/legacy.ts +182 -0
- package/src/bin/commands/run.ts +113 -0
- package/src/bin/commands/sessions.ts +221 -0
- package/src/bin/commands/skills.ts +146 -0
- package/src/embeddings/index.ts +3 -0
- package/src/embeddings/inverted-index.ts +134 -0
- package/src/embeddings/manager.ts +13 -8
- package/src/embeddings/vector-store.ts +21 -9
- package/src/factory.ts +33 -16
- package/src/index.ts +136 -9
- package/src/learning/analyzer.ts +21 -37
- package/src/learning/energy-evaluator.ts +282 -0
- package/src/learning/healing-orchestrator.ts +383 -0
- package/src/learning/index.ts +66 -9
- package/src/learning/instant-loop.ts +357 -0
- package/src/learning/maintenance-scheduler.ts +271 -0
- package/src/learning/meta-learner.ts +5 -23
- package/src/learning/reflexion-generator.ts +273 -0
- package/src/learning/trajectory-sources/entire.ts +24 -13
- package/src/learning/trajectory-sources/index.ts +2 -2
- package/src/learning/trajectory-sources/pipeline.ts +5 -5
- package/src/learning/unified-pipeline.ts +1191 -0
- package/src/memory/candidate-retrieval.ts +72 -0
- package/src/memory/causal-store.ts +273 -0
- package/src/memory/coherence.ts +252 -0
- package/src/memory/experience.ts +217 -50
- package/src/memory/index.ts +43 -0
- package/src/memory/knowledge-bank.ts +57 -0
- package/src/memory/meta.ts +78 -96
- package/src/memory/playbook.ts +239 -75
- package/src/memory/reasoning-bank.ts +458 -0
- package/src/memory/reflexion.ts +122 -0
- package/src/memory/system.ts +21 -5
- package/src/memory/temporal-compressor.ts +409 -0
- package/src/persistence/index.ts +37 -0
- package/src/persistence/migrator.ts +298 -0
- package/src/persistence/serializers.ts +79 -0
- package/src/persistence/sqlite-persistence.ts +925 -0
- package/src/runtime/flows/learning.ts +25 -42
- package/src/search/index.ts +10 -0
- package/src/search/moe-gate.ts +304 -0
- package/src/search/router.ts +111 -4
- package/src/session-bank/git-reader.ts +29 -19
- package/src/session-bank/index.ts +4 -2
- package/src/session-bank/parser.ts +280 -98
- package/src/session-bank/session-bank.ts +33 -12
- package/src/session-bank/types.ts +8 -5
- package/src/surfacing/skill-publisher.ts +17 -49
- package/src/surfacing/sqlite-storage-adapter.ts +16 -32
- package/src/types/config.ts +30 -0
- package/src/types/index.ts +3 -0
- package/src/types/memory.ts +30 -0
- package/src/types/playbook.ts +4 -0
- package/src/utils/error-classifier.ts +113 -0
- package/src/utils/index.ts +18 -0
- package/src/utils/partitioned-store.ts +299 -0
- package/src/utils/trajectory-helpers.ts +79 -0
- package/src/workspace/efficacy-toolkit.ts +496 -0
- package/src/workspace/index.ts +29 -0
- package/src/workspace/runner.ts +3 -3
- package/src/workspace/templates/index.ts +24 -0
- package/src/workspace/templates/playbook-decay-detection.ts +272 -0
- package/src/workspace/templates/playbook-efficacy-audit.ts +246 -0
- package/src/workspace/templates/playbook-lifecycle-review.ts +274 -0
- package/src/workspace/types.ts +10 -2
- package/tests/embeddings/inverted-index.test.ts +138 -0
- package/tests/feature-toggles.test.ts +275 -0
- package/tests/fixtures/behavioral-trajectories.ts +210 -0
- package/tests/gap-fixes.test.ts +17 -4
- package/tests/integration/cli-e2e.test.ts +621 -0
- package/tests/integration/e2e.test.ts +6 -5
- package/tests/integration/entire-e2e.test.ts +314 -125
- package/tests/integration/persistence-e2e.test.ts +741 -0
- package/tests/integration/phase-e2e.test.ts +1143 -0
- package/tests/integration/pipeline-data-correctness.test.ts +794 -0
- package/tests/integration/session-bank.test.ts +20 -14
- package/tests/integration/sessionlog-e2e.test.ts +329 -0
- package/tests/integration/unified-pipeline-e2e.test.ts +634 -0
- package/tests/learning/analyzer.test.ts +1 -1
- package/tests/learning/energy-evaluator.test.ts +180 -0
- package/tests/learning/entire-trajectory-source.test.ts +25 -25
- package/tests/learning/healing-orchestrator.test.ts +269 -0
- package/tests/learning/instant-loop.test.ts +243 -0
- package/tests/learning/maintenance-scheduler.test.ts +191 -0
- package/tests/learning/meta-learner.test.ts +418 -0
- package/tests/learning/pipeline-memory-updates.test.ts +721 -0
- package/tests/learning/reflexion-generator.test.ts +411 -0
- package/tests/learning/trajectory-sources.test.ts +12 -4
- package/tests/learning/unified-pipeline-efficacy.test.ts +232 -0
- package/tests/learning/unified-pipeline.test.ts +322 -0
- package/tests/mcp/playbook-server.test.ts +6 -1
- package/tests/memory/candidate-retrieval.test.ts +167 -0
- package/tests/memory/causal-store.test.ts +276 -0
- package/tests/memory/coherence.test.ts +232 -0
- package/tests/memory/experience.test.ts +8 -3
- package/tests/memory/meta.test.ts +399 -0
- package/tests/memory/playbook.test.ts +307 -1
- package/tests/memory/provenance.test.ts +11 -2
- package/tests/memory/reasoning-bank.test.ts +239 -0
- package/tests/memory/reflexion.test.ts +166 -0
- package/tests/memory/skill-exporter.test.ts +6 -1
- package/tests/memory/system.test.ts +6 -1
- package/tests/memory/temporal-compressor.test.ts +318 -0
- package/tests/persistence/migrator.test.ts +1009 -0
- package/tests/persistence/sqlite-persistence.test.ts +635 -0
- package/tests/runtime/agent-manager.test.ts +6 -1
- package/tests/runtime/delegate.test.ts +6 -1
- package/tests/search/evaluator.test.ts +257 -0
- package/tests/search/moe-gate.test.ts +250 -0
- package/tests/search/refinement-loop.test.ts +11 -2
- package/tests/search/router.test.ts +81 -2
- package/tests/search/verification-runner.test.ts +357 -0
- package/tests/session-bank/fixtures/sessionlog-root-metadata.json +16 -0
- package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +6 -0
- package/tests/session-bank/fixtures/sessionlog-session/metadata.json +55 -0
- package/tests/session-bank/git-reader.test.ts +13 -13
- package/tests/session-bank/parser.test.ts +135 -3
- package/tests/session-bank/session-bank.test.ts +1 -1
- package/tests/surfacing/skill-library.test.ts +6 -1
- package/tests/surfacing/skill-publisher.test.ts +24 -58
- package/tests/surfacing/sqlite-storage-adapter.test.ts +11 -23
- package/tests/utils/error-classifier.test.ts +149 -0
- package/tests/utils/partitioned-store.test.ts +230 -0
- package/tests/utils/trajectory-helpers.test.ts +163 -0
- package/tests/workspace/efficacy-toolkit.test.ts +404 -0
- package/tests/workspace/full-flow.test.ts +10 -4
- package/tests/workspace/runner.test.ts +10 -4
- package/tests/workspace/templates/playbook-efficacy.test.ts +377 -0
- package/docs/DESIGN-workspace-migration.md +0 -1079
- package/docs/PLAN-agentic-workspace-implementation.md +0 -717
- package/docs/PLAN-graph-migration.md +0 -299
- package/docs/PLAN-session-bank-implementation.md +0 -474
- package/src/learning/pipeline.ts +0 -323
- package/tests/learning/pipeline.test.ts +0 -176
package/.claude/settings.json
CHANGED
|
@@ -22,6 +22,69 @@
|
|
|
22
22
|
"command": "entire hooks claude-code post-todo"
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"matcher": "Task",
|
|
28
|
+
"hooks": [
|
|
29
|
+
{
|
|
30
|
+
"type": "command",
|
|
31
|
+
"command": "sessionlog hooks claude-code post-task"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"matcher": "TodoWrite",
|
|
37
|
+
"hooks": [
|
|
38
|
+
{
|
|
39
|
+
"type": "command",
|
|
40
|
+
"command": "sessionlog hooks claude-code post-todo"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"matcher": "TaskCreate",
|
|
46
|
+
"hooks": [
|
|
47
|
+
{
|
|
48
|
+
"type": "command",
|
|
49
|
+
"command": "sessionlog hooks claude-code post-task-create"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"matcher": "TaskUpdate",
|
|
55
|
+
"hooks": [
|
|
56
|
+
{
|
|
57
|
+
"type": "command",
|
|
58
|
+
"command": "sessionlog hooks claude-code post-task-update"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"matcher": "EnterPlanMode",
|
|
64
|
+
"hooks": [
|
|
65
|
+
{
|
|
66
|
+
"type": "command",
|
|
67
|
+
"command": "sessionlog hooks claude-code post-plan-enter"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"matcher": "ExitPlanMode",
|
|
73
|
+
"hooks": [
|
|
74
|
+
{
|
|
75
|
+
"type": "command",
|
|
76
|
+
"command": "sessionlog hooks claude-code post-plan-exit"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"matcher": "Skill",
|
|
82
|
+
"hooks": [
|
|
83
|
+
{
|
|
84
|
+
"type": "command",
|
|
85
|
+
"command": "sessionlog hooks claude-code post-skill"
|
|
86
|
+
}
|
|
87
|
+
]
|
|
25
88
|
}
|
|
26
89
|
],
|
|
27
90
|
"PreToolUse": [
|
|
@@ -33,6 +96,15 @@
|
|
|
33
96
|
"command": "entire hooks claude-code pre-task"
|
|
34
97
|
}
|
|
35
98
|
]
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"matcher": "Task",
|
|
102
|
+
"hooks": [
|
|
103
|
+
{
|
|
104
|
+
"type": "command",
|
|
105
|
+
"command": "sessionlog hooks claude-code pre-task"
|
|
106
|
+
}
|
|
107
|
+
]
|
|
36
108
|
}
|
|
37
109
|
],
|
|
38
110
|
"SessionEnd": [
|
|
@@ -44,6 +116,15 @@
|
|
|
44
116
|
"command": "entire hooks claude-code session-end"
|
|
45
117
|
}
|
|
46
118
|
]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"matcher": "",
|
|
122
|
+
"hooks": [
|
|
123
|
+
{
|
|
124
|
+
"type": "command",
|
|
125
|
+
"command": "sessionlog hooks claude-code session-end"
|
|
126
|
+
}
|
|
127
|
+
]
|
|
47
128
|
}
|
|
48
129
|
],
|
|
49
130
|
"SessionStart": [
|
|
@@ -55,6 +136,15 @@
|
|
|
55
136
|
"command": "entire hooks claude-code session-start"
|
|
56
137
|
}
|
|
57
138
|
]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"matcher": "",
|
|
142
|
+
"hooks": [
|
|
143
|
+
{
|
|
144
|
+
"type": "command",
|
|
145
|
+
"command": "sessionlog hooks claude-code session-start"
|
|
146
|
+
}
|
|
147
|
+
]
|
|
58
148
|
}
|
|
59
149
|
],
|
|
60
150
|
"Stop": [
|
|
@@ -66,6 +156,15 @@
|
|
|
66
156
|
"command": "entire hooks claude-code stop"
|
|
67
157
|
}
|
|
68
158
|
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"matcher": "",
|
|
162
|
+
"hooks": [
|
|
163
|
+
{
|
|
164
|
+
"type": "command",
|
|
165
|
+
"command": "sessionlog hooks claude-code stop"
|
|
166
|
+
}
|
|
167
|
+
]
|
|
69
168
|
}
|
|
70
169
|
],
|
|
71
170
|
"UserPromptSubmit": [
|
|
@@ -77,12 +176,22 @@
|
|
|
77
176
|
"command": "entire hooks claude-code user-prompt-submit"
|
|
78
177
|
}
|
|
79
178
|
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"matcher": "",
|
|
182
|
+
"hooks": [
|
|
183
|
+
{
|
|
184
|
+
"type": "command",
|
|
185
|
+
"command": "sessionlog hooks claude-code user-prompt-submit"
|
|
186
|
+
}
|
|
187
|
+
]
|
|
80
188
|
}
|
|
81
189
|
]
|
|
82
190
|
},
|
|
83
191
|
"permissions": {
|
|
84
192
|
"deny": [
|
|
85
|
-
"Read(./.entire/metadata/**)"
|
|
193
|
+
"Read(./.entire/metadata/**)",
|
|
194
|
+
"Read(./.sessionlog/metadata/**)"
|
|
86
195
|
]
|
|
87
196
|
}
|
|
88
|
-
}
|
|
197
|
+
}
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
Project conventions and architecture for Claude Code working on cognitive-core.
|
|
4
|
+
|
|
5
|
+
## Build & Test
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm run build # tsc — compile TypeScript
|
|
9
|
+
npm run test:run # vitest run — run tests once
|
|
10
|
+
npm test # vitest — watch mode
|
|
11
|
+
npm run typecheck # tsc --noEmit — type checking without emit
|
|
12
|
+
npm run lint # eslint src --ext .ts
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Tests use Vitest. All test files are in `tests/` mirroring the `src/` structure.
|
|
16
|
+
|
|
17
|
+
Pre-existing build warnings exist for `skill-tree` module resolution (3 files in `src/surfacing/`) and some unused variables — these are known issues.
|
|
18
|
+
|
|
19
|
+
## Project Structure
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
src/
|
|
23
|
+
├── index.ts # Root exports (17 subsystems)
|
|
24
|
+
├── atlas.ts # Main orchestrator (Atlas class)
|
|
25
|
+
├── factory.ts # Factory interface for external integration
|
|
26
|
+
│
|
|
27
|
+
├── types/ # Shared type definitions + Zod schemas
|
|
28
|
+
│ ├── task.ts, step.ts, outcome.ts, trajectory.ts, playbook.ts
|
|
29
|
+
│ ├── knowledge.ts, knowledge-graph.ts, memory.ts, meta.ts, config.ts
|
|
30
|
+
│ └── team-trajectory.ts, team-playbook.ts, team-meta.ts
|
|
31
|
+
│
|
|
32
|
+
├── memory/ # Memory stores
|
|
33
|
+
│ ├── system.ts # MemorySystem aggregator
|
|
34
|
+
│ ├── experience.ts # ExperienceMemory (domain-partitioned, InvertedIndex)
|
|
35
|
+
│ ├── playbook.ts # PlaybookLibrary (domain-partitioned, InvertedIndex)
|
|
36
|
+
│ ├── knowledge-bank.ts # KnowledgeBank (Markdown + YAML frontmatter)
|
|
37
|
+
│ ├── knowledge-graph.ts # Multi-layer graph overlay
|
|
38
|
+
│ ├── knowledge-defrag.ts # Knowledge note deduplication
|
|
39
|
+
│ ├── meta.ts # MetaMemory (routing/retrieval observations)
|
|
40
|
+
│ ├── reflexion.ts # ReflexionMemory (self-reflection episodes)
|
|
41
|
+
│ ├── reasoning-bank.ts # ReasoningBank (K-means++ clustering)
|
|
42
|
+
│ ├── causal-store.ts # CausalStore (cause→effect edges)
|
|
43
|
+
│ ├── coherence.ts # CoherenceChecker (contradiction detection)
|
|
44
|
+
│ ├── temporal-compressor.ts # TemporalCompressor (Hot/Warm/Cold/Evicted tiers)
|
|
45
|
+
│ ├── candidate-retrieval.ts # Shared InvertedIndex → fallback retrieval
|
|
46
|
+
│ ├── team-experience.ts # TeamExperienceMemory
|
|
47
|
+
│ ├── graph-layers/ # Knowledge graph layers (semantic, temporal, causal, entity)
|
|
48
|
+
│ └── search-provider.ts # SearchProvider strategy (TextSimilarity, Minimem)
|
|
49
|
+
│
|
|
50
|
+
├── learning/ # Learning pipeline
|
|
51
|
+
│ ├── unified-pipeline.ts # UnifiedLearningPipeline (three-speed: immediate + batch + maintenance)
|
|
52
|
+
│ ├── analyzer.ts # TrajectoryAnalyzer (credit assignment + error patterns)
|
|
53
|
+
│ ├── playbook-extractor.ts # PlaybookExtractor (heuristic generation)
|
|
54
|
+
│ ├── knowledge-extractor.ts # KnowledgeExtractor (4 heuristic strategies)
|
|
55
|
+
│ ├── reflexion-generator.ts # ReflexionGenerator (structured self-critique)
|
|
56
|
+
│ ├── meta-learner.ts # MetaLearner (routing/retrieval effectiveness)
|
|
57
|
+
│ ├── usage-inference.ts # PlaybookUsageInference
|
|
58
|
+
│ ├── effectiveness.ts # LearningEffectivenessTracker
|
|
59
|
+
│ ├── instant-loop.ts # InstantLoop (hot-path, <200ms, no LLM)
|
|
60
|
+
│ ├── energy-evaluator.ts # EnergyEvaluator (batch trigger logic)
|
|
61
|
+
│ ├── maintenance-scheduler.ts # MaintenanceScheduler (circadian-gated)
|
|
62
|
+
│ ├── healing-orchestrator.ts # HealingOrchestrator (anomaly detection + repair)
|
|
63
|
+
│ ├── team-pipeline.ts # TeamLearningPipeline
|
|
64
|
+
│ ├── team-ingester.ts # TeamTrajectoryIngester
|
|
65
|
+
│ ├── team-meta-learner.ts # TeamMetaLearner
|
|
66
|
+
│ └── trajectory-sources/ # InMemory, File, Pipeline, Entire, Dataclaw, HuggingFace
|
|
67
|
+
│
|
|
68
|
+
├── search/ # Routing and solving
|
|
69
|
+
│ ├── router.ts # TaskRouter (strategy selection)
|
|
70
|
+
│ ├── moe-gate.ts # MoEGate (learned routing via softmax gate)
|
|
71
|
+
│ ├── solver.ts # DirectSolver
|
|
72
|
+
│ ├── refinement-loop.ts # RefinementLoop (up to 3 retries)
|
|
73
|
+
│ ├── evaluator.ts # SolutionEvaluator
|
|
74
|
+
│ ├── verification-runner.ts # VerificationRunner (command execution)
|
|
75
|
+
│ └── team-router.ts # TeamRouter (composition recommender)
|
|
76
|
+
│
|
|
77
|
+
├── runtime/ # Agent execution
|
|
78
|
+
│ ├── manager.ts # AgentManager (spawning + knowledge injection)
|
|
79
|
+
│ ├── compute-provider.ts # ComputeProvider (cost tiers)
|
|
80
|
+
│ ├── subprocess.ts # SubprocessBackend
|
|
81
|
+
│ ├── acp.ts # ACPBackend
|
|
82
|
+
│ ├── mock.ts # MockBackend
|
|
83
|
+
│ ├── macro-agent.ts # MacroAgentBackendAdapter
|
|
84
|
+
│ └── learning.ts, validation.ts # LearningFlow, ValidationFlow
|
|
85
|
+
│
|
|
86
|
+
├── surfacing/ # Skill library + publishing
|
|
87
|
+
│ ├── skill-library.ts # SkillLibrary (Core/Domain/Contextual/OnDemand tiers)
|
|
88
|
+
│ ├── skill-publisher.ts # SkillPublisher (playbook → skill-tree format)
|
|
89
|
+
│ ├── sqlite-storage-adapter.ts # SQLite persistence for skill-tree
|
|
90
|
+
│ └── team-skill-library.ts # TeamSkillLibrary
|
|
91
|
+
│
|
|
92
|
+
├── embeddings/ # Vector search
|
|
93
|
+
│ ├── manager.ts # EmbeddingManager (multi-provider)
|
|
94
|
+
│ ├── inverted-index.ts # InvertedIndex (candidate narrowing)
|
|
95
|
+
│ ├── bm25.ts # BM25Index (text search fallback)
|
|
96
|
+
│ ├── vector-store.ts # SqliteVectorStore (sqlite-vec)
|
|
97
|
+
│ └── provider.ts # OpenAI, Voyage, Local embedding providers
|
|
98
|
+
│
|
|
99
|
+
├── workspace/ # Agentic analysis
|
|
100
|
+
│ ├── runner.ts # AgenticTaskRunner
|
|
101
|
+
│ ├── skill-converter.ts # Playbook ↔ Skill markdown conversion
|
|
102
|
+
│ └── templates/ # 10 workspace templates
|
|
103
|
+
│
|
|
104
|
+
├── session-bank/ # Claude Code CLI integration
|
|
105
|
+
│ ├── session-bank.ts # SessionBank
|
|
106
|
+
│ ├── git-reader.ts # EntireGitReader
|
|
107
|
+
│ └── parser.ts # EntireTranscriptParser
|
|
108
|
+
│
|
|
109
|
+
├── mcp/ # MCP server (deprecated)
|
|
110
|
+
│ └── playbook-server.ts
|
|
111
|
+
│
|
|
112
|
+
├── persistence/ # Unified SQLite persistence
|
|
113
|
+
│ ├── sqlite-persistence.ts # SqlitePersistence (WAL mode, prepared statements, CRUD)
|
|
114
|
+
│ ├── serializers.ts # Date/embedding/JSON serialization helpers
|
|
115
|
+
│ ├── migrator.ts # One-time JSON→SQLite migration
|
|
116
|
+
│ └── index.ts # Barrel exports
|
|
117
|
+
│
|
|
118
|
+
├── utils/ # Shared utilities
|
|
119
|
+
│ ├── similarity.ts # cosine, jaccard, text, ngram similarity + tokenize
|
|
120
|
+
│ ├── storage.ts # JsonStore, saveJson, loadJson, ensureDir (legacy)
|
|
121
|
+
│ ├── partitioned-store.ts # PartitionedStore (legacy, replaced by SqlitePersistence)
|
|
122
|
+
│ ├── validation.ts # Zod schemas + validators
|
|
123
|
+
│ ├── frontmatter.ts # YAML frontmatter parsing for knowledge notes
|
|
124
|
+
│ ├── error-classifier.ts # Unified error classification (shared by analyzer, reflexion, etc.)
|
|
125
|
+
│ └── trajectory-helpers.ts # Shared action repetition + tool name extraction
|
|
126
|
+
│
|
|
127
|
+
└── bin/
|
|
128
|
+
└── cognitive-core.ts # CLI entry point
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Key Architectural Patterns
|
|
132
|
+
|
|
133
|
+
### Solve pipeline
|
|
134
|
+
`atlas.solve(task)` is the main entry point. After the agent produces a trajectory, processing runs in this order:
|
|
135
|
+
1. **Post-execution subsystems** (per-solve, synchronous) — PlaybookUsageInference, MetaLearner reflection, EffectivenessTracker annotation. These require `RoutingDecision` + injected playbook context, so they only run via `solve()`, NOT via `processTrajectory()`.
|
|
136
|
+
2. **Unified pipeline** — delegates to `UnifiedLearningPipeline` which manages three speeds:
|
|
137
|
+
- **Immediate** (InstantLoop, <200ms): store experience, bump playbook confidence, extract lightweight knowledge, causal edges, reflexion episodes
|
|
138
|
+
- **Batch**: triggered by energy evaluation (not just count). Runs full analysis, playbook extraction, temporal compression, re-clustering, pruning
|
|
139
|
+
- **Maintenance** (circadian-gated): knowledge defrag, healing orchestrator, meta-strategy generation
|
|
140
|
+
|
|
141
|
+
Atlas delegates all learning to `UnifiedLearningPipeline`. The pipeline owns InstantLoop, EnergyEvaluator, MaintenanceScheduler, and HealingOrchestrator internally.
|
|
142
|
+
|
|
143
|
+
### processTrajectory() vs solve()
|
|
144
|
+
`atlas.processTrajectory(trajectory)` runs only the unified learning pipeline (immediate + batch + maintenance). The post-execution subsystems (UsageInference, MetaLearner, EffectivenessTracker) do NOT run — they need routing context from `solve()`. Use `processTrajectory()` for feeding external trajectories.
|
|
145
|
+
|
|
146
|
+
### Shared candidate retrieval
|
|
147
|
+
`memory/candidate-retrieval.ts` implements the "InvertedIndex narrow → fallback to full scan" pattern used by ExperienceMemory, PlaybookLibrary, and CausalStore. Don't duplicate this pattern.
|
|
148
|
+
|
|
149
|
+
### Shared error classification
|
|
150
|
+
`utils/error-classifier.ts` provides canonical error types used by TrajectoryAnalyzer and ReflexionGenerator. Don't create local error classification — use `classifyError()` or `classifyErrorType()`.
|
|
151
|
+
|
|
152
|
+
### Shared trajectory helpers
|
|
153
|
+
`utils/trajectory-helpers.ts` provides `detectRepeatedActions()` and `extractToolNames()` used by analyzer, reflexion-generator, and meta-learner. Don't duplicate action counting or tool name regex.
|
|
154
|
+
|
|
155
|
+
### Unified SQLite persistence
|
|
156
|
+
All system-internal data lives in a single SQLite database (`.atlas/cognitive-core.db`) managed by `SqlitePersistence`. This includes experiences, playbooks, reflexion episodes, causal edges, meta observations/strategies, playbook version history, and system state (MoEGate weights, ReasoningBank clusters, TemporalCompressor pending demotions).
|
|
157
|
+
|
|
158
|
+
Two persistence layers, separated by audience:
|
|
159
|
+
|
|
160
|
+
| Layer | What | Format | Managed by |
|
|
161
|
+
|-------|------|--------|------------|
|
|
162
|
+
| **SQLite DB** (system-internal) | Experiences, playbooks, causal edges, meta state, routing weights, version history | `.atlas/cognitive-core.db` | SqlitePersistence |
|
|
163
|
+
| **Files** (agent-accessible) | Knowledge notes | Markdown + YAML frontmatter | KnowledgeBank |
|
|
164
|
+
| | Published skills | skill-tree format | SkillPublisher / SqliteStorageAdapter (own `skills.db`) |
|
|
165
|
+
| | Session transcripts | git orphan branch | SessionBank |
|
|
166
|
+
|
|
167
|
+
Memory stores (ExperienceMemory, PlaybookLibrary, ReflexionMemory, CausalStore, MetaMemory) use write-through to SQLite — no dirty tracking, immediate INSERT/UPDATE. InvertedIndex is an in-memory cache rebuilt from SQLite on `init()`.
|
|
168
|
+
|
|
169
|
+
System state for stateful subsystems (MoEGate, ReasoningBank, TemporalCompressor) is persisted via the `system_state` key-value table and restored on startup via `loadPersistedState()`.
|
|
170
|
+
|
|
171
|
+
Playbook versioning: `snapshotPlaybookVersion()` captures pre-mutation snapshots to `playbook_versions` table on `recordSuccess`, `recordFailure`, and `evolve` calls.
|
|
172
|
+
|
|
173
|
+
### JSON→SQLite migration
|
|
174
|
+
`persistence/migrator.ts` auto-detects old JSON files on first startup and migrates them to SQLite. Old directories are renamed to `{collection}.migrated/` as backup.
|
|
175
|
+
|
|
176
|
+
### Knowledge storage
|
|
177
|
+
Knowledge notes are Markdown files with YAML frontmatter. Types: observation, entity, domain-summary. Stored in `knowledge/{observations,entities,domains}/`. Any filesystem-aware agent can read them directly.
|
|
178
|
+
|
|
179
|
+
### Factory pattern for external consumers
|
|
180
|
+
`factory.ts` provides `CognitiveCoreFactory` for skill-tree and other external integrations. Prefer using factory for external consumers rather than direct imports.
|
|
181
|
+
|
|
182
|
+
## Coding Conventions
|
|
183
|
+
|
|
184
|
+
- **TypeScript strict mode** — `noUnusedLocals`, `noUnusedParameters`, `noImplicitReturns`, `noFallthroughCasesInSwitch` all enabled
|
|
185
|
+
- **ES modules** — all imports use `.js` extensions (TypeScript ESM convention)
|
|
186
|
+
- **Target**: ES2022, module: ESNext, moduleResolution: bundler
|
|
187
|
+
- **Creator functions** — every class has a `createX()` factory function exported alongside it (e.g., `createAnalyzer()`, `createMetaLearner()`)
|
|
188
|
+
- **Config pattern** — classes take `Partial<Config>` and merge with `DEFAULT_CONFIG` using spread
|
|
189
|
+
- **Type-only imports** — use `import type { ... }` for types that aren't used at runtime
|
|
190
|
+
- **Re-exports** — each directory has an `index.ts` barrel file; root `index.ts` re-exports everything
|
|
191
|
+
- **No default exports** — all exports are named
|
|
192
|
+
|
|
193
|
+
## Testing
|
|
194
|
+
|
|
195
|
+
- Framework: Vitest with `globals: true`
|
|
196
|
+
- Test files mirror source structure: `tests/learning/analyzer.test.ts` tests `src/learning/analyzer.ts`
|
|
197
|
+
- Helper factories for test data: `createTrajectory()`, `createTask()`, `createStep()`, `successOutcome()`, `failureOutcome()`
|
|
198
|
+
- Tests are unit-level; `tests/integration/` has e2e tests
|
|
199
|
+
- Test timeout: 10s default
|
|
200
|
+
|
|
201
|
+
## Dependencies
|
|
202
|
+
|
|
203
|
+
Key runtime dependencies:
|
|
204
|
+
- `agent-workspace` — workspace management (WorkspaceManager, WorkspaceHandle)
|
|
205
|
+
- `better-sqlite3` + `sqlite-vec` — unified SQLite persistence + vector store
|
|
206
|
+
- `yaml` — YAML frontmatter parsing
|
|
207
|
+
- `zod` — schema validation
|
|
208
|
+
- `acp-factory` — Agent Communication Protocol
|
|
209
|
+
- `minimem` — optional hybrid search
|
|
210
|
+
- `skill-tree` — skill publishing (has unresolved import issues in surfacing/)
|
|
211
|
+
|
|
212
|
+
## Common Tasks
|
|
213
|
+
|
|
214
|
+
### Adding a new memory store
|
|
215
|
+
1. Create `src/memory/my-store.ts` with the store class
|
|
216
|
+
2. Constructor takes `SqlitePersistence` — add table DDL in `sqlite-persistence.ts` `createTables()`
|
|
217
|
+
3. Add to `src/memory/index.ts` barrel exports
|
|
218
|
+
4. Wire into `MemorySystem` in `src/memory/system.ts`
|
|
219
|
+
5. Use `getCandidates()` from `candidate-retrieval.ts` for retrieval if using InvertedIndex
|
|
220
|
+
6. Add to root `src/index.ts` exports
|
|
221
|
+
|
|
222
|
+
### Adding a new workspace template
|
|
223
|
+
1. Create `src/workspace/templates/my-template.ts`
|
|
224
|
+
2. Export the template constant
|
|
225
|
+
3. Wire into `src/workspace/index.ts`
|
|
226
|
+
|
|
227
|
+
### Adding a new learning component
|
|
228
|
+
1. Create in `src/learning/`
|
|
229
|
+
2. Wire into `LearningPipeline.batch()` or `InstantLoop.process()` as appropriate
|
|
230
|
+
3. If shared logic exists, add to `utils/error-classifier.ts` or `utils/trajectory-helpers.ts`
|
|
231
|
+
|
|
232
|
+
### Modifying error classification
|
|
233
|
+
Update `src/utils/error-classifier.ts` — this is the single source of truth. Don't add local error classification logic in consumers.
|