causantic 0.2.0 → 0.3.0

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.
Files changed (465) hide show
  1. package/README.md +53 -66
  2. package/config.schema.json +12 -87
  3. package/dist/cli/commands/archive.d.ts.map +1 -1
  4. package/dist/cli/commands/archive.js.map +1 -1
  5. package/dist/cli/commands/benchmark-collection.d.ts.map +1 -1
  6. package/dist/cli/commands/benchmark-collection.js.map +1 -1
  7. package/dist/cli/commands/encryption.d.ts.map +1 -1
  8. package/dist/cli/commands/encryption.js.map +1 -1
  9. package/dist/cli/commands/hook.d.ts.map +1 -1
  10. package/dist/cli/commands/hook.js +8 -2
  11. package/dist/cli/commands/hook.js.map +1 -1
  12. package/dist/cli/commands/init.d.ts.map +1 -1
  13. package/dist/cli/commands/init.js +39 -32
  14. package/dist/cli/commands/init.js.map +1 -1
  15. package/dist/cli/commands/maintenance.d.ts.map +1 -1
  16. package/dist/cli/commands/maintenance.js +10 -3
  17. package/dist/cli/commands/maintenance.js.map +1 -1
  18. package/dist/cli/commands/serve.d.ts.map +1 -1
  19. package/dist/cli/commands/serve.js +3 -3
  20. package/dist/cli/commands/serve.js.map +1 -1
  21. package/dist/cli/index.js +1 -1
  22. package/dist/cli/skill-templates.d.ts.map +1 -1
  23. package/dist/cli/skill-templates.js +223 -153
  24. package/dist/cli/skill-templates.js.map +1 -1
  25. package/dist/cli/uninstall.d.ts.map +1 -1
  26. package/dist/cli/uninstall.js +4 -1
  27. package/dist/cli/uninstall.js.map +1 -1
  28. package/dist/clusters/cluster-manager.d.ts +23 -0
  29. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  30. package/dist/clusters/cluster-manager.js +69 -2
  31. package/dist/clusters/cluster-manager.js.map +1 -1
  32. package/dist/clusters/cluster-refresh.d.ts.map +1 -1
  33. package/dist/clusters/cluster-refresh.js +5 -1
  34. package/dist/clusters/cluster-refresh.js.map +1 -1
  35. package/dist/clusters/hdbscan/cluster-extraction.d.ts.map +1 -1
  36. package/dist/clusters/hdbscan/cluster-extraction.js +1 -2
  37. package/dist/clusters/hdbscan/cluster-extraction.js.map +1 -1
  38. package/dist/clusters/hdbscan/hierarchy.d.ts.map +1 -1
  39. package/dist/clusters/hdbscan/hierarchy.js +1 -3
  40. package/dist/clusters/hdbscan/hierarchy.js.map +1 -1
  41. package/dist/clusters/hdbscan/incremental.d.ts.map +1 -1
  42. package/dist/clusters/hdbscan/incremental.js.map +1 -1
  43. package/dist/clusters/hdbscan/probabilities.d.ts +1 -1
  44. package/dist/clusters/hdbscan/probabilities.d.ts.map +1 -1
  45. package/dist/clusters/hdbscan/probabilities.js +1 -1
  46. package/dist/clusters/hdbscan/probabilities.js.map +1 -1
  47. package/dist/clusters/hdbscan.d.ts.map +1 -1
  48. package/dist/clusters/hdbscan.js +3 -5
  49. package/dist/clusters/hdbscan.js.map +1 -1
  50. package/dist/config/loader.d.ts +10 -15
  51. package/dist/config/loader.d.ts.map +1 -1
  52. package/dist/config/loader.js +40 -71
  53. package/dist/config/loader.js.map +1 -1
  54. package/dist/config/memory-config.d.ts +2 -45
  55. package/dist/config/memory-config.d.ts.map +1 -1
  56. package/dist/config/memory-config.js +6 -109
  57. package/dist/config/memory-config.js.map +1 -1
  58. package/dist/core/index.d.ts +1 -1
  59. package/dist/core/index.d.ts.map +1 -1
  60. package/dist/core/lexical-features.d.ts.map +1 -1
  61. package/dist/core/lexical-features.js +141 -20
  62. package/dist/core/lexical-features.js.map +1 -1
  63. package/dist/dashboard/client/assets/index-DdImwNQ0.css +1 -0
  64. package/dist/dashboard/client/assets/index-Ofx8zngH.js +166 -0
  65. package/dist/dashboard/client/index.html +2 -2
  66. package/dist/dashboard/routes/benchmark-collection.d.ts.map +1 -1
  67. package/dist/dashboard/routes/benchmark-collection.js +2 -6
  68. package/dist/dashboard/routes/benchmark-collection.js.map +1 -1
  69. package/dist/dashboard/routes/chain.d.ts +3 -0
  70. package/dist/dashboard/routes/chain.d.ts.map +1 -0
  71. package/dist/dashboard/routes/chain.js +74 -0
  72. package/dist/dashboard/routes/chain.js.map +1 -0
  73. package/dist/dashboard/routes/chunks.d.ts.map +1 -1
  74. package/dist/dashboard/routes/chunks.js +16 -1
  75. package/dist/dashboard/routes/chunks.js.map +1 -1
  76. package/dist/dashboard/routes/graph.d.ts.map +1 -1
  77. package/dist/dashboard/routes/graph.js.map +1 -1
  78. package/dist/dashboard/routes/search.d.ts.map +1 -1
  79. package/dist/dashboard/routes/search.js.map +1 -1
  80. package/dist/dashboard/routes/stats.d.ts.map +1 -1
  81. package/dist/dashboard/routes/stats.js +8 -6
  82. package/dist/dashboard/routes/stats.js.map +1 -1
  83. package/dist/dashboard/routes/timeline.d.ts +3 -0
  84. package/dist/dashboard/routes/timeline.d.ts.map +1 -0
  85. package/dist/dashboard/routes/timeline.js +90 -0
  86. package/dist/dashboard/routes/timeline.js.map +1 -0
  87. package/dist/dashboard/server.d.ts.map +1 -1
  88. package/dist/dashboard/server.js +4 -0
  89. package/dist/dashboard/server.js.map +1 -1
  90. package/dist/eval/annotation-schema.d.ts.map +1 -1
  91. package/dist/eval/annotation-schema.js +2 -5
  92. package/dist/eval/annotation-schema.js.map +1 -1
  93. package/dist/eval/benchmark-runner.d.ts.map +1 -1
  94. package/dist/eval/benchmark-runner.js +2 -2
  95. package/dist/eval/benchmark-runner.js.map +1 -1
  96. package/dist/eval/cluster-evaluator.d.ts.map +1 -1
  97. package/dist/eval/cluster-evaluator.js.map +1 -1
  98. package/dist/eval/collection-benchmark/chain-quality.d.ts +15 -0
  99. package/dist/eval/collection-benchmark/chain-quality.d.ts.map +1 -0
  100. package/dist/eval/collection-benchmark/chain-quality.js +60 -0
  101. package/dist/eval/collection-benchmark/chain-quality.js.map +1 -0
  102. package/dist/eval/collection-benchmark/health.d.ts.map +1 -1
  103. package/dist/eval/collection-benchmark/health.js +2 -2
  104. package/dist/eval/collection-benchmark/health.js.map +1 -1
  105. package/dist/eval/collection-benchmark/history.d.ts.map +1 -1
  106. package/dist/eval/collection-benchmark/history.js +14 -11
  107. package/dist/eval/collection-benchmark/history.js.map +1 -1
  108. package/dist/eval/collection-benchmark/latency.d.ts.map +1 -1
  109. package/dist/eval/collection-benchmark/latency.js +14 -11
  110. package/dist/eval/collection-benchmark/latency.js.map +1 -1
  111. package/dist/eval/collection-benchmark/reporter.d.ts.map +1 -1
  112. package/dist/eval/collection-benchmark/reporter.js +18 -28
  113. package/dist/eval/collection-benchmark/reporter.js.map +1 -1
  114. package/dist/eval/collection-benchmark/retrieval.d.ts.map +1 -1
  115. package/dist/eval/collection-benchmark/retrieval.js +14 -8
  116. package/dist/eval/collection-benchmark/retrieval.js.map +1 -1
  117. package/dist/eval/collection-benchmark/runner.d.ts +3 -3
  118. package/dist/eval/collection-benchmark/runner.d.ts.map +1 -1
  119. package/dist/eval/collection-benchmark/runner.js +46 -37
  120. package/dist/eval/collection-benchmark/runner.js.map +1 -1
  121. package/dist/eval/collection-benchmark/sampler.d.ts.map +1 -1
  122. package/dist/eval/collection-benchmark/sampler.js +14 -12
  123. package/dist/eval/collection-benchmark/sampler.js.map +1 -1
  124. package/dist/eval/collection-benchmark/tuning.d.ts.map +1 -1
  125. package/dist/eval/collection-benchmark/tuning.js +56 -71
  126. package/dist/eval/collection-benchmark/tuning.js.map +1 -1
  127. package/dist/eval/collection-benchmark/types.d.ts +12 -24
  128. package/dist/eval/collection-benchmark/types.d.ts.map +1 -1
  129. package/dist/eval/corpus-builder.d.ts.map +1 -1
  130. package/dist/eval/corpus-builder.js.map +1 -1
  131. package/dist/eval/experiments/boilerplate-filter.d.ts.map +1 -1
  132. package/dist/eval/experiments/boilerplate-filter.js.map +1 -1
  133. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts.map +1 -1
  134. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js +3 -5
  135. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js.map +1 -1
  136. package/dist/eval/experiments/code-focused-mode.d.ts.map +1 -1
  137. package/dist/eval/experiments/code-focused-mode.js +1 -1
  138. package/dist/eval/experiments/code-focused-mode.js.map +1 -1
  139. package/dist/eval/experiments/edge-decay/decay-curves.d.ts +25 -19
  140. package/dist/eval/experiments/edge-decay/decay-curves.d.ts.map +1 -1
  141. package/dist/eval/experiments/edge-decay/decay-curves.js +47 -40
  142. package/dist/eval/experiments/edge-decay/decay-curves.js.map +1 -1
  143. package/dist/eval/experiments/edge-decay/index.d.ts +6 -4
  144. package/dist/eval/experiments/edge-decay/index.d.ts.map +1 -1
  145. package/dist/eval/experiments/edge-decay/index.js +5 -3
  146. package/dist/eval/experiments/edge-decay/index.js.map +1 -1
  147. package/dist/eval/experiments/edge-decay/presets.d.ts +14 -4
  148. package/dist/eval/experiments/edge-decay/presets.d.ts.map +1 -1
  149. package/dist/eval/experiments/edge-decay/presets.js +73 -68
  150. package/dist/eval/experiments/edge-decay/presets.js.map +1 -1
  151. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts +2 -1
  152. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts.map +1 -1
  153. package/dist/eval/experiments/edge-decay/reference-extractor.js +26 -40
  154. package/dist/eval/experiments/edge-decay/reference-extractor.js.map +1 -1
  155. package/dist/eval/experiments/edge-decay/reference-types.d.ts +24 -17
  156. package/dist/eval/experiments/edge-decay/reference-types.d.ts.map +1 -1
  157. package/dist/eval/experiments/edge-decay/reference-types.js +3 -0
  158. package/dist/eval/experiments/edge-decay/reference-types.js.map +1 -1
  159. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts +8 -8
  160. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts.map +1 -1
  161. package/dist/eval/experiments/edge-decay/retrieval-ranking.js +77 -133
  162. package/dist/eval/experiments/edge-decay/retrieval-ranking.js.map +1 -1
  163. package/dist/eval/experiments/edge-decay/run-experiments.d.ts +7 -3
  164. package/dist/eval/experiments/edge-decay/run-experiments.d.ts.map +1 -1
  165. package/dist/eval/experiments/edge-decay/run-experiments.js +71 -52
  166. package/dist/eval/experiments/edge-decay/run-experiments.js.map +1 -1
  167. package/dist/eval/experiments/edge-decay/simulate.d.ts +1 -1
  168. package/dist/eval/experiments/edge-decay/simulate.d.ts.map +1 -1
  169. package/dist/eval/experiments/edge-decay/simulate.js +7 -19
  170. package/dist/eval/experiments/edge-decay/simulate.js.map +1 -1
  171. package/dist/eval/experiments/hdbscan-sweep.d.ts.map +1 -1
  172. package/dist/eval/experiments/hdbscan-sweep.js +2 -6
  173. package/dist/eval/experiments/hdbscan-sweep.js.map +1 -1
  174. package/dist/eval/experiments/single-model-run.d.ts.map +1 -1
  175. package/dist/eval/experiments/single-model-run.js +2 -2
  176. package/dist/eval/experiments/single-model-run.js.map +1 -1
  177. package/dist/eval/experiments/thinking-ablation.d.ts.map +1 -1
  178. package/dist/eval/experiments/thinking-ablation.js +1 -1
  179. package/dist/eval/experiments/thinking-ablation.js.map +1 -1
  180. package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts.map +1 -1
  181. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js +54 -6
  182. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js.map +1 -1
  183. package/dist/eval/experiments/topic-continuity/labeler.d.ts.map +1 -1
  184. package/dist/eval/experiments/topic-continuity/labeler.js +1 -4
  185. package/dist/eval/experiments/topic-continuity/labeler.js.map +1 -1
  186. package/dist/eval/experiments/topic-continuity/run-experiment.d.ts.map +1 -1
  187. package/dist/eval/experiments/topic-continuity/run-experiment.js +5 -13
  188. package/dist/eval/experiments/topic-continuity/run-experiment.js.map +1 -1
  189. package/dist/eval/experiments/truncation.d.ts.map +1 -1
  190. package/dist/eval/experiments/truncation.js.map +1 -1
  191. package/dist/eval/experiments/types.d.ts.map +1 -1
  192. package/dist/eval/experiments/types.js.map +1 -1
  193. package/dist/eval/metrics.d.ts.map +1 -1
  194. package/dist/eval/metrics.js.map +1 -1
  195. package/dist/hooks/claudemd-generator.d.ts.map +1 -1
  196. package/dist/hooks/claudemd-generator.js +3 -4
  197. package/dist/hooks/claudemd-generator.js.map +1 -1
  198. package/dist/hooks/hook-utils.d.ts +16 -0
  199. package/dist/hooks/hook-utils.d.ts.map +1 -1
  200. package/dist/hooks/hook-utils.js +51 -2
  201. package/dist/hooks/hook-utils.js.map +1 -1
  202. package/dist/hooks/index.d.ts +4 -2
  203. package/dist/hooks/index.d.ts.map +1 -1
  204. package/dist/hooks/index.js +3 -1
  205. package/dist/hooks/index.js.map +1 -1
  206. package/dist/hooks/pre-compact.d.ts.map +1 -1
  207. package/dist/hooks/pre-compact.js +6 -51
  208. package/dist/hooks/pre-compact.js.map +1 -1
  209. package/dist/hooks/session-end.d.ts +58 -0
  210. package/dist/hooks/session-end.d.ts.map +1 -0
  211. package/dist/hooks/session-end.js +82 -0
  212. package/dist/hooks/session-end.js.map +1 -0
  213. package/dist/hooks/session-start.d.ts.map +1 -1
  214. package/dist/hooks/session-start.js +3 -5
  215. package/dist/hooks/session-start.js.map +1 -1
  216. package/dist/index.d.ts +1 -2
  217. package/dist/index.d.ts.map +1 -1
  218. package/dist/index.js +1 -3
  219. package/dist/index.js.map +1 -1
  220. package/dist/ingest/batch-ingest.d.ts.map +1 -1
  221. package/dist/ingest/batch-ingest.js.map +1 -1
  222. package/dist/ingest/brief-debrief-detector.d.ts +6 -13
  223. package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
  224. package/dist/ingest/brief-debrief-detector.js +9 -16
  225. package/dist/ingest/brief-debrief-detector.js.map +1 -1
  226. package/dist/ingest/cross-session-linker.d.ts +2 -1
  227. package/dist/ingest/cross-session-linker.d.ts.map +1 -1
  228. package/dist/ingest/cross-session-linker.js +17 -7
  229. package/dist/ingest/cross-session-linker.js.map +1 -1
  230. package/dist/ingest/edge-creator.d.ts +14 -40
  231. package/dist/ingest/edge-creator.d.ts.map +1 -1
  232. package/dist/ingest/edge-creator.js +34 -132
  233. package/dist/ingest/edge-creator.js.map +1 -1
  234. package/dist/ingest/edge-detector.d.ts +27 -12
  235. package/dist/ingest/edge-detector.d.ts.map +1 -1
  236. package/dist/ingest/edge-detector.js +68 -200
  237. package/dist/ingest/edge-detector.js.map +1 -1
  238. package/dist/ingest/index.d.ts +3 -3
  239. package/dist/ingest/index.d.ts.map +1 -1
  240. package/dist/ingest/index.js +3 -3
  241. package/dist/ingest/index.js.map +1 -1
  242. package/dist/ingest/ingest-session.d.ts +1 -8
  243. package/dist/ingest/ingest-session.d.ts.map +1 -1
  244. package/dist/ingest/ingest-session.js +54 -107
  245. package/dist/ingest/ingest-session.js.map +1 -1
  246. package/dist/ingest/rebuild-edges.d.ts +17 -0
  247. package/dist/ingest/rebuild-edges.d.ts.map +1 -0
  248. package/dist/ingest/rebuild-edges.js +97 -0
  249. package/dist/ingest/rebuild-edges.js.map +1 -0
  250. package/dist/maintenance/scheduler.d.ts +2 -3
  251. package/dist/maintenance/scheduler.d.ts.map +1 -1
  252. package/dist/maintenance/scheduler.js +14 -23
  253. package/dist/maintenance/scheduler.js.map +1 -1
  254. package/dist/maintenance/tasks/cleanup-vectors.d.ts +3 -1
  255. package/dist/maintenance/tasks/cleanup-vectors.d.ts.map +1 -1
  256. package/dist/maintenance/tasks/cleanup-vectors.js +6 -4
  257. package/dist/maintenance/tasks/cleanup-vectors.js.map +1 -1
  258. package/dist/maintenance/tasks/index.d.ts +0 -1
  259. package/dist/maintenance/tasks/index.d.ts.map +1 -1
  260. package/dist/maintenance/tasks/index.js +0 -1
  261. package/dist/maintenance/tasks/index.js.map +1 -1
  262. package/dist/mcp/index.d.ts +1 -1
  263. package/dist/mcp/index.d.ts.map +1 -1
  264. package/dist/mcp/index.js +1 -1
  265. package/dist/mcp/index.js.map +1 -1
  266. package/dist/mcp/server.d.ts.map +1 -1
  267. package/dist/mcp/server.js +9 -8
  268. package/dist/mcp/server.js.map +1 -1
  269. package/dist/mcp/tools.d.ts +5 -5
  270. package/dist/mcp/tools.d.ts.map +1 -1
  271. package/dist/mcp/tools.js +42 -36
  272. package/dist/mcp/tools.js.map +1 -1
  273. package/dist/models/device-detector.d.ts.map +1 -1
  274. package/dist/models/device-detector.js +20 -10
  275. package/dist/models/device-detector.js.map +1 -1
  276. package/dist/models/embedder.d.ts.map +1 -1
  277. package/dist/models/embedder.js +5 -2
  278. package/dist/models/embedder.js.map +1 -1
  279. package/dist/models/model-registry.d.ts.map +1 -1
  280. package/dist/models/model-registry.js.map +1 -1
  281. package/dist/parser/chunker.d.ts +5 -40
  282. package/dist/parser/chunker.d.ts.map +1 -1
  283. package/dist/parser/chunker.js +5 -111
  284. package/dist/parser/chunker.js.map +1 -1
  285. package/dist/parser/session-reader.d.ts.map +1 -1
  286. package/dist/parser/session-reader.js +3 -6
  287. package/dist/parser/session-reader.js.map +1 -1
  288. package/dist/parser/turn-assembler.d.ts.map +1 -1
  289. package/dist/parser/turn-assembler.js +0 -1
  290. package/dist/parser/turn-assembler.js.map +1 -1
  291. package/dist/parser/types.d.ts.map +1 -1
  292. package/dist/report/reporter.d.ts.map +1 -1
  293. package/dist/report/reporter.js +1 -3
  294. package/dist/report/reporter.js.map +1 -1
  295. package/dist/retrieval/chain-assembler.d.ts +58 -0
  296. package/dist/retrieval/chain-assembler.d.ts.map +1 -0
  297. package/dist/retrieval/chain-assembler.js +126 -0
  298. package/dist/retrieval/chain-assembler.js.map +1 -0
  299. package/dist/retrieval/chain-walker.d.ts +57 -0
  300. package/dist/retrieval/chain-walker.d.ts.map +1 -0
  301. package/dist/retrieval/chain-walker.js +121 -0
  302. package/dist/retrieval/chain-walker.js.map +1 -0
  303. package/dist/retrieval/cluster-expander.d.ts.map +1 -1
  304. package/dist/retrieval/cluster-expander.js +3 -3
  305. package/dist/retrieval/cluster-expander.js.map +1 -1
  306. package/dist/retrieval/context-assembler.d.ts +13 -36
  307. package/dist/retrieval/context-assembler.d.ts.map +1 -1
  308. package/dist/retrieval/context-assembler.js +50 -287
  309. package/dist/retrieval/context-assembler.js.map +1 -1
  310. package/dist/retrieval/index.d.ts +8 -4
  311. package/dist/retrieval/index.d.ts.map +1 -1
  312. package/dist/retrieval/index.js +7 -3
  313. package/dist/retrieval/index.js.map +1 -1
  314. package/dist/retrieval/rrf.d.ts.map +1 -1
  315. package/dist/retrieval/rrf.js +4 -2
  316. package/dist/retrieval/rrf.js.map +1 -1
  317. package/dist/retrieval/search-assembler.d.ts +59 -0
  318. package/dist/retrieval/search-assembler.d.ts.map +1 -0
  319. package/dist/retrieval/search-assembler.js +209 -0
  320. package/dist/retrieval/search-assembler.js.map +1 -0
  321. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  322. package/dist/retrieval/session-reconstructor.js +9 -7
  323. package/dist/retrieval/session-reconstructor.js.map +1 -1
  324. package/dist/storage/archive.d.ts +0 -2
  325. package/dist/storage/archive.d.ts.map +1 -1
  326. package/dist/storage/archive.js +18 -12
  327. package/dist/storage/archive.js.map +1 -1
  328. package/dist/storage/checkpoint-store.d.ts +0 -1
  329. package/dist/storage/checkpoint-store.d.ts.map +1 -1
  330. package/dist/storage/checkpoint-store.js +5 -7
  331. package/dist/storage/checkpoint-store.js.map +1 -1
  332. package/dist/storage/chunk-store.d.ts.map +1 -1
  333. package/dist/storage/chunk-store.js +15 -17
  334. package/dist/storage/chunk-store.js.map +1 -1
  335. package/dist/storage/cluster-store.d.ts.map +1 -1
  336. package/dist/storage/cluster-store.js.map +1 -1
  337. package/dist/storage/db.d.ts.map +1 -1
  338. package/dist/storage/db.js.map +1 -1
  339. package/dist/storage/edge-store.d.ts +17 -30
  340. package/dist/storage/edge-store.d.ts.map +1 -1
  341. package/dist/storage/edge-store.js +43 -123
  342. package/dist/storage/edge-store.js.map +1 -1
  343. package/dist/storage/embedding-cache.d.ts.map +1 -1
  344. package/dist/storage/embedding-cache.js +1 -3
  345. package/dist/storage/embedding-cache.js.map +1 -1
  346. package/dist/storage/encryption.d.ts.map +1 -1
  347. package/dist/storage/encryption.js +4 -15
  348. package/dist/storage/encryption.js.map +1 -1
  349. package/dist/storage/index.d.ts +1 -4
  350. package/dist/storage/index.d.ts.map +1 -1
  351. package/dist/storage/index.js +1 -5
  352. package/dist/storage/index.js.map +1 -1
  353. package/dist/storage/keyword-store.d.ts.map +1 -1
  354. package/dist/storage/keyword-store.js +11 -7
  355. package/dist/storage/keyword-store.js.map +1 -1
  356. package/dist/storage/migrations.d.ts.map +1 -1
  357. package/dist/storage/migrations.js +56 -4
  358. package/dist/storage/migrations.js.map +1 -1
  359. package/dist/storage/schema.sql +8 -20
  360. package/dist/storage/types.d.ts +12 -26
  361. package/dist/storage/types.d.ts.map +1 -1
  362. package/dist/storage/types.js +1 -2
  363. package/dist/storage/types.js.map +1 -1
  364. package/dist/storage/vector-store.d.ts +9 -15
  365. package/dist/storage/vector-store.d.ts.map +1 -1
  366. package/dist/storage/vector-store.js +64 -43
  367. package/dist/storage/vector-store.js.map +1 -1
  368. package/dist/utils/angular-distance.d.ts.map +1 -1
  369. package/dist/utils/angular-distance.js.map +1 -1
  370. package/dist/utils/logger.d.ts.map +1 -1
  371. package/dist/utils/logger.js.map +1 -1
  372. package/dist/utils/secret-store.d.ts.map +1 -1
  373. package/dist/utils/secret-store.js +17 -13
  374. package/dist/utils/secret-store.js.map +1 -1
  375. package/dist/utils/secure-buffer.d.ts.map +1 -1
  376. package/dist/utils/secure-buffer.js.map +1 -1
  377. package/package.json +7 -6
  378. package/src/dashboard/client/package-lock.json +3 -3
  379. package/src/dashboard/client/package.json +3 -3
  380. package/dist/dashboard/client/assets/index-CMUKy4f9.css +0 -1
  381. package/dist/dashboard/client/assets/index-esv8TpCN.js +0 -168
  382. package/dist/eval/collection-benchmark/graph-value.d.ts +0 -16
  383. package/dist/eval/collection-benchmark/graph-value.d.ts.map +0 -1
  384. package/dist/eval/collection-benchmark/graph-value.js +0 -162
  385. package/dist/eval/collection-benchmark/graph-value.js.map +0 -1
  386. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts +0 -10
  387. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts.map +0 -1
  388. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js +0 -229
  389. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js.map +0 -1
  390. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts +0 -12
  391. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts.map +0 -1
  392. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js +0 -316
  393. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js.map +0 -1
  394. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts +0 -19
  395. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts.map +0 -1
  396. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js +0 -127
  397. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js.map +0 -1
  398. package/dist/eval/experiments/vector-decay-shapes/index.d.ts +0 -11
  399. package/dist/eval/experiments/vector-decay-shapes/index.d.ts.map +0 -1
  400. package/dist/eval/experiments/vector-decay-shapes/index.js +0 -11
  401. package/dist/eval/experiments/vector-decay-shapes/index.js.map +0 -1
  402. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts +0 -14
  403. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts.map +0 -1
  404. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js +0 -274
  405. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js.map +0 -1
  406. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts +0 -36
  407. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts.map +0 -1
  408. package/dist/eval/experiments/vector-decay-shapes/presets.js +0 -157
  409. package/dist/eval/experiments/vector-decay-shapes/presets.js.map +0 -1
  410. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts +0 -20
  411. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts.map +0 -1
  412. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js +0 -504
  413. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js.map +0 -1
  414. package/dist/eval/experiments/vector-decay-shapes/types.d.ts +0 -111
  415. package/dist/eval/experiments/vector-decay-shapes/types.d.ts.map +0 -1
  416. package/dist/eval/experiments/vector-decay-shapes/types.js +0 -15
  417. package/dist/eval/experiments/vector-decay-shapes/types.js.map +0 -1
  418. package/dist/eval/experiments/vector-decay-sweep/index.d.ts +0 -7
  419. package/dist/eval/experiments/vector-decay-sweep/index.d.ts.map +0 -1
  420. package/dist/eval/experiments/vector-decay-sweep/index.js +0 -7
  421. package/dist/eval/experiments/vector-decay-sweep/index.js.map +0 -1
  422. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts +0 -30
  423. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts.map +0 -1
  424. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js +0 -378
  425. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js.map +0 -1
  426. package/dist/eval/experiments/vector-decay-sweep/types.d.ts +0 -109
  427. package/dist/eval/experiments/vector-decay-sweep/types.d.ts.map +0 -1
  428. package/dist/eval/experiments/vector-decay-sweep/types.js +0 -16
  429. package/dist/eval/experiments/vector-decay-sweep/types.js.map +0 -1
  430. package/dist/maintenance/tasks/prune-graph.d.ts +0 -12
  431. package/dist/maintenance/tasks/prune-graph.d.ts.map +0 -1
  432. package/dist/maintenance/tasks/prune-graph.js +0 -23
  433. package/dist/maintenance/tasks/prune-graph.js.map +0 -1
  434. package/dist/retrieval/traverser.d.ts +0 -66
  435. package/dist/retrieval/traverser.d.ts.map +0 -1
  436. package/dist/retrieval/traverser.js +0 -160
  437. package/dist/retrieval/traverser.js.map +0 -1
  438. package/dist/storage/clock-store.d.ts +0 -80
  439. package/dist/storage/clock-store.d.ts.map +0 -1
  440. package/dist/storage/clock-store.js +0 -155
  441. package/dist/storage/clock-store.js.map +0 -1
  442. package/dist/storage/decay.d.ts +0 -125
  443. package/dist/storage/decay.d.ts.map +0 -1
  444. package/dist/storage/decay.js +0 -276
  445. package/dist/storage/decay.js.map +0 -1
  446. package/dist/storage/pruner.d.ts +0 -111
  447. package/dist/storage/pruner.d.ts.map +0 -1
  448. package/dist/storage/pruner.js +0 -280
  449. package/dist/storage/pruner.js.map +0 -1
  450. package/dist/temporal/clock-compactor.d.ts +0 -65
  451. package/dist/temporal/clock-compactor.d.ts.map +0 -1
  452. package/dist/temporal/clock-compactor.js +0 -157
  453. package/dist/temporal/clock-compactor.js.map +0 -1
  454. package/dist/temporal/index.d.ts +0 -6
  455. package/dist/temporal/index.d.ts.map +0 -1
  456. package/dist/temporal/index.js +0 -6
  457. package/dist/temporal/index.js.map +0 -1
  458. package/dist/temporal/vector-clock.d.ts +0 -143
  459. package/dist/temporal/vector-clock.d.ts.map +0 -1
  460. package/dist/temporal/vector-clock.js +0 -231
  461. package/dist/temporal/vector-clock.js.map +0 -1
  462. package/dist/utils/keychain.d.ts +0 -43
  463. package/dist/utils/keychain.d.ts.map +0 -1
  464. package/dist/utils/keychain.js +0 -82
  465. package/dist/utils/keychain.js.map +0 -1
