@co-engram/core 0.1.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 (531) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +167 -0
  3. package/dist/config/defaults.d.ts +45 -0
  4. package/dist/config/defaults.d.ts.map +1 -0
  5. package/dist/config/defaults.js +70 -0
  6. package/dist/config/defaults.js.map +1 -0
  7. package/dist/config/index.d.ts +84 -0
  8. package/dist/config/index.d.ts.map +1 -0
  9. package/dist/config/index.js +230 -0
  10. package/dist/config/index.js.map +1 -0
  11. package/dist/config/types.d.ts +145 -0
  12. package/dist/config/types.d.ts.map +1 -0
  13. package/dist/config/types.js +14 -0
  14. package/dist/config/types.js.map +1 -0
  15. package/dist/contradiction/arbiter.d.ts +51 -0
  16. package/dist/contradiction/arbiter.d.ts.map +1 -0
  17. package/dist/contradiction/arbiter.js +112 -0
  18. package/dist/contradiction/arbiter.js.map +1 -0
  19. package/dist/contradiction/auto-degrade.d.ts +53 -0
  20. package/dist/contradiction/auto-degrade.d.ts.map +1 -0
  21. package/dist/contradiction/auto-degrade.js +79 -0
  22. package/dist/contradiction/auto-degrade.js.map +1 -0
  23. package/dist/contradiction/detector.d.ts +33 -0
  24. package/dist/contradiction/detector.d.ts.map +1 -0
  25. package/dist/contradiction/detector.js +76 -0
  26. package/dist/contradiction/detector.js.map +1 -0
  27. package/dist/contradiction/index.d.ts +11 -0
  28. package/dist/contradiction/index.d.ts.map +1 -0
  29. package/dist/contradiction/index.js +11 -0
  30. package/dist/contradiction/index.js.map +1 -0
  31. package/dist/contradiction/resolver.d.ts +45 -0
  32. package/dist/contradiction/resolver.d.ts.map +1 -0
  33. package/dist/contradiction/resolver.js +196 -0
  34. package/dist/contradiction/resolver.js.map +1 -0
  35. package/dist/contradiction/types.d.ts +73 -0
  36. package/dist/contradiction/types.d.ts.map +1 -0
  37. package/dist/contradiction/types.js +7 -0
  38. package/dist/contradiction/types.js.map +1 -0
  39. package/dist/dedup/dedupe.d.ts +49 -0
  40. package/dist/dedup/dedupe.d.ts.map +1 -0
  41. package/dist/dedup/dedupe.js +111 -0
  42. package/dist/dedup/dedupe.js.map +1 -0
  43. package/dist/dedup/hash.d.ts +27 -0
  44. package/dist/dedup/hash.d.ts.map +1 -0
  45. package/dist/dedup/hash.js +43 -0
  46. package/dist/dedup/hash.js.map +1 -0
  47. package/dist/dedup/index.d.ts +12 -0
  48. package/dist/dedup/index.d.ts.map +1 -0
  49. package/dist/dedup/index.js +12 -0
  50. package/dist/dedup/index.js.map +1 -0
  51. package/dist/dedup/llm-triage.d.ts +48 -0
  52. package/dist/dedup/llm-triage.d.ts.map +1 -0
  53. package/dist/dedup/llm-triage.js +100 -0
  54. package/dist/dedup/llm-triage.js.map +1 -0
  55. package/dist/dedup/merge.d.ts +41 -0
  56. package/dist/dedup/merge.d.ts.map +1 -0
  57. package/dist/dedup/merge.js +55 -0
  58. package/dist/dedup/merge.js.map +1 -0
  59. package/dist/dedup/similar.d.ts +45 -0
  60. package/dist/dedup/similar.d.ts.map +1 -0
  61. package/dist/dedup/similar.js +103 -0
  62. package/dist/dedup/similar.js.map +1 -0
  63. package/dist/dedup/types.d.ts +72 -0
  64. package/dist/dedup/types.d.ts.map +1 -0
  65. package/dist/dedup/types.js +18 -0
  66. package/dist/dedup/types.js.map +1 -0
  67. package/dist/disclosure/adaptive.d.ts +86 -0
  68. package/dist/disclosure/adaptive.d.ts.map +1 -0
  69. package/dist/disclosure/adaptive.js +196 -0
  70. package/dist/disclosure/adaptive.js.map +1 -0
  71. package/dist/disclosure/budget.d.ts +51 -0
  72. package/dist/disclosure/budget.d.ts.map +1 -0
  73. package/dist/disclosure/budget.js +91 -0
  74. package/dist/disclosure/budget.js.map +1 -0
  75. package/dist/disclosure/index.d.ts +11 -0
  76. package/dist/disclosure/index.d.ts.map +1 -0
  77. package/dist/disclosure/index.js +11 -0
  78. package/dist/disclosure/index.js.map +1 -0
  79. package/dist/disclosure/tier-loader.d.ts +58 -0
  80. package/dist/disclosure/tier-loader.d.ts.map +1 -0
  81. package/dist/disclosure/tier-loader.js +205 -0
  82. package/dist/disclosure/tier-loader.js.map +1 -0
  83. package/dist/dreaming/decay.d.ts +46 -0
  84. package/dist/dreaming/decay.d.ts.map +1 -0
  85. package/dist/dreaming/decay.js +69 -0
  86. package/dist/dreaming/decay.js.map +1 -0
  87. package/dist/dreaming/deep.d.ts +48 -0
  88. package/dist/dreaming/deep.d.ts.map +1 -0
  89. package/dist/dreaming/deep.js +41 -0
  90. package/dist/dreaming/deep.js.map +1 -0
  91. package/dist/dreaming/index.d.ts +12 -0
  92. package/dist/dreaming/index.d.ts.map +1 -0
  93. package/dist/dreaming/index.js +12 -0
  94. package/dist/dreaming/index.js.map +1 -0
  95. package/dist/dreaming/light.d.ts +54 -0
  96. package/dist/dreaming/light.d.ts.map +1 -0
  97. package/dist/dreaming/light.js +114 -0
  98. package/dist/dreaming/light.js.map +1 -0
  99. package/dist/dreaming/rem.d.ts +128 -0
  100. package/dist/dreaming/rem.d.ts.map +1 -0
  101. package/dist/dreaming/rem.js +228 -0
  102. package/dist/dreaming/rem.js.map +1 -0
  103. package/dist/dreaming/scheduler.d.ts +75 -0
  104. package/dist/dreaming/scheduler.d.ts.map +1 -0
  105. package/dist/dreaming/scheduler.js +138 -0
  106. package/dist/dreaming/scheduler.js.map +1 -0
  107. package/dist/dreaming/trash.d.ts +174 -0
  108. package/dist/dreaming/trash.d.ts.map +1 -0
  109. package/dist/dreaming/trash.js +466 -0
  110. package/dist/dreaming/trash.js.map +1 -0
  111. package/dist/evolution/category.d.ts +127 -0
  112. package/dist/evolution/category.d.ts.map +1 -0
  113. package/dist/evolution/category.js +271 -0
  114. package/dist/evolution/category.js.map +1 -0
  115. package/dist/evolution/index.d.ts +8 -0
  116. package/dist/evolution/index.d.ts.map +1 -0
  117. package/dist/evolution/index.js +8 -0
  118. package/dist/evolution/index.js.map +1 -0
  119. package/dist/evolution/triggered.d.ts +107 -0
  120. package/dist/evolution/triggered.d.ts.map +1 -0
  121. package/dist/evolution/triggered.js +278 -0
  122. package/dist/evolution/triggered.js.map +1 -0
  123. package/dist/generative/cross-pollinate.d.ts +144 -0
  124. package/dist/generative/cross-pollinate.d.ts.map +1 -0
  125. package/dist/generative/cross-pollinate.js +390 -0
  126. package/dist/generative/cross-pollinate.js.map +1 -0
  127. package/dist/generative/gap-detector.d.ts +80 -0
  128. package/dist/generative/gap-detector.d.ts.map +1 -0
  129. package/dist/generative/gap-detector.js +250 -0
  130. package/dist/generative/gap-detector.js.map +1 -0
  131. package/dist/generative/hypothesis.d.ts +161 -0
  132. package/dist/generative/hypothesis.d.ts.map +1 -0
  133. package/dist/generative/hypothesis.js +356 -0
  134. package/dist/generative/hypothesis.js.map +1 -0
  135. package/dist/generative/index.d.ts +9 -0
  136. package/dist/generative/index.d.ts.map +1 -0
  137. package/dist/generative/index.js +9 -0
  138. package/dist/generative/index.js.map +1 -0
  139. package/dist/graph/clustering.d.ts +117 -0
  140. package/dist/graph/clustering.d.ts.map +1 -0
  141. package/dist/graph/clustering.js +196 -0
  142. package/dist/graph/clustering.js.map +1 -0
  143. package/dist/graph/index.d.ts +13 -0
  144. package/dist/graph/index.d.ts.map +1 -0
  145. package/dist/graph/index.js +13 -0
  146. package/dist/graph/index.js.map +1 -0
  147. package/dist/graph/layout.d.ts +46 -0
  148. package/dist/graph/layout.d.ts.map +1 -0
  149. package/dist/graph/layout.js +269 -0
  150. package/dist/graph/layout.js.map +1 -0
  151. package/dist/graph/presets.d.ts +134 -0
  152. package/dist/graph/presets.d.ts.map +1 -0
  153. package/dist/graph/presets.js +190 -0
  154. package/dist/graph/presets.js.map +1 -0
  155. package/dist/graph/registry.d.ts +42 -0
  156. package/dist/graph/registry.d.ts.map +1 -0
  157. package/dist/graph/registry.js +158 -0
  158. package/dist/graph/registry.js.map +1 -0
  159. package/dist/graph/snapshot.d.ts +113 -0
  160. package/dist/graph/snapshot.d.ts.map +1 -0
  161. package/dist/graph/snapshot.js +194 -0
  162. package/dist/graph/snapshot.js.map +1 -0
  163. package/dist/graph/traverse.d.ts +84 -0
  164. package/dist/graph/traverse.d.ts.map +1 -0
  165. package/dist/graph/traverse.js +190 -0
  166. package/dist/graph/traverse.js.map +1 -0
  167. package/dist/graph/view-config.d.ts +99 -0
  168. package/dist/graph/view-config.d.ts.map +1 -0
  169. package/dist/graph/view-config.js +208 -0
  170. package/dist/graph/view-config.js.map +1 -0
  171. package/dist/host/detect-git-author.d.ts +26 -0
  172. package/dist/host/detect-git-author.d.ts.map +1 -0
  173. package/dist/host/detect-git-author.js +53 -0
  174. package/dist/host/detect-git-author.js.map +1 -0
  175. package/dist/host/index.d.ts +7 -0
  176. package/dist/host/index.d.ts.map +1 -0
  177. package/dist/host/index.js +7 -0
  178. package/dist/host/index.js.map +1 -0
  179. package/dist/i18n/en.d.ts +8 -0
  180. package/dist/i18n/en.d.ts.map +1 -0
  181. package/dist/i18n/en.js +211 -0
  182. package/dist/i18n/en.js.map +1 -0
  183. package/dist/i18n/field-names.d.ts +95 -0
  184. package/dist/i18n/field-names.d.ts.map +1 -0
  185. package/dist/i18n/field-names.js +329 -0
  186. package/dist/i18n/field-names.js.map +1 -0
  187. package/dist/i18n/index.d.ts +92 -0
  188. package/dist/i18n/index.d.ts.map +1 -0
  189. package/dist/i18n/index.js +135 -0
  190. package/dist/i18n/index.js.map +1 -0
  191. package/dist/i18n/types.d.ts +92 -0
  192. package/dist/i18n/types.d.ts.map +1 -0
  193. package/dist/i18n/types.js +7 -0
  194. package/dist/i18n/types.js.map +1 -0
  195. package/dist/i18n/zh.d.ts +197 -0
  196. package/dist/i18n/zh.d.ts.map +1 -0
  197. package/dist/i18n/zh.js +216 -0
  198. package/dist/i18n/zh.js.map +1 -0
  199. package/dist/importance/index.d.ts +7 -0
  200. package/dist/importance/index.d.ts.map +1 -0
  201. package/dist/importance/index.js +7 -0
  202. package/dist/importance/index.js.map +1 -0
  203. package/dist/importance/vector.d.ts +113 -0
  204. package/dist/importance/vector.d.ts.map +1 -0
  205. package/dist/importance/vector.js +202 -0
  206. package/dist/importance/vector.js.map +1 -0
  207. package/dist/index/digest-builder.d.ts +59 -0
  208. package/dist/index/digest-builder.d.ts.map +1 -0
  209. package/dist/index/digest-builder.js +195 -0
  210. package/dist/index/digest-builder.js.map +1 -0
  211. package/dist/index/graph-builder.d.ts +32 -0
  212. package/dist/index/graph-builder.d.ts.map +1 -0
  213. package/dist/index/graph-builder.js +104 -0
  214. package/dist/index/graph-builder.js.map +1 -0
  215. package/dist/index/incremental.d.ts +31 -0
  216. package/dist/index/incremental.d.ts.map +1 -0
  217. package/dist/index/incremental.js +47 -0
  218. package/dist/index/incremental.js.map +1 -0
  219. package/dist/index/index.d.ts +11 -0
  220. package/dist/index/index.d.ts.map +1 -0
  221. package/dist/index/index.js +11 -0
  222. package/dist/index/index.js.map +1 -0
  223. package/dist/index/orchestrator.d.ts +60 -0
  224. package/dist/index/orchestrator.d.ts.map +1 -0
  225. package/dist/index/orchestrator.js +99 -0
  226. package/dist/index/orchestrator.js.map +1 -0
  227. package/dist/index/types.d.ts +116 -0
  228. package/dist/index/types.d.ts.map +1 -0
  229. package/dist/index/types.js +10 -0
  230. package/dist/index/types.js.map +1 -0
  231. package/dist/index.d.ts +37 -0
  232. package/dist/index.d.ts.map +1 -0
  233. package/dist/index.js +37 -0
  234. package/dist/index.js.map +1 -0
  235. package/dist/learning/index.d.ts +7 -0
  236. package/dist/learning/index.d.ts.map +1 -0
  237. package/dist/learning/index.js +7 -0
  238. package/dist/learning/index.js.map +1 -0
  239. package/dist/learning/loop.d.ts +79 -0
  240. package/dist/learning/loop.d.ts.map +1 -0
  241. package/dist/learning/loop.js +116 -0
  242. package/dist/learning/loop.js.map +1 -0
  243. package/dist/lifecycle/freshness.d.ts +35 -0
  244. package/dist/lifecycle/freshness.d.ts.map +1 -0
  245. package/dist/lifecycle/freshness.js +60 -0
  246. package/dist/lifecycle/freshness.js.map +1 -0
  247. package/dist/lifecycle/index.d.ts +7 -0
  248. package/dist/lifecycle/index.d.ts.map +1 -0
  249. package/dist/lifecycle/index.js +7 -0
  250. package/dist/lifecycle/index.js.map +1 -0
  251. package/dist/lineage/index.d.ts +10 -0
  252. package/dist/lineage/index.d.ts.map +1 -0
  253. package/dist/lineage/index.js +10 -0
  254. package/dist/lineage/index.js.map +1 -0
  255. package/dist/lineage/trace.d.ts +142 -0
  256. package/dist/lineage/trace.d.ts.map +1 -0
  257. package/dist/lineage/trace.js +316 -0
  258. package/dist/lineage/trace.js.map +1 -0
  259. package/dist/maintenance/engine.d.ts +78 -0
  260. package/dist/maintenance/engine.d.ts.map +1 -0
  261. package/dist/maintenance/engine.js +291 -0
  262. package/dist/maintenance/engine.js.map +1 -0
  263. package/dist/maintenance/index.d.ts +8 -0
  264. package/dist/maintenance/index.d.ts.map +1 -0
  265. package/dist/maintenance/index.js +8 -0
  266. package/dist/maintenance/index.js.map +1 -0
  267. package/dist/maintenance/types.d.ts +111 -0
  268. package/dist/maintenance/types.d.ts.map +1 -0
  269. package/dist/maintenance/types.js +24 -0
  270. package/dist/maintenance/types.js.map +1 -0
  271. package/dist/observability/audit-log.d.ts +77 -0
  272. package/dist/observability/audit-log.d.ts.map +1 -0
  273. package/dist/observability/audit-log.js +101 -0
  274. package/dist/observability/audit-log.js.map +1 -0
  275. package/dist/observability/effectiveness-tracker.d.ts +162 -0
  276. package/dist/observability/effectiveness-tracker.d.ts.map +1 -0
  277. package/dist/observability/effectiveness-tracker.js +251 -0
  278. package/dist/observability/effectiveness-tracker.js.map +1 -0
  279. package/dist/observability/index.d.ts +16 -0
  280. package/dist/observability/index.d.ts.map +1 -0
  281. package/dist/observability/index.js +16 -0
  282. package/dist/observability/index.js.map +1 -0
  283. package/dist/observability/necessity-evaluator.d.ts +116 -0
  284. package/dist/observability/necessity-evaluator.d.ts.map +1 -0
  285. package/dist/observability/necessity-evaluator.js +487 -0
  286. package/dist/observability/necessity-evaluator.js.map +1 -0
  287. package/dist/observability/proposal-engine.d.ts +224 -0
  288. package/dist/observability/proposal-engine.d.ts.map +1 -0
  289. package/dist/observability/proposal-engine.js +651 -0
  290. package/dist/observability/proposal-engine.js.map +1 -0
  291. package/dist/perspectives/index.d.ts +7 -0
  292. package/dist/perspectives/index.d.ts.map +1 -0
  293. package/dist/perspectives/index.js +7 -0
  294. package/dist/perspectives/index.js.map +1 -0
  295. package/dist/perspectives/multi-view.d.ts +81 -0
  296. package/dist/perspectives/multi-view.d.ts.map +1 -0
  297. package/dist/perspectives/multi-view.js +221 -0
  298. package/dist/perspectives/multi-view.js.map +1 -0
  299. package/dist/prompt-builder/builder.d.ts +47 -0
  300. package/dist/prompt-builder/builder.d.ts.map +1 -0
  301. package/dist/prompt-builder/builder.js +136 -0
  302. package/dist/prompt-builder/builder.js.map +1 -0
  303. package/dist/prompt-builder/index.d.ts +8 -0
  304. package/dist/prompt-builder/index.d.ts.map +1 -0
  305. package/dist/prompt-builder/index.js +8 -0
  306. package/dist/prompt-builder/index.js.map +1 -0
  307. package/dist/prompt-builder/types.d.ts +42 -0
  308. package/dist/prompt-builder/types.d.ts.map +1 -0
  309. package/dist/prompt-builder/types.js +10 -0
  310. package/dist/prompt-builder/types.js.map +1 -0
  311. package/dist/prompt-signals/cache.d.ts +36 -0
  312. package/dist/prompt-signals/cache.d.ts.map +1 -0
  313. package/dist/prompt-signals/cache.js +70 -0
  314. package/dist/prompt-signals/cache.js.map +1 -0
  315. package/dist/prompt-signals/index.d.ts +12 -0
  316. package/dist/prompt-signals/index.d.ts.map +1 -0
  317. package/dist/prompt-signals/index.js +11 -0
  318. package/dist/prompt-signals/index.js.map +1 -0
  319. package/dist/prompt-signals/stats.d.ts +45 -0
  320. package/dist/prompt-signals/stats.d.ts.map +1 -0
  321. package/dist/prompt-signals/stats.js +119 -0
  322. package/dist/prompt-signals/stats.js.map +1 -0
  323. package/dist/prompt-signals/types.d.ts +53 -0
  324. package/dist/prompt-signals/types.d.ts.map +1 -0
  325. package/dist/prompt-signals/types.js +34 -0
  326. package/dist/prompt-signals/types.js.map +1 -0
  327. package/dist/provenance/index.d.ts +7 -0
  328. package/dist/provenance/index.d.ts.map +1 -0
  329. package/dist/provenance/index.js +7 -0
  330. package/dist/provenance/index.js.map +1 -0
  331. package/dist/provenance/reliability.d.ts +133 -0
  332. package/dist/provenance/reliability.d.ts.map +1 -0
  333. package/dist/provenance/reliability.js +213 -0
  334. package/dist/provenance/reliability.js.map +1 -0
  335. package/dist/reinforcement/config.d.ts +34 -0
  336. package/dist/reinforcement/config.d.ts.map +1 -0
  337. package/dist/reinforcement/config.js +43 -0
  338. package/dist/reinforcement/config.js.map +1 -0
  339. package/dist/reinforcement/index.d.ts +12 -0
  340. package/dist/reinforcement/index.d.ts.map +1 -0
  341. package/dist/reinforcement/index.js +12 -0
  342. package/dist/reinforcement/index.js.map +1 -0
  343. package/dist/reinforcement/ltd.d.ts +59 -0
  344. package/dist/reinforcement/ltd.d.ts.map +1 -0
  345. package/dist/reinforcement/ltd.js +90 -0
  346. package/dist/reinforcement/ltd.js.map +1 -0
  347. package/dist/reinforcement/ltp.d.ts +63 -0
  348. package/dist/reinforcement/ltp.d.ts.map +1 -0
  349. package/dist/reinforcement/ltp.js +99 -0
  350. package/dist/reinforcement/ltp.js.map +1 -0
  351. package/dist/reinforcement/related.d.ts +39 -0
  352. package/dist/reinforcement/related.d.ts.map +1 -0
  353. package/dist/reinforcement/related.js +92 -0
  354. package/dist/reinforcement/related.js.map +1 -0
  355. package/dist/retrieval/filter.d.ts +18 -0
  356. package/dist/retrieval/filter.d.ts.map +1 -0
  357. package/dist/retrieval/filter.js +68 -0
  358. package/dist/retrieval/filter.js.map +1 -0
  359. package/dist/retrieval/fts.d.ts +44 -0
  360. package/dist/retrieval/fts.d.ts.map +1 -0
  361. package/dist/retrieval/fts.js +120 -0
  362. package/dist/retrieval/fts.js.map +1 -0
  363. package/dist/retrieval/index.d.ts +10 -0
  364. package/dist/retrieval/index.d.ts.map +1 -0
  365. package/dist/retrieval/index.js +10 -0
  366. package/dist/retrieval/index.js.map +1 -0
  367. package/dist/retrieval/orchestrator.d.ts +78 -0
  368. package/dist/retrieval/orchestrator.d.ts.map +1 -0
  369. package/dist/retrieval/orchestrator.js +156 -0
  370. package/dist/retrieval/orchestrator.js.map +1 -0
  371. package/dist/retrieval/scoring.d.ts +105 -0
  372. package/dist/retrieval/scoring.d.ts.map +1 -0
  373. package/dist/retrieval/scoring.js +165 -0
  374. package/dist/retrieval/scoring.js.map +1 -0
  375. package/dist/signals/extract.d.ts +98 -0
  376. package/dist/signals/extract.d.ts.map +1 -0
  377. package/dist/signals/extract.js +388 -0
  378. package/dist/signals/extract.js.map +1 -0
  379. package/dist/signals/file-sink.d.ts +81 -0
  380. package/dist/signals/file-sink.d.ts.map +1 -0
  381. package/dist/signals/file-sink.js +227 -0
  382. package/dist/signals/file-sink.js.map +1 -0
  383. package/dist/signals/index.d.ts +12 -0
  384. package/dist/signals/index.d.ts.map +1 -0
  385. package/dist/signals/index.js +12 -0
  386. package/dist/signals/index.js.map +1 -0
  387. package/dist/signals/rpe.d.ts +60 -0
  388. package/dist/signals/rpe.d.ts.map +1 -0
  389. package/dist/signals/rpe.js +68 -0
  390. package/dist/signals/rpe.js.map +1 -0
  391. package/dist/signals/types.d.ts +80 -0
  392. package/dist/signals/types.d.ts.map +1 -0
  393. package/dist/signals/types.js +14 -0
  394. package/dist/signals/types.js.map +1 -0
  395. package/dist/storage/engram-index.d.ts +73 -0
  396. package/dist/storage/engram-index.d.ts.map +1 -0
  397. package/dist/storage/engram-index.js +215 -0
  398. package/dist/storage/engram-index.js.map +1 -0
  399. package/dist/storage/engram-store.d.ts +147 -0
  400. package/dist/storage/engram-store.d.ts.map +1 -0
  401. package/dist/storage/engram-store.js +221 -0
  402. package/dist/storage/engram-store.js.map +1 -0
  403. package/dist/storage/git-stage.d.ts +56 -0
  404. package/dist/storage/git-stage.d.ts.map +1 -0
  405. package/dist/storage/git-stage.js +147 -0
  406. package/dist/storage/git-stage.js.map +1 -0
  407. package/dist/storage/git.d.ts +57 -0
  408. package/dist/storage/git.d.ts.map +1 -0
  409. package/dist/storage/git.js +156 -0
  410. package/dist/storage/git.js.map +1 -0
  411. package/dist/storage/hash.d.ts +23 -0
  412. package/dist/storage/hash.d.ts.map +1 -0
  413. package/dist/storage/hash.js +31 -0
  414. package/dist/storage/hash.js.map +1 -0
  415. package/dist/storage/index.d.ts +14 -0
  416. package/dist/storage/index.d.ts.map +1 -0
  417. package/dist/storage/index.js +14 -0
  418. package/dist/storage/index.js.map +1 -0
  419. package/dist/storage/path.d.ts +51 -0
  420. package/dist/storage/path.d.ts.map +1 -0
  421. package/dist/storage/path.js +72 -0
  422. package/dist/storage/path.js.map +1 -0
  423. package/dist/storage/repository.d.ts +342 -0
  424. package/dist/storage/repository.d.ts.map +1 -0
  425. package/dist/storage/repository.js +1221 -0
  426. package/dist/storage/repository.js.map +1 -0
  427. package/dist/storage/synapse-store.d.ts +113 -0
  428. package/dist/storage/synapse-store.d.ts.map +1 -0
  429. package/dist/storage/synapse-store.js +279 -0
  430. package/dist/storage/synapse-store.js.map +1 -0
  431. package/dist/tools/doctor-tools.d.ts +53 -0
  432. package/dist/tools/doctor-tools.d.ts.map +1 -0
  433. package/dist/tools/doctor-tools.js +97 -0
  434. package/dist/tools/doctor-tools.js.map +1 -0
  435. package/dist/tools/engram-tools.d.ts +166 -0
  436. package/dist/tools/engram-tools.d.ts.map +1 -0
  437. package/dist/tools/engram-tools.js +834 -0
  438. package/dist/tools/engram-tools.js.map +1 -0
  439. package/dist/tools/index.d.ts +16 -0
  440. package/dist/tools/index.d.ts.map +1 -0
  441. package/dist/tools/index.js +16 -0
  442. package/dist/tools/index.js.map +1 -0
  443. package/dist/tools/llm-descriptions.d.ts +61 -0
  444. package/dist/tools/llm-descriptions.d.ts.map +1 -0
  445. package/dist/tools/llm-descriptions.js +556 -0
  446. package/dist/tools/llm-descriptions.js.map +1 -0
  447. package/dist/tools/proposal-tools.d.ts +40 -0
  448. package/dist/tools/proposal-tools.d.ts.map +1 -0
  449. package/dist/tools/proposal-tools.js +99 -0
  450. package/dist/tools/proposal-tools.js.map +1 -0
  451. package/dist/tools/registry.d.ts +30 -0
  452. package/dist/tools/registry.d.ts.map +1 -0
  453. package/dist/tools/registry.js +43 -0
  454. package/dist/tools/registry.js.map +1 -0
  455. package/dist/tools/schemas.d.ts +715 -0
  456. package/dist/tools/schemas.d.ts.map +1 -0
  457. package/dist/tools/schemas.js +383 -0
  458. package/dist/tools/schemas.js.map +1 -0
  459. package/dist/tools/skill-tools.d.ts +26 -0
  460. package/dist/tools/skill-tools.d.ts.map +1 -0
  461. package/dist/tools/skill-tools.js +84 -0
  462. package/dist/tools/skill-tools.js.map +1 -0
  463. package/dist/tools/synapse-tools.d.ts +28 -0
  464. package/dist/tools/synapse-tools.d.ts.map +1 -0
  465. package/dist/tools/synapse-tools.js +177 -0
  466. package/dist/tools/synapse-tools.js.map +1 -0
  467. package/dist/tools/tool.d.ts +84 -0
  468. package/dist/tools/tool.d.ts.map +1 -0
  469. package/dist/tools/tool.js +22 -0
  470. package/dist/tools/tool.js.map +1 -0
  471. package/dist/tools/wrapped.d.ts +28 -0
  472. package/dist/tools/wrapped.d.ts.map +1 -0
  473. package/dist/tools/wrapped.js +172 -0
  474. package/dist/tools/wrapped.js.map +1 -0
  475. package/dist/types/disclosure.d.ts +70 -0
  476. package/dist/types/disclosure.d.ts.map +1 -0
  477. package/dist/types/disclosure.js +9 -0
  478. package/dist/types/disclosure.js.map +1 -0
  479. package/dist/types/engram.d.ts +203 -0
  480. package/dist/types/engram.d.ts.map +1 -0
  481. package/dist/types/engram.js +7 -0
  482. package/dist/types/engram.js.map +1 -0
  483. package/dist/types/index.d.ts +15 -0
  484. package/dist/types/index.d.ts.map +1 -0
  485. package/dist/types/index.js +15 -0
  486. package/dist/types/index.js.map +1 -0
  487. package/dist/types/intention.d.ts +91 -0
  488. package/dist/types/intention.d.ts.map +1 -0
  489. package/dist/types/intention.js +9 -0
  490. package/dist/types/intention.js.map +1 -0
  491. package/dist/types/repository-types.d.ts +113 -0
  492. package/dist/types/repository-types.d.ts.map +1 -0
  493. package/dist/types/repository-types.js +18 -0
  494. package/dist/types/repository-types.js.map +1 -0
  495. package/dist/types/scene.d.ts +52 -0
  496. package/dist/types/scene.d.ts.map +1 -0
  497. package/dist/types/scene.js +12 -0
  498. package/dist/types/scene.js.map +1 -0
  499. package/dist/types/skill.d.ts +107 -0
  500. package/dist/types/skill.d.ts.map +1 -0
  501. package/dist/types/skill.js +10 -0
  502. package/dist/types/skill.js.map +1 -0
  503. package/dist/types/slugify.d.ts +34 -0
  504. package/dist/types/slugify.d.ts.map +1 -0
  505. package/dist/types/slugify.js +55 -0
  506. package/dist/types/slugify.js.map +1 -0
  507. package/dist/types/synapse-id.d.ts +22 -0
  508. package/dist/types/synapse-id.d.ts.map +1 -0
  509. package/dist/types/synapse-id.js +34 -0
  510. package/dist/types/synapse-id.js.map +1 -0
  511. package/dist/types/synapse.d.ts +99 -0
  512. package/dist/types/synapse.d.ts.map +1 -0
  513. package/dist/types/synapse.js +9 -0
  514. package/dist/types/synapse.js.map +1 -0
  515. package/dist/verification/index.d.ts +11 -0
  516. package/dist/verification/index.d.ts.map +1 -0
  517. package/dist/verification/index.js +11 -0
  518. package/dist/verification/index.js.map +1 -0
  519. package/dist/verification/metacognition.d.ts +102 -0
  520. package/dist/verification/metacognition.d.ts.map +1 -0
  521. package/dist/verification/metacognition.js +284 -0
  522. package/dist/verification/metacognition.js.map +1 -0
  523. package/dist/verification/state-machine.d.ts +77 -0
  524. package/dist/verification/state-machine.d.ts.map +1 -0
  525. package/dist/verification/state-machine.js +126 -0
  526. package/dist/verification/state-machine.js.map +1 -0
  527. package/dist/verification/upgrade.d.ts +133 -0
  528. package/dist/verification/upgrade.d.ts.map +1 -0
  529. package/dist/verification/upgrade.js +364 -0
  530. package/dist/verification/upgrade.js.map +1 -0
  531. package/package.json +70 -0
