causantic 0.2.1 → 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 (457) 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.map +1 -1
  11. package/dist/cli/commands/init.d.ts.map +1 -1
  12. package/dist/cli/commands/init.js +29 -32
  13. package/dist/cli/commands/init.js.map +1 -1
  14. package/dist/cli/commands/maintenance.d.ts.map +1 -1
  15. package/dist/cli/commands/maintenance.js +10 -3
  16. package/dist/cli/commands/maintenance.js.map +1 -1
  17. package/dist/cli/commands/serve.d.ts.map +1 -1
  18. package/dist/cli/commands/serve.js +3 -3
  19. package/dist/cli/commands/serve.js.map +1 -1
  20. package/dist/cli/skill-templates.d.ts.map +1 -1
  21. package/dist/cli/skill-templates.js +223 -153
  22. package/dist/cli/skill-templates.js.map +1 -1
  23. package/dist/cli/uninstall.d.ts.map +1 -1
  24. package/dist/cli/uninstall.js +4 -1
  25. package/dist/cli/uninstall.js.map +1 -1
  26. package/dist/clusters/cluster-manager.d.ts +23 -0
  27. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  28. package/dist/clusters/cluster-manager.js +69 -2
  29. package/dist/clusters/cluster-manager.js.map +1 -1
  30. package/dist/clusters/cluster-refresh.d.ts.map +1 -1
  31. package/dist/clusters/cluster-refresh.js +5 -1
  32. package/dist/clusters/cluster-refresh.js.map +1 -1
  33. package/dist/clusters/hdbscan/cluster-extraction.d.ts.map +1 -1
  34. package/dist/clusters/hdbscan/cluster-extraction.js +1 -2
  35. package/dist/clusters/hdbscan/cluster-extraction.js.map +1 -1
  36. package/dist/clusters/hdbscan/hierarchy.d.ts.map +1 -1
  37. package/dist/clusters/hdbscan/hierarchy.js +1 -3
  38. package/dist/clusters/hdbscan/hierarchy.js.map +1 -1
  39. package/dist/clusters/hdbscan/incremental.d.ts.map +1 -1
  40. package/dist/clusters/hdbscan/incremental.js.map +1 -1
  41. package/dist/clusters/hdbscan/probabilities.d.ts +1 -1
  42. package/dist/clusters/hdbscan/probabilities.d.ts.map +1 -1
  43. package/dist/clusters/hdbscan/probabilities.js +1 -1
  44. package/dist/clusters/hdbscan/probabilities.js.map +1 -1
  45. package/dist/clusters/hdbscan.d.ts.map +1 -1
  46. package/dist/clusters/hdbscan.js +3 -5
  47. package/dist/clusters/hdbscan.js.map +1 -1
  48. package/dist/config/loader.d.ts +10 -15
  49. package/dist/config/loader.d.ts.map +1 -1
  50. package/dist/config/loader.js +40 -71
  51. package/dist/config/loader.js.map +1 -1
  52. package/dist/config/memory-config.d.ts +2 -45
  53. package/dist/config/memory-config.d.ts.map +1 -1
  54. package/dist/config/memory-config.js +6 -109
  55. package/dist/config/memory-config.js.map +1 -1
  56. package/dist/core/index.d.ts +1 -1
  57. package/dist/core/index.d.ts.map +1 -1
  58. package/dist/core/lexical-features.d.ts.map +1 -1
  59. package/dist/core/lexical-features.js +141 -20
  60. package/dist/core/lexical-features.js.map +1 -1
  61. package/dist/dashboard/client/assets/index-DdImwNQ0.css +1 -0
  62. package/dist/dashboard/client/assets/index-Ofx8zngH.js +166 -0
  63. package/dist/dashboard/client/index.html +2 -2
  64. package/dist/dashboard/routes/benchmark-collection.d.ts.map +1 -1
  65. package/dist/dashboard/routes/benchmark-collection.js +2 -6
  66. package/dist/dashboard/routes/benchmark-collection.js.map +1 -1
  67. package/dist/dashboard/routes/chain.d.ts +3 -0
  68. package/dist/dashboard/routes/chain.d.ts.map +1 -0
  69. package/dist/dashboard/routes/chain.js +74 -0
  70. package/dist/dashboard/routes/chain.js.map +1 -0
  71. package/dist/dashboard/routes/chunks.d.ts.map +1 -1
  72. package/dist/dashboard/routes/chunks.js +16 -1
  73. package/dist/dashboard/routes/chunks.js.map +1 -1
  74. package/dist/dashboard/routes/graph.d.ts.map +1 -1
  75. package/dist/dashboard/routes/graph.js.map +1 -1
  76. package/dist/dashboard/routes/search.d.ts.map +1 -1
  77. package/dist/dashboard/routes/search.js.map +1 -1
  78. package/dist/dashboard/routes/stats.d.ts.map +1 -1
  79. package/dist/dashboard/routes/stats.js +8 -6
  80. package/dist/dashboard/routes/stats.js.map +1 -1
  81. package/dist/dashboard/routes/timeline.d.ts +3 -0
  82. package/dist/dashboard/routes/timeline.d.ts.map +1 -0
  83. package/dist/dashboard/routes/timeline.js +90 -0
  84. package/dist/dashboard/routes/timeline.js.map +1 -0
  85. package/dist/dashboard/server.d.ts.map +1 -1
  86. package/dist/dashboard/server.js +4 -0
  87. package/dist/dashboard/server.js.map +1 -1
  88. package/dist/eval/annotation-schema.d.ts.map +1 -1
  89. package/dist/eval/annotation-schema.js +2 -5
  90. package/dist/eval/annotation-schema.js.map +1 -1
  91. package/dist/eval/benchmark-runner.d.ts.map +1 -1
  92. package/dist/eval/benchmark-runner.js +2 -2
  93. package/dist/eval/benchmark-runner.js.map +1 -1
  94. package/dist/eval/cluster-evaluator.d.ts.map +1 -1
  95. package/dist/eval/cluster-evaluator.js.map +1 -1
  96. package/dist/eval/collection-benchmark/chain-quality.d.ts +15 -0
  97. package/dist/eval/collection-benchmark/chain-quality.d.ts.map +1 -0
  98. package/dist/eval/collection-benchmark/chain-quality.js +60 -0
  99. package/dist/eval/collection-benchmark/chain-quality.js.map +1 -0
  100. package/dist/eval/collection-benchmark/health.d.ts.map +1 -1
  101. package/dist/eval/collection-benchmark/health.js +2 -2
  102. package/dist/eval/collection-benchmark/health.js.map +1 -1
  103. package/dist/eval/collection-benchmark/history.d.ts.map +1 -1
  104. package/dist/eval/collection-benchmark/history.js +14 -11
  105. package/dist/eval/collection-benchmark/history.js.map +1 -1
  106. package/dist/eval/collection-benchmark/latency.d.ts.map +1 -1
  107. package/dist/eval/collection-benchmark/latency.js +14 -11
  108. package/dist/eval/collection-benchmark/latency.js.map +1 -1
  109. package/dist/eval/collection-benchmark/reporter.d.ts.map +1 -1
  110. package/dist/eval/collection-benchmark/reporter.js +18 -28
  111. package/dist/eval/collection-benchmark/reporter.js.map +1 -1
  112. package/dist/eval/collection-benchmark/retrieval.d.ts.map +1 -1
  113. package/dist/eval/collection-benchmark/retrieval.js +14 -8
  114. package/dist/eval/collection-benchmark/retrieval.js.map +1 -1
  115. package/dist/eval/collection-benchmark/runner.d.ts +3 -3
  116. package/dist/eval/collection-benchmark/runner.d.ts.map +1 -1
  117. package/dist/eval/collection-benchmark/runner.js +46 -37
  118. package/dist/eval/collection-benchmark/runner.js.map +1 -1
  119. package/dist/eval/collection-benchmark/sampler.d.ts.map +1 -1
  120. package/dist/eval/collection-benchmark/sampler.js +14 -12
  121. package/dist/eval/collection-benchmark/sampler.js.map +1 -1
  122. package/dist/eval/collection-benchmark/tuning.d.ts.map +1 -1
  123. package/dist/eval/collection-benchmark/tuning.js +56 -71
  124. package/dist/eval/collection-benchmark/tuning.js.map +1 -1
  125. package/dist/eval/collection-benchmark/types.d.ts +12 -24
  126. package/dist/eval/collection-benchmark/types.d.ts.map +1 -1
  127. package/dist/eval/corpus-builder.d.ts.map +1 -1
  128. package/dist/eval/corpus-builder.js.map +1 -1
  129. package/dist/eval/experiments/boilerplate-filter.d.ts.map +1 -1
  130. package/dist/eval/experiments/boilerplate-filter.js.map +1 -1
  131. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts.map +1 -1
  132. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js +3 -5
  133. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js.map +1 -1
  134. package/dist/eval/experiments/code-focused-mode.d.ts.map +1 -1
  135. package/dist/eval/experiments/code-focused-mode.js +1 -1
  136. package/dist/eval/experiments/code-focused-mode.js.map +1 -1
  137. package/dist/eval/experiments/edge-decay/decay-curves.d.ts +25 -19
  138. package/dist/eval/experiments/edge-decay/decay-curves.d.ts.map +1 -1
  139. package/dist/eval/experiments/edge-decay/decay-curves.js +47 -40
  140. package/dist/eval/experiments/edge-decay/decay-curves.js.map +1 -1
  141. package/dist/eval/experiments/edge-decay/index.d.ts +6 -4
  142. package/dist/eval/experiments/edge-decay/index.d.ts.map +1 -1
  143. package/dist/eval/experiments/edge-decay/index.js +5 -3
  144. package/dist/eval/experiments/edge-decay/index.js.map +1 -1
  145. package/dist/eval/experiments/edge-decay/presets.d.ts +14 -4
  146. package/dist/eval/experiments/edge-decay/presets.d.ts.map +1 -1
  147. package/dist/eval/experiments/edge-decay/presets.js +73 -68
  148. package/dist/eval/experiments/edge-decay/presets.js.map +1 -1
  149. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts +2 -1
  150. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts.map +1 -1
  151. package/dist/eval/experiments/edge-decay/reference-extractor.js +26 -40
  152. package/dist/eval/experiments/edge-decay/reference-extractor.js.map +1 -1
  153. package/dist/eval/experiments/edge-decay/reference-types.d.ts +24 -17
  154. package/dist/eval/experiments/edge-decay/reference-types.d.ts.map +1 -1
  155. package/dist/eval/experiments/edge-decay/reference-types.js +3 -0
  156. package/dist/eval/experiments/edge-decay/reference-types.js.map +1 -1
  157. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts +8 -8
  158. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts.map +1 -1
  159. package/dist/eval/experiments/edge-decay/retrieval-ranking.js +77 -133
  160. package/dist/eval/experiments/edge-decay/retrieval-ranking.js.map +1 -1
  161. package/dist/eval/experiments/edge-decay/run-experiments.d.ts +7 -3
  162. package/dist/eval/experiments/edge-decay/run-experiments.d.ts.map +1 -1
  163. package/dist/eval/experiments/edge-decay/run-experiments.js +71 -52
  164. package/dist/eval/experiments/edge-decay/run-experiments.js.map +1 -1
  165. package/dist/eval/experiments/edge-decay/simulate.d.ts +1 -1
  166. package/dist/eval/experiments/edge-decay/simulate.d.ts.map +1 -1
  167. package/dist/eval/experiments/edge-decay/simulate.js +7 -19
  168. package/dist/eval/experiments/edge-decay/simulate.js.map +1 -1
  169. package/dist/eval/experiments/hdbscan-sweep.d.ts.map +1 -1
  170. package/dist/eval/experiments/hdbscan-sweep.js +2 -6
  171. package/dist/eval/experiments/hdbscan-sweep.js.map +1 -1
  172. package/dist/eval/experiments/single-model-run.d.ts.map +1 -1
  173. package/dist/eval/experiments/single-model-run.js +2 -2
  174. package/dist/eval/experiments/single-model-run.js.map +1 -1
  175. package/dist/eval/experiments/thinking-ablation.d.ts.map +1 -1
  176. package/dist/eval/experiments/thinking-ablation.js +1 -1
  177. package/dist/eval/experiments/thinking-ablation.js.map +1 -1
  178. package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts.map +1 -1
  179. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js +54 -6
  180. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js.map +1 -1
  181. package/dist/eval/experiments/topic-continuity/labeler.d.ts.map +1 -1
  182. package/dist/eval/experiments/topic-continuity/labeler.js +1 -4
  183. package/dist/eval/experiments/topic-continuity/labeler.js.map +1 -1
  184. package/dist/eval/experiments/topic-continuity/run-experiment.d.ts.map +1 -1
  185. package/dist/eval/experiments/topic-continuity/run-experiment.js +5 -13
  186. package/dist/eval/experiments/topic-continuity/run-experiment.js.map +1 -1
  187. package/dist/eval/experiments/truncation.d.ts.map +1 -1
  188. package/dist/eval/experiments/truncation.js.map +1 -1
  189. package/dist/eval/experiments/types.d.ts.map +1 -1
  190. package/dist/eval/experiments/types.js.map +1 -1
  191. package/dist/eval/metrics.d.ts.map +1 -1
  192. package/dist/eval/metrics.js.map +1 -1
  193. package/dist/hooks/claudemd-generator.d.ts.map +1 -1
  194. package/dist/hooks/claudemd-generator.js +3 -4
  195. package/dist/hooks/claudemd-generator.js.map +1 -1
  196. package/dist/hooks/hook-utils.d.ts.map +1 -1
  197. package/dist/hooks/hook-utils.js +0 -2
  198. package/dist/hooks/hook-utils.js.map +1 -1
  199. package/dist/hooks/pre-compact.d.ts.map +1 -1
  200. package/dist/hooks/pre-compact.js +4 -2
  201. package/dist/hooks/pre-compact.js.map +1 -1
  202. package/dist/hooks/session-end.d.ts.map +1 -1
  203. package/dist/hooks/session-end.js +4 -2
  204. package/dist/hooks/session-end.js.map +1 -1
  205. package/dist/hooks/session-start.d.ts.map +1 -1
  206. package/dist/hooks/session-start.js +3 -5
  207. package/dist/hooks/session-start.js.map +1 -1
  208. package/dist/index.d.ts +0 -1
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/index.js +0 -2
  211. package/dist/index.js.map +1 -1
  212. package/dist/ingest/batch-ingest.d.ts.map +1 -1
  213. package/dist/ingest/batch-ingest.js.map +1 -1
  214. package/dist/ingest/brief-debrief-detector.d.ts +6 -13
  215. package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
  216. package/dist/ingest/brief-debrief-detector.js +9 -16
  217. package/dist/ingest/brief-debrief-detector.js.map +1 -1
  218. package/dist/ingest/cross-session-linker.d.ts +2 -1
  219. package/dist/ingest/cross-session-linker.d.ts.map +1 -1
  220. package/dist/ingest/cross-session-linker.js +17 -7
  221. package/dist/ingest/cross-session-linker.js.map +1 -1
  222. package/dist/ingest/edge-creator.d.ts +14 -40
  223. package/dist/ingest/edge-creator.d.ts.map +1 -1
  224. package/dist/ingest/edge-creator.js +34 -132
  225. package/dist/ingest/edge-creator.js.map +1 -1
  226. package/dist/ingest/edge-detector.d.ts +27 -12
  227. package/dist/ingest/edge-detector.d.ts.map +1 -1
  228. package/dist/ingest/edge-detector.js +68 -200
  229. package/dist/ingest/edge-detector.js.map +1 -1
  230. package/dist/ingest/index.d.ts +3 -3
  231. package/dist/ingest/index.d.ts.map +1 -1
  232. package/dist/ingest/index.js +3 -3
  233. package/dist/ingest/index.js.map +1 -1
  234. package/dist/ingest/ingest-session.d.ts +1 -8
  235. package/dist/ingest/ingest-session.d.ts.map +1 -1
  236. package/dist/ingest/ingest-session.js +54 -107
  237. package/dist/ingest/ingest-session.js.map +1 -1
  238. package/dist/ingest/rebuild-edges.d.ts +17 -0
  239. package/dist/ingest/rebuild-edges.d.ts.map +1 -0
  240. package/dist/ingest/rebuild-edges.js +97 -0
  241. package/dist/ingest/rebuild-edges.js.map +1 -0
  242. package/dist/maintenance/scheduler.d.ts +2 -3
  243. package/dist/maintenance/scheduler.d.ts.map +1 -1
  244. package/dist/maintenance/scheduler.js +14 -23
  245. package/dist/maintenance/scheduler.js.map +1 -1
  246. package/dist/maintenance/tasks/cleanup-vectors.d.ts +3 -1
  247. package/dist/maintenance/tasks/cleanup-vectors.d.ts.map +1 -1
  248. package/dist/maintenance/tasks/cleanup-vectors.js +6 -4
  249. package/dist/maintenance/tasks/cleanup-vectors.js.map +1 -1
  250. package/dist/maintenance/tasks/index.d.ts +0 -1
  251. package/dist/maintenance/tasks/index.d.ts.map +1 -1
  252. package/dist/maintenance/tasks/index.js +0 -1
  253. package/dist/maintenance/tasks/index.js.map +1 -1
  254. package/dist/mcp/index.d.ts +1 -1
  255. package/dist/mcp/index.d.ts.map +1 -1
  256. package/dist/mcp/index.js +1 -1
  257. package/dist/mcp/index.js.map +1 -1
  258. package/dist/mcp/server.d.ts.map +1 -1
  259. package/dist/mcp/server.js +7 -6
  260. package/dist/mcp/server.js.map +1 -1
  261. package/dist/mcp/tools.d.ts +5 -5
  262. package/dist/mcp/tools.d.ts.map +1 -1
  263. package/dist/mcp/tools.js +42 -36
  264. package/dist/mcp/tools.js.map +1 -1
  265. package/dist/models/device-detector.d.ts.map +1 -1
  266. package/dist/models/device-detector.js +20 -10
  267. package/dist/models/device-detector.js.map +1 -1
  268. package/dist/models/embedder.d.ts.map +1 -1
  269. package/dist/models/embedder.js +5 -2
  270. package/dist/models/embedder.js.map +1 -1
  271. package/dist/models/model-registry.d.ts.map +1 -1
  272. package/dist/models/model-registry.js.map +1 -1
  273. package/dist/parser/chunker.d.ts +5 -40
  274. package/dist/parser/chunker.d.ts.map +1 -1
  275. package/dist/parser/chunker.js +5 -111
  276. package/dist/parser/chunker.js.map +1 -1
  277. package/dist/parser/session-reader.d.ts.map +1 -1
  278. package/dist/parser/session-reader.js +3 -6
  279. package/dist/parser/session-reader.js.map +1 -1
  280. package/dist/parser/turn-assembler.d.ts.map +1 -1
  281. package/dist/parser/turn-assembler.js +0 -1
  282. package/dist/parser/turn-assembler.js.map +1 -1
  283. package/dist/parser/types.d.ts.map +1 -1
  284. package/dist/report/reporter.d.ts.map +1 -1
  285. package/dist/report/reporter.js +1 -3
  286. package/dist/report/reporter.js.map +1 -1
  287. package/dist/retrieval/chain-assembler.d.ts +58 -0
  288. package/dist/retrieval/chain-assembler.d.ts.map +1 -0
  289. package/dist/retrieval/chain-assembler.js +126 -0
  290. package/dist/retrieval/chain-assembler.js.map +1 -0
  291. package/dist/retrieval/chain-walker.d.ts +57 -0
  292. package/dist/retrieval/chain-walker.d.ts.map +1 -0
  293. package/dist/retrieval/chain-walker.js +121 -0
  294. package/dist/retrieval/chain-walker.js.map +1 -0
  295. package/dist/retrieval/cluster-expander.d.ts.map +1 -1
  296. package/dist/retrieval/cluster-expander.js +3 -3
  297. package/dist/retrieval/cluster-expander.js.map +1 -1
  298. package/dist/retrieval/context-assembler.d.ts +13 -36
  299. package/dist/retrieval/context-assembler.d.ts.map +1 -1
  300. package/dist/retrieval/context-assembler.js +50 -287
  301. package/dist/retrieval/context-assembler.js.map +1 -1
  302. package/dist/retrieval/index.d.ts +8 -4
  303. package/dist/retrieval/index.d.ts.map +1 -1
  304. package/dist/retrieval/index.js +7 -3
  305. package/dist/retrieval/index.js.map +1 -1
  306. package/dist/retrieval/rrf.d.ts.map +1 -1
  307. package/dist/retrieval/rrf.js +4 -2
  308. package/dist/retrieval/rrf.js.map +1 -1
  309. package/dist/retrieval/search-assembler.d.ts +59 -0
  310. package/dist/retrieval/search-assembler.d.ts.map +1 -0
  311. package/dist/retrieval/search-assembler.js +209 -0
  312. package/dist/retrieval/search-assembler.js.map +1 -0
  313. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  314. package/dist/retrieval/session-reconstructor.js +9 -7
  315. package/dist/retrieval/session-reconstructor.js.map +1 -1
  316. package/dist/storage/archive.d.ts +0 -2
  317. package/dist/storage/archive.d.ts.map +1 -1
  318. package/dist/storage/archive.js +18 -12
  319. package/dist/storage/archive.js.map +1 -1
  320. package/dist/storage/checkpoint-store.d.ts +0 -1
  321. package/dist/storage/checkpoint-store.d.ts.map +1 -1
  322. package/dist/storage/checkpoint-store.js +5 -7
  323. package/dist/storage/checkpoint-store.js.map +1 -1
  324. package/dist/storage/chunk-store.d.ts.map +1 -1
  325. package/dist/storage/chunk-store.js +15 -17
  326. package/dist/storage/chunk-store.js.map +1 -1
  327. package/dist/storage/cluster-store.d.ts.map +1 -1
  328. package/dist/storage/cluster-store.js.map +1 -1
  329. package/dist/storage/db.d.ts.map +1 -1
  330. package/dist/storage/db.js.map +1 -1
  331. package/dist/storage/edge-store.d.ts +17 -30
  332. package/dist/storage/edge-store.d.ts.map +1 -1
  333. package/dist/storage/edge-store.js +43 -123
  334. package/dist/storage/edge-store.js.map +1 -1
  335. package/dist/storage/embedding-cache.d.ts.map +1 -1
  336. package/dist/storage/embedding-cache.js +1 -3
  337. package/dist/storage/embedding-cache.js.map +1 -1
  338. package/dist/storage/encryption.d.ts.map +1 -1
  339. package/dist/storage/encryption.js +4 -15
  340. package/dist/storage/encryption.js.map +1 -1
  341. package/dist/storage/index.d.ts +1 -4
  342. package/dist/storage/index.d.ts.map +1 -1
  343. package/dist/storage/index.js +1 -5
  344. package/dist/storage/index.js.map +1 -1
  345. package/dist/storage/keyword-store.d.ts.map +1 -1
  346. package/dist/storage/keyword-store.js +11 -7
  347. package/dist/storage/keyword-store.js.map +1 -1
  348. package/dist/storage/migrations.d.ts.map +1 -1
  349. package/dist/storage/migrations.js +56 -4
  350. package/dist/storage/migrations.js.map +1 -1
  351. package/dist/storage/schema.sql +8 -20
  352. package/dist/storage/types.d.ts +12 -26
  353. package/dist/storage/types.d.ts.map +1 -1
  354. package/dist/storage/types.js +1 -2
  355. package/dist/storage/types.js.map +1 -1
  356. package/dist/storage/vector-store.d.ts +9 -15
  357. package/dist/storage/vector-store.d.ts.map +1 -1
  358. package/dist/storage/vector-store.js +64 -43
  359. package/dist/storage/vector-store.js.map +1 -1
  360. package/dist/utils/angular-distance.d.ts.map +1 -1
  361. package/dist/utils/angular-distance.js.map +1 -1
  362. package/dist/utils/logger.d.ts.map +1 -1
  363. package/dist/utils/logger.js.map +1 -1
  364. package/dist/utils/secret-store.d.ts.map +1 -1
  365. package/dist/utils/secret-store.js +17 -13
  366. package/dist/utils/secret-store.js.map +1 -1
  367. package/dist/utils/secure-buffer.d.ts.map +1 -1
  368. package/dist/utils/secure-buffer.js.map +1 -1
  369. package/package.json +6 -5
  370. package/src/dashboard/client/package-lock.json +3 -3
  371. package/src/dashboard/client/package.json +3 -3
  372. package/dist/dashboard/client/assets/index-CMUKy4f9.css +0 -1
  373. package/dist/dashboard/client/assets/index-esv8TpCN.js +0 -168
  374. package/dist/eval/collection-benchmark/graph-value.d.ts +0 -16
  375. package/dist/eval/collection-benchmark/graph-value.d.ts.map +0 -1
  376. package/dist/eval/collection-benchmark/graph-value.js +0 -162
  377. package/dist/eval/collection-benchmark/graph-value.js.map +0 -1
  378. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts +0 -10
  379. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts.map +0 -1
  380. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js +0 -229
  381. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js.map +0 -1
  382. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts +0 -12
  383. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts.map +0 -1
  384. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js +0 -316
  385. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js.map +0 -1
  386. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts +0 -19
  387. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts.map +0 -1
  388. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js +0 -127
  389. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js.map +0 -1
  390. package/dist/eval/experiments/vector-decay-shapes/index.d.ts +0 -11
  391. package/dist/eval/experiments/vector-decay-shapes/index.d.ts.map +0 -1
  392. package/dist/eval/experiments/vector-decay-shapes/index.js +0 -11
  393. package/dist/eval/experiments/vector-decay-shapes/index.js.map +0 -1
  394. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts +0 -14
  395. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts.map +0 -1
  396. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js +0 -274
  397. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js.map +0 -1
  398. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts +0 -36
  399. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts.map +0 -1
  400. package/dist/eval/experiments/vector-decay-shapes/presets.js +0 -157
  401. package/dist/eval/experiments/vector-decay-shapes/presets.js.map +0 -1
  402. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts +0 -20
  403. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts.map +0 -1
  404. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js +0 -504
  405. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js.map +0 -1
  406. package/dist/eval/experiments/vector-decay-shapes/types.d.ts +0 -111
  407. package/dist/eval/experiments/vector-decay-shapes/types.d.ts.map +0 -1
  408. package/dist/eval/experiments/vector-decay-shapes/types.js +0 -15
  409. package/dist/eval/experiments/vector-decay-shapes/types.js.map +0 -1
  410. package/dist/eval/experiments/vector-decay-sweep/index.d.ts +0 -7
  411. package/dist/eval/experiments/vector-decay-sweep/index.d.ts.map +0 -1
  412. package/dist/eval/experiments/vector-decay-sweep/index.js +0 -7
  413. package/dist/eval/experiments/vector-decay-sweep/index.js.map +0 -1
  414. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts +0 -30
  415. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts.map +0 -1
  416. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js +0 -378
  417. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js.map +0 -1
  418. package/dist/eval/experiments/vector-decay-sweep/types.d.ts +0 -109
  419. package/dist/eval/experiments/vector-decay-sweep/types.d.ts.map +0 -1
  420. package/dist/eval/experiments/vector-decay-sweep/types.js +0 -16
  421. package/dist/eval/experiments/vector-decay-sweep/types.js.map +0 -1
  422. package/dist/maintenance/tasks/prune-graph.d.ts +0 -12
  423. package/dist/maintenance/tasks/prune-graph.d.ts.map +0 -1
  424. package/dist/maintenance/tasks/prune-graph.js +0 -23
  425. package/dist/maintenance/tasks/prune-graph.js.map +0 -1
  426. package/dist/retrieval/traverser.d.ts +0 -66
  427. package/dist/retrieval/traverser.d.ts.map +0 -1
  428. package/dist/retrieval/traverser.js +0 -160
  429. package/dist/retrieval/traverser.js.map +0 -1
  430. package/dist/storage/clock-store.d.ts +0 -80
  431. package/dist/storage/clock-store.d.ts.map +0 -1
  432. package/dist/storage/clock-store.js +0 -155
  433. package/dist/storage/clock-store.js.map +0 -1
  434. package/dist/storage/decay.d.ts +0 -125
  435. package/dist/storage/decay.d.ts.map +0 -1
  436. package/dist/storage/decay.js +0 -276
  437. package/dist/storage/decay.js.map +0 -1
  438. package/dist/storage/pruner.d.ts +0 -111
  439. package/dist/storage/pruner.d.ts.map +0 -1
  440. package/dist/storage/pruner.js +0 -280
  441. package/dist/storage/pruner.js.map +0 -1
  442. package/dist/temporal/clock-compactor.d.ts +0 -65
  443. package/dist/temporal/clock-compactor.d.ts.map +0 -1
  444. package/dist/temporal/clock-compactor.js +0 -157
  445. package/dist/temporal/clock-compactor.js.map +0 -1
  446. package/dist/temporal/index.d.ts +0 -6
  447. package/dist/temporal/index.d.ts.map +0 -1
  448. package/dist/temporal/index.js +0 -6
  449. package/dist/temporal/index.js.map +0 -1
  450. package/dist/temporal/vector-clock.d.ts +0 -143
  451. package/dist/temporal/vector-clock.d.ts.map +0 -1
  452. package/dist/temporal/vector-clock.js +0 -231
  453. package/dist/temporal/vector-clock.js.map +0 -1
  454. package/dist/utils/keychain.d.ts +0 -43
  455. package/dist/utils/keychain.d.ts.map +0 -1
  456. package/dist/utils/keychain.js +0 -82
  457. 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"}