cognitive-core 0.0.2 → 0.1.2
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 +88 -0
- package/.claude/settings.local.json +11 -0
- package/.entire/settings.json +4 -0
- package/README.md +563 -107
- package/SKILL.md +193 -0
- package/dist/agents/index.d.ts +3 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/mock-provider.d.ts +23 -0
- package/dist/agents/mock-provider.d.ts.map +1 -0
- package/dist/agents/mock-provider.js +71 -0
- package/dist/agents/mock-provider.js.map +1 -0
- package/dist/agents/types.d.ts +98 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +44 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/atlas.d.ts +334 -0
- package/dist/atlas.d.ts.map +1 -0
- package/dist/atlas.js +702 -0
- package/dist/atlas.js.map +1 -0
- package/dist/bin/cognitive-core.d.ts +18 -0
- package/dist/bin/cognitive-core.d.ts.map +1 -0
- package/dist/bin/cognitive-core.js +419 -0
- package/dist/bin/cognitive-core.js.map +1 -0
- package/dist/embeddings/bm25.d.ts +104 -0
- package/dist/embeddings/bm25.d.ts.map +1 -0
- package/dist/embeddings/bm25.js +264 -0
- package/dist/embeddings/bm25.js.map +1 -0
- package/dist/embeddings/index.d.ts +12 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +16 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/manager.d.ts +112 -0
- package/dist/embeddings/manager.d.ts.map +1 -0
- package/dist/embeddings/manager.js +215 -0
- package/dist/embeddings/manager.js.map +1 -0
- package/dist/embeddings/provider.d.ts +101 -0
- package/dist/embeddings/provider.d.ts.map +1 -0
- package/dist/embeddings/provider.js +235 -0
- package/dist/embeddings/provider.js.map +1 -0
- package/dist/embeddings/vector-store.d.ts +101 -0
- package/dist/embeddings/vector-store.d.ts.map +1 -0
- package/dist/embeddings/vector-store.js +256 -0
- package/dist/embeddings/vector-store.js.map +1 -0
- package/dist/factory.d.ts +193 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +109 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +32 -453
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +115 -509
- package/dist/index.js.map +1 -0
- package/dist/learning/analyzer.d.ts +110 -0
- package/dist/learning/analyzer.d.ts.map +1 -0
- package/dist/learning/analyzer.js +213 -0
- package/dist/learning/analyzer.js.map +1 -0
- package/dist/learning/effectiveness.d.ts +158 -0
- package/dist/learning/effectiveness.d.ts.map +1 -0
- package/dist/learning/effectiveness.js +251 -0
- package/dist/learning/effectiveness.js.map +1 -0
- package/dist/learning/index.d.ts +12 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +17 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/knowledge-extractor.d.ts +56 -0
- package/dist/learning/knowledge-extractor.d.ts.map +1 -0
- package/dist/learning/knowledge-extractor.js +336 -0
- package/dist/learning/knowledge-extractor.js.map +1 -0
- package/dist/learning/llm-extractor.d.ts +88 -0
- package/dist/learning/llm-extractor.d.ts.map +1 -0
- package/dist/learning/llm-extractor.js +372 -0
- package/dist/learning/llm-extractor.js.map +1 -0
- package/dist/learning/meta-learner.d.ts +87 -0
- package/dist/learning/meta-learner.d.ts.map +1 -0
- package/dist/learning/meta-learner.js +398 -0
- package/dist/learning/meta-learner.js.map +1 -0
- package/dist/learning/pipeline.d.ts +89 -0
- package/dist/learning/pipeline.d.ts.map +1 -0
- package/dist/learning/pipeline.js +236 -0
- package/dist/learning/pipeline.js.map +1 -0
- package/dist/learning/playbook-extractor.d.ts +113 -0
- package/dist/learning/playbook-extractor.d.ts.map +1 -0
- package/dist/learning/playbook-extractor.js +523 -0
- package/dist/learning/playbook-extractor.js.map +1 -0
- package/dist/learning/team-ingester.d.ts +152 -0
- package/dist/learning/team-ingester.d.ts.map +1 -0
- package/dist/learning/team-ingester.js +333 -0
- package/dist/learning/team-ingester.js.map +1 -0
- package/dist/learning/team-meta-learner.d.ts +50 -0
- package/dist/learning/team-meta-learner.d.ts.map +1 -0
- package/dist/learning/team-meta-learner.js +417 -0
- package/dist/learning/team-meta-learner.js.map +1 -0
- package/dist/learning/team-pipeline.d.ts +76 -0
- package/dist/learning/team-pipeline.d.ts.map +1 -0
- package/dist/learning/team-pipeline.js +266 -0
- package/dist/learning/team-pipeline.js.map +1 -0
- package/dist/learning/trajectory-sources/dataclaw.d.ts +41 -0
- package/dist/learning/trajectory-sources/dataclaw.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/dataclaw.js +330 -0
- package/dist/learning/trajectory-sources/dataclaw.js.map +1 -0
- package/dist/learning/trajectory-sources/entire.d.ts +28 -0
- package/dist/learning/trajectory-sources/entire.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/entire.js +182 -0
- package/dist/learning/trajectory-sources/entire.js.map +1 -0
- package/dist/learning/trajectory-sources/file.d.ts +23 -0
- package/dist/learning/trajectory-sources/file.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/file.js +101 -0
- package/dist/learning/trajectory-sources/file.js.map +1 -0
- package/dist/learning/trajectory-sources/huggingface.d.ts +36 -0
- package/dist/learning/trajectory-sources/huggingface.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/huggingface.js +157 -0
- package/dist/learning/trajectory-sources/huggingface.js.map +1 -0
- package/dist/learning/trajectory-sources/in-memory.d.ts +21 -0
- package/dist/learning/trajectory-sources/in-memory.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/in-memory.js +43 -0
- package/dist/learning/trajectory-sources/in-memory.js.map +1 -0
- package/dist/learning/trajectory-sources/index.d.ts +7 -0
- package/dist/learning/trajectory-sources/index.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/index.js +7 -0
- package/dist/learning/trajectory-sources/index.js.map +1 -0
- package/dist/learning/trajectory-sources/pipeline.d.ts +24 -0
- package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/pipeline.js +47 -0
- package/dist/learning/trajectory-sources/pipeline.js.map +1 -0
- package/dist/learning/usage-inference.d.ts +82 -0
- package/dist/learning/usage-inference.d.ts.map +1 -0
- package/dist/learning/usage-inference.js +261 -0
- package/dist/learning/usage-inference.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +6 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/playbook-server.d.ts +120 -0
- package/dist/mcp/playbook-server.d.ts.map +1 -0
- package/dist/mcp/playbook-server.js +427 -0
- package/dist/mcp/playbook-server.js.map +1 -0
- package/dist/memory/curated-loader.d.ts +62 -0
- package/dist/memory/curated-loader.d.ts.map +1 -0
- package/dist/memory/curated-loader.js +106 -0
- package/dist/memory/curated-loader.js.map +1 -0
- package/dist/memory/experience.d.ts +122 -0
- package/dist/memory/experience.d.ts.map +1 -0
- package/dist/memory/experience.js +392 -0
- package/dist/memory/experience.js.map +1 -0
- package/dist/memory/graph-layers/base.d.ts +29 -0
- package/dist/memory/graph-layers/base.d.ts.map +1 -0
- package/dist/memory/graph-layers/base.js +143 -0
- package/dist/memory/graph-layers/base.js.map +1 -0
- package/dist/memory/graph-layers/causal.d.ts +14 -0
- package/dist/memory/graph-layers/causal.d.ts.map +1 -0
- package/dist/memory/graph-layers/causal.js +14 -0
- package/dist/memory/graph-layers/causal.js.map +1 -0
- package/dist/memory/graph-layers/entity.d.ts +14 -0
- package/dist/memory/graph-layers/entity.d.ts.map +1 -0
- package/dist/memory/graph-layers/entity.js +14 -0
- package/dist/memory/graph-layers/entity.js.map +1 -0
- package/dist/memory/graph-layers/index.d.ts +6 -0
- package/dist/memory/graph-layers/index.d.ts.map +1 -0
- package/dist/memory/graph-layers/index.js +6 -0
- package/dist/memory/graph-layers/index.js.map +1 -0
- package/dist/memory/graph-layers/semantic.d.ts +14 -0
- package/dist/memory/graph-layers/semantic.d.ts.map +1 -0
- package/dist/memory/graph-layers/semantic.js +14 -0
- package/dist/memory/graph-layers/semantic.js.map +1 -0
- package/dist/memory/graph-layers/temporal.d.ts +14 -0
- package/dist/memory/graph-layers/temporal.d.ts.map +1 -0
- package/dist/memory/graph-layers/temporal.js +14 -0
- package/dist/memory/graph-layers/temporal.js.map +1 -0
- package/dist/memory/index.d.ts +14 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +19 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/knowledge-bank.d.ts +220 -0
- package/dist/memory/knowledge-bank.d.ts.map +1 -0
- package/dist/memory/knowledge-bank.js +1003 -0
- package/dist/memory/knowledge-bank.js.map +1 -0
- package/dist/memory/knowledge-defrag.d.ts +49 -0
- package/dist/memory/knowledge-defrag.d.ts.map +1 -0
- package/dist/memory/knowledge-defrag.js +257 -0
- package/dist/memory/knowledge-defrag.js.map +1 -0
- package/dist/memory/knowledge-graph.d.ts +41 -0
- package/dist/memory/knowledge-graph.d.ts.map +1 -0
- package/dist/memory/knowledge-graph.js +273 -0
- package/dist/memory/knowledge-graph.js.map +1 -0
- package/dist/memory/meta.d.ts +90 -0
- package/dist/memory/meta.d.ts.map +1 -0
- package/dist/memory/meta.js +362 -0
- package/dist/memory/meta.js.map +1 -0
- package/dist/memory/playbook.d.ts +133 -0
- package/dist/memory/playbook.d.ts.map +1 -0
- package/dist/memory/playbook.js +357 -0
- package/dist/memory/playbook.js.map +1 -0
- package/dist/memory/search-provider.d.ts +31 -0
- package/dist/memory/search-provider.d.ts.map +1 -0
- package/dist/memory/search-provider.js +2 -0
- package/dist/memory/search-provider.js.map +1 -0
- package/dist/memory/search-providers/index.d.ts +3 -0
- package/dist/memory/search-providers/index.d.ts.map +1 -0
- package/dist/memory/search-providers/index.js +3 -0
- package/dist/memory/search-providers/index.js.map +1 -0
- package/dist/memory/search-providers/minimem.d.ts +43 -0
- package/dist/memory/search-providers/minimem.d.ts.map +1 -0
- package/dist/memory/search-providers/minimem.js +56 -0
- package/dist/memory/search-providers/minimem.js.map +1 -0
- package/dist/memory/search-providers/text-similarity.d.ts +15 -0
- package/dist/memory/search-providers/text-similarity.d.ts.map +1 -0
- package/dist/memory/search-providers/text-similarity.js +21 -0
- package/dist/memory/search-providers/text-similarity.js.map +1 -0
- package/dist/memory/skill-exporter.d.ts +75 -0
- package/dist/memory/skill-exporter.d.ts.map +1 -0
- package/dist/memory/skill-exporter.js +248 -0
- package/dist/memory/skill-exporter.js.map +1 -0
- package/dist/memory/system.d.ts +179 -0
- package/dist/memory/system.d.ts.map +1 -0
- package/dist/memory/system.js +421 -0
- package/dist/memory/system.js.map +1 -0
- package/dist/memory/team-experience.d.ts +298 -0
- package/dist/memory/team-experience.d.ts.map +1 -0
- package/dist/memory/team-experience.js +355 -0
- package/dist/memory/team-experience.js.map +1 -0
- package/dist/runtime/backends/acp-protocol.d.ts +49 -0
- package/dist/runtime/backends/acp-protocol.d.ts.map +1 -0
- package/dist/runtime/backends/acp-protocol.js +166 -0
- package/dist/runtime/backends/acp-protocol.js.map +1 -0
- package/dist/runtime/backends/acp.d.ts +67 -0
- package/dist/runtime/backends/acp.d.ts.map +1 -0
- package/dist/runtime/backends/acp.js +166 -0
- package/dist/runtime/backends/acp.js.map +1 -0
- package/dist/runtime/backends/index.d.ts +7 -0
- package/dist/runtime/backends/index.d.ts.map +1 -0
- package/dist/runtime/backends/index.js +8 -0
- package/dist/runtime/backends/index.js.map +1 -0
- package/dist/runtime/backends/macro-agent.d.ts +104 -0
- package/dist/runtime/backends/macro-agent.d.ts.map +1 -0
- package/dist/runtime/backends/macro-agent.js +107 -0
- package/dist/runtime/backends/macro-agent.js.map +1 -0
- package/dist/runtime/backends/mock.d.ts +67 -0
- package/dist/runtime/backends/mock.d.ts.map +1 -0
- package/dist/runtime/backends/mock.js +153 -0
- package/dist/runtime/backends/mock.js.map +1 -0
- package/dist/runtime/backends/subprocess.d.ts +56 -0
- package/dist/runtime/backends/subprocess.d.ts.map +1 -0
- package/dist/runtime/backends/subprocess.js +260 -0
- package/dist/runtime/backends/subprocess.js.map +1 -0
- package/dist/runtime/compute-provider.d.ts +87 -0
- package/dist/runtime/compute-provider.d.ts.map +1 -0
- package/dist/runtime/compute-provider.js +87 -0
- package/dist/runtime/compute-provider.js.map +1 -0
- package/dist/runtime/flows/learning.d.ts +73 -0
- package/dist/runtime/flows/learning.d.ts.map +1 -0
- package/dist/runtime/flows/learning.js +116 -0
- package/dist/runtime/flows/learning.js.map +1 -0
- package/dist/runtime/flows/validation.d.ts +122 -0
- package/dist/runtime/flows/validation.d.ts.map +1 -0
- package/dist/runtime/flows/validation.js +223 -0
- package/dist/runtime/flows/validation.js.map +1 -0
- package/dist/runtime/index.d.ts +7 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +10 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/manager.d.ts +149 -0
- package/dist/runtime/manager.d.ts.map +1 -0
- package/dist/runtime/manager.js +535 -0
- package/dist/runtime/manager.js.map +1 -0
- package/dist/runtime/types.d.ts +176 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/search/evaluator.d.ts +109 -0
- package/dist/search/evaluator.d.ts.map +1 -0
- package/dist/search/evaluator.js +372 -0
- package/dist/search/evaluator.js.map +1 -0
- package/dist/search/index.d.ts +8 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +13 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/refinement-loop.d.ts +90 -0
- package/dist/search/refinement-loop.d.ts.map +1 -0
- package/dist/search/refinement-loop.js +316 -0
- package/dist/search/refinement-loop.js.map +1 -0
- package/dist/search/refinement-types.d.ts +154 -0
- package/dist/search/refinement-types.d.ts.map +1 -0
- package/dist/search/refinement-types.js +99 -0
- package/dist/search/refinement-types.js.map +1 -0
- package/dist/search/router.d.ts +61 -0
- package/dist/search/router.d.ts.map +1 -0
- package/dist/search/router.js +197 -0
- package/dist/search/router.js.map +1 -0
- package/dist/search/solver.d.ts +75 -0
- package/dist/search/solver.d.ts.map +1 -0
- package/dist/search/solver.js +216 -0
- package/dist/search/solver.js.map +1 -0
- package/dist/search/team-router.d.ts +91 -0
- package/dist/search/team-router.d.ts.map +1 -0
- package/dist/search/team-router.js +315 -0
- package/dist/search/team-router.js.map +1 -0
- package/dist/search/verification-runner.d.ts +125 -0
- package/dist/search/verification-runner.d.ts.map +1 -0
- package/dist/search/verification-runner.js +440 -0
- package/dist/search/verification-runner.js.map +1 -0
- package/dist/session-bank/git-reader.d.ts +39 -0
- package/dist/session-bank/git-reader.d.ts.map +1 -0
- package/dist/session-bank/git-reader.js +165 -0
- package/dist/session-bank/git-reader.js.map +1 -0
- package/dist/session-bank/index.d.ts +5 -0
- package/dist/session-bank/index.d.ts.map +1 -0
- package/dist/session-bank/index.js +4 -0
- package/dist/session-bank/index.js.map +1 -0
- package/dist/session-bank/parser.d.ts +39 -0
- package/dist/session-bank/parser.d.ts.map +1 -0
- package/dist/session-bank/parser.js +231 -0
- package/dist/session-bank/parser.js.map +1 -0
- package/dist/session-bank/session-bank.d.ts +35 -0
- package/dist/session-bank/session-bank.d.ts.map +1 -0
- package/dist/session-bank/session-bank.js +326 -0
- package/dist/session-bank/session-bank.js.map +1 -0
- package/dist/session-bank/types.d.ts +129 -0
- package/dist/session-bank/types.d.ts.map +1 -0
- package/dist/session-bank/types.js +7 -0
- package/dist/session-bank/types.js.map +1 -0
- package/dist/surfacing/index.d.ts +6 -0
- package/dist/surfacing/index.d.ts.map +1 -0
- package/dist/surfacing/index.js +5 -0
- package/dist/surfacing/index.js.map +1 -0
- package/dist/surfacing/publisher.d.ts +22 -0
- package/dist/surfacing/publisher.d.ts.map +1 -0
- package/dist/surfacing/publisher.js +9 -0
- package/dist/surfacing/publisher.js.map +1 -0
- package/dist/surfacing/skill-library.d.ts +170 -0
- package/dist/surfacing/skill-library.d.ts.map +1 -0
- package/dist/surfacing/skill-library.js +455 -0
- package/dist/surfacing/skill-library.js.map +1 -0
- package/dist/surfacing/skill-publisher.d.ts +43 -0
- package/dist/surfacing/skill-publisher.d.ts.map +1 -0
- package/dist/surfacing/skill-publisher.js +197 -0
- package/dist/surfacing/skill-publisher.js.map +1 -0
- package/dist/surfacing/sqlite-storage-adapter.d.ts +42 -0
- package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -0
- package/dist/surfacing/sqlite-storage-adapter.js +207 -0
- package/dist/surfacing/sqlite-storage-adapter.js.map +1 -0
- package/dist/surfacing/team-skill-library.d.ts +180 -0
- package/dist/surfacing/team-skill-library.d.ts.map +1 -0
- package/dist/surfacing/team-skill-library.js +384 -0
- package/dist/surfacing/team-skill-library.js.map +1 -0
- package/dist/types/config.d.ts +2287 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +490 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/dataclaw.d.ts +286 -0
- package/dist/types/dataclaw.d.ts.map +1 -0
- package/dist/types/dataclaw.js +84 -0
- package/dist/types/dataclaw.js.map +1 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/knowledge-graph.d.ts +148 -0
- package/dist/types/knowledge-graph.d.ts.map +1 -0
- package/dist/types/knowledge-graph.js +40 -0
- package/dist/types/knowledge-graph.js.map +1 -0
- package/dist/types/knowledge.d.ts +280 -0
- package/dist/types/knowledge.d.ts.map +1 -0
- package/dist/types/knowledge.js +191 -0
- package/dist/types/knowledge.js.map +1 -0
- package/dist/types/memory.d.ts +339 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +207 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/meta.d.ts +146 -0
- package/dist/types/meta.d.ts.map +1 -0
- package/dist/types/meta.js +51 -0
- package/dist/types/meta.js.map +1 -0
- package/dist/types/outcome.d.ts +42 -0
- package/dist/types/outcome.d.ts.map +1 -0
- package/dist/types/outcome.js +50 -0
- package/dist/types/outcome.js.map +1 -0
- package/dist/types/playbook.d.ts +119 -0
- package/dist/types/playbook.d.ts.map +1 -0
- package/dist/types/playbook.js +71 -0
- package/dist/types/playbook.js.map +1 -0
- package/dist/types/step.d.ts +44 -0
- package/dist/types/step.d.ts.map +1 -0
- package/dist/types/step.js +32 -0
- package/dist/types/step.js.map +1 -0
- package/dist/types/task.d.ts +91 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +39 -0
- package/dist/types/task.js.map +1 -0
- package/dist/types/team-meta.d.ts +160 -0
- package/dist/types/team-meta.d.ts.map +1 -0
- package/dist/types/team-meta.js +42 -0
- package/dist/types/team-meta.js.map +1 -0
- package/dist/types/team-playbook.d.ts +276 -0
- package/dist/types/team-playbook.d.ts.map +1 -0
- package/dist/types/team-playbook.js +85 -0
- package/dist/types/team-playbook.js.map +1 -0
- package/dist/types/team-trajectory.d.ts +305 -0
- package/dist/types/team-trajectory.d.ts.map +1 -0
- package/dist/types/team-trajectory.js +304 -0
- package/dist/types/team-trajectory.js.map +1 -0
- package/dist/types/trajectory-source.d.ts +39 -0
- package/dist/types/trajectory-source.d.ts.map +1 -0
- package/dist/types/trajectory-source.js +2 -0
- package/dist/types/trajectory-source.js.map +1 -0
- package/dist/types/trajectory.d.ts +221 -0
- package/dist/types/trajectory.d.ts.map +1 -0
- package/dist/types/trajectory.js +60 -0
- package/dist/types/trajectory.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +34 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +93 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/similarity.d.ts +31 -0
- package/dist/utils/similarity.d.ts.map +1 -0
- package/dist/utils/similarity.js +107 -0
- package/dist/utils/similarity.js.map +1 -0
- package/dist/utils/storage.d.ts +106 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/storage.js +203 -0
- package/dist/utils/storage.js.map +1 -0
- package/dist/utils/validation.d.ts +129 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +171 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/workspace/index.d.ts +6 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +11 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/runner.d.ts +50 -0
- package/dist/workspace/runner.d.ts.map +1 -0
- package/dist/workspace/runner.js +219 -0
- package/dist/workspace/runner.js.map +1 -0
- package/dist/workspace/skill-converter.d.ts +18 -0
- package/dist/workspace/skill-converter.d.ts.map +1 -0
- package/dist/workspace/skill-converter.js +257 -0
- package/dist/workspace/skill-converter.js.map +1 -0
- package/dist/workspace/templates/index.d.ts +11 -0
- package/dist/workspace/templates/index.d.ts.map +1 -0
- package/dist/workspace/templates/index.js +21 -0
- package/dist/workspace/templates/index.js.map +1 -0
- package/dist/workspace/templates/knowledge-defrag.d.ts +25 -0
- package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -0
- package/dist/workspace/templates/knowledge-defrag.js +154 -0
- package/dist/workspace/templates/knowledge-defrag.js.map +1 -0
- package/dist/workspace/templates/knowledge-extraction.d.ts +25 -0
- package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -0
- package/dist/workspace/templates/knowledge-extraction.js +246 -0
- package/dist/workspace/templates/knowledge-extraction.js.map +1 -0
- package/dist/workspace/templates/meta-reflection.d.ts +47 -0
- package/dist/workspace/templates/meta-reflection.d.ts.map +1 -0
- package/dist/workspace/templates/meta-reflection.js +135 -0
- package/dist/workspace/templates/meta-reflection.js.map +1 -0
- package/dist/workspace/templates/playbook-extraction.d.ts +20 -0
- package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-extraction.js +189 -0
- package/dist/workspace/templates/playbook-extraction.js.map +1 -0
- package/dist/workspace/templates/refinement-analysis.d.ts +31 -0
- package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -0
- package/dist/workspace/templates/refinement-analysis.js +107 -0
- package/dist/workspace/templates/refinement-analysis.js.map +1 -0
- package/dist/workspace/templates/solution-evaluation.d.ts +21 -0
- package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -0
- package/dist/workspace/templates/solution-evaluation.js +131 -0
- package/dist/workspace/templates/solution-evaluation.js.map +1 -0
- package/dist/workspace/templates/team-playbook-extraction.d.ts +44 -0
- package/dist/workspace/templates/team-playbook-extraction.d.ts.map +1 -0
- package/dist/workspace/templates/team-playbook-extraction.js +497 -0
- package/dist/workspace/templates/team-playbook-extraction.js.map +1 -0
- package/dist/workspace/templates/team-trajectory-analysis.d.ts +19 -0
- package/dist/workspace/templates/team-trajectory-analysis.d.ts.map +1 -0
- package/dist/workspace/templates/team-trajectory-analysis.js +442 -0
- package/dist/workspace/templates/team-trajectory-analysis.js.map +1 -0
- package/dist/workspace/templates/trajectory-analysis.d.ts +19 -0
- package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -0
- package/dist/workspace/templates/trajectory-analysis.js +170 -0
- package/dist/workspace/templates/trajectory-analysis.js.map +1 -0
- package/dist/workspace/templates/usage-inference.d.ts +19 -0
- package/dist/workspace/templates/usage-inference.d.ts.map +1 -0
- package/dist/workspace/templates/usage-inference.js +125 -0
- package/dist/workspace/templates/usage-inference.js.map +1 -0
- package/dist/workspace/types.d.ts +145 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/dist/workspace/types.js +17 -0
- package/dist/workspace/types.js.map +1 -0
- package/docs/DESIGN-agentic-workspace.md +2057 -0
- package/docs/DESIGN-semantic-memory-knowledge-bank.md +1789 -0
- package/docs/DESIGN-session-bank.md +1134 -0
- package/docs/DESIGN-team-extraction-pipeline.md +1369 -0
- package/docs/DESIGN-workspace-migration.md +1079 -0
- package/docs/PLAN-agentic-workspace-implementation.md +717 -0
- package/docs/PLAN-graph-migration.md +299 -0
- package/docs/PLAN-session-bank-implementation.md +474 -0
- package/docs/PROPOSAL-team-aware-learning.md +1080 -0
- package/docs/RESEARCH-semantic-memory-knowledge-structures.md +517 -0
- package/docs/RESEARCH-team-trajectory-learning.md +553 -0
- package/gaps.md +204 -0
- package/package.json +67 -33
- package/references/agent-workspace/CLAUDE.md +74 -0
- package/references/agent-workspace/README.md +587 -0
- package/references/agent-workspace/media/banner.png +0 -0
- package/references/agent-workspace/package-lock.json +2061 -0
- package/references/agent-workspace/package.json +54 -0
- package/references/agent-workspace/src/handle.ts +122 -0
- package/references/agent-workspace/src/index.ts +32 -0
- package/references/agent-workspace/src/manager.ts +102 -0
- package/references/agent-workspace/src/readers/json.ts +71 -0
- package/references/agent-workspace/src/readers/markdown.ts +37 -0
- package/references/agent-workspace/src/readers/raw.ts +27 -0
- package/references/agent-workspace/src/types.ts +68 -0
- package/references/agent-workspace/src/validation.ts +93 -0
- package/references/agent-workspace/src/writers/json.ts +17 -0
- package/references/agent-workspace/src/writers/markdown.ts +27 -0
- package/references/agent-workspace/src/writers/raw.ts +22 -0
- package/references/agent-workspace/tests/errors.test.ts +652 -0
- package/references/agent-workspace/tests/handle.test.ts +144 -0
- package/references/agent-workspace/tests/manager.test.ts +124 -0
- package/references/agent-workspace/tests/readers.test.ts +205 -0
- package/references/agent-workspace/tests/validation.test.ts +196 -0
- package/references/agent-workspace/tests/writers.test.ts +108 -0
- package/references/agent-workspace/tsconfig.json +20 -0
- package/references/agent-workspace/tsup.config.ts +9 -0
- package/references/minimem/.claude/settings.json +7 -0
- package/references/minimem/.sudocode/issues.jsonl +18 -0
- package/references/minimem/.sudocode/specs.jsonl +1 -0
- package/references/minimem/CLAUDE.md +310 -0
- package/references/minimem/README.md +556 -0
- package/references/minimem/claude-plugin/.claude-plugin/plugin.json +10 -0
- package/references/minimem/claude-plugin/.mcp.json +7 -0
- package/references/minimem/claude-plugin/README.md +158 -0
- package/references/minimem/claude-plugin/commands/recall.md +47 -0
- package/references/minimem/claude-plugin/commands/remember.md +41 -0
- package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +272 -0
- package/references/minimem/claude-plugin/hooks/hooks.json +27 -0
- package/references/minimem/claude-plugin/hooks/session-end.sh +86 -0
- package/references/minimem/claude-plugin/hooks/session-start.sh +85 -0
- package/references/minimem/claude-plugin/skills/memory/SKILL.md +108 -0
- package/references/minimem/package-lock.json +5373 -0
- package/references/minimem/package.json +60 -0
- package/references/minimem/scripts/postbuild.js +35 -0
- package/references/minimem/src/__tests__/edge-cases.test.ts +371 -0
- package/references/minimem/src/__tests__/errors.test.ts +265 -0
- package/references/minimem/src/__tests__/helpers.ts +199 -0
- package/references/minimem/src/__tests__/internal.test.ts +407 -0
- package/references/minimem/src/__tests__/knowledge.test.ts +287 -0
- package/references/minimem/src/__tests__/minimem.integration.test.ts +1127 -0
- package/references/minimem/src/__tests__/session.test.ts +190 -0
- package/references/minimem/src/cli/__tests__/commands.test.ts +759 -0
- package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +141 -0
- package/references/minimem/src/cli/commands/append.ts +76 -0
- package/references/minimem/src/cli/commands/config.ts +262 -0
- package/references/minimem/src/cli/commands/conflicts.ts +413 -0
- package/references/minimem/src/cli/commands/daemon.ts +169 -0
- package/references/minimem/src/cli/commands/index.ts +12 -0
- package/references/minimem/src/cli/commands/init.ts +88 -0
- package/references/minimem/src/cli/commands/mcp.ts +177 -0
- package/references/minimem/src/cli/commands/push-pull.ts +213 -0
- package/references/minimem/src/cli/commands/search.ts +158 -0
- package/references/minimem/src/cli/commands/status.ts +84 -0
- package/references/minimem/src/cli/commands/sync-init.ts +290 -0
- package/references/minimem/src/cli/commands/sync.ts +70 -0
- package/references/minimem/src/cli/commands/upsert.ts +197 -0
- package/references/minimem/src/cli/config.ts +584 -0
- package/references/minimem/src/cli/index.ts +264 -0
- package/references/minimem/src/cli/shared.ts +161 -0
- package/references/minimem/src/cli/sync/__tests__/central.test.ts +152 -0
- package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +209 -0
- package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +118 -0
- package/references/minimem/src/cli/sync/__tests__/detection.test.ts +207 -0
- package/references/minimem/src/cli/sync/__tests__/integration.test.ts +476 -0
- package/references/minimem/src/cli/sync/__tests__/registry.test.ts +363 -0
- package/references/minimem/src/cli/sync/__tests__/state.test.ts +255 -0
- package/references/minimem/src/cli/sync/__tests__/validation.test.ts +193 -0
- package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +178 -0
- package/references/minimem/src/cli/sync/central.ts +292 -0
- package/references/minimem/src/cli/sync/conflicts.ts +204 -0
- package/references/minimem/src/cli/sync/daemon.ts +407 -0
- package/references/minimem/src/cli/sync/detection.ts +138 -0
- package/references/minimem/src/cli/sync/index.ts +107 -0
- package/references/minimem/src/cli/sync/operations.ts +373 -0
- package/references/minimem/src/cli/sync/registry.ts +279 -0
- package/references/minimem/src/cli/sync/state.ts +355 -0
- package/references/minimem/src/cli/sync/validation.ts +206 -0
- package/references/minimem/src/cli/sync/watcher.ts +234 -0
- package/references/minimem/src/cli/version.ts +34 -0
- package/references/minimem/src/core/index.ts +9 -0
- package/references/minimem/src/core/indexer.ts +628 -0
- package/references/minimem/src/core/searcher.ts +221 -0
- package/references/minimem/src/db/schema.ts +183 -0
- package/references/minimem/src/db/sqlite-vec.ts +24 -0
- package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +431 -0
- package/references/minimem/src/embeddings/batch-gemini.ts +392 -0
- package/references/minimem/src/embeddings/batch-openai.ts +409 -0
- package/references/minimem/src/embeddings/embeddings.ts +434 -0
- package/references/minimem/src/index.ts +109 -0
- package/references/minimem/src/internal.ts +299 -0
- package/references/minimem/src/minimem.ts +1276 -0
- package/references/minimem/src/search/__tests__/hybrid.test.ts +247 -0
- package/references/minimem/src/search/graph.ts +234 -0
- package/references/minimem/src/search/hybrid.ts +151 -0
- package/references/minimem/src/search/search.ts +256 -0
- package/references/minimem/src/server/__tests__/mcp.test.ts +341 -0
- package/references/minimem/src/server/__tests__/tools.test.ts +364 -0
- package/references/minimem/src/server/mcp.ts +326 -0
- package/references/minimem/src/server/tools.ts +720 -0
- package/references/minimem/src/session.ts +460 -0
- package/references/minimem/tsconfig.json +19 -0
- package/references/minimem/tsup.config.ts +26 -0
- package/references/minimem/vitest.config.ts +24 -0
- package/references/skill-tree/.claude/settings.json +6 -0
- package/references/skill-tree/.sudocode/issues.jsonl +11 -0
- package/references/skill-tree/.sudocode/specs.jsonl +1 -0
- package/references/skill-tree/CLAUDE.md +150 -0
- package/references/skill-tree/README.md +324 -0
- package/references/skill-tree/docs/GAPS_v1.md +221 -0
- package/references/skill-tree/docs/INTEGRATION_PLAN.md +467 -0
- package/references/skill-tree/docs/TODOS.md +91 -0
- package/references/skill-tree/docs/anthropic_skill_guide.md +1364 -0
- package/references/skill-tree/docs/design/federated-skill-trees.md +524 -0
- package/references/skill-tree/docs/design/multi-agent-sync.md +759 -0
- package/references/skill-tree/docs/scraper/BRAINSTORM.md +583 -0
- package/references/skill-tree/docs/scraper/POC_PLAN.md +420 -0
- package/references/skill-tree/docs/scraper/README.md +170 -0
- package/references/skill-tree/examples/basic-usage.ts +190 -0
- package/references/skill-tree/package-lock.json +1509 -0
- package/references/skill-tree/package.json +66 -0
- package/references/skill-tree/scraper/README.md +123 -0
- package/references/skill-tree/scraper/docs/DESIGN.md +683 -0
- package/references/skill-tree/scraper/docs/PLAN.md +336 -0
- package/references/skill-tree/scraper/drizzle.config.ts +10 -0
- package/references/skill-tree/scraper/package-lock.json +6329 -0
- package/references/skill-tree/scraper/package.json +68 -0
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +7 -0
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +7 -0
- package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +27 -0
- package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +21 -0
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +54 -0
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +24 -0
- package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +93 -0
- package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +22 -0
- package/references/skill-tree/scraper/tsup.config.ts +14 -0
- package/references/skill-tree/scraper/vitest.config.ts +17 -0
- package/references/skill-tree/scripts/convert-to-vitest.ts +166 -0
- package/references/skill-tree/skills/skill-writer/SKILL.md +339 -0
- package/references/skill-tree/skills/skill-writer/references/examples.md +326 -0
- package/references/skill-tree/skills/skill-writer/references/patterns.md +210 -0
- package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +123 -0
- package/references/skill-tree/test/run-all.ts +106 -0
- package/references/skill-tree/test/utils.ts +128 -0
- package/references/skill-tree/vitest.config.ts +16 -0
- package/scripts/migrate-to-playbooks.ts +307 -0
- package/src/agents/index.ts +14 -0
- package/src/agents/mock-provider.ts +93 -0
- package/src/agents/types.ts +137 -0
- package/src/atlas.ts +1072 -0
- package/src/bin/cognitive-core.ts +470 -0
- package/src/embeddings/bm25.ts +337 -0
- package/src/embeddings/index.ts +39 -0
- package/src/embeddings/manager.ts +288 -0
- package/src/embeddings/provider.ts +318 -0
- package/src/embeddings/vector-store.ts +353 -0
- package/src/factory.ts +263 -0
- package/src/index.ts +368 -0
- package/src/learning/analyzer.ts +335 -0
- package/src/learning/effectiveness.ts +428 -0
- package/src/learning/index.ts +93 -0
- package/src/learning/knowledge-extractor.ts +470 -0
- package/src/learning/meta-learner.ts +570 -0
- package/src/learning/pipeline.ts +323 -0
- package/src/learning/playbook-extractor.ts +702 -0
- package/src/learning/team-ingester.ts +499 -0
- package/src/learning/team-meta-learner.ts +558 -0
- package/src/learning/team-pipeline.ts +364 -0
- package/src/learning/trajectory-sources/dataclaw.ts +403 -0
- package/src/learning/trajectory-sources/entire.ts +240 -0
- package/src/learning/trajectory-sources/file.ts +136 -0
- package/src/learning/trajectory-sources/huggingface.ts +248 -0
- package/src/learning/trajectory-sources/in-memory.ts +61 -0
- package/src/learning/trajectory-sources/index.ts +15 -0
- package/src/learning/trajectory-sources/pipeline.ts +69 -0
- package/src/learning/usage-inference.ts +372 -0
- package/src/mcp/index.ts +12 -0
- package/src/mcp/playbook-server.ts +565 -0
- package/src/memory/curated-loader.ts +160 -0
- package/src/memory/experience.ts +515 -0
- package/src/memory/graph-layers/base.ts +184 -0
- package/src/memory/graph-layers/causal.ts +16 -0
- package/src/memory/graph-layers/entity.ts +16 -0
- package/src/memory/graph-layers/index.ts +5 -0
- package/src/memory/graph-layers/semantic.ts +16 -0
- package/src/memory/graph-layers/temporal.ts +16 -0
- package/src/memory/index.ts +72 -0
- package/src/memory/knowledge-bank.ts +1260 -0
- package/src/memory/knowledge-defrag.ts +329 -0
- package/src/memory/knowledge-graph.ts +361 -0
- package/src/memory/meta.ts +506 -0
- package/src/memory/playbook.ts +493 -0
- package/src/memory/search-provider.ts +35 -0
- package/src/memory/search-providers/index.ts +3 -0
- package/src/memory/search-providers/minimem.ts +84 -0
- package/src/memory/search-providers/text-similarity.ts +35 -0
- package/src/memory/skill-exporter.ts +357 -0
- package/src/memory/system.ts +604 -0
- package/src/memory/team-experience.ts +604 -0
- package/src/runtime/backends/acp-protocol.ts +231 -0
- package/src/runtime/backends/acp.ts +239 -0
- package/src/runtime/backends/index.ts +38 -0
- package/src/runtime/backends/macro-agent.ts +177 -0
- package/src/runtime/backends/mock.ts +218 -0
- package/src/runtime/backends/subprocess.ts +356 -0
- package/src/runtime/compute-provider.ts +206 -0
- package/src/runtime/flows/learning.ts +183 -0
- package/src/runtime/flows/validation.ts +381 -0
- package/src/runtime/index.ts +75 -0
- package/src/runtime/manager.ts +685 -0
- package/src/runtime/types.ts +198 -0
- package/src/search/evaluator.ts +499 -0
- package/src/search/index.ts +68 -0
- package/src/search/refinement-loop.ts +457 -0
- package/src/search/refinement-types.ts +159 -0
- package/src/search/router.ts +261 -0
- package/src/search/solver.ts +303 -0
- package/src/search/team-router.ts +459 -0
- package/src/search/verification-runner.ts +570 -0
- package/src/session-bank/git-reader.ts +190 -0
- package/src/session-bank/index.ts +24 -0
- package/src/session-bank/parser.ts +366 -0
- package/src/session-bank/session-bank.ts +464 -0
- package/src/session-bank/types.ts +173 -0
- package/src/surfacing/index.ts +29 -0
- package/src/surfacing/publisher.ts +23 -0
- package/src/surfacing/skill-library.ts +625 -0
- package/src/surfacing/skill-publisher.ts +223 -0
- package/src/surfacing/sqlite-storage-adapter.ts +301 -0
- package/src/surfacing/team-skill-library.ts +610 -0
- package/src/types/config.ts +585 -0
- package/src/types/dataclaw.ts +99 -0
- package/src/types/huggingface-transformers.d.ts +12 -0
- package/src/types/index.ts +286 -0
- package/src/types/knowledge-graph.ts +246 -0
- package/src/types/knowledge.ts +388 -0
- package/src/types/memory.ts +270 -0
- package/src/types/meta.ts +218 -0
- package/src/types/outcome.ts +66 -0
- package/src/types/playbook.ts +196 -0
- package/src/types/step.ts +40 -0
- package/src/types/task.ts +52 -0
- package/src/types/team-meta.ts +212 -0
- package/src/types/team-playbook.ts +384 -0
- package/src/types/team-trajectory.ts +673 -0
- package/src/types/trajectory-source.ts +47 -0
- package/src/types/trajectory.ts +80 -0
- package/src/utils/frontmatter.ts +118 -0
- package/src/utils/index.ts +45 -0
- package/src/utils/similarity.ts +139 -0
- package/src/utils/storage.ts +249 -0
- package/src/utils/validation.ts +286 -0
- package/src/workspace/index.ts +48 -0
- package/src/workspace/runner.ts +281 -0
- package/src/workspace/skill-converter.ts +288 -0
- package/src/workspace/templates/index.ts +64 -0
- package/src/workspace/templates/knowledge-defrag.ts +223 -0
- package/src/workspace/templates/knowledge-extraction.ts +337 -0
- package/src/workspace/templates/meta-reflection.ts +208 -0
- package/src/workspace/templates/playbook-extraction.ts +240 -0
- package/src/workspace/templates/refinement-analysis.ts +162 -0
- package/src/workspace/templates/solution-evaluation.ts +199 -0
- package/src/workspace/templates/team-playbook-extraction.ts +631 -0
- package/src/workspace/templates/team-trajectory-analysis.ts +564 -0
- package/src/workspace/templates/trajectory-analysis.ts +234 -0
- package/src/workspace/templates/usage-inference.ts +163 -0
- package/src/workspace/types.ts +233 -0
- package/tests/atlas-knowledge.test.ts +165 -0
- package/tests/embeddings/bm25.test.ts +130 -0
- package/tests/embeddings/manager.test.ts +205 -0
- package/tests/gap-fixes.test.ts +1103 -0
- package/tests/integration/atlas.test.ts +266 -0
- package/tests/integration/dataclaw-e2e.test.ts +559 -0
- package/tests/integration/e2e.test.ts +1336 -0
- package/tests/integration/entire-e2e.test.ts +187 -0
- package/tests/integration/huggingface-e2e.test.ts +627 -0
- package/tests/integration/session-bank.test.ts +225 -0
- package/tests/integration/skill-tree-wiring.test.ts +152 -0
- package/tests/learning/analyzer.test.ts +426 -0
- package/tests/learning/dataclaw-trajectory-source.test.ts +642 -0
- package/tests/learning/effectiveness.test.ts +542 -0
- package/tests/learning/entire-trajectory-source.test.ts +380 -0
- package/tests/learning/huggingface-trajectory-source.test.ts +817 -0
- package/tests/learning/knowledge-extractor.test.ts +491 -0
- package/tests/learning/pipeline.test.ts +176 -0
- package/tests/learning/playbook-extractor-provenance.test.ts +114 -0
- package/tests/learning/team-ingester.test.ts +349 -0
- package/tests/learning/team-meta-learner.test.ts +618 -0
- package/tests/learning/team-pipeline.test.ts +334 -0
- package/tests/learning/trajectory-sources.test.ts +312 -0
- package/tests/learning/usage-inference.test.ts +254 -0
- package/tests/mcp/playbook-server.test.ts +252 -0
- package/tests/memory/experience.test.ts +198 -0
- package/tests/memory/graph-layers/semantic.test.ts +219 -0
- package/tests/memory/knowledge-bank-extraction.test.ts +558 -0
- package/tests/memory/knowledge-bank.test.ts +705 -0
- package/tests/memory/knowledge-defrag.test.ts +366 -0
- package/tests/memory/knowledge-evolution.test.ts +563 -0
- package/tests/memory/knowledge-graph.test.ts +492 -0
- package/tests/memory/knowledge-inbox.test.ts +258 -0
- package/tests/memory/knowledge-minimem.test.ts +251 -0
- package/tests/memory/playbook.test.ts +338 -0
- package/tests/memory/provenance.test.ts +639 -0
- package/tests/memory/skill-exporter.test.ts +470 -0
- package/tests/memory/system.test.ts +325 -0
- package/tests/memory/team-experience.test.ts +411 -0
- package/tests/runtime/agent-manager.test.ts +512 -0
- package/tests/runtime/compute-provider.test.ts +288 -0
- package/tests/runtime/delegate.test.ts +349 -0
- package/tests/runtime/macro-agent-backend.test.ts +266 -0
- package/tests/runtime/mock-backend.test.ts +248 -0
- package/tests/search/refinement-loop.test.ts +468 -0
- package/tests/search/refinement.test.ts +267 -0
- package/tests/search/router.test.ts +427 -0
- package/tests/search/team-router.test.ts +376 -0
- package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +12 -0
- package/tests/session-bank/fixtures/multi-tool-session/metadata.json +28 -0
- package/tests/session-bank/fixtures/root-metadata.json +18 -0
- package/tests/session-bank/fixtures/simple-session/full.jsonl +6 -0
- package/tests/session-bank/fixtures/simple-session/metadata.json +38 -0
- package/tests/session-bank/git-reader.test.ts +232 -0
- package/tests/session-bank/parser.test.ts +321 -0
- package/tests/session-bank/session-bank.test.ts +546 -0
- package/tests/surfacing/skill-library.test.ts +292 -0
- package/tests/surfacing/skill-publisher.test.ts +398 -0
- package/tests/surfacing/sqlite-storage-adapter.test.ts +218 -0
- package/tests/surfacing/team-skill-library.test.ts +444 -0
- package/tests/types/outcome.test.ts +147 -0
- package/tests/types/step.test.ts +133 -0
- package/tests/types/task.test.ts +158 -0
- package/tests/types/team-meta.test.ts +147 -0
- package/tests/types/team-playbook.test.ts +246 -0
- package/tests/types/team-trajectory.test.ts +557 -0
- package/tests/types/trajectory.test.ts +253 -0
- package/tests/utils/frontmatter.test.ts +208 -0
- package/tests/utils/similarity.test.ts +188 -0
- package/tests/utils/validation.test.ts +252 -0
- package/tests/workspace/full-flow.test.ts +839 -0
- package/tests/workspace/manager.test.ts +215 -0
- package/tests/workspace/runner.test.ts +330 -0
- package/tests/workspace/skill-converter.test.ts +205 -0
- package/tests/workspace/templates/knowledge-extraction.test.ts +235 -0
- package/tests/workspace/templates/team-playbook-extraction.test.ts +341 -0
- package/tests/workspace/templates/team-trajectory-analysis.test.ts +417 -0
- package/tsconfig.json +25 -0
- package/vitest.config.ts +22 -0
- package/dist/index.d.mts +0 -466
- package/dist/index.mjs +0 -478
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
# Implementation Plan: Session Bank (Entire-backed)
|
|
2
|
+
|
|
3
|
+
> **Design doc**: [DESIGN-session-bank.md](./DESIGN-session-bank.md)
|
|
4
|
+
> **Branch**: `claude/session-bank-design-41pv3`
|
|
5
|
+
|
|
6
|
+
## Overview
|
|
7
|
+
|
|
8
|
+
Build a session bank that reads Entire CLI checkpoint data from the `entire/checkpoints/v1` orphan branch, exposes a generic session query API, and bridges into cognitive-core's learning pipeline via a `TrajectorySource` adapter.
|
|
9
|
+
|
|
10
|
+
The session bank lives as a self-contained module at `src/session-bank/` (not a separate package — avoids monorepo overhead). It has zero imports from the rest of cognitive-core. The adapter (`EntireTrajectorySource`) lives in `src/learning/trajectory-sources/entire.ts` and bridges the two.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Phase 1: Types + Parser
|
|
15
|
+
|
|
16
|
+
**Goal**: Define the session-bank's own types and implement JSONL/metadata parsing, fully unit-tested with fixture data.
|
|
17
|
+
|
|
18
|
+
### Step 1.1 — Types (`src/session-bank/types.ts`)
|
|
19
|
+
|
|
20
|
+
Define all session-bank types (these are NOT cognitive-core types):
|
|
21
|
+
|
|
22
|
+
- `SessionRecord` — parsed checkpoint session (main type)
|
|
23
|
+
- `SessionMetadata` — per-session metadata fields
|
|
24
|
+
- `TranscriptMessage` — parsed JSONL line
|
|
25
|
+
- `ContentBlock` discriminated union: `TextBlock | ToolUseBlock | ToolResultBlock`
|
|
26
|
+
- `SessionSummary` — AI-generated summary (from Entire)
|
|
27
|
+
- `TokenUsage` — token counts with computed `total`
|
|
28
|
+
- `Attribution` — line-level code attribution
|
|
29
|
+
- `SessionSource` — provenance (branch, path, commit SHA)
|
|
30
|
+
- `CheckpointRef` — lightweight reference for enumeration
|
|
31
|
+
- `SessionQuery` — query filter options
|
|
32
|
+
- `SessionQueryResult` — query response
|
|
33
|
+
- `ProcessingLogEntry` — processing state tracking
|
|
34
|
+
- `SessionBankOptions` — constructor options
|
|
35
|
+
|
|
36
|
+
No external dependencies. Use plain TypeScript interfaces (no zod — keep standalone).
|
|
37
|
+
|
|
38
|
+
### Step 1.2 — Test Fixtures (`tests/session-bank/fixtures/`)
|
|
39
|
+
|
|
40
|
+
Create realistic Entire-format fixture files:
|
|
41
|
+
|
|
42
|
+
- `simple-session/metadata.json` — minimal session metadata with summary
|
|
43
|
+
- `simple-session/full.jsonl` — 5-line transcript (user prompt → assistant text → tool_use → tool_result → assistant text)
|
|
44
|
+
- `multi-tool-session/metadata.json` — session with multiple tool calls, no summary
|
|
45
|
+
- `multi-tool-session/full.jsonl` — 10+ lines with Read, Edit, Bash tool calls
|
|
46
|
+
- `root-metadata.json` — checkpoint-level summary with session paths
|
|
47
|
+
- `chunked-session/metadata.json` + `full.jsonl.001` + `full.jsonl.002` — chunked transcript
|
|
48
|
+
|
|
49
|
+
Fixture metadata must match Entire's real Go struct format (snake_case keys):
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"cli_version": "0.3.0",
|
|
53
|
+
"checkpoint_id": "a3b2c4d5e6f7",
|
|
54
|
+
"session_id": "2026-01-08-abc123de-f456-7890-abcd-ef1234567890",
|
|
55
|
+
"strategy": "manual-commit",
|
|
56
|
+
"created_at": "2026-01-08T10:30:00Z",
|
|
57
|
+
"branch": "main",
|
|
58
|
+
"files_touched": ["src/auth.ts"],
|
|
59
|
+
"agent": "Claude Code",
|
|
60
|
+
"is_task": false,
|
|
61
|
+
"checkpoint_transcript_start": 0,
|
|
62
|
+
"token_usage": { ... },
|
|
63
|
+
"summary": { ... },
|
|
64
|
+
"initial_attribution": { ... }
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Step 1.3 — Parser (`src/session-bank/parser.ts`)
|
|
69
|
+
|
|
70
|
+
`EntireTranscriptParser` class:
|
|
71
|
+
|
|
72
|
+
- `parseSession(metadataJson, transcriptJsonl, checkpointPath, sessionIndex)` → `SessionRecord`
|
|
73
|
+
- `parseMetadata(metadataJson)` → parsed metadata + sessionId + checkpointId + summary + tokenUsage + attribution
|
|
74
|
+
- `parseTranscript(jsonlContent)` → `TranscriptMessage[]`
|
|
75
|
+
- Handle string content (wrap in `[{ type: 'text', text: ... }]`)
|
|
76
|
+
- Handle array content (map to `ContentBlock` discriminated union)
|
|
77
|
+
- Skip malformed lines (log warning, don't throw)
|
|
78
|
+
- Track `lineIndex` for each message
|
|
79
|
+
- `parseChunkedTranscript(chunks)` → concatenate then parse
|
|
80
|
+
- `parseCheckpointSummary(metadataJson)` → `CheckpointRef`
|
|
81
|
+
|
|
82
|
+
Key parsing details:
|
|
83
|
+
- Entire uses **snake_case** JSON keys (Go convention). Parser converts to **camelCase**.
|
|
84
|
+
- `created_at` is RFC3339 string → `Date`
|
|
85
|
+
- `token_usage.total` is computed as sum of input + output + cache tokens
|
|
86
|
+
- `message.content` can be a string OR array — normalize to always be `ContentBlock[]`
|
|
87
|
+
|
|
88
|
+
### Step 1.4 — Parser Tests (`tests/session-bank/parser.test.ts`)
|
|
89
|
+
|
|
90
|
+
Test cases:
|
|
91
|
+
- Parse simple session metadata (with summary)
|
|
92
|
+
- Parse metadata without summary
|
|
93
|
+
- Parse transcript with text-only content
|
|
94
|
+
- Parse transcript with tool_use + tool_result blocks
|
|
95
|
+
- Parse transcript where user content is a plain string
|
|
96
|
+
- Parse transcript where user content is an array of content blocks
|
|
97
|
+
- Skip malformed JSONL lines gracefully
|
|
98
|
+
- Parse chunked transcript (concatenation)
|
|
99
|
+
- Parse root checkpoint summary
|
|
100
|
+
- Token usage `total` computation
|
|
101
|
+
- Attribution parsing
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Phase 2: Git Reader + SessionBank Facade
|
|
106
|
+
|
|
107
|
+
**Goal**: Read from the orphan branch via git plumbing commands and expose the full query API.
|
|
108
|
+
|
|
109
|
+
### Step 2.1 — Git Reader (`src/session-bank/git-reader.ts`)
|
|
110
|
+
|
|
111
|
+
`EntireGitReader` class:
|
|
112
|
+
|
|
113
|
+
- Constructor takes `{ repoPath: string; branch?: string }` (default branch: `'entire/checkpoints/v1'`)
|
|
114
|
+
- `branchExists()` → `boolean` via `git rev-parse --verify <branch>`
|
|
115
|
+
- `listCheckpoints()` → `string[]` paths like `["a3/b2c4d5e6f7", ...]`
|
|
116
|
+
- Two-level enumeration: `git ls-tree --name-only <branch>` for shard dirs, then `git ls-tree --name-only <branch> <shard>/` for checkpoint dirs
|
|
117
|
+
- Combine into full paths
|
|
118
|
+
- `listSessions(checkpointPath)` → `string[]` numeric session indices
|
|
119
|
+
- `git ls-tree --name-only <branch> <path>/`
|
|
120
|
+
- Filter to numeric directories (exclude `tasks/`, `metadata.json`)
|
|
121
|
+
- `readFile(path)` → `string` via `git show <branch>:<path>`
|
|
122
|
+
- `readFiles(paths)` → `Map<string, string>` via batch `git cat-file --batch` (single process spawn)
|
|
123
|
+
- `readFileOrNull(path)` → `string | null` (catch errors)
|
|
124
|
+
- `getBranchHead()` → `string | null` (commit SHA for cache invalidation)
|
|
125
|
+
|
|
126
|
+
All git operations use `child_process.execFile` (not shell=true) for safety. Errors from non-existent paths return null/empty rather than throwing.
|
|
127
|
+
|
|
128
|
+
### Step 2.2 — Git Reader Tests (`tests/session-bank/git-reader.test.ts`)
|
|
129
|
+
|
|
130
|
+
Use a temporary git repo with a real orphan branch:
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
// beforeEach: create temp dir, git init, create orphan branch with fixture data
|
|
134
|
+
// afterEach: rm temp dir
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Test cases:
|
|
138
|
+
- `branchExists()` returns true when branch exists
|
|
139
|
+
- `branchExists()` returns false when branch doesn't exist
|
|
140
|
+
- `listCheckpoints()` returns checkpoint paths
|
|
141
|
+
- `listSessions()` returns session indices
|
|
142
|
+
- `readFile()` reads file content from orphan branch
|
|
143
|
+
- `readFiles()` batch-reads multiple files
|
|
144
|
+
- `readFileOrNull()` returns null for missing files
|
|
145
|
+
- `getBranchHead()` returns commit SHA
|
|
146
|
+
|
|
147
|
+
### Step 2.3 — SessionBank Facade (`src/session-bank/session-bank.ts`)
|
|
148
|
+
|
|
149
|
+
`SessionBank` class:
|
|
150
|
+
|
|
151
|
+
**Constructor** takes `SessionBankOptions`:
|
|
152
|
+
```typescript
|
|
153
|
+
{
|
|
154
|
+
repoPath?: string; // default: process.cwd()
|
|
155
|
+
branch?: string; // default: 'entire/checkpoints/v1'
|
|
156
|
+
stateDir?: string; // default: '.atlas/session-bank'
|
|
157
|
+
cache?: boolean; // default: true
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Lifecycle:**
|
|
162
|
+
- `init()` — verify branch exists, load processing state from disk
|
|
163
|
+
- `isAvailable()` — whether the orphan branch was found
|
|
164
|
+
- `close()` — flush processing state
|
|
165
|
+
|
|
166
|
+
**Discovery (metadata-only, fast):**
|
|
167
|
+
- `listCheckpoints()` → `CheckpointRef[]`
|
|
168
|
+
- Enumerate checkpoint dirs via git reader
|
|
169
|
+
- Read root `metadata.json` for each to get session count + session IDs
|
|
170
|
+
- Return lightweight refs (no transcript loading)
|
|
171
|
+
- `discover()` → `SessionRecord[]` (without transcripts populated)
|
|
172
|
+
- List all sessions, load metadata only
|
|
173
|
+
- `count(query?)` → `number`
|
|
174
|
+
|
|
175
|
+
**Querying (loads transcripts on demand):**
|
|
176
|
+
- `query(query?)` → `SessionQueryResult`
|
|
177
|
+
- Load metadata for all sessions
|
|
178
|
+
- Apply filters: since, before, branch, agent, strategy, hasSummary, unprocessedOnly
|
|
179
|
+
- For matching sessions, load full.jsonl and parse transcript
|
|
180
|
+
- Apply `search` filter (full-text across user text blocks)
|
|
181
|
+
- Sort (newest/oldest)
|
|
182
|
+
- Apply limit
|
|
183
|
+
- Return with total count
|
|
184
|
+
- `getBySessionId(sessionId)` → `SessionRecord | undefined`
|
|
185
|
+
- Search across all checkpoints (metadata scan for matching session_id)
|
|
186
|
+
- `getByCheckpointId(checkpointId)` → `SessionRecord[]`
|
|
187
|
+
- Direct path lookup: `<id[:2]>/<id[2:]>/`
|
|
188
|
+
- `getByCommit(commitSha)` → `SessionRecord[]`
|
|
189
|
+
- Run `git log --format=%(trailers:key=Entire-Checkpoint) <sha> -1`
|
|
190
|
+
- Parse checkpoint ID from trailer
|
|
191
|
+
- Look up via `getByCheckpointId()`
|
|
192
|
+
|
|
193
|
+
**Processing tracking:**
|
|
194
|
+
- `markProcessed(sessionId, metadata?)` — add to processing log, persist
|
|
195
|
+
- `isProcessed(sessionId)` — check in-memory set
|
|
196
|
+
- `getProcessingLog()` → `ProcessingLogEntry[]`
|
|
197
|
+
- State persisted as JSON in `stateDir/processed.json`
|
|
198
|
+
|
|
199
|
+
**Caching:**
|
|
200
|
+
- `invalidateCache()` — clear in-memory cache
|
|
201
|
+
- On query, check orphan branch HEAD SHA. If changed since last cache, invalidate.
|
|
202
|
+
- Cache stores parsed `SessionRecord` keyed by `checkpointPath/sessionIndex`
|
|
203
|
+
|
|
204
|
+
### Step 2.4 — SessionBank Tests (`tests/session-bank/session-bank.test.ts`)
|
|
205
|
+
|
|
206
|
+
Use a temporary git repo with fixture data on an orphan branch.
|
|
207
|
+
|
|
208
|
+
Test cases:
|
|
209
|
+
- `init()` succeeds with valid orphan branch
|
|
210
|
+
- `isAvailable()` returns false when no orphan branch
|
|
211
|
+
- `listCheckpoints()` discovers checkpoints
|
|
212
|
+
- `discover()` returns sessions with metadata
|
|
213
|
+
- `query()` with no filters returns all sessions
|
|
214
|
+
- `query({ since })` filters by date
|
|
215
|
+
- `query({ branch })` filters by branch
|
|
216
|
+
- `query({ agent })` filters by agent
|
|
217
|
+
- `query({ unprocessedOnly: true })` skips processed sessions
|
|
218
|
+
- `query({ search })` full-text search across user messages
|
|
219
|
+
- `query({ limit })` respects limit
|
|
220
|
+
- `query({ sort: 'oldest' })` sorts ascending
|
|
221
|
+
- `getBySessionId()` finds specific session
|
|
222
|
+
- `getByCheckpointId()` finds all sessions in checkpoint
|
|
223
|
+
- `markProcessed()` + `isProcessed()` round-trip
|
|
224
|
+
- Processing state persists across instances
|
|
225
|
+
- Cache invalidation on branch HEAD change
|
|
226
|
+
|
|
227
|
+
### Step 2.5 — Barrel Export (`src/session-bank/index.ts`)
|
|
228
|
+
|
|
229
|
+
Export everything:
|
|
230
|
+
```typescript
|
|
231
|
+
export { SessionBank } from './session-bank.js';
|
|
232
|
+
export { EntireGitReader } from './git-reader.js';
|
|
233
|
+
export { EntireTranscriptParser } from './parser.js';
|
|
234
|
+
export * from './types.js';
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Phase 3: cognitive-core Adapter
|
|
240
|
+
|
|
241
|
+
**Goal**: Bridge session-bank into cognitive-core's learning pipeline via `TrajectorySource`.
|
|
242
|
+
|
|
243
|
+
### Step 3.1 — EntireTrajectorySource (`src/learning/trajectory-sources/entire.ts`)
|
|
244
|
+
|
|
245
|
+
Implements `TrajectorySource` interface:
|
|
246
|
+
|
|
247
|
+
```typescript
|
|
248
|
+
class EntireTrajectorySource implements TrajectorySource {
|
|
249
|
+
readonly name = 'entire';
|
|
250
|
+
constructor(sessionBank: SessionBank, options?: EntireSynthesisOptions);
|
|
251
|
+
async load(options?: TrajectoryLoadOptions): Promise<TrajectoryWithAnalysis[]>;
|
|
252
|
+
async count(options?: TrajectoryLoadOptions): Promise<number>;
|
|
253
|
+
synthesize(session: SessionRecord): Trajectory;
|
|
254
|
+
}
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Synthesis logic** (SessionRecord → Trajectory):
|
|
258
|
+
|
|
259
|
+
- **ID**: `entire-{checkpointId}-{sessionId}`
|
|
260
|
+
- **Task description**: `summary.intent` (prefer) → first user text message (fallback) → `'Unknown task'`
|
|
261
|
+
- **Task domain**: configurable override → infer from `filesTouched` extensions
|
|
262
|
+
- **Steps**: One `Step` per assistant tool_use block. Text blocks → `thought`. Tool results → `observation`.
|
|
263
|
+
- **Outcome**: summary-based (default) — parse `summary.outcome` for failure keywords. Heuristic fallback — `filesTouched.length > 0` implies success.
|
|
264
|
+
- **Token count**: `tokenUsage.total` directly
|
|
265
|
+
- **Metadata**: preserve `source: 'entire'`, checkpoint/session IDs, branch, files, strategy, attribution
|
|
266
|
+
|
|
267
|
+
Also export `EntireSynthesisOptions`:
|
|
268
|
+
```typescript
|
|
269
|
+
interface EntireSynthesisOptions {
|
|
270
|
+
domain?: string;
|
|
271
|
+
outcomeStrategy?: 'summary' | 'heuristic' | 'llm';
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Step 3.2 — Update Trajectory Source Exports
|
|
276
|
+
|
|
277
|
+
- `src/learning/trajectory-sources/index.ts` — add `export { EntireTrajectorySource } from './entire.js'`
|
|
278
|
+
- `src/learning/index.ts` — add `EntireTrajectorySource` to exports
|
|
279
|
+
- `src/index.ts` — add `EntireTrajectorySource` to learning exports
|
|
280
|
+
|
|
281
|
+
### Step 3.3 — Config Addition (`src/types/config.ts`)
|
|
282
|
+
|
|
283
|
+
Add `SessionBankConfigSchema` to `AtlasConfigSchema`:
|
|
284
|
+
|
|
285
|
+
```typescript
|
|
286
|
+
const SessionBankConfigSchema = z.object({
|
|
287
|
+
enabled: z.boolean().default(false),
|
|
288
|
+
branch: z.string().default('entire/checkpoints/v1'),
|
|
289
|
+
stateDir: z.string().default('session-bank'),
|
|
290
|
+
outcomeStrategy: z.enum(['summary', 'heuristic', 'llm']).default('summary'),
|
|
291
|
+
autoIngest: z.boolean().default(false),
|
|
292
|
+
maxIngestBatch: z.number().default(20),
|
|
293
|
+
});
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
Add `sessionBank: SessionBankConfigSchema.default({})` to `AtlasConfigSchema`.
|
|
297
|
+
Update `mergeConfig()` to include `sessionBank`.
|
|
298
|
+
|
|
299
|
+
### Step 3.4 — Atlas Integration (`src/atlas.ts`)
|
|
300
|
+
|
|
301
|
+
Add to Atlas class:
|
|
302
|
+
|
|
303
|
+
- `private sessionBank: SessionBank | null = null`
|
|
304
|
+
- In `init()`: if `config.sessionBank.enabled`, create and init SessionBank
|
|
305
|
+
- `getSessionBank()` → `SessionBank | null`
|
|
306
|
+
- `ingestEntireSessions(options?)` → `IngestResult`
|
|
307
|
+
- Create `EntireTrajectorySource`
|
|
308
|
+
- Query unprocessed sessions
|
|
309
|
+
- For each: `synthesize()` → `processTrajectory()` → `markProcessed()`
|
|
310
|
+
- Return ingestion stats
|
|
311
|
+
- In `close()`: close session bank if active
|
|
312
|
+
|
|
313
|
+
Define `IngestResult`:
|
|
314
|
+
```typescript
|
|
315
|
+
interface IngestResult {
|
|
316
|
+
discovered: number;
|
|
317
|
+
ingested: number;
|
|
318
|
+
failed: number;
|
|
319
|
+
errors: Array<{ sessionId: string; error: string }>;
|
|
320
|
+
}
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### Step 3.5 — Adapter Tests (`tests/learning/entire-trajectory-source.test.ts`)
|
|
324
|
+
|
|
325
|
+
Test cases:
|
|
326
|
+
- `synthesize()` converts SessionRecord to Trajectory with correct fields
|
|
327
|
+
- Task description prefers `summary.intent`
|
|
328
|
+
- Task description falls back to first user message
|
|
329
|
+
- Domain inference from file extensions (.ts, .py, .go, .rs, .test.ts)
|
|
330
|
+
- Domain override via options
|
|
331
|
+
- Steps extracted from tool_use blocks
|
|
332
|
+
- Pure reasoning steps (no tool calls) handled
|
|
333
|
+
- Outcome inference from summary (success keywords)
|
|
334
|
+
- Outcome inference from summary (failure keywords)
|
|
335
|
+
- Heuristic fallback when no summary
|
|
336
|
+
- Token usage carried through
|
|
337
|
+
- Metadata preserves entire-specific fields
|
|
338
|
+
- `load()` integrates with SessionBank query
|
|
339
|
+
- `count()` delegates to SessionBank
|
|
340
|
+
|
|
341
|
+
### Step 3.6 — Integration Test (`tests/integration/session-bank.test.ts`)
|
|
342
|
+
|
|
343
|
+
End-to-end test:
|
|
344
|
+
1. Create temp git repo with orphan branch containing fixture data
|
|
345
|
+
2. Create SessionBank, init
|
|
346
|
+
3. Create EntireTrajectorySource
|
|
347
|
+
4. Load trajectories
|
|
348
|
+
5. Verify synthesized Trajectory objects are valid (pass `TrajectorySchema.parse()`)
|
|
349
|
+
6. Process through LearningPipeline
|
|
350
|
+
7. Verify experiences created in memory
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Phase 4: Polish
|
|
355
|
+
|
|
356
|
+
### Step 4.1 — Package.json Export
|
|
357
|
+
|
|
358
|
+
Add session-bank as an export path in `package.json`:
|
|
359
|
+
```json
|
|
360
|
+
"./session-bank": {
|
|
361
|
+
"import": "./dist/session-bank/index.js",
|
|
362
|
+
"types": "./dist/session-bank/index.d.ts"
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### Step 4.2 — Commit-Linked Queries
|
|
367
|
+
|
|
368
|
+
Implement `getByCommit()` in SessionBank:
|
|
369
|
+
- Use `git log --format=%(trailers:key=Entire-Checkpoint,valueonly) <sha> -1` to extract trailer
|
|
370
|
+
- Look up checkpoint by ID
|
|
371
|
+
- Handle commits without Entire trailers (return empty array)
|
|
372
|
+
|
|
373
|
+
### Step 4.3 — Full-Text Search
|
|
374
|
+
|
|
375
|
+
Implement `search` filter in `SessionBank.query()`:
|
|
376
|
+
- Extract text from all user `TextBlock` content blocks
|
|
377
|
+
- Case-insensitive substring match against search term
|
|
378
|
+
- Applied after metadata filters, before limit
|
|
379
|
+
|
|
380
|
+
### Step 4.4 — Error Tolerance
|
|
381
|
+
|
|
382
|
+
Ensure graceful handling of:
|
|
383
|
+
- Corrupt/truncated JSONL files (skip malformed lines)
|
|
384
|
+
- Missing metadata fields (use defaults)
|
|
385
|
+
- Missing transcript files (return session without transcript)
|
|
386
|
+
- Concurrent git operations (retry on lock errors)
|
|
387
|
+
- Very large transcripts (streaming JSONL parser if needed — defer unless hit in practice)
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## File Manifest
|
|
392
|
+
|
|
393
|
+
### New Files
|
|
394
|
+
|
|
395
|
+
| File | Purpose |
|
|
396
|
+
|------|---------|
|
|
397
|
+
| `src/session-bank/types.ts` | Session bank type definitions |
|
|
398
|
+
| `src/session-bank/parser.ts` | JSONL + metadata parser |
|
|
399
|
+
| `src/session-bank/git-reader.ts` | Git plumbing for orphan branch |
|
|
400
|
+
| `src/session-bank/session-bank.ts` | SessionBank facade |
|
|
401
|
+
| `src/session-bank/index.ts` | Barrel exports |
|
|
402
|
+
| `src/learning/trajectory-sources/entire.ts` | TrajectorySource adapter |
|
|
403
|
+
| `tests/session-bank/parser.test.ts` | Parser unit tests |
|
|
404
|
+
| `tests/session-bank/git-reader.test.ts` | Git reader unit tests |
|
|
405
|
+
| `tests/session-bank/session-bank.test.ts` | SessionBank facade tests |
|
|
406
|
+
| `tests/session-bank/fixtures/simple-session/metadata.json` | Fixture |
|
|
407
|
+
| `tests/session-bank/fixtures/simple-session/full.jsonl` | Fixture |
|
|
408
|
+
| `tests/session-bank/fixtures/multi-tool-session/metadata.json` | Fixture |
|
|
409
|
+
| `tests/session-bank/fixtures/multi-tool-session/full.jsonl` | Fixture |
|
|
410
|
+
| `tests/session-bank/fixtures/root-metadata.json` | Fixture |
|
|
411
|
+
| `tests/learning/entire-trajectory-source.test.ts` | Adapter tests |
|
|
412
|
+
| `tests/integration/session-bank.test.ts` | End-to-end test |
|
|
413
|
+
|
|
414
|
+
### Modified Files
|
|
415
|
+
|
|
416
|
+
| File | Change |
|
|
417
|
+
|------|--------|
|
|
418
|
+
| `src/learning/trajectory-sources/index.ts` | Add EntireTrajectorySource export |
|
|
419
|
+
| `src/learning/index.ts` | Add EntireTrajectorySource export |
|
|
420
|
+
| `src/types/config.ts` | Add SessionBankConfigSchema to AtlasConfig |
|
|
421
|
+
| `src/atlas.ts` | Add sessionBank field, init, ingestEntireSessions(), close() |
|
|
422
|
+
| `src/index.ts` | Add session-bank + EntireTrajectorySource exports |
|
|
423
|
+
| `package.json` | Add `./session-bank` export path |
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
## Implementation Order
|
|
428
|
+
|
|
429
|
+
```
|
|
430
|
+
Phase 1 (Types + Parser) ──── no dependencies
|
|
431
|
+
1.1 src/session-bank/types.ts
|
|
432
|
+
1.2 tests/session-bank/fixtures/*
|
|
433
|
+
1.3 src/session-bank/parser.ts
|
|
434
|
+
1.4 tests/session-bank/parser.test.ts
|
|
435
|
+
── checkpoint: parser tests pass ──
|
|
436
|
+
|
|
437
|
+
Phase 2 (Git Reader + Facade) ──── depends on Phase 1
|
|
438
|
+
2.1 src/session-bank/git-reader.ts
|
|
439
|
+
2.2 tests/session-bank/git-reader.test.ts
|
|
440
|
+
2.3 src/session-bank/session-bank.ts
|
|
441
|
+
2.4 tests/session-bank/session-bank.test.ts
|
|
442
|
+
2.5 src/session-bank/index.ts
|
|
443
|
+
── checkpoint: all session-bank tests pass ──
|
|
444
|
+
|
|
445
|
+
Phase 3 (cognitive-core Adapter) ──── depends on Phase 2
|
|
446
|
+
3.1 src/learning/trajectory-sources/entire.ts
|
|
447
|
+
3.2 barrel export updates
|
|
448
|
+
3.3 src/types/config.ts update
|
|
449
|
+
3.4 src/atlas.ts update
|
|
450
|
+
3.5 tests/learning/entire-trajectory-source.test.ts
|
|
451
|
+
3.6 tests/integration/session-bank.test.ts
|
|
452
|
+
── checkpoint: all tests pass, typecheck clean ──
|
|
453
|
+
|
|
454
|
+
Phase 4 (Polish) ──── depends on Phase 3
|
|
455
|
+
4.1 package.json export path
|
|
456
|
+
4.2 getByCommit() implementation
|
|
457
|
+
4.3 search filter implementation
|
|
458
|
+
4.4 error tolerance hardening
|
|
459
|
+
── checkpoint: npm run test:run && npm run typecheck ──
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
## Key Constraints
|
|
463
|
+
|
|
464
|
+
1. **Zero cognitive-core imports in session-bank** — `src/session-bank/` must not import from `src/types/`, `src/memory/`, etc. The adapter (`src/learning/trajectory-sources/entire.ts`) is the only bridge.
|
|
465
|
+
|
|
466
|
+
2. **No external dependencies for session-bank** — Use only Node.js built-ins (`child_process`, `fs/promises`, `path`). No zod, no third-party libraries.
|
|
467
|
+
|
|
468
|
+
3. **Snake_case → camelCase in parser** — Entire's Go structs use snake_case JSON. Parser converts all field names.
|
|
469
|
+
|
|
470
|
+
4. **Never write to the orphan branch** — Session bank is read-only. Processing state goes in `.atlas/session-bank/`.
|
|
471
|
+
|
|
472
|
+
5. **Lazy transcript loading** — `discover()` and `listCheckpoints()` never load JSONL files. Only `query()`, `getBySessionId()`, `getByCheckpointId()` load transcripts.
|
|
473
|
+
|
|
474
|
+
6. **Existing tests must continue to pass** — No breaking changes to existing types, interfaces, or behavior.
|