@@ -1,274 +0,0 @@
1
- /**
2
- * Path traversal experiment for decay curve evaluation.
3
- *
4
- * This properly simulates the actual retrieval mechanism:
5
- * - Path weight = product of edge weights along path
6
- * - For a path of N hops with uniform decay: weight = wph^N
7
- * - Node score = sum of path weights reaching it
8
- *
9
- * Key insight: Linear decay doesn't make sense for path traversal
10
- * because path weights are multiplicative. Only exponential decay
11
- * properly models "each hop multiplies weight by wph".
12
- */
13
- import { getDb } from '../../../storage/db.js';
14
- import { deserialize, hopCount } from '../../../temporal/vector-clock.js';
15
- import { getReferenceClock } from '../../../storage/clock-store.js';
16
- /** Minimum hop distance to consider (Claude has recent context) */
17
- const MIN_HOP_DISTANCE = 4;
18
- /** Number of negative samples per query */
19
- const NEGATIVE_SAMPLE_COUNT = 10;
20
- /** Weight-per-hop values to test */
21
- const WPH_VALUES = [0.80, 0.85, 0.90, 0.93, 0.95, 0.97];
22
- /** Minimum path weight before considered unreachable */
23
- const MIN_PATH_WEIGHT = 0.001;
24
- /**
25
- * Calculate path weight for traversing N hops.
26
- * Path weight = wph^hops (product of edge weights)
27
- */
28
- function calculatePathWeight(hops, wph) {
29
- const weight = Math.pow(wph, hops);
30
- return weight >= MIN_PATH_WEIGHT ? weight : 0;
31
- }
32
- /**
33
- * Check if a path is "alive" (reachable with non-trivial weight)
34
- */
35
- function isPathAlive(hops, wph) {
36
- return calculatePathWeight(hops, wph) > 0;
37
- }
38
- const db = getDb();
39
- // Load backward edges with explicit references
40
- const backwardEdges = db.prepare(`
41
- SELECT source_chunk_id as sourceChunkId, target_chunk_id as targetChunkId,
42
- vector_clock as vectorClock, reference_type as referenceType
43
- FROM edges
44
- WHERE edge_type = 'backward' AND vector_clock IS NOT NULL
45
- AND reference_type IN ('file-path', 'code-entity', 'explicit-backref', 'error-fragment')
46
- `).all();
47
- console.log(`Loaded ${backwardEdges.length} backward edges with explicit references\n`);
48
- // Load chunks
49
- const chunks = new Map();
50
- const chunkRows = db.prepare(`
51
- SELECT id, session_slug as sessionSlug, vector_clock as vectorClock
52
- FROM chunks WHERE vector_clock IS NOT NULL
53
- `).all();
54
- for (const row of chunkRows) {
55
- chunks.set(row.id, row);
56
- }
57
- // Cache reference clocks
58
- const refClocks = new Map();
59
- function getRefClock(slug) {
60
- if (!refClocks.has(slug)) {
61
- refClocks.set(slug, getReferenceClock(slug));
62
- }
63
- return refClocks.get(slug);
64
- }
65
- // Group chunks by project for negative sampling
66
- const projectChunks = new Map();
67
- for (const chunk of chunks.values()) {
68
- const existing = projectChunks.get(chunk.sessionSlug) ?? [];
69
- existing.push(chunk);
70
- projectChunks.set(chunk.sessionSlug, existing);
71
- }
72
- const annotatedEdges = [];
73
- for (const edge of backwardEdges) {
74
- const sourceChunk = chunks.get(edge.sourceChunkId);
75
- if (!sourceChunk?.vectorClock)
76
- continue;
77
- const edgeClock = deserialize(edge.vectorClock);
78
- const refClock = getRefClock(sourceChunk.sessionSlug);
79
- const hops = hopCount(edgeClock, refClock);
80
- annotatedEdges.push({
81
- ...edge,
82
- hops,
83
- projectSlug: sourceChunk.sessionSlug,
84
- });
85
- }
86
- // Filter to beyond-context edges
87
- const longRangeEdges = annotatedEdges.filter(e => e.hops >= MIN_HOP_DISTANCE);
88
- console.log(`Beyond-context edges (${MIN_HOP_DISTANCE}+ hops): ${longRangeEdges.length}`);
89
- // Hop distribution
90
- const hopBins = { '4-10': 0, '11-20': 0, '21-30': 0, '31-50': 0, '51+': 0 };
91
- for (const edge of longRangeEdges) {
92
- if (edge.hops <= 10)
93
- hopBins['4-10']++;
94
- else if (edge.hops <= 20)
95
- hopBins['11-20']++;
96
- else if (edge.hops <= 30)
97
- hopBins['21-30']++;
98
- else if (edge.hops <= 50)
99
- hopBins['31-50']++;
100
- else
101
- hopBins['51+']++;
102
- }
103
- console.log('\nHop distribution:');
104
- for (const [bin, count] of Object.entries(hopBins)) {
105
- console.log(` ${bin}: ${count} (${(count / longRangeEdges.length * 100).toFixed(1)}%)`);
106
- }
107
- // Calculate "death hop" for each wph
108
- console.log('\nPath reachability by decay rate:');
109
- for (const wph of WPH_VALUES) {
110
- const deathHop = Math.floor(Math.log(MIN_PATH_WEIGHT) / Math.log(wph));
111
- const aliveCount = longRangeEdges.filter(e => isPathAlive(e.hops, wph)).length;
112
- const alivePct = (aliveCount / longRangeEdges.length * 100).toFixed(1);
113
- console.log(` wph=${wph}: paths die at ~${deathHop} hops, ${aliveCount}/${longRangeEdges.length} (${alivePct}%) reachable`);
114
- }
115
- // Group by source for evaluation
116
- const edgesBySource = new Map();
117
- for (const edge of longRangeEdges) {
118
- const existing = edgesBySource.get(edge.sourceChunkId) ?? [];
119
- existing.push(edge);
120
- edgesBySource.set(edge.sourceChunkId, existing);
121
- }
122
- // Sample negatives
123
- function sampleNegatives(projectSlug, excludeIds, count) {
124
- const available = projectChunks.get(projectSlug) ?? [];
125
- const candidates = available.filter(c => !excludeIds.has(c.id));
126
- const shuffled = [...candidates];
127
- for (let i = shuffled.length - 1; i > 0; i--) {
128
- const j = Math.floor(Math.random() * (i + 1));
129
- [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
130
- }
131
- return shuffled.slice(0, count);
132
- }
133
- // Run experiment for each wph value
134
- console.log('\n' + '='.repeat(100));
135
- console.log('PATH TRAVERSAL EXPERIMENT: Beyond-Context Retrieval');
136
- console.log('='.repeat(100));
137
- console.log('\nRanking by path weight = wph^hops (simulating multiplicative traversal)\n');
138
- const results = [];
139
- for (const wph of WPH_VALUES) {
140
- let totalRR = 0;
141
- let rank1 = 0;
142
- let queries = 0;
143
- let reachableQueries = 0;
144
- const rrByBin = {
145
- '4-10': [], '11-20': [], '21-30': [], '31-50': [], '51+': []
146
- };
147
- const reachableByBin = {
148
- '4-10': 0, '11-20': 0, '21-30': 0, '31-50': 0, '51+': 0
149
- };
150
- for (const [sourceChunkId, edges] of edgesBySource) {
151
- const sourceChunk = chunks.get(sourceChunkId);
152
- const refClock = getRefClock(sourceChunk.sessionSlug);
153
- // Get positive targets with their hop distances
154
- const positives = edges.map(e => ({
155
- chunkId: e.targetChunkId,
156
- hops: e.hops,
157
- pathWeight: calculatePathWeight(e.hops, wph),
158
- }));
159
- // Check if any positive is reachable
160
- const anyPositiveReachable = positives.some(p => p.pathWeight > 0);
161
- // Sample negatives
162
- const excludeIds = new Set([sourceChunkId, ...positives.map(p => p.chunkId)]);
163
- const negativeChunks = sampleNegatives(sourceChunk.sessionSlug, excludeIds, NEGATIVE_SAMPLE_COUNT);
164
- if (negativeChunks.length === 0)
165
- continue;
166
- // Calculate path weights for negatives
167
- const negatives = negativeChunks
168
- .filter(c => c.vectorClock)
169
- .map(c => {
170
- const chunkClock = deserialize(c.vectorClock);
171
- const hops = hopCount(chunkClock, refClock);
172
- return {
173
- chunkId: c.id,
174
- hops,
175
- pathWeight: calculatePathWeight(hops, wph),
176
- };
177
- });
178
- // Combine and rank by path weight
179
- const candidates = [...positives, ...negatives].map(c => ({
180
- ...c,
181
- isPositive: positives.some(p => p.chunkId === c.chunkId),
182
- }));
183
- // Sort by path weight descending
184
- candidates.sort((a, b) => b.pathWeight - a.pathWeight);
185
- // Find rank of first positive
186
- let firstPositiveRank = 0;
187
- for (let i = 0; i < candidates.length; i++) {
188
- if (candidates[i].isPositive) {
189
- firstPositiveRank = i + 1;
190
- break;
191
- }
192
- }
193
- const rr = firstPositiveRank > 0 ? 1 / firstPositiveRank : 0;
194
- totalRR += rr;
195
- if (firstPositiveRank === 1)
196
- rank1++;
197
- queries++;
198
- if (anyPositiveReachable)
199
- reachableQueries++;
200
- // Track by hop bin (use min hop of positives)
201
- const minHop = Math.min(...positives.map(p => p.hops));
202
- let bin;
203
- if (minHop <= 10)
204
- bin = '4-10';
205
- else if (minHop <= 20)
206
- bin = '11-20';
207
- else if (minHop <= 30)
208
- bin = '21-30';
209
- else if (minHop <= 50)
210
- bin = '31-50';
211
- else
212
- bin = '51+';
213
- rrByBin[bin].push(rr);
214
- if (anyPositiveReachable)
215
- reachableByBin[bin]++;
216
- }
217
- const mrr = queries > 0 ? totalRR / queries : 0;
218
- const mrrByBin = {};
219
- for (const bin of Object.keys(rrByBin)) {
220
- const rrs = rrByBin[bin];
221
- mrrByBin[bin] = rrs.length > 0 ? rrs.reduce((a, b) => a + b, 0) / rrs.length : 0;
222
- }
223
- results.push({
224
- wph,
225
- mrr,
226
- rank1,
227
- queryCount: queries,
228
- reachableQueries,
229
- mrrByBin,
230
- reachableByBin,
231
- });
232
- }
233
- // Print results
234
- console.log('wph | MRR | Reachable | 4-10 | 11-20 | 21-30 | 31-50 | 51+ | Rank@1');
235
- console.log('-'.repeat(95));
236
- for (const r of results) {
237
- const reachablePct = (r.reachableQueries / r.queryCount * 100).toFixed(0);
238
- const row = [
239
- r.wph.toFixed(2),
240
- r.mrr.toFixed(3).padStart(6),
241
- `${reachablePct}%`.padStart(9),
242
- r.mrrByBin['4-10'].toFixed(3).padStart(6),
243
- r.mrrByBin['11-20'].toFixed(3).padStart(6),
244
- r.mrrByBin['21-30'].toFixed(3).padStart(6),
245
- r.mrrByBin['31-50'].toFixed(3).padStart(6),
246
- r.mrrByBin['51+'].toFixed(3).padStart(6),
247
- r.rank1.toString().padStart(6),
248
- ].join(' | ');
249
- console.log(row);
250
- }
251
- // Summary
252
- console.log('\n' + '='.repeat(95));
253
- console.log('ANALYSIS:');
254
- const sorted = [...results].sort((a, b) => b.mrr - a.mrr);
255
- console.log(`\n Best overall: wph=${sorted[0].wph} (MRR=${sorted[0].mrr.toFixed(3)})`);
256
- // Find best that keeps 90%+ reachable
257
- const highReach = results.filter(r => r.reachableQueries / r.queryCount >= 0.9);
258
- if (highReach.length > 0) {
259
- const bestHighReach = highReach.sort((a, b) => b.mrr - a.mrr)[0];
260
- console.log(` Best with 90%+ reachability: wph=${bestHighReach.wph} (MRR=${bestHighReach.mrr.toFixed(3)}, ${(bestHighReach.reachableQueries / bestHighReach.queryCount * 100).toFixed(0)}% reachable)`);
261
- }
262
- // Current default comparison
263
- const current = results.find(r => r.wph === 0.80);
264
- if (current) {
265
- console.log(`\n Current (wph=0.80): MRR=${current.mrr.toFixed(3)}, ${(current.reachableQueries / current.queryCount * 100).toFixed(0)}% reachable`);
266
- const improvement = ((sorted[0].mrr - current.mrr) / current.mrr * 100).toFixed(1);
267
- console.log(` Potential improvement: +${improvement}% MRR`);
268
- }
269
- // Key insight
270
- console.log('\n KEY INSIGHT:');
271
- console.log(' - Fast decay (0.80) gives good discrimination but kills most paths');
272
- console.log(' - Slow decay (0.95+) keeps paths alive but reduces discrimination');
273
- console.log(' - The optimal wph balances reachability with ranking quality');
274
- //# sourceMappingURL=path-traversal-experiment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-traversal-experiment.js","sourceRoot":"","sources":["../../../../src/eval/experiments/vector-decay-shapes/path-traversal-experiment.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Preset hop decay configurations for experiments.
3
- *
4
- * Translating the time-based findings to hop-based:
5
- * - 30-min hold period ≈ 3-5 hops (assuming ~6-10 min per D-T-D cycle)
6
- * - 4-hour decay to death ≈ 20-30 hops
7
- * - 10-min half-life (exponential) ≈ weightPerHop of 0.85-0.90
8
- */
9
- import type { HopDecayConfig } from './types.js';
10
- /**
11
- * Exponential decay variants.
12
- * Current default: 0.80 weightPerHop
13
- */
14
- export declare const EXPONENTIAL_CONFIGS: HopDecayConfig[];
15
- /**
16
- * Linear decay variants.
17
- */
18
- export declare const LINEAR_CONFIGS: HopDecayConfig[];
19
- /**
20
- * Delayed linear variants.
21
- * Key insight from time-based experiments: hold periods matter for retrieval.
22
- */
23
- export declare const DELAYED_LINEAR_CONFIGS: HopDecayConfig[];
24
- /**
25
- * Multi-linear variants with multiple tiers.
26
- */
27
- export declare const MULTI_LINEAR_CONFIGS: HopDecayConfig[];
28
- /**
29
- * All configurations for comprehensive comparison.
30
- */
31
- export declare const ALL_HOP_DECAY_CONFIGS: HopDecayConfig[];
32
- /**
33
- * Subset for quick testing.
34
- */
35
- export declare const QUICK_TEST_CONFIGS: HopDecayConfig[];
36
- //# sourceMappingURL=presets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../../src/eval/experiments/vector-decay-shapes/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAyB/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAAc,EAyB1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAqClD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,EAyBhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAAc,EAKjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAK9C,CAAC"}
@@ -1,157 +0,0 @@
1
- /**
2
- * Preset hop decay configurations for experiments.
3
- *
4
- * Translating the time-based findings to hop-based:
5
- * - 30-min hold period ≈ 3-5 hops (assuming ~6-10 min per D-T-D cycle)
6
- * - 4-hour decay to death ≈ 20-30 hops
7
- * - 10-min half-life (exponential) ≈ weightPerHop of 0.85-0.90
8
- */
9
- /**
10
- * Exponential decay variants.
11
- * Current default: 0.80 weightPerHop
12
- */
13
- export const EXPONENTIAL_CONFIGS = [
14
- {
15
- id: 'exp-80',
16
- name: 'Exponential 80%',
17
- type: 'exponential',
18
- initialWeight: 1.0,
19
- weightPerHop: 0.80,
20
- minWeight: 0.01,
21
- },
22
- {
23
- id: 'exp-85',
24
- name: 'Exponential 85%',
25
- type: 'exponential',
26
- initialWeight: 1.0,
27
- weightPerHop: 0.85,
28
- minWeight: 0.01,
29
- },
30
- {
31
- id: 'exp-90',
32
- name: 'Exponential 90%',
33
- type: 'exponential',
34
- initialWeight: 1.0,
35
- weightPerHop: 0.90,
36
- minWeight: 0.01,
37
- },
38
- ];
39
- /**
40
- * Linear decay variants.
41
- */
42
- export const LINEAR_CONFIGS = [
43
- {
44
- id: 'linear-fast',
45
- name: 'Linear Fast (10 hops)',
46
- type: 'linear',
47
- initialWeight: 1.0,
48
- decayPerHop: 0.1, // Dies at 10 hops
49
- minWeight: 0.01,
50
- },
51
- {
52
- id: 'linear-medium',
53
- name: 'Linear Medium (20 hops)',
54
- type: 'linear',
55
- initialWeight: 1.0,
56
- decayPerHop: 0.05, // Dies at 20 hops
57
- minWeight: 0.01,
58
- },
59
- {
60
- id: 'linear-slow',
61
- name: 'Linear Slow (50 hops)',
62
- type: 'linear',
63
- initialWeight: 1.0,
64
- decayPerHop: 0.02, // Dies at 50 hops
65
- minWeight: 0.01,
66
- },
67
- ];
68
- /**
69
- * Delayed linear variants.
70
- * Key insight from time-based experiments: hold periods matter for retrieval.
71
- */
72
- export const DELAYED_LINEAR_CONFIGS = [
73
- {
74
- id: 'delayed-2-10',
75
- name: 'Delayed Linear (2h, 10h)',
76
- type: 'delayed-linear',
77
- initialWeight: 1.0,
78
- holdHops: 2,
79
- decayPerHop: 0.1, // Dies 10 hops after hold = 12 total
80
- minWeight: 0.01,
81
- },
82
- {
83
- id: 'delayed-3-15',
84
- name: 'Delayed Linear (3h, 15h)',
85
- type: 'delayed-linear',
86
- initialWeight: 1.0,
87
- holdHops: 3,
88
- decayPerHop: 0.066, // Dies ~15 hops after hold = 18 total
89
- minWeight: 0.01,
90
- },
91
- {
92
- id: 'delayed-5-20',
93
- name: 'Delayed Linear (5h, 20h)',
94
- type: 'delayed-linear',
95
- initialWeight: 1.0,
96
- holdHops: 5,
97
- decayPerHop: 0.05, // Dies 20 hops after hold = 25 total
98
- minWeight: 0.01,
99
- },
100
- {
101
- id: 'delayed-5-30',
102
- name: 'Delayed Linear (5h, 30h)',
103
- type: 'delayed-linear',
104
- initialWeight: 1.0,
105
- holdHops: 5,
106
- decayPerHop: 0.033, // Dies ~30 hops after hold = 35 total
107
- minWeight: 0.01,
108
- },
109
- ];
110
- /**
111
- * Multi-linear variants with multiple tiers.
112
- */
113
- export const MULTI_LINEAR_CONFIGS = [
114
- {
115
- id: 'multi-default',
116
- name: 'Multi-Linear Default',
117
- type: 'multi-linear',
118
- initialWeight: 1.0,
119
- tiers: [
120
- { name: 'short', initialWeight: 0.5, holdHops: 1, decayPerHop: 0.1 }, // Dies at 6 hops
121
- { name: 'medium', initialWeight: 0.3, holdHops: 5, decayPerHop: 0.05 }, // Dies at 11 hops
122
- { name: 'long', initialWeight: 0.2, holdHops: 10, decayPerHop: 0.02 }, // Dies at 20 hops
123
- ],
124
- minWeight: 0.01,
125
- },
126
- {
127
- id: 'multi-slow',
128
- name: 'Multi-Linear Slow',
129
- type: 'multi-linear',
130
- initialWeight: 1.0,
131
- tiers: [
132
- { name: 'short', initialWeight: 0.4, holdHops: 2, decayPerHop: 0.08 }, // Dies at 7 hops
133
- { name: 'medium', initialWeight: 0.3, holdHops: 8, decayPerHop: 0.03 }, // Dies at 18 hops
134
- { name: 'long', initialWeight: 0.3, holdHops: 15, decayPerHop: 0.01 }, // Dies at 45 hops
135
- ],
136
- minWeight: 0.01,
137
- },
138
- ];
139
- /**
140
- * All configurations for comprehensive comparison.
141
- */
142
- export const ALL_HOP_DECAY_CONFIGS = [
143
- ...EXPONENTIAL_CONFIGS,
144
- ...LINEAR_CONFIGS,
145
- ...DELAYED_LINEAR_CONFIGS,
146
- ...MULTI_LINEAR_CONFIGS,
147
- ];
148
- /**
149
- * Subset for quick testing.
150
- */
151
- export const QUICK_TEST_CONFIGS = [
152
- EXPONENTIAL_CONFIGS[0], // exp-80 (current default)
153
- LINEAR_CONFIGS[1], // linear-medium
154
- DELAYED_LINEAR_CONFIGS[2], // delayed-5-20
155
- MULTI_LINEAR_CONFIGS[0], // multi-default
156
- ];
157
- //# sourceMappingURL=presets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../../src/eval/experiments/vector-decay-shapes/presets.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Run hop-based decay shape experiments.
3
- *
4
- * Tests different decay curve shapes (exponential, linear, delayed-linear, multi-linear)
5
- * for both backward (retrieval) and forward (prediction) traversal.
6
- */
7
- import type { HopDecayConfig, HopDecayShapeResults } from './types.js';
8
- /**
9
- * Run the hop decay shape experiment.
10
- */
11
- export declare function runHopDecayShapeExperiment(options?: {
12
- configs?: HopDecayConfig[];
13
- verbose?: boolean;
14
- maxQueries?: number;
15
- }): Promise<HopDecayShapeResults>;
16
- /**
17
- * Format results as a comparison table.
18
- */
19
- export declare function formatResults(results: HopDecayShapeResults): string;
20
- //# sourceMappingURL=run-experiment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-experiment.d.ts","sourceRoot":"","sources":["../../../../src/eval/experiments/vector-decay-shapes/run-experiment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,cAAc,EAEd,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AA2YpB;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,GACL,OAAO,CAAC,oBAAoB,CAAC,CAyJ/B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CA0CnE"}