@@ -0,0 +1,390 @@
1
+ /**
2
+ * 跨域授粉(spec §5.3 机制 4,P3 4.3)
3
+ *
4
+ * 发现跨领域类比(创造性思维)。
5
+ *
6
+ * 算法:
7
+ * 1. 计算每个 domain 的结构指纹:
8
+ * - SynapseKind 分布(structural/causal/evidential/...)
9
+ * - EngramKind 分布(observation/fact/...)
10
+ * - 平均 importance / confidence
11
+ * 2. 计算两个 domain 的结构相似度(Cosine similarity on synapse kind 向量)
12
+ * 3. 相似度 ≥ threshold → 调 Provider 生成类比描述
13
+ * 4. 可选创建 hypothesis engram 记录类比(kind=hypothesis, domainTags=[A,B])
14
+ *
15
+ * 默认启发式:基于结构向量相似度 + 模板化类比描述。
16
+ * 生产实现:宿主注入 LLM provider 做真正的语义类比。
17
+ *
18
+ * @module @co-engram/core/generative
19
+ */
20
+ import { randomUUID } from "node:crypto";
21
+ /** 默认配置 */
22
+ const DEFAULT_SIMILARITY_THRESHOLD = 0.5;
23
+ const DEFAULT_ADOPTION_THRESHOLD = 0.5;
24
+ const SAMPLE_SIZE = 3;
25
+ // ============================================================
26
+ // 默认启发式 Provider
27
+ // ============================================================
28
+ /**
29
+ * 默认启发式跨域类比 Provider(无 LLM)
30
+ *
31
+ * 模板化输出:
32
+ * - analogy: "{domainA} 的 {topKindA} 模式与 {domainB} 的 {topKindB} 模式结构同构"
33
+ * - sharedPrinciple: 基于 top synapse kind 推断
34
+ * - confidence = structuralSimilarity
35
+ */
36
+ export class LocalHeuristicCrossPollinationProvider {
37
+ generate(input) {
38
+ const topKindA = topKey(input.profileA.synapseDistribution);
39
+ const topKindB = topKey(input.profileB.synapseDistribution);
40
+ if (input.structuralSimilarity < DEFAULT_SIMILARITY_THRESHOLD) {
41
+ return {
42
+ analogy: `${input.domainA} 与 ${input.domainB} 的结构相似度不足(${input.structuralSimilarity.toFixed(2)}),无明显类比`,
43
+ sharedPrinciple: "N/A",
44
+ confidence: input.structuralSimilarity,
45
+ reason: `structuralSimilarity ${input.structuralSimilarity.toFixed(2)} < threshold ${DEFAULT_SIMILARITY_THRESHOLD}`,
46
+ };
47
+ }
48
+ const sameTopKind = topKindA === topKindB;
49
+ const analogy = sameTopKind
50
+ ? `${input.domainA} 与 ${input.domainB} 都以 ${topKindA} 为主导连接模式,存在结构同构`
51
+ : `${input.domainA}(${topKindA})与 ${input.domainB}(${topKindB})虽然主导连接不同,但整体结构相似度为 ${input.structuralSimilarity.toFixed(2)}`;
52
+ const principle = sameTopKind
53
+ ? `两个领域都通过 ${topKindA} 组织知识,可能共享相同的认知结构`
54
+ : `两个领域结构相似但主导关系不同,可探索深层共同原理`;
55
+ return {
56
+ analogy,
57
+ sharedPrinciple: principle,
58
+ confidence: input.structuralSimilarity,
59
+ reason: `cosine similarity ${input.structuralSimilarity.toFixed(2)} based on synapse kind distribution`,
60
+ };
61
+ }
62
+ }
63
+ // ============================================================
64
+ // 主 API
65
+ // ============================================================
66
+ /**
67
+ * 计算单个 domain 的结构指纹
68
+ */
69
+ export function computeDomainProfile(repo, domain) {
70
+ const engrams = [];
71
+ for (const entry of repo.listEngrams()) {
72
+ const engram = repo.readEngram(entry.id);
73
+ if (engram.status !== "active")
74
+ continue;
75
+ if (!engram.domainTags.includes(domain))
76
+ continue;
77
+ engrams.push(engram);
78
+ }
79
+ if (engrams.length === 0)
80
+ return null;
81
+ const kindDistribution = {
82
+ observation: 0,
83
+ fact: 0,
84
+ pattern: 0,
85
+ procedure: 0,
86
+ hypothesis: 0,
87
+ };
88
+ let importanceSum = 0;
89
+ let confidenceSum = 0;
90
+ for (const e of engrams) {
91
+ kindDistribution[e.kind] += 1;
92
+ importanceSum += e.importance;
93
+ confidenceSum += e.confidence;
94
+ }
95
+ // 统计该 domain 下所有 engram 的 outgoing synapses
96
+ const synapseDistribution = {
97
+ extends: 0,
98
+ part_of: 0,
99
+ similar_to: 0,
100
+ depends_on: 0,
101
+ causes: 0,
102
+ follows: 0,
103
+ derives_from: 0,
104
+ contradicts: 0,
105
+ exemplifies: 0,
106
+ supersedes: 0,
107
+ consolidates: 0,
108
+ contextualizes: 0,
109
+ };
110
+ for (const e of engrams) {
111
+ const file = repo.readSynapses(e.id);
112
+ for (const syn of file.outgoing) {
113
+ synapseDistribution[syn.kind] += 1;
114
+ }
115
+ }
116
+ return {
117
+ domain,
118
+ engramCount: engrams.length,
119
+ kindDistribution,
120
+ synapseDistribution,
121
+ avgImportance: importanceSum / engrams.length,
122
+ avgConfidence: confidenceSum / engrams.length,
123
+ };
124
+ }
125
+ /**
126
+ * 计算两个 domain 的结构相似度(Cosine similarity on synapse kind 向量)
127
+ *
128
+ * 返回 [0,1],1 = 完全同构
129
+ */
130
+ export function computeStructuralSimilarity(a, b) {
131
+ const kinds = [
132
+ "extends",
133
+ "part_of",
134
+ "similar_to",
135
+ "depends_on",
136
+ "causes",
137
+ "follows",
138
+ "derives_from",
139
+ "contradicts",
140
+ "exemplifies",
141
+ "supersedes",
142
+ "consolidates",
143
+ "contextualizes",
144
+ ];
145
+ // 归一化(除以总数,处理 domain 大小差异)
146
+ const totalA = kinds.reduce((s, k) => s + a.synapseDistribution[k], 0) || 1;
147
+ const totalB = kinds.reduce((s, k) => s + b.synapseDistribution[k], 0) || 1;
148
+ let dot = 0;
149
+ let normA = 0;
150
+ let normB = 0;
151
+ for (const k of kinds) {
152
+ const va = a.synapseDistribution[k] / totalA;
153
+ const vb = b.synapseDistribution[k] / totalB;
154
+ dot += va * vb;
155
+ normA += va * va;
156
+ normB += vb * vb;
157
+ }
158
+ if (normA === 0 || normB === 0)
159
+ return 0;
160
+ return dot / (Math.sqrt(normA) * Math.sqrt(normB));
161
+ }
162
+ /**
163
+ * 扫描所有 domain pair,返回结构相似的候选对
164
+ *
165
+ * @param options.threshold 相似度下限(默认 0.5)
166
+ * @param options.maxPairs 最多返回数量(默认 10)
167
+ */
168
+ export function findCrossDomainCandidates(repo, options = {}) {
169
+ const threshold = options.threshold ?? DEFAULT_SIMILARITY_THRESHOLD;
170
+ const maxPairs = options.maxPairs ?? 10;
171
+ const minEngrams = options.minEngramsPerDomain ?? 2;
172
+ // 收集所有 domain
173
+ const domainSet = new Set();
174
+ for (const entry of repo.listEngrams()) {
175
+ const engram = repo.readEngram(entry.id);
176
+ if (engram.status !== "active")
177
+ continue;
178
+ for (const d of engram.domainTags)
179
+ domainSet.add(d);
180
+ }
181
+ // 计算每个 domain 的 profile
182
+ const profiles = new Map();
183
+ for (const d of domainSet) {
184
+ const p = computeDomainProfile(repo, d);
185
+ if (p && p.engramCount >= minEngrams)
186
+ profiles.set(d, p);
187
+ }
188
+ // 两两计算相似度
189
+ const domains = [...profiles.keys()].sort();
190
+ const candidates = [];
191
+ for (let i = 0; i < domains.length; i++) {
192
+ for (let j = i + 1; j < domains.length; j++) {
193
+ const a = profiles.get(domains[i]);
194
+ const b = profiles.get(domains[j]);
195
+ const sim = computeStructuralSimilarity(a, b);
196
+ if (sim >= threshold) {
197
+ candidates.push({
198
+ domainA: domains[i],
199
+ domainB: domains[j],
200
+ similarity: sim,
201
+ });
202
+ }
203
+ }
204
+ }
205
+ // 按相似度降序
206
+ candidates.sort((a, b) => {
207
+ if (b.similarity !== a.similarity)
208
+ return b.similarity - a.similarity;
209
+ return a.domainA < b.domainA ? -1 : 1;
210
+ });
211
+ return candidates.slice(0, maxPairs);
212
+ }
213
+ /**
214
+ * 对单对 domain 执行跨域授粉
215
+ *
216
+ * 行为:
217
+ * 1. 计算 profileA / profileB
218
+ * 2. 计算 structuralSimilarity
219
+ * 3. 调 Provider.generate(即使相似度低也调用,由 Provider 决定是否输出)
220
+ * 4. createHypothesis=true 且 confidence ≥ autoAdoptionThreshold
221
+ * → 创建 hypothesis engram(domainTags=[A,B])记录类比
222
+ */
223
+ export async function crossPollinate(repo, provider, input) {
224
+ const nowIso = input.nowIso ?? new Date().toISOString();
225
+ const autoAdoptionThreshold = input.autoAdoptionThreshold ?? DEFAULT_ADOPTION_THRESHOLD;
226
+ const createHypothesis = input.createHypothesis ?? false;
227
+ const profileA = computeDomainProfile(repo, input.domainA);
228
+ const profileB = computeDomainProfile(repo, input.domainB);
229
+ if (!profileA) {
230
+ return emptyResult(input.domainA, input.domainB, `domain A "${input.domainA}" has no active engrams`);
231
+ }
232
+ if (!profileB) {
233
+ return emptyResult(input.domainA, input.domainB, `domain B "${input.domainB}" has no active engrams`);
234
+ }
235
+ const similarity = computeStructuralSimilarity(profileA, profileB);
236
+ const sampleA = sampleEngrams(repo, input.domainA, SAMPLE_SIZE);
237
+ const sampleB = sampleEngrams(repo, input.domainB, SAMPLE_SIZE);
238
+ const output = await provider.generate({
239
+ domainA: input.domainA,
240
+ profileA,
241
+ domainB: input.domainB,
242
+ profileB,
243
+ structuralSimilarity: similarity,
244
+ sampleEngramsA: sampleA,
245
+ sampleEngramsB: sampleB,
246
+ });
247
+ const adopted = createHypothesis && output.confidence >= autoAdoptionThreshold;
248
+ let engramId = null;
249
+ let reason;
250
+ if (!createHypothesis) {
251
+ reason = `analogy generated; createHypothesis=false`;
252
+ }
253
+ else if (!adopted) {
254
+ reason = `confidence ${output.confidence.toFixed(2)} < threshold ${autoAdoptionThreshold}`;
255
+ }
256
+ else {
257
+ const newEngram = repo.createEngram({
258
+ title: `Cross-domain analogy: ${input.domainA} ↔ ${input.domainB}`,
259
+ content: [
260
+ `# ${output.analogy}`,
261
+ "",
262
+ `**共同原理**:${output.sharedPrinciple}`,
263
+ "",
264
+ `**结构相似度**:${similarity.toFixed(2)}`,
265
+ `**置信度**:${output.confidence.toFixed(2)}`,
266
+ "",
267
+ `**${input.domainA} 样本**:`,
268
+ ...sampleA.map((e) => `- ${e.title}`),
269
+ "",
270
+ `**${input.domainB} 样本**:`,
271
+ ...sampleB.map((e) => `- ${e.title}`),
272
+ ].join("\n"),
273
+ summary: output.sharedPrinciple,
274
+ kind: "hypothesis",
275
+ domainTags: [input.domainA, input.domainB].sort(),
276
+ importance: 0.5,
277
+ confidence: output.confidence,
278
+ sourceType: "inferred",
279
+ createdBy: input.createdBy,
280
+ });
281
+ repo.updateVerificationStatus(newEngram.id, "unverified");
282
+ engramId = newEngram.id;
283
+ reason = `adopted; confidence=${output.confidence.toFixed(2)}`;
284
+ }
285
+ return {
286
+ domainA: input.domainA,
287
+ domainB: input.domainB,
288
+ structuralSimilarity: similarity,
289
+ profileA,
290
+ profileB,
291
+ analogy: output,
292
+ adopted,
293
+ engramId,
294
+ reason,
295
+ };
296
+ }
297
+ /**
298
+ * 批量执行:对前 N 个候选 pair 跑 crossPollinate
299
+ */
300
+ export async function crossPollinateBatch(repo, provider, input) {
301
+ const candidates = findCrossDomainCandidates(repo, {
302
+ threshold: input.threshold,
303
+ maxPairs: input.maxPairs,
304
+ });
305
+ const results = [];
306
+ for (const c of candidates) {
307
+ const r = await crossPollinate(repo, provider, {
308
+ domainA: c.domainA,
309
+ domainB: c.domainB,
310
+ createdBy: input.createdBy,
311
+ createHypothesis: input.createHypothesis,
312
+ autoAdoptionThreshold: input.autoAdoptionThreshold,
313
+ });
314
+ results.push(r);
315
+ }
316
+ return { candidates, results };
317
+ }
318
+ // ============================================================
319
+ // 辅助
320
+ // ============================================================
321
+ function emptyResult(a, b, reason) {
322
+ return {
323
+ domainA: a,
324
+ domainB: b,
325
+ structuralSimilarity: 0,
326
+ profileA: emptyProfile(a),
327
+ profileB: emptyProfile(b),
328
+ analogy: null,
329
+ adopted: false,
330
+ engramId: null,
331
+ reason,
332
+ };
333
+ }
334
+ function emptyProfile(domain) {
335
+ return {
336
+ domain,
337
+ engramCount: 0,
338
+ kindDistribution: {
339
+ observation: 0,
340
+ fact: 0,
341
+ pattern: 0,
342
+ procedure: 0,
343
+ hypothesis: 0,
344
+ },
345
+ synapseDistribution: {
346
+ extends: 0,
347
+ part_of: 0,
348
+ similar_to: 0,
349
+ depends_on: 0,
350
+ causes: 0,
351
+ follows: 0,
352
+ derives_from: 0,
353
+ contradicts: 0,
354
+ exemplifies: 0,
355
+ supersedes: 0,
356
+ consolidates: 0,
357
+ contextualizes: 0,
358
+ },
359
+ avgImportance: 0,
360
+ avgConfidence: 0,
361
+ };
362
+ }
363
+ function topKey(dist) {
364
+ let best = null;
365
+ let bestN = -1;
366
+ for (const key in dist) {
367
+ if (dist[key] > bestN) {
368
+ bestN = dist[key];
369
+ best = key;
370
+ }
371
+ }
372
+ return best ?? Object.keys(dist)[0];
373
+ }
374
+ function sampleEngrams(repo, domain, n) {
375
+ const result = [];
376
+ for (const entry of repo.listEngrams()) {
377
+ if (result.length >= n)
378
+ break;
379
+ const e = repo.readEngram(entry.id);
380
+ if (e.status !== "active")
381
+ continue;
382
+ if (!e.domainTags.includes(domain))
383
+ continue;
384
+ result.push({ title: e.title, content: e.content });
385
+ }
386
+ return result;
387
+ }
388
+ // 触发 randomUUID 的引用(用于 createHypothesis 时的 synapse ID,未来扩展用)
389
+ void randomUUID;
390
+ //# sourceMappingURL=cross-pollinate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-pollinate.js","sourceRoot":"","sources":["../../src/generative/cross-pollinate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyEzC,WAAW;AACX,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAE/D;;;;;;;GAOG;AACH,MAAM,OAAO,sCAAsC;IACjD,QAAQ,CACN,KAAoC;QAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAE5D,IAAI,KAAK,CAAC,oBAAoB,GAAG,4BAA4B,EAAE,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACvG,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,KAAK,CAAC,oBAAoB;gBACtC,MAAM,EAAE,wBAAwB,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,4BAA4B,EAAE;aACpH,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,KAAK,QAAQ,CAAC;QAC1C,MAAM,OAAO,GAAG,WAAW;YACzB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,OAAO,OAAO,QAAQ,iBAAiB;YACrE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,QAAQ,MAAM,KAAK,CAAC,OAAO,IAAI,QAAQ,uBAAuB,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9H,MAAM,SAAS,GAAG,WAAW;YAC3B,CAAC,CAAC,WAAW,QAAQ,mBAAmB;YACxC,CAAC,CAAC,2BAA2B,CAAC;QAEhC,OAAO;YACL,OAAO;YACP,eAAe,EAAE,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,oBAAoB;YACtC,MAAM,EAAE,qBAAqB,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAqC;SACxG,CAAC;IACJ,CAAC;CACF;AAED,+DAA+D;AAC/D,QAAQ;AACR,+DAA+D;AAE/D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAsB,EACtB,MAAc;IAEd,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAClD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,gBAAgB,GAA+B;QACnD,WAAW,EAAE,CAAC;QACd,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;KACd,CAAC;IACF,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC;QAC9B,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,4CAA4C;IAC5C,MAAM,mBAAmB,GAAgC;QACvD,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;KAClB,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,gBAAgB;QAChB,mBAAmB;QACnB,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM;QAC7C,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM;KAC9C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,CAAgB,EAChB,CAAgB;IAEhB,MAAM,KAAK,GAAkB;QAC3B,SAAS;QACT,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,QAAQ;QACR,SAAS;QACT,cAAc;QACd,aAAa;QACb,aAAa;QACb,YAAY;QACZ,cAAc;QACd,gBAAgB;KACjB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE5E,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAC7C,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACzC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAsB,EACtB,UAII,EAAE;IAEN,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,4BAA4B,CAAC;IACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC;IAEpD,cAAc;IACd,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QACzC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU;YAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;IACV,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAE,CAAE,CAAC;YACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAE,CAAE,CAAC;YACrC,MAAM,GAAG,GAAG,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,OAAO,EAAE,OAAO,CAAC,CAAC,CAAE;oBACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAE;oBACpB,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS;IACT,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QACtE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAsB,EACtB,QAAkC,EAClC,KAA8B;IAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,qBAAqB,GACzB,KAAK,CAAC,qBAAqB,IAAI,0BAA0B,CAAC;IAC5D,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC;IAEzD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,WAAW,CAChB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,EACb,aAAa,KAAK,CAAC,OAAO,yBAAyB,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,WAAW,CAChB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,EACb,aAAa,KAAK,CAAC,OAAO,yBAAyB,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC;QACrC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;QACR,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;QACR,oBAAoB,EAAE,UAAU;QAChC,cAAc,EAAE,OAAO;QACvB,cAAc,EAAE,OAAO;KACxB,CAAC,CAAC;IAEH,MAAM,OAAO,GACX,gBAAgB,IAAI,MAAM,CAAC,UAAU,IAAI,qBAAqB,CAAC;IACjE,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,MAAc,CAAC;IAEnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,GAAG,2CAA2C,CAAC;IACvD,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,GAAG,cAAc,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,qBAAqB,EAAE,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,KAAK,EAAE,yBAAyB,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE;YAClE,OAAO,EAAE;gBACP,KAAK,MAAM,CAAC,OAAO,EAAE;gBACrB,EAAE;gBACF,YAAY,MAAM,CAAC,eAAe,EAAE;gBACpC,EAAE;gBACF,aAAa,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACpC,WAAW,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACzC,EAAE;gBACF,KAAK,KAAK,CAAC,OAAO,QAAQ;gBAC1B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBACrC,EAAE;gBACF,KAAK,KAAK,CAAC,OAAO,QAAQ;gBAC1B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;aACtC,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,MAAM,CAAC,eAAe;YAC/B,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;YACjD,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1D,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,uBAAuB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,oBAAoB,EAAE,UAAU;QAChC,QAAQ;QACR,QAAQ;QACR,OAAO,EAAE,MAAM;QACf,OAAO;QACP,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAsB,EACtB,QAAkC,EAClC,KAMC;IAKD,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAI,EAAE;QACjD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;YAC7C,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;SACnD,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,+DAA+D;AAC/D,KAAK;AACL,+DAA+D;AAE/D,SAAS,WAAW,CAClB,CAAS,EACT,CAAS,EACT,MAAc;IAEd,OAAO;QACL,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,oBAAoB,EAAE,CAAC;QACvB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QACzB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;QACd,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO;QACL,MAAM;QACN,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE;YAChB,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACd;QACD,mBAAmB,EAAE;YACnB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;SAClB;QACD,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAmB,IAAuB;IACvD,IAAI,IAAI,GAAa,IAAI,CAAC;IAC1B,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAQ,CAAC,GAAG,KAAK,EAAE,CAAC;YAC3B,KAAK,GAAG,IAAI,CAAC,GAAQ,CAAC,CAAC;YACvB,IAAI,GAAG,GAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,IAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAO,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CACpB,IAAsB,EACtB,MAAc,EACd,CAAS;IAET,MAAM,MAAM,GAA8C,EAAE,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;YAAE,MAAM;QAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QACpC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * 主动缺口检测(spec §5.3 机制 2,P3 4.2)
3
+ *
4
+ * 识别"不知道什么"——主动报告知识库中的结构性缺陷:
5
+ *
6
+ * 缺口类型:
7
+ * 1. missing_evidence: fact/hypothesis/pattern engram 的 derives_from
8
+ * synapse 数量 < 阈值(证据不足)
9
+ * 2. missing_procedure: 某 domain 有 ≥ N 个 observation/fact 但 0 个 procedure
10
+ * (有认知但无可执行流程)
11
+ * 3. missing_contradiction: 高 importance 的 engram 没有任何 contradicts
12
+ * synapse(缺乏反例验证 → 确认偏误风险)
13
+ * 4. orphan_engram: 无任何 synapse 连接的 active engram(孤立知识)
14
+ * 5. stale_active: freshness='stale' 但 status='active'(可能过时)
15
+ *
16
+ * 上层可基于 gaps 主动触发:
17
+ * - 生成 hypothesis 填补缺口
18
+ * - 提示团队验证高 importance 的 engram
19
+ * - 把 orphan 纳入 dreaming consolidation
20
+ * - 把 stale_active engram 归档或重新激活
21
+ *
22
+ * @module @co-engram/core/generative
23
+ */
24
+ import type { EngramRepository } from "../storage/repository.js";
25
+ /** 缺口类型 */
26
+ export type GapType = "missing_evidence" | "missing_procedure" | "missing_contradiction" | "orphan_engram" | "stale_active";
27
+ /** 严重度 */
28
+ export type GapSeverity = "low" | "medium" | "high";
29
+ /** 单条知识缺口 */
30
+ export interface KnowledgeGap {
31
+ readonly type: GapType;
32
+ /** 相关 domainTags(missing_procedure 时表示缺口所在 domain) */
33
+ readonly domainTags?: readonly string[];
34
+ /** 描述(人类可读) */
35
+ readonly description: string;
36
+ /** 相关 engram ID */
37
+ readonly relatedEngramIds: readonly string[];
38
+ /** 严重度(high=急需处理,low=可选) */
39
+ readonly severity: GapSeverity;
40
+ /** 修复建议 */
41
+ readonly suggestion: string;
42
+ }
43
+ /** 缺口检测配置 */
44
+ export interface GapDetectionConfig {
45
+ /** fact 的最少 evidence 数(默认 2) */
46
+ readonly minEvidenceForFact: number;
47
+ /** hypothesis 的最少 evidence 数(默认 3) */
48
+ readonly minEvidenceForHypothesis: number;
49
+ /** pattern 的最少 evidence 数(默认 3) */
50
+ readonly minEvidenceForPattern: number;
51
+ /** 缺失 procedure 阈值:domain 中 ≥ 此值的 obs/fact 但 0 procedure(默认 5) */
52
+ readonly missingProcedureThreshold: number;
53
+ /** 缺失 contradicts 的 importance 下限(默认 0.7) */
54
+ readonly missingContradictionImportance: number;
55
+ /** 是否检测 orphan(默认 true) */
56
+ readonly includeOrphans: boolean;
57
+ /** 是否检测 stale_active(默认 true) */
58
+ readonly includeStaleActive: boolean;
59
+ }
60
+ export declare const DEFAULT_GAP_CONFIG: GapDetectionConfig;
61
+ /** 检测结果 */
62
+ export interface DetectGapsResult {
63
+ readonly gaps: readonly KnowledgeGap[];
64
+ readonly summary: {
65
+ readonly totalGaps: number;
66
+ readonly byType: Record<GapType, number>;
67
+ };
68
+ }
69
+ /**
70
+ * 主动检测知识缺口
71
+ *
72
+ * @param repo Repository
73
+ * @param options.config 部分覆盖默认配置
74
+ * @param options.domainTags 限定域(只在这些 domainTags 范围内检测)
75
+ */
76
+ export declare function detectKnowledgeGaps(repo: EngramRepository, options?: {
77
+ readonly config?: Partial<GapDetectionConfig>;
78
+ readonly domainTags?: readonly string[];
79
+ }): DetectGapsResult;
80
+ //# sourceMappingURL=gap-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gap-detector.d.ts","sourceRoot":"","sources":["../../src/generative/gap-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,WAAW;AACX,MAAM,MAAM,OAAO,GACf,kBAAkB,GAClB,mBAAmB,GACnB,uBAAuB,GACvB,eAAe,GACf,cAAc,CAAC;AAEnB,UAAU;AACV,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpD,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,eAAe;IACf,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mBAAmB;IACnB,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,WAAW;IACX,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,sCAAsC;IACtC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,mCAAmC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,6CAA6C;IAC7C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,2BAA2B;IAC3B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,iCAAiC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,kBAAkB,EAAE,kBAQhC,CAAC;AAEF,WAAW;AACX,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC1C,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE;IACP,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GACL,gBAAgB,CAsNlB"}