@cleocode/core 2026.4.31 → 2026.4.36

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 (1024) hide show
  1. package/dist/adapters/adapter-registry.js +64 -0
  2. package/dist/adapters/adapter-registry.js.map +1 -0
  3. package/dist/adapters/discovery.js +83 -0
  4. package/dist/adapters/discovery.js.map +1 -0
  5. package/dist/adapters/index.js +9 -0
  6. package/dist/adapters/index.js.map +1 -0
  7. package/dist/adapters/manager.js +260 -0
  8. package/dist/adapters/manager.js.map +1 -0
  9. package/dist/admin/export-tasks.js +171 -0
  10. package/dist/admin/export-tasks.js.map +1 -0
  11. package/dist/admin/export.js +103 -0
  12. package/dist/admin/export.js.map +1 -0
  13. package/dist/admin/help.js +106 -0
  14. package/dist/admin/help.js.map +1 -0
  15. package/dist/admin/import-tasks.js +182 -0
  16. package/dist/admin/import-tasks.js.map +1 -0
  17. package/dist/admin/import.js +129 -0
  18. package/dist/admin/import.js.map +1 -0
  19. package/dist/admin/index.js +13 -0
  20. package/dist/admin/index.js.map +1 -0
  21. package/dist/adrs/find.js +134 -0
  22. package/dist/adrs/find.js.map +1 -0
  23. package/dist/adrs/index.js +15 -0
  24. package/dist/adrs/index.js.map +1 -0
  25. package/dist/adrs/link-pipeline.js +160 -0
  26. package/dist/adrs/link-pipeline.js.map +1 -0
  27. package/dist/adrs/list.js +43 -0
  28. package/dist/adrs/list.js.map +1 -0
  29. package/dist/adrs/parse.js +51 -0
  30. package/dist/adrs/parse.js.map +1 -0
  31. package/dist/adrs/show.js +22 -0
  32. package/dist/adrs/show.js.map +1 -0
  33. package/dist/adrs/sync.js +232 -0
  34. package/dist/adrs/sync.js.map +1 -0
  35. package/dist/adrs/types.js +9 -0
  36. package/dist/adrs/types.js.map +1 -0
  37. package/dist/adrs/validate.js +57 -0
  38. package/dist/adrs/validate.js.map +1 -0
  39. package/dist/agents/agent-registry.js +288 -0
  40. package/dist/agents/agent-registry.js.map +1 -0
  41. package/dist/agents/agent-schema.js +82 -0
  42. package/dist/agents/agent-schema.js.map +1 -0
  43. package/dist/agents/capacity.js +116 -0
  44. package/dist/agents/capacity.js.map +1 -0
  45. package/dist/agents/execution-learning.js +474 -0
  46. package/dist/agents/execution-learning.js.map +1 -0
  47. package/dist/agents/health-monitor.js +217 -0
  48. package/dist/agents/health-monitor.js.map +1 -0
  49. package/dist/agents/index.js +29 -0
  50. package/dist/agents/index.js.map +1 -0
  51. package/dist/agents/registry.js +314 -0
  52. package/dist/agents/registry.js.map +1 -0
  53. package/dist/agents/retry.js +215 -0
  54. package/dist/agents/retry.js.map +1 -0
  55. package/dist/audit-prune.js +94 -0
  56. package/dist/audit-prune.js.map +1 -0
  57. package/dist/audit.js +68 -0
  58. package/dist/audit.js.map +1 -0
  59. package/dist/backfill/index.js +229 -0
  60. package/dist/backfill/index.js.map +1 -0
  61. package/dist/bootstrap.js +435 -0
  62. package/dist/bootstrap.js.map +1 -0
  63. package/dist/caamp/adapter.js +259 -0
  64. package/dist/caamp/adapter.js.map +1 -0
  65. package/dist/caamp/capability-check.js +38 -0
  66. package/dist/caamp/capability-check.js.map +1 -0
  67. package/dist/caamp/index.js +21 -0
  68. package/dist/caamp/index.js.map +1 -0
  69. package/dist/caamp-init.js +16 -0
  70. package/dist/caamp-init.js.map +1 -0
  71. package/dist/cleo.js +322 -0
  72. package/dist/cleo.js.map +1 -0
  73. package/dist/code/index.js +14 -0
  74. package/dist/code/index.js.map +1 -0
  75. package/dist/code/outline.js +165 -0
  76. package/dist/code/outline.js.map +1 -0
  77. package/dist/code/parser.js +420 -0
  78. package/dist/code/parser.js.map +1 -0
  79. package/dist/code/search.js +135 -0
  80. package/dist/code/search.js.map +1 -0
  81. package/dist/code/unfold.js +155 -0
  82. package/dist/code/unfold.js.map +1 -0
  83. package/dist/codebase-map/analyzers/architecture.js +129 -0
  84. package/dist/codebase-map/analyzers/architecture.js.map +1 -0
  85. package/dist/codebase-map/analyzers/concerns.js +122 -0
  86. package/dist/codebase-map/analyzers/concerns.js.map +1 -0
  87. package/dist/codebase-map/analyzers/conventions.js +149 -0
  88. package/dist/codebase-map/analyzers/conventions.js.map +1 -0
  89. package/dist/codebase-map/analyzers/integrations.js +108 -0
  90. package/dist/codebase-map/analyzers/integrations.js.map +1 -0
  91. package/dist/codebase-map/analyzers/stack.js +117 -0
  92. package/dist/codebase-map/analyzers/stack.js.map +1 -0
  93. package/dist/codebase-map/analyzers/structure.js +137 -0
  94. package/dist/codebase-map/analyzers/structure.js.map +1 -0
  95. package/dist/codebase-map/analyzers/testing.js +118 -0
  96. package/dist/codebase-map/analyzers/testing.js.map +1 -0
  97. package/dist/codebase-map/index.js +57 -0
  98. package/dist/codebase-map/index.js.map +1 -0
  99. package/dist/codebase-map/store.js +122 -0
  100. package/dist/codebase-map/store.js.map +1 -0
  101. package/dist/codebase-map/summary.js +152 -0
  102. package/dist/codebase-map/summary.js.map +1 -0
  103. package/dist/compliance/index.js +288 -0
  104. package/dist/compliance/index.js.map +1 -0
  105. package/dist/compliance/protocol-enforcement.js +332 -0
  106. package/dist/compliance/protocol-enforcement.js.map +1 -0
  107. package/dist/compliance/protocol-rules.js +786 -0
  108. package/dist/compliance/protocol-rules.js.map +1 -0
  109. package/dist/compliance/protocol-types.js +79 -0
  110. package/dist/compliance/protocol-types.js.map +1 -0
  111. package/dist/compliance/store.js +53 -0
  112. package/dist/compliance/store.js.map +1 -0
  113. package/dist/conduit/conduit-client.js +107 -0
  114. package/dist/conduit/conduit-client.js.map +1 -0
  115. package/dist/conduit/factory.js +52 -0
  116. package/dist/conduit/factory.js.map +1 -0
  117. package/dist/conduit/http-transport.js +155 -0
  118. package/dist/conduit/http-transport.js.map +1 -0
  119. package/dist/conduit/index.js +15 -0
  120. package/dist/conduit/index.js.map +1 -0
  121. package/dist/conduit/local-transport.js +255 -0
  122. package/dist/conduit/local-transport.js.map +1 -0
  123. package/dist/conduit/sse-transport.js +299 -0
  124. package/dist/conduit/sse-transport.js.map +1 -0
  125. package/dist/config/build-config.js +29 -0
  126. package/dist/config/build-config.js.map +1 -0
  127. package/dist/config.d.ts.map +1 -1
  128. package/dist/config.js +407 -0
  129. package/dist/config.js.map +1 -0
  130. package/dist/constants.js +18 -0
  131. package/dist/constants.js.map +1 -0
  132. package/dist/context/index.js +137 -0
  133. package/dist/context/index.js.map +1 -0
  134. package/dist/crypto/credentials.js +219 -0
  135. package/dist/crypto/credentials.js.map +1 -0
  136. package/dist/discovery.js +182 -0
  137. package/dist/discovery.js.map +1 -0
  138. package/dist/engine-result.js +12 -0
  139. package/dist/engine-result.js.map +1 -0
  140. package/dist/error-catalog.js +404 -0
  141. package/dist/error-catalog.js.map +1 -0
  142. package/dist/error-registry.js +393 -0
  143. package/dist/error-registry.js.map +1 -0
  144. package/dist/errors.js +173 -0
  145. package/dist/errors.js.map +1 -0
  146. package/dist/hooks/handlers/agent-hooks.js +106 -0
  147. package/dist/hooks/handlers/agent-hooks.js.map +1 -0
  148. package/dist/hooks/handlers/conduit-hooks.d.ts +72 -0
  149. package/dist/hooks/handlers/conduit-hooks.d.ts.map +1 -0
  150. package/dist/hooks/handlers/conduit-hooks.js +229 -0
  151. package/dist/hooks/handlers/conduit-hooks.js.map +1 -0
  152. package/dist/hooks/handlers/context-hooks.js +111 -0
  153. package/dist/hooks/handlers/context-hooks.js.map +1 -0
  154. package/dist/hooks/handlers/error-hooks.js +52 -0
  155. package/dist/hooks/handlers/error-hooks.js.map +1 -0
  156. package/dist/hooks/handlers/file-hooks.js +104 -0
  157. package/dist/hooks/handlers/file-hooks.js.map +1 -0
  158. package/dist/hooks/handlers/handler-helpers.js +61 -0
  159. package/dist/hooks/handlers/handler-helpers.js.map +1 -0
  160. package/dist/hooks/handlers/index.d.ts +6 -0
  161. package/dist/hooks/handlers/index.d.ts.map +1 -1
  162. package/dist/hooks/handlers/index.js +37 -0
  163. package/dist/hooks/handlers/index.js.map +1 -0
  164. package/dist/hooks/handlers/intelligence-hooks.d.ts +26 -0
  165. package/dist/hooks/handlers/intelligence-hooks.d.ts.map +1 -0
  166. package/dist/hooks/handlers/intelligence-hooks.js +69 -0
  167. package/dist/hooks/handlers/intelligence-hooks.js.map +1 -0
  168. package/dist/hooks/handlers/memory-bridge-refresh.js +42 -0
  169. package/dist/hooks/handlers/memory-bridge-refresh.js.map +1 -0
  170. package/dist/hooks/handlers/notification-hooks.js +62 -0
  171. package/dist/hooks/handlers/notification-hooks.js.map +1 -0
  172. package/dist/hooks/handlers/session-hooks.d.ts +30 -0
  173. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  174. package/dist/hooks/handlers/session-hooks.js +190 -0
  175. package/dist/hooks/handlers/session-hooks.js.map +1 -0
  176. package/dist/hooks/handlers/task-hooks.d.ts +2 -0
  177. package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
  178. package/dist/hooks/handlers/task-hooks.js +79 -0
  179. package/dist/hooks/handlers/task-hooks.js.map +1 -0
  180. package/dist/hooks/handlers/watchdog-hooks.d.ts +49 -0
  181. package/dist/hooks/handlers/watchdog-hooks.d.ts.map +1 -0
  182. package/dist/hooks/handlers/watchdog-hooks.js +162 -0
  183. package/dist/hooks/handlers/watchdog-hooks.js.map +1 -0
  184. package/dist/hooks/handlers/work-capture-hooks.js +165 -0
  185. package/dist/hooks/handlers/work-capture-hooks.js.map +1 -0
  186. package/dist/hooks/index.js +13 -0
  187. package/dist/hooks/index.js.map +1 -0
  188. package/dist/hooks/payload-schemas.js +220 -0
  189. package/dist/hooks/payload-schemas.js.map +1 -0
  190. package/dist/hooks/provider-hooks.js +66 -0
  191. package/dist/hooks/provider-hooks.js.map +1 -0
  192. package/dist/hooks/registry.js +229 -0
  193. package/dist/hooks/registry.js.map +1 -0
  194. package/dist/hooks/types.js +66 -0
  195. package/dist/hooks/types.js.map +1 -0
  196. package/dist/hooks.js +136 -0
  197. package/dist/hooks.js.map +1 -0
  198. package/dist/index.js +56736 -47002
  199. package/dist/index.js.map +4 -4
  200. package/dist/init.js +920 -0
  201. package/dist/init.js.map +1 -0
  202. package/dist/inject/index.js +82 -0
  203. package/dist/inject/index.js.map +1 -0
  204. package/dist/injection.d.ts +13 -1
  205. package/dist/injection.d.ts.map +1 -1
  206. package/dist/injection.js +377 -0
  207. package/dist/injection.js.map +1 -0
  208. package/dist/intelligence/adaptive-validation.js +497 -0
  209. package/dist/intelligence/adaptive-validation.js.map +1 -0
  210. package/dist/intelligence/impact.js +675 -0
  211. package/dist/intelligence/impact.js.map +1 -0
  212. package/dist/intelligence/index.js +22 -0
  213. package/dist/intelligence/index.js.map +1 -0
  214. package/dist/intelligence/patterns.js +492 -0
  215. package/dist/intelligence/patterns.js.map +1 -0
  216. package/dist/intelligence/prediction.js +499 -0
  217. package/dist/intelligence/prediction.js.map +1 -0
  218. package/dist/intelligence/types.js +13 -0
  219. package/dist/intelligence/types.js.map +1 -0
  220. package/dist/internal.d.ts +10 -3
  221. package/dist/internal.d.ts.map +1 -1
  222. package/dist/internal.js +321 -0
  223. package/dist/internal.js.map +1 -0
  224. package/dist/issue/create.js +121 -0
  225. package/dist/issue/create.js.map +1 -0
  226. package/dist/issue/diagnostics.js +59 -0
  227. package/dist/issue/diagnostics.js.map +1 -0
  228. package/dist/issue/index.js +10 -0
  229. package/dist/issue/index.js.map +1 -0
  230. package/dist/issue/template-parser.js +267 -0
  231. package/dist/issue/template-parser.js.map +1 -0
  232. package/dist/json-schema-validator.js +76 -0
  233. package/dist/json-schema-validator.js.map +1 -0
  234. package/dist/lib/index.js +11 -0
  235. package/dist/lib/index.js.map +1 -0
  236. package/dist/lib/retry.js +152 -0
  237. package/dist/lib/retry.js.map +1 -0
  238. package/dist/lib/tree-sitter-languages.js +75 -0
  239. package/dist/lib/tree-sitter-languages.js.map +1 -0
  240. package/dist/lifecycle/chain-composition.js +152 -0
  241. package/dist/lifecycle/chain-composition.js.map +1 -0
  242. package/dist/lifecycle/chain-store.js +246 -0
  243. package/dist/lifecycle/chain-store.js.map +1 -0
  244. package/dist/lifecycle/consolidate-rcasd.js +352 -0
  245. package/dist/lifecycle/consolidate-rcasd.js.map +1 -0
  246. package/dist/lifecycle/default-chain.js +176 -0
  247. package/dist/lifecycle/default-chain.js.map +1 -0
  248. package/dist/lifecycle/evidence.js +180 -0
  249. package/dist/lifecycle/evidence.js.map +1 -0
  250. package/dist/lifecycle/frontmatter.js +363 -0
  251. package/dist/lifecycle/frontmatter.js.map +1 -0
  252. package/dist/lifecycle/index.js +756 -0
  253. package/dist/lifecycle/index.js.map +1 -0
  254. package/dist/lifecycle/pipeline.js +656 -0
  255. package/dist/lifecycle/pipeline.js.map +1 -0
  256. package/dist/lifecycle/rcasd-index.js +326 -0
  257. package/dist/lifecycle/rcasd-index.js.map +1 -0
  258. package/dist/lifecycle/rcasd-paths.js +220 -0
  259. package/dist/lifecycle/rcasd-paths.js.map +1 -0
  260. package/dist/lifecycle/resume.js +864 -0
  261. package/dist/lifecycle/resume.js.map +1 -0
  262. package/dist/lifecycle/stage-artifacts.js +94 -0
  263. package/dist/lifecycle/stage-artifacts.js.map +1 -0
  264. package/dist/lifecycle/stage-guidance.js +234 -0
  265. package/dist/lifecycle/stage-guidance.js.map +1 -0
  266. package/dist/lifecycle/stages.js +534 -0
  267. package/dist/lifecycle/stages.js.map +1 -0
  268. package/dist/lifecycle/state-machine.js +516 -0
  269. package/dist/lifecycle/state-machine.js.map +1 -0
  270. package/dist/lifecycle/tessera-engine.js +249 -0
  271. package/dist/lifecycle/tessera-engine.js.map +1 -0
  272. package/dist/logger.js +140 -0
  273. package/dist/logger.js.map +1 -0
  274. package/dist/memory/anthropic-key-resolver.d.ts +35 -0
  275. package/dist/memory/anthropic-key-resolver.d.ts.map +1 -0
  276. package/dist/memory/anthropic-key-resolver.js +105 -0
  277. package/dist/memory/anthropic-key-resolver.js.map +1 -0
  278. package/dist/memory/auto-extract.d.ts +38 -42
  279. package/dist/memory/auto-extract.d.ts.map +1 -1
  280. package/dist/memory/auto-extract.js +77 -0
  281. package/dist/memory/auto-extract.js.map +1 -0
  282. package/dist/memory/brain-backfill.js +389 -0
  283. package/dist/memory/brain-backfill.js.map +1 -0
  284. package/dist/memory/brain-consolidator.d.ts +48 -0
  285. package/dist/memory/brain-consolidator.d.ts.map +1 -0
  286. package/dist/memory/brain-consolidator.js +294 -0
  287. package/dist/memory/brain-consolidator.js.map +1 -0
  288. package/dist/memory/brain-embedding.js +66 -0
  289. package/dist/memory/brain-embedding.js.map +1 -0
  290. package/dist/memory/brain-lifecycle.d.ts +83 -2
  291. package/dist/memory/brain-lifecycle.d.ts.map +1 -1
  292. package/dist/memory/brain-lifecycle.js +807 -0
  293. package/dist/memory/brain-lifecycle.js.map +1 -0
  294. package/dist/memory/brain-links.js +161 -0
  295. package/dist/memory/brain-links.js.map +1 -0
  296. package/dist/memory/brain-maintenance.js +114 -0
  297. package/dist/memory/brain-maintenance.js.map +1 -0
  298. package/dist/memory/brain-migration.js +149 -0
  299. package/dist/memory/brain-migration.js.map +1 -0
  300. package/dist/memory/brain-purge.js +243 -0
  301. package/dist/memory/brain-purge.js.map +1 -0
  302. package/dist/memory/brain-reasoning.js +215 -0
  303. package/dist/memory/brain-reasoning.js.map +1 -0
  304. package/dist/memory/brain-retrieval.d.ts +75 -1
  305. package/dist/memory/brain-retrieval.d.ts.map +1 -1
  306. package/dist/memory/brain-retrieval.js +1044 -0
  307. package/dist/memory/brain-retrieval.js.map +1 -0
  308. package/dist/memory/brain-row-types.js +10 -0
  309. package/dist/memory/brain-row-types.js.map +1 -0
  310. package/dist/memory/brain-search.d.ts +82 -15
  311. package/dist/memory/brain-search.d.ts.map +1 -1
  312. package/dist/memory/brain-search.js +613 -0
  313. package/dist/memory/brain-search.js.map +1 -0
  314. package/dist/memory/brain-similarity.js +145 -0
  315. package/dist/memory/brain-similarity.js.map +1 -0
  316. package/dist/memory/claude-mem-migration.js +277 -0
  317. package/dist/memory/claude-mem-migration.js.map +1 -0
  318. package/dist/memory/decisions.d.ts.map +1 -1
  319. package/dist/memory/decisions.js +218 -0
  320. package/dist/memory/decisions.js.map +1 -0
  321. package/dist/memory/embedding-local.js +102 -0
  322. package/dist/memory/embedding-local.js.map +1 -0
  323. package/dist/memory/embedding-queue.js +271 -0
  324. package/dist/memory/embedding-queue.js.map +1 -0
  325. package/dist/memory/embedding-worker.js +58 -0
  326. package/dist/memory/embedding-worker.js.map +1 -0
  327. package/dist/memory/engine-compat.d.ts +16 -1
  328. package/dist/memory/engine-compat.d.ts.map +1 -1
  329. package/dist/memory/engine-compat.js +1561 -0
  330. package/dist/memory/engine-compat.js.map +1 -0
  331. package/dist/memory/extraction-gate.d.ts +139 -0
  332. package/dist/memory/extraction-gate.d.ts.map +1 -0
  333. package/dist/memory/extraction-gate.js +459 -0
  334. package/dist/memory/extraction-gate.js.map +1 -0
  335. package/dist/memory/graph-auto-populate.js +148 -0
  336. package/dist/memory/graph-auto-populate.js.map +1 -0
  337. package/dist/memory/graph-queries.js +290 -0
  338. package/dist/memory/graph-queries.js.map +1 -0
  339. package/dist/memory/index.d.ts +2 -0
  340. package/dist/memory/index.d.ts.map +1 -1
  341. package/dist/memory/index.js +1144 -0
  342. package/dist/memory/index.js.map +1 -0
  343. package/dist/memory/learnings.d.ts +14 -0
  344. package/dist/memory/learnings.d.ts.map +1 -1
  345. package/dist/memory/learnings.js +179 -0
  346. package/dist/memory/learnings.js.map +1 -0
  347. package/dist/memory/llm-extraction.d.ts +107 -0
  348. package/dist/memory/llm-extraction.d.ts.map +1 -0
  349. package/dist/memory/llm-extraction.js +425 -0
  350. package/dist/memory/llm-extraction.js.map +1 -0
  351. package/dist/memory/memory-bridge.js +382 -0
  352. package/dist/memory/memory-bridge.js.map +1 -0
  353. package/dist/memory/mental-model-injection.js +61 -0
  354. package/dist/memory/mental-model-injection.js.map +1 -0
  355. package/dist/memory/mental-model-queue.js +211 -0
  356. package/dist/memory/mental-model-queue.js.map +1 -0
  357. package/dist/memory/observer-reflector.d.ts +157 -0
  358. package/dist/memory/observer-reflector.d.ts.map +1 -0
  359. package/dist/memory/observer-reflector.js +626 -0
  360. package/dist/memory/observer-reflector.js.map +1 -0
  361. package/dist/memory/patterns.d.ts +24 -4
  362. package/dist/memory/patterns.d.ts.map +1 -1
  363. package/dist/memory/patterns.js +174 -0
  364. package/dist/memory/patterns.js.map +1 -0
  365. package/dist/memory/pipeline-manifest-sqlite.js +975 -0
  366. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -0
  367. package/dist/memory/quality-scoring.d.ts +42 -5
  368. package/dist/memory/quality-scoring.d.ts.map +1 -1
  369. package/dist/memory/quality-scoring.js +182 -0
  370. package/dist/memory/quality-scoring.js.map +1 -0
  371. package/dist/memory/session-memory.js +331 -0
  372. package/dist/memory/session-memory.js.map +1 -0
  373. package/dist/metrics/ab-test.js +260 -0
  374. package/dist/metrics/ab-test.js.map +1 -0
  375. package/dist/metrics/aggregation.js +363 -0
  376. package/dist/metrics/aggregation.js.map +1 -0
  377. package/dist/metrics/common.js +64 -0
  378. package/dist/metrics/common.js.map +1 -0
  379. package/dist/metrics/enums.js +78 -0
  380. package/dist/metrics/enums.js.map +1 -0
  381. package/dist/metrics/index.js +19 -0
  382. package/dist/metrics/index.js.map +1 -0
  383. package/dist/metrics/model-provider-registry.js +88 -0
  384. package/dist/metrics/model-provider-registry.js.map +1 -0
  385. package/dist/metrics/otel-integration.js +263 -0
  386. package/dist/metrics/otel-integration.js.map +1 -0
  387. package/dist/metrics/provider-detection.js +103 -0
  388. package/dist/metrics/provider-detection.js.map +1 -0
  389. package/dist/metrics/token-estimation.js +253 -0
  390. package/dist/metrics/token-estimation.js.map +1 -0
  391. package/dist/metrics/token-service.js +450 -0
  392. package/dist/metrics/token-service.js.map +1 -0
  393. package/dist/migration/agent-outputs.js +316 -0
  394. package/dist/migration/agent-outputs.js.map +1 -0
  395. package/dist/migration/checksum.js +92 -0
  396. package/dist/migration/checksum.js.map +1 -0
  397. package/dist/migration/index.js +282 -0
  398. package/dist/migration/index.js.map +1 -0
  399. package/dist/migration/logger.js +360 -0
  400. package/dist/migration/logger.js.map +1 -0
  401. package/dist/migration/preflight.js +9 -0
  402. package/dist/migration/preflight.js.map +1 -0
  403. package/dist/migration/state.js +421 -0
  404. package/dist/migration/state.js.map +1 -0
  405. package/dist/migration/validate.js +241 -0
  406. package/dist/migration/validate.js.map +1 -0
  407. package/dist/mvi-helpers.js +73 -0
  408. package/dist/mvi-helpers.js.map +1 -0
  409. package/dist/nexus/deps.js +375 -0
  410. package/dist/nexus/deps.js.map +1 -0
  411. package/dist/nexus/discover.js +288 -0
  412. package/dist/nexus/discover.js.map +1 -0
  413. package/dist/nexus/hash.js +10 -0
  414. package/dist/nexus/hash.js.map +1 -0
  415. package/dist/nexus/index.js +40 -0
  416. package/dist/nexus/index.js.map +1 -0
  417. package/dist/nexus/migrate-json-to-sqlite.js +115 -0
  418. package/dist/nexus/migrate-json-to-sqlite.js.map +1 -0
  419. package/dist/nexus/nexus-bridge.d.ts +51 -0
  420. package/dist/nexus/nexus-bridge.d.ts.map +1 -0
  421. package/dist/nexus/nexus-bridge.js +321 -0
  422. package/dist/nexus/nexus-bridge.js.map +1 -0
  423. package/dist/nexus/permissions.js +105 -0
  424. package/dist/nexus/permissions.js.map +1 -0
  425. package/dist/nexus/query.js +175 -0
  426. package/dist/nexus/query.js.map +1 -0
  427. package/dist/nexus/registry.js +584 -0
  428. package/dist/nexus/registry.js.map +1 -0
  429. package/dist/nexus/sharing/index.js +288 -0
  430. package/dist/nexus/sharing/index.js.map +1 -0
  431. package/dist/nexus/transfer-types.js +8 -0
  432. package/dist/nexus/transfer-types.js.map +1 -0
  433. package/dist/nexus/transfer.js +271 -0
  434. package/dist/nexus/transfer.js.map +1 -0
  435. package/dist/nexus/workspace.js +355 -0
  436. package/dist/nexus/workspace.js.map +1 -0
  437. package/dist/observability/index.js +103 -0
  438. package/dist/observability/index.js.map +1 -0
  439. package/dist/observability/log-filter.js +63 -0
  440. package/dist/observability/log-filter.js.map +1 -0
  441. package/dist/observability/log-parser.js +99 -0
  442. package/dist/observability/log-parser.js.map +1 -0
  443. package/dist/observability/log-reader.js +139 -0
  444. package/dist/observability/log-reader.js.map +1 -0
  445. package/dist/observability/types.js +19 -0
  446. package/dist/observability/types.js.map +1 -0
  447. package/dist/orchestration/analyze.js +107 -0
  448. package/dist/orchestration/analyze.js.map +1 -0
  449. package/dist/orchestration/bootstrap.js +132 -0
  450. package/dist/orchestration/bootstrap.js.map +1 -0
  451. package/dist/orchestration/context.js +56 -0
  452. package/dist/orchestration/context.js.map +1 -0
  453. package/dist/orchestration/critical-path.js +100 -0
  454. package/dist/orchestration/critical-path.js.map +1 -0
  455. package/dist/orchestration/hierarchy.js +183 -0
  456. package/dist/orchestration/hierarchy.js.map +1 -0
  457. package/dist/orchestration/index.js +287 -0
  458. package/dist/orchestration/index.js.map +1 -0
  459. package/dist/orchestration/parallel.js +89 -0
  460. package/dist/orchestration/parallel.js.map +1 -0
  461. package/dist/orchestration/protocol-validators.js +815 -0
  462. package/dist/orchestration/protocol-validators.js.map +1 -0
  463. package/dist/orchestration/skill-ops.js +98 -0
  464. package/dist/orchestration/skill-ops.js.map +1 -0
  465. package/dist/orchestration/status.js +107 -0
  466. package/dist/orchestration/status.js.map +1 -0
  467. package/dist/orchestration/unblock.js +103 -0
  468. package/dist/orchestration/unblock.js.map +1 -0
  469. package/dist/orchestration/validate-spawn.js +67 -0
  470. package/dist/orchestration/validate-spawn.js.map +1 -0
  471. package/dist/orchestration/waves.js +86 -0
  472. package/dist/orchestration/waves.js.map +1 -0
  473. package/dist/otel/index.js +163 -0
  474. package/dist/otel/index.js.map +1 -0
  475. package/dist/output.js +164 -0
  476. package/dist/output.js.map +1 -0
  477. package/dist/pagination.js +64 -0
  478. package/dist/pagination.js.map +1 -0
  479. package/dist/paths.js +882 -0
  480. package/dist/paths.js.map +1 -0
  481. package/dist/phases/deps.js +372 -0
  482. package/dist/phases/deps.js.map +1 -0
  483. package/dist/phases/index.js +349 -0
  484. package/dist/phases/index.js.map +1 -0
  485. package/dist/pipeline/index.js +10 -0
  486. package/dist/pipeline/index.js.map +1 -0
  487. package/dist/pipeline/phase.js +45 -0
  488. package/dist/pipeline/phase.js.map +1 -0
  489. package/dist/platform.js +211 -0
  490. package/dist/platform.js.map +1 -0
  491. package/dist/project-info.js +84 -0
  492. package/dist/project-info.js.map +1 -0
  493. package/dist/reconciliation/index.js +10 -0
  494. package/dist/reconciliation/index.js.map +1 -0
  495. package/dist/reconciliation/link-store.js +175 -0
  496. package/dist/reconciliation/link-store.js.map +1 -0
  497. package/dist/reconciliation/reconciliation-engine.js +298 -0
  498. package/dist/reconciliation/reconciliation-engine.js.map +1 -0
  499. package/dist/release/artifacts.js +427 -0
  500. package/dist/release/artifacts.js.map +1 -0
  501. package/dist/release/changelog-writer.js +151 -0
  502. package/dist/release/changelog-writer.js.map +1 -0
  503. package/dist/release/channel.js +144 -0
  504. package/dist/release/channel.js.map +1 -0
  505. package/dist/release/ci.js +166 -0
  506. package/dist/release/ci.js.map +1 -0
  507. package/dist/release/github-pr.js +225 -0
  508. package/dist/release/github-pr.js.map +1 -0
  509. package/dist/release/guards.js +116 -0
  510. package/dist/release/guards.js.map +1 -0
  511. package/dist/release/index.js +22 -0
  512. package/dist/release/index.js.map +1 -0
  513. package/dist/release/release-config.js +158 -0
  514. package/dist/release/release-config.js.map +1 -0
  515. package/dist/release/release-manifest.js +1019 -0
  516. package/dist/release/release-manifest.js.map +1 -0
  517. package/dist/release/version-bump.js +255 -0
  518. package/dist/release/version-bump.js.map +1 -0
  519. package/dist/remote/index.js +257 -0
  520. package/dist/remote/index.js.map +1 -0
  521. package/dist/repair.js +130 -0
  522. package/dist/repair.js.map +1 -0
  523. package/dist/research/index.js +2 -0
  524. package/dist/research/index.js.map +1 -0
  525. package/dist/roadmap/index.js +59 -0
  526. package/dist/roadmap/index.js.map +1 -0
  527. package/dist/routing/capability-matrix.js +1556 -0
  528. package/dist/routing/capability-matrix.js.map +1 -0
  529. package/dist/routing/index.js +9 -0
  530. package/dist/routing/index.js.map +1 -0
  531. package/dist/scaffold.d.ts +18 -0
  532. package/dist/scaffold.d.ts.map +1 -1
  533. package/dist/scaffold.js +1798 -0
  534. package/dist/scaffold.js.map +1 -0
  535. package/dist/schema-management.js +295 -0
  536. package/dist/schema-management.js.map +1 -0
  537. package/dist/security/index.js +9 -0
  538. package/dist/security/index.js.map +1 -0
  539. package/dist/security/input-sanitization.js +326 -0
  540. package/dist/security/input-sanitization.js.map +1 -0
  541. package/dist/sequence/index.js +295 -0
  542. package/dist/sequence/index.js.map +1 -0
  543. package/dist/sessions/assumptions.js +54 -0
  544. package/dist/sessions/assumptions.js.map +1 -0
  545. package/dist/sessions/briefing.js +377 -0
  546. package/dist/sessions/briefing.js.map +1 -0
  547. package/dist/sessions/context-alert.js +222 -0
  548. package/dist/sessions/context-alert.js.map +1 -0
  549. package/dist/sessions/context-inject.js +61 -0
  550. package/dist/sessions/context-inject.js.map +1 -0
  551. package/dist/sessions/context-monitor.js +98 -0
  552. package/dist/sessions/context-monitor.js.map +1 -0
  553. package/dist/sessions/decisions.js +65 -0
  554. package/dist/sessions/decisions.js.map +1 -0
  555. package/dist/sessions/find.js +65 -0
  556. package/dist/sessions/find.js.map +1 -0
  557. package/dist/sessions/handoff.js +328 -0
  558. package/dist/sessions/handoff.js.map +1 -0
  559. package/dist/sessions/hitl-warnings.js +254 -0
  560. package/dist/sessions/hitl-warnings.js.map +1 -0
  561. package/dist/sessions/index.js +327 -0
  562. package/dist/sessions/index.js.map +1 -0
  563. package/dist/sessions/session-archive.js +40 -0
  564. package/dist/sessions/session-archive.js.map +1 -0
  565. package/dist/sessions/session-cleanup.js +59 -0
  566. package/dist/sessions/session-cleanup.js.map +1 -0
  567. package/dist/sessions/session-drift.js +134 -0
  568. package/dist/sessions/session-drift.js.map +1 -0
  569. package/dist/sessions/session-enforcement.js +144 -0
  570. package/dist/sessions/session-enforcement.js.map +1 -0
  571. package/dist/sessions/session-grade.js +253 -0
  572. package/dist/sessions/session-grade.js.map +1 -0
  573. package/dist/sessions/session-history.js +42 -0
  574. package/dist/sessions/session-history.js.map +1 -0
  575. package/dist/sessions/session-id.js +81 -0
  576. package/dist/sessions/session-id.js.map +1 -0
  577. package/dist/sessions/session-memory-bridge.js +30 -0
  578. package/dist/sessions/session-memory-bridge.js.map +1 -0
  579. package/dist/sessions/session-show.js +24 -0
  580. package/dist/sessions/session-show.js.map +1 -0
  581. package/dist/sessions/session-stats.js +69 -0
  582. package/dist/sessions/session-stats.js.map +1 -0
  583. package/dist/sessions/session-suspend.js +39 -0
  584. package/dist/sessions/session-suspend.js.map +1 -0
  585. package/dist/sessions/session-switch.js +51 -0
  586. package/dist/sessions/session-switch.js.map +1 -0
  587. package/dist/sessions/session-view.js +76 -0
  588. package/dist/sessions/session-view.js.map +1 -0
  589. package/dist/sessions/snapshot.js +213 -0
  590. package/dist/sessions/snapshot.js.map +1 -0
  591. package/dist/sessions/statusline-setup.js +85 -0
  592. package/dist/sessions/statusline-setup.js.map +1 -0
  593. package/dist/sessions/types.js +8 -0
  594. package/dist/sessions/types.js.map +1 -0
  595. package/dist/skills/agents/config.js +94 -0
  596. package/dist/skills/agents/config.js.map +1 -0
  597. package/dist/skills/agents/install.js +116 -0
  598. package/dist/skills/agents/install.js.map +1 -0
  599. package/dist/skills/agents/registry.js +161 -0
  600. package/dist/skills/agents/registry.js.map +1 -0
  601. package/dist/skills/discovery.js +333 -0
  602. package/dist/skills/discovery.js.map +1 -0
  603. package/dist/skills/dispatch.js +347 -0
  604. package/dist/skills/dispatch.js.map +1 -0
  605. package/dist/skills/dynamic-skill-generator.js +87 -0
  606. package/dist/skills/dynamic-skill-generator.js.map +1 -0
  607. package/dist/skills/index.js +44 -0
  608. package/dist/skills/index.js.map +1 -0
  609. package/dist/skills/injection/subagent.js +195 -0
  610. package/dist/skills/injection/subagent.js.map +1 -0
  611. package/dist/skills/injection/token.js +260 -0
  612. package/dist/skills/injection/token.js.map +1 -0
  613. package/dist/skills/install.js +40 -0
  614. package/dist/skills/install.js.map +1 -0
  615. package/dist/skills/manifests/contribution.js +175 -0
  616. package/dist/skills/manifests/contribution.js.map +1 -0
  617. package/dist/skills/manifests/research.js +281 -0
  618. package/dist/skills/manifests/research.js.map +1 -0
  619. package/dist/skills/manifests/resolver.js +146 -0
  620. package/dist/skills/manifests/resolver.js.map +1 -0
  621. package/dist/skills/marketplace.js +90 -0
  622. package/dist/skills/marketplace.js.map +1 -0
  623. package/dist/skills/orchestrator/spawn.js +178 -0
  624. package/dist/skills/orchestrator/spawn.js.map +1 -0
  625. package/dist/skills/orchestrator/startup.js +451 -0
  626. package/dist/skills/orchestrator/startup.js.map +1 -0
  627. package/dist/skills/orchestrator/validator.js +301 -0
  628. package/dist/skills/orchestrator/validator.js.map +1 -0
  629. package/dist/skills/precedence-integration.js +73 -0
  630. package/dist/skills/precedence-integration.js.map +1 -0
  631. package/dist/skills/precedence-types.js +16 -0
  632. package/dist/skills/precedence-types.js.map +1 -0
  633. package/dist/skills/routing-table.js +63 -0
  634. package/dist/skills/routing-table.js.map +1 -0
  635. package/dist/skills/skill-paths.js +217 -0
  636. package/dist/skills/skill-paths.js.map +1 -0
  637. package/dist/skills/test-utility.js +55 -0
  638. package/dist/skills/test-utility.js.map +1 -0
  639. package/dist/skills/types.js +118 -0
  640. package/dist/skills/types.js.map +1 -0
  641. package/dist/skills/validation.js +183 -0
  642. package/dist/skills/validation.js.map +1 -0
  643. package/dist/skills/version.js +57 -0
  644. package/dist/skills/version.js.map +1 -0
  645. package/dist/snapshot/index.js +188 -0
  646. package/dist/snapshot/index.js.map +1 -0
  647. package/dist/spawn/adapter-registry.js +246 -0
  648. package/dist/spawn/adapter-registry.js.map +1 -0
  649. package/dist/spawn/index.js +10 -0
  650. package/dist/spawn/index.js.map +1 -0
  651. package/dist/stats/index.d.ts.map +1 -1
  652. package/dist/stats/index.js +350 -0
  653. package/dist/stats/index.js.map +1 -0
  654. package/dist/stats/workflow-telemetry.js +400 -0
  655. package/dist/stats/workflow-telemetry.js.map +1 -0
  656. package/dist/sticky/archive.js +47 -0
  657. package/dist/sticky/archive.js.map +1 -0
  658. package/dist/sticky/convert.js +235 -0
  659. package/dist/sticky/convert.js.map +1 -0
  660. package/dist/sticky/create.js +48 -0
  661. package/dist/sticky/create.js.map +1 -0
  662. package/dist/sticky/id.js +35 -0
  663. package/dist/sticky/id.js.map +1 -0
  664. package/dist/sticky/index.js +16 -0
  665. package/dist/sticky/index.js.map +1 -0
  666. package/dist/sticky/list.js +57 -0
  667. package/dist/sticky/list.js.map +1 -0
  668. package/dist/sticky/purge.js +45 -0
  669. package/dist/sticky/purge.js.map +1 -0
  670. package/dist/sticky/show.js +42 -0
  671. package/dist/sticky/show.js.map +1 -0
  672. package/dist/sticky/types.js +10 -0
  673. package/dist/sticky/types.js.map +1 -0
  674. package/dist/store/agent-registry-accessor.js +886 -0
  675. package/dist/store/agent-registry-accessor.js.map +1 -0
  676. package/dist/store/api-key-kdf.js +84 -0
  677. package/dist/store/api-key-kdf.js.map +1 -0
  678. package/dist/store/atomic.js +167 -0
  679. package/dist/store/atomic.js.map +1 -0
  680. package/dist/store/backup-crypto.js +184 -0
  681. package/dist/store/backup-crypto.js.map +1 -0
  682. package/dist/store/backup-pack.js +581 -0
  683. package/dist/store/backup-pack.js.map +1 -0
  684. package/dist/store/backup-unpack.js +449 -0
  685. package/dist/store/backup-unpack.js.map +1 -0
  686. package/dist/store/backup.js +94 -0
  687. package/dist/store/backup.js.map +1 -0
  688. package/dist/store/brain-accessor.js +429 -0
  689. package/dist/store/brain-accessor.js.map +1 -0
  690. package/dist/store/brain-schema.d.ts +663 -39
  691. package/dist/store/brain-schema.d.ts.map +1 -1
  692. package/dist/store/brain-schema.js +579 -0
  693. package/dist/store/brain-schema.js.map +1 -0
  694. package/dist/store/brain-sqlite.d.ts.map +1 -1
  695. package/dist/store/brain-sqlite.js +297 -0
  696. package/dist/store/brain-sqlite.js.map +1 -0
  697. package/dist/store/cache.js +168 -0
  698. package/dist/store/cache.js.map +1 -0
  699. package/dist/store/chain-schema.js +51 -0
  700. package/dist/store/chain-schema.js.map +1 -0
  701. package/dist/store/cleanup-legacy.js +171 -0
  702. package/dist/store/cleanup-legacy.js.map +1 -0
  703. package/dist/store/conduit-sqlite.js +570 -0
  704. package/dist/store/conduit-sqlite.js.map +1 -0
  705. package/dist/store/converters.js +124 -0
  706. package/dist/store/converters.js.map +1 -0
  707. package/dist/store/cross-db-cleanup.js +319 -0
  708. package/dist/store/cross-db-cleanup.js.map +1 -0
  709. package/dist/store/data-accessor.js +26 -0
  710. package/dist/store/data-accessor.js.map +1 -0
  711. package/dist/store/data-safety-central.js +269 -0
  712. package/dist/store/data-safety-central.js.map +1 -0
  713. package/dist/store/data-safety.js +274 -0
  714. package/dist/store/data-safety.js.map +1 -0
  715. package/dist/store/db-helpers.js +224 -0
  716. package/dist/store/db-helpers.js.map +1 -0
  717. package/dist/store/export.js +155 -0
  718. package/dist/store/export.js.map +1 -0
  719. package/dist/store/file-utils.js +270 -0
  720. package/dist/store/file-utils.js.map +1 -0
  721. package/dist/store/git-checkpoint.js +365 -0
  722. package/dist/store/git-checkpoint.js.map +1 -0
  723. package/dist/store/global-salt.js +147 -0
  724. package/dist/store/global-salt.js.map +1 -0
  725. package/dist/store/import-logging.js +139 -0
  726. package/dist/store/import-logging.js.map +1 -0
  727. package/dist/store/import-remap.js +145 -0
  728. package/dist/store/import-remap.js.map +1 -0
  729. package/dist/store/import-sort.js +121 -0
  730. package/dist/store/import-sort.js.map +1 -0
  731. package/dist/store/index.js +29 -0
  732. package/dist/store/index.js.map +1 -0
  733. package/dist/store/json.js +208 -0
  734. package/dist/store/json.js.map +1 -0
  735. package/dist/store/lifecycle-store.js +249 -0
  736. package/dist/store/lifecycle-store.js.map +1 -0
  737. package/dist/store/lock.js +70 -0
  738. package/dist/store/lock.js.map +1 -0
  739. package/dist/store/migrate-signaldock-to-conduit.js +562 -0
  740. package/dist/store/migrate-signaldock-to-conduit.js.map +1 -0
  741. package/dist/store/migration-manager.d.ts +5 -1
  742. package/dist/store/migration-manager.d.ts.map +1 -1
  743. package/dist/store/migration-manager.js +288 -0
  744. package/dist/store/migration-manager.js.map +1 -0
  745. package/dist/store/migration-sqlite.js +676 -0
  746. package/dist/store/migration-sqlite.js.map +1 -0
  747. package/dist/store/nexus-schema.js +268 -0
  748. package/dist/store/nexus-schema.js.map +1 -0
  749. package/dist/store/nexus-sqlite.js +242 -0
  750. package/dist/store/nexus-sqlite.js.map +1 -0
  751. package/dist/store/nexus-validation-schemas.js +40 -0
  752. package/dist/store/nexus-validation-schemas.js.map +1 -0
  753. package/dist/store/parsers.js +37 -0
  754. package/dist/store/parsers.js.map +1 -0
  755. package/dist/store/project-detect.js +457 -0
  756. package/dist/store/project-detect.js.map +1 -0
  757. package/dist/store/provider.js +101 -0
  758. package/dist/store/provider.js.map +1 -0
  759. package/dist/store/regenerators.js +207 -0
  760. package/dist/store/regenerators.js.map +1 -0
  761. package/dist/store/restore-conflict-report.js +206 -0
  762. package/dist/store/restore-conflict-report.js.map +1 -0
  763. package/dist/store/restore-json-merge.js +454 -0
  764. package/dist/store/restore-json-merge.js.map +1 -0
  765. package/dist/store/safety-data-accessor.js +257 -0
  766. package/dist/store/safety-data-accessor.js.map +1 -0
  767. package/dist/store/schema.js +7 -0
  768. package/dist/store/schema.js.map +1 -0
  769. package/dist/store/session-store.js +219 -0
  770. package/dist/store/session-store.js.map +1 -0
  771. package/dist/store/signaldock-sqlite.js +550 -0
  772. package/dist/store/signaldock-sqlite.js.map +1 -0
  773. package/dist/store/sqlite-backup.js +498 -0
  774. package/dist/store/sqlite-backup.js.map +1 -0
  775. package/dist/store/sqlite-data-accessor.js +787 -0
  776. package/dist/store/sqlite-data-accessor.js.map +1 -0
  777. package/dist/store/sqlite.js +483 -0
  778. package/dist/store/sqlite.js.map +1 -0
  779. package/dist/store/status-registry.js +8 -0
  780. package/dist/store/status-registry.js.map +1 -0
  781. package/dist/store/t310-readiness.js +115 -0
  782. package/dist/store/t310-readiness.js.map +1 -0
  783. package/dist/store/task-store.js +358 -0
  784. package/dist/store/task-store.js.map +1 -0
  785. package/dist/store/tasks-schema.d.ts +1 -1
  786. package/dist/store/tasks-schema.js +610 -0
  787. package/dist/store/tasks-schema.js.map +1 -0
  788. package/dist/store/typed-query.js +15 -0
  789. package/dist/store/typed-query.js.map +1 -0
  790. package/dist/store/validation-schemas.d.ts +6 -6
  791. package/dist/store/validation-schemas.js +278 -0
  792. package/dist/store/validation-schemas.js.map +1 -0
  793. package/dist/system/archive-analytics.js +277 -0
  794. package/dist/system/archive-analytics.js.map +1 -0
  795. package/dist/system/archive-stats.js +64 -0
  796. package/dist/system/archive-stats.js.map +1 -0
  797. package/dist/system/audit.js +145 -0
  798. package/dist/system/audit.js.map +1 -0
  799. package/dist/system/backup.js +280 -0
  800. package/dist/system/backup.js.map +1 -0
  801. package/dist/system/cleanup.js +134 -0
  802. package/dist/system/cleanup.js.map +1 -0
  803. package/dist/system/dependencies.js +466 -0
  804. package/dist/system/dependencies.js.map +1 -0
  805. package/dist/system/health.d.ts.map +1 -1
  806. package/dist/system/health.js +1206 -0
  807. package/dist/system/health.js.map +1 -0
  808. package/dist/system/index.js +18 -0
  809. package/dist/system/index.js.map +1 -0
  810. package/dist/system/inject-generate.js +122 -0
  811. package/dist/system/inject-generate.js.map +1 -0
  812. package/dist/system/labels.js +38 -0
  813. package/dist/system/labels.js.map +1 -0
  814. package/dist/system/metrics.js +61 -0
  815. package/dist/system/metrics.js.map +1 -0
  816. package/dist/system/migrate.js +43 -0
  817. package/dist/system/migrate.js.map +1 -0
  818. package/dist/system/platform-paths.js +80 -0
  819. package/dist/system/platform-paths.js.map +1 -0
  820. package/dist/system/runtime.js +161 -0
  821. package/dist/system/runtime.js.map +1 -0
  822. package/dist/system/safestop.js +89 -0
  823. package/dist/system/safestop.js.map +1 -0
  824. package/dist/system/storage-preflight.js +123 -0
  825. package/dist/system/storage-preflight.js.map +1 -0
  826. package/dist/task-work/index.js +159 -0
  827. package/dist/task-work/index.js.map +1 -0
  828. package/dist/tasks/add.js +837 -0
  829. package/dist/tasks/add.js.map +1 -0
  830. package/dist/tasks/analyze.js +85 -0
  831. package/dist/tasks/analyze.js.map +1 -0
  832. package/dist/tasks/archive.js +90 -0
  833. package/dist/tasks/archive.js.map +1 -0
  834. package/dist/tasks/atomicity.js +83 -0
  835. package/dist/tasks/atomicity.js.map +1 -0
  836. package/dist/tasks/cancel-ops.js +83 -0
  837. package/dist/tasks/cancel-ops.js.map +1 -0
  838. package/dist/tasks/complete.d.ts.map +1 -1
  839. package/dist/tasks/complete.js +228 -0
  840. package/dist/tasks/complete.js.map +1 -0
  841. package/dist/tasks/crossref-extract.js +73 -0
  842. package/dist/tasks/crossref-extract.js.map +1 -0
  843. package/dist/tasks/delete-preview.js +192 -0
  844. package/dist/tasks/delete-preview.js.map +1 -0
  845. package/dist/tasks/delete.js +120 -0
  846. package/dist/tasks/delete.js.map +1 -0
  847. package/dist/tasks/deletion-strategy.js +200 -0
  848. package/dist/tasks/deletion-strategy.js.map +1 -0
  849. package/dist/tasks/dependency-check.js +278 -0
  850. package/dist/tasks/dependency-check.js.map +1 -0
  851. package/dist/tasks/deps-ready.js +32 -0
  852. package/dist/tasks/deps-ready.js.map +1 -0
  853. package/dist/tasks/enforcement.js +86 -0
  854. package/dist/tasks/enforcement.js.map +1 -0
  855. package/dist/tasks/epic-enforcement.js +294 -0
  856. package/dist/tasks/epic-enforcement.js.map +1 -0
  857. package/dist/tasks/find.js +163 -0
  858. package/dist/tasks/find.js.map +1 -0
  859. package/dist/tasks/graph-cache.js +127 -0
  860. package/dist/tasks/graph-cache.js.map +1 -0
  861. package/dist/tasks/graph-ops.d.ts.map +1 -1
  862. package/dist/tasks/graph-ops.js +173 -0
  863. package/dist/tasks/graph-ops.js.map +1 -0
  864. package/dist/tasks/graph-rag.js +328 -0
  865. package/dist/tasks/graph-rag.js.map +1 -0
  866. package/dist/tasks/hierarchy-policy.js +149 -0
  867. package/dist/tasks/hierarchy-policy.js.map +1 -0
  868. package/dist/tasks/hierarchy.js +185 -0
  869. package/dist/tasks/hierarchy.js.map +1 -0
  870. package/dist/tasks/id-generator.js +65 -0
  871. package/dist/tasks/id-generator.js.map +1 -0
  872. package/dist/tasks/index.js +14 -0
  873. package/dist/tasks/index.js.map +1 -0
  874. package/dist/tasks/labels.js +55 -0
  875. package/dist/tasks/labels.js.map +1 -0
  876. package/dist/tasks/list.js +75 -0
  877. package/dist/tasks/list.js.map +1 -0
  878. package/dist/tasks/phase-tracking.js +133 -0
  879. package/dist/tasks/phase-tracking.js.map +1 -0
  880. package/dist/tasks/pipeline-stage.js +248 -0
  881. package/dist/tasks/pipeline-stage.js.map +1 -0
  882. package/dist/tasks/plan.js +268 -0
  883. package/dist/tasks/plan.js.map +1 -0
  884. package/dist/tasks/relates.js +101 -0
  885. package/dist/tasks/relates.js.map +1 -0
  886. package/dist/tasks/show.js +83 -0
  887. package/dist/tasks/show.js.map +1 -0
  888. package/dist/tasks/size-weighting.js +86 -0
  889. package/dist/tasks/size-weighting.js.map +1 -0
  890. package/dist/tasks/staleness.js +86 -0
  891. package/dist/tasks/staleness.js.map +1 -0
  892. package/dist/tasks/task-ops.js +1741 -0
  893. package/dist/tasks/task-ops.js.map +1 -0
  894. package/dist/tasks/update.js +303 -0
  895. package/dist/tasks/update.js.map +1 -0
  896. package/dist/templates/index.js +10 -0
  897. package/dist/templates/index.js.map +1 -0
  898. package/dist/templates/parser.js +254 -0
  899. package/dist/templates/parser.js.map +1 -0
  900. package/dist/ui/aliases.js +153 -0
  901. package/dist/ui/aliases.js.map +1 -0
  902. package/dist/ui/changelog.js +184 -0
  903. package/dist/ui/changelog.js.map +1 -0
  904. package/dist/ui/command-registry.js +168 -0
  905. package/dist/ui/command-registry.js.map +1 -0
  906. package/dist/ui/flags.js +94 -0
  907. package/dist/ui/flags.js.map +1 -0
  908. package/dist/ui/index.js +24 -0
  909. package/dist/ui/index.js.map +1 -0
  910. package/dist/upgrade.js +1148 -0
  911. package/dist/upgrade.js.map +1 -0
  912. package/dist/validation/chain-validation.js +146 -0
  913. package/dist/validation/chain-validation.js.map +1 -0
  914. package/dist/validation/compliance.js +155 -0
  915. package/dist/validation/compliance.js.map +1 -0
  916. package/dist/validation/docs-sync.js +212 -0
  917. package/dist/validation/docs-sync.js.map +1 -0
  918. package/dist/validation/doctor/checks.js +1069 -0
  919. package/dist/validation/doctor/checks.js.map +1 -0
  920. package/dist/validation/doctor/index.js +9 -0
  921. package/dist/validation/doctor/index.js.map +1 -0
  922. package/dist/validation/doctor/project-cache.js +160 -0
  923. package/dist/validation/doctor/project-cache.js.map +1 -0
  924. package/dist/validation/doctor/utils.js +155 -0
  925. package/dist/validation/doctor/utils.js.map +1 -0
  926. package/dist/validation/engine.js +914 -0
  927. package/dist/validation/engine.js.map +1 -0
  928. package/dist/validation/gap-check.js +175 -0
  929. package/dist/validation/gap-check.js.map +1 -0
  930. package/dist/validation/index.js +40 -0
  931. package/dist/validation/index.js.map +1 -0
  932. package/dist/validation/manifest.js +237 -0
  933. package/dist/validation/manifest.js.map +1 -0
  934. package/dist/validation/operation-gate-validators.js +724 -0
  935. package/dist/validation/operation-gate-validators.js.map +1 -0
  936. package/dist/validation/operation-verification-gates.js +532 -0
  937. package/dist/validation/operation-verification-gates.js.map +1 -0
  938. package/dist/validation/param-utils.js +141 -0
  939. package/dist/validation/param-utils.js.map +1 -0
  940. package/dist/validation/protocol-common.js +300 -0
  941. package/dist/validation/protocol-common.js.map +1 -0
  942. package/dist/validation/protocols/_shared.js +82 -0
  943. package/dist/validation/protocols/_shared.js.map +1 -0
  944. package/dist/validation/protocols/architecture-decision.js +31 -0
  945. package/dist/validation/protocols/architecture-decision.js.map +1 -0
  946. package/dist/validation/protocols/artifact-publish.js +28 -0
  947. package/dist/validation/protocols/artifact-publish.js.map +1 -0
  948. package/dist/validation/protocols/consensus.js +41 -0
  949. package/dist/validation/protocols/consensus.js.map +1 -0
  950. package/dist/validation/protocols/contribution.js +27 -0
  951. package/dist/validation/protocols/contribution.js.map +1 -0
  952. package/dist/validation/protocols/decomposition.js +28 -0
  953. package/dist/validation/protocols/decomposition.js.map +1 -0
  954. package/dist/validation/protocols/implementation.js +24 -0
  955. package/dist/validation/protocols/implementation.js.map +1 -0
  956. package/dist/validation/protocols/provenance.js +29 -0
  957. package/dist/validation/protocols/provenance.js.map +1 -0
  958. package/dist/validation/protocols/release.js +29 -0
  959. package/dist/validation/protocols/release.js.map +1 -0
  960. package/dist/validation/protocols/research.js +24 -0
  961. package/dist/validation/protocols/research.js.map +1 -0
  962. package/dist/validation/protocols/specification.js +27 -0
  963. package/dist/validation/protocols/specification.js.map +1 -0
  964. package/dist/validation/protocols/testing.js +30 -0
  965. package/dist/validation/protocols/testing.js.map +1 -0
  966. package/dist/validation/protocols/validation.js +30 -0
  967. package/dist/validation/protocols/validation.js.map +1 -0
  968. package/dist/validation/schema-integrity.js +170 -0
  969. package/dist/validation/schema-integrity.js.map +1 -0
  970. package/dist/validation/schema-validator.js +176 -0
  971. package/dist/validation/schema-validator.js.map +1 -0
  972. package/dist/validation/validate-ops.js +937 -0
  973. package/dist/validation/validate-ops.js.map +1 -0
  974. package/dist/validation/validation-rules.js +226 -0
  975. package/dist/validation/validation-rules.js.map +1 -0
  976. package/dist/validation/verification.js +321 -0
  977. package/dist/validation/verification.js.map +1 -0
  978. package/migrations/drizzle-brain/20260411000001_t528-graph-schema-expansion/migration.sql +47 -0
  979. package/migrations/drizzle-brain/20260412000001_t531-quality-score-typed-tables/migration.sql +23 -0
  980. package/migrations/drizzle-brain/20260413000001_t549-tiered-typed-memory/migration.sql +195 -0
  981. package/migrations/drizzle-nexus/20260412000001_t529-nexus-graph-tables/migration.sql +49 -0
  982. package/package.json +13 -12
  983. package/src/config.ts +7 -0
  984. package/src/hooks/handlers/__tests__/conduit-hooks.test.ts +356 -0
  985. package/src/hooks/handlers/conduit-hooks.ts +258 -0
  986. package/src/hooks/handlers/index.ts +13 -0
  987. package/src/hooks/handlers/intelligence-hooks.ts +80 -0
  988. package/src/hooks/handlers/session-hooks.ts +78 -0
  989. package/src/hooks/handlers/task-hooks.ts +14 -0
  990. package/src/hooks/handlers/watchdog-hooks.ts +187 -0
  991. package/src/injection.ts +41 -2
  992. package/src/internal.ts +39 -2
  993. package/src/memory/__tests__/auto-extract.test.ts +43 -114
  994. package/src/memory/__tests__/brain-automation.test.ts +16 -39
  995. package/src/memory/__tests__/brain-rrf.test.ts +431 -0
  996. package/src/memory/__tests__/llm-extraction.test.ts +342 -0
  997. package/src/memory/__tests__/observer-reflector.test.ts +475 -0
  998. package/src/memory/anthropic-key-resolver.ts +113 -0
  999. package/src/memory/auto-extract.ts +40 -72
  1000. package/src/memory/brain-consolidator.ts +344 -0
  1001. package/src/memory/brain-lifecycle.ts +636 -2
  1002. package/src/memory/brain-retrieval.ts +630 -18
  1003. package/src/memory/brain-search.ts +234 -132
  1004. package/src/memory/decisions.ts +21 -1
  1005. package/src/memory/engine-compat.ts +25 -15
  1006. package/src/memory/extraction-gate.ts +574 -0
  1007. package/src/memory/index.ts +6 -2
  1008. package/src/memory/learnings.ts +34 -1
  1009. package/src/memory/llm-extraction.ts +524 -0
  1010. package/src/memory/memory-bridge.ts +29 -12
  1011. package/src/memory/observer-reflector.ts +829 -0
  1012. package/src/memory/patterns.ts +30 -1
  1013. package/src/memory/quality-scoring.ts +93 -9
  1014. package/src/nexus/nexus-bridge.ts +444 -0
  1015. package/src/scaffold.ts +42 -0
  1016. package/src/stats/index.ts +11 -3
  1017. package/src/store/brain-schema.ts +282 -0
  1018. package/src/store/brain-sqlite.ts +55 -0
  1019. package/src/store/migration-manager.ts +83 -12
  1020. package/src/system/health.ts +17 -0
  1021. package/src/tasks/complete.ts +7 -10
  1022. package/src/tasks/graph-ops.ts +1 -0
  1023. package/src/tasks/task-ops.ts +1 -1
  1024. package/templates/CLEO-INJECTION.md +15 -0
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Intelligence Hook Handlers — Wave 5-D/E of T549
3
+ *
4
+ * Best-effort intelligence side-effects wired into task lifecycle events.
5
+ *
6
+ * On task start → calculate risk; if riskScore exceeds the HIGH threshold
7
+ * (≥ 0.8), store a warning observation so future agents see it.
8
+ *
9
+ * All handlers are fire-and-forget: failures MUST NOT propagate or block the
10
+ * operation that triggered them.
11
+ *
12
+ * @task T549
13
+ * @epic T549
14
+ */
15
+
16
+ import { hooks } from '../registry.js';
17
+ import type { PreToolUsePayload } from '../types.js';
18
+
19
+ // Risk thresholds — mirror RISK_THRESHOLDS in intelligence/prediction.ts
20
+ const RISK_HIGH = 0.8;
21
+
22
+ // ============================================================================
23
+ // Task Start — Risk Detection
24
+ // ============================================================================
25
+
26
+ /**
27
+ * Handle task start: calculate risk and store a warning observation if the
28
+ * riskScore is at or above the HIGH threshold (≥ 0.8).
29
+ *
30
+ * Uses deferred imports so this module can be imported in environments where
31
+ * not all transitive dependencies (brain.db, tasks.db) are present.
32
+ *
33
+ * Best-effort: any error is silently swallowed.
34
+ */
35
+ export async function handleTaskStartIntelligence(
36
+ projectRoot: string,
37
+ payload: PreToolUsePayload,
38
+ ): Promise<void> {
39
+ try {
40
+ // Deferred relative imports — avoids circular dependency issues and keeps
41
+ // this module loadable in environments where brain.db is not initialised.
42
+ const { getAccessor } = await import('../../store/data-accessor.js');
43
+ const { getBrainAccessor } = await import('../../store/brain-accessor.js');
44
+ const { calculateTaskRisk } = await import('../../intelligence/prediction.js');
45
+ const { observeBrain } = await import('../../memory/brain-retrieval.js');
46
+
47
+ const [accessor, brain] = await Promise.all([
48
+ getAccessor(projectRoot),
49
+ getBrainAccessor(projectRoot),
50
+ ]);
51
+
52
+ const risk = await calculateTaskRisk(payload.taskId, accessor, brain);
53
+
54
+ if (risk.riskScore >= RISK_HIGH) {
55
+ const level = risk.riskScore >= 0.95 ? 'critical' : 'high';
56
+ const factorNames = risk.factors.map((f) => f.name).join(', ');
57
+ await observeBrain(projectRoot, {
58
+ text: `Risk alert for ${payload.taskId} (score ${risk.riskScore.toFixed(2)}): ${factorNames}. ${risk.recommendation}`,
59
+ title: `Task risk: ${level} — ${payload.taskId}`,
60
+ type: 'discovery',
61
+ sourceType: 'agent',
62
+ });
63
+ }
64
+ } catch {
65
+ // Best-effort — never block task start
66
+ }
67
+ }
68
+
69
+ // ============================================================================
70
+ // Registration
71
+ // ============================================================================
72
+
73
+ hooks.register({
74
+ id: 'intelligence-task-start',
75
+ event: 'PreToolUse',
76
+ handler: handleTaskStartIntelligence,
77
+ // Priority 50: runs after brain-tool-start (100) so the task observation is
78
+ // already persisted before we assess risk.
79
+ priority: 50,
80
+ });
@@ -13,6 +13,10 @@
13
13
  * T527: Removed duplicate session observeBrain writes — session data already
14
14
  * lives in the sessions table; writing it again to brain_observations
15
15
  * was pure noise.
16
+ * T549 Wave 3-E: Fire-and-forget sleep-time consolidation on session end.
17
+ * Runs after backup (priority 5) so brain.db snapshot is captured first.
18
+ * T554: Fire-and-forget LLM reflector on session end. Runs at priority 4
19
+ * (after consolidation at priority 5) to synthesize final session knowledge.
16
20
  */
17
21
 
18
22
  import { hooks } from '../registry.js';
@@ -109,6 +113,61 @@ export async function handleSessionEndBackup(
109
113
  }
110
114
  }
111
115
 
116
+ /**
117
+ * Handle SessionEnd — fire-and-forget sleep-time memory consolidation.
118
+ *
119
+ * T549 Wave 3-E: Runs the full consolidation pipeline (dedup, quality recompute,
120
+ * tier promotion, contradiction detection, soft eviction, graph strengthening,
121
+ * summary generation) in the background after the session backup has completed.
122
+ *
123
+ * Uses setImmediate to yield control so the session end flow completes before
124
+ * consolidation begins. Consolidation errors are caught and logged to console.warn
125
+ * — they MUST NOT block session end or throw to callers.
126
+ *
127
+ * Priority 5 ensures this runs last (after backup at priority 10).
128
+ */
129
+ export async function handleSessionEndConsolidation(
130
+ projectRoot: string,
131
+ _payload: SessionEndPayload,
132
+ ): Promise<void> {
133
+ // Schedule consolidation to run after the current event loop turn.
134
+ // This ensures the session end response reaches the caller before
135
+ // consolidation begins, matching the "sleep-time compute" pattern.
136
+ setImmediate(async () => {
137
+ try {
138
+ const { runConsolidation } = await import('../../memory/brain-lifecycle.js');
139
+ await runConsolidation(projectRoot);
140
+ } catch (err) {
141
+ console.warn('[consolidation] Session-end consolidation failed:', err);
142
+ }
143
+ });
144
+ }
145
+
146
+ /**
147
+ * Handle SessionEnd — fire-and-forget LLM reflector synthesis.
148
+ *
149
+ * T554: Runs the Reflector after the consolidation pass (priority 5) to
150
+ * synthesize session observations into durable patterns and learnings.
151
+ *
152
+ * Uses setImmediate to yield control before the LLM call. Errors are caught
153
+ * and logged — they MUST NOT block session end or throw to callers.
154
+ *
155
+ * Priority 4 ensures this runs after consolidation (priority 5).
156
+ */
157
+ export async function handleSessionEndReflector(
158
+ projectRoot: string,
159
+ payload: SessionEndPayload,
160
+ ): Promise<void> {
161
+ setImmediate(async () => {
162
+ try {
163
+ const { runReflector } = await import('../../memory/observer-reflector.js');
164
+ await runReflector(projectRoot, payload.sessionId);
165
+ } catch (err) {
166
+ console.warn('[reflector] Session-end reflector failed:', err);
167
+ }
168
+ });
169
+ }
170
+
112
171
  // Register handlers on module load
113
172
  hooks.register({
114
173
  id: 'brain-session-start',
@@ -133,3 +192,22 @@ hooks.register({
133
192
  handler: handleSessionEndBackup,
134
193
  priority: 10,
135
194
  });
195
+
196
+ // Priority 5 runs AFTER backup (priority 10) — consolidation is purely
197
+ // additive and should not delay the backup point-in-time snapshot.
198
+ hooks.register({
199
+ id: 'consolidation-session-end',
200
+ event: 'SessionEnd',
201
+ handler: handleSessionEndConsolidation,
202
+ priority: 5,
203
+ });
204
+
205
+ // Priority 4 runs AFTER consolidation (priority 5) — reflector synthesizes
206
+ // the final session knowledge using observations that consolidation may have
207
+ // updated (tier promotions, dedup).
208
+ hooks.register({
209
+ id: 'reflector-session-end',
210
+ event: 'SessionEnd',
211
+ handler: handleSessionEndReflector,
212
+ priority: 4,
213
+ });
@@ -5,6 +5,7 @@
5
5
  * Auto-registers on module load.
6
6
  *
7
7
  * T138: Triggers memory bridge refresh after task completion.
8
+ * T554: Triggers LLM observer after task completion when observation count ≥ threshold.
8
9
  */
9
10
 
10
11
  import { hooks } from '../registry.js';
@@ -37,6 +38,7 @@ export async function handleToolStart(
37
38
  * Handle PostToolUse (maps to task.complete in CLEO, canonical: was onToolComplete)
38
39
  *
39
40
  * T138: Refresh memory bridge after task completion.
41
+ * T554: Fire-and-forget LLM observer when observation count ≥ threshold.
40
42
  */
41
43
  export async function handleToolComplete(
42
44
  projectRoot: string,
@@ -55,6 +57,18 @@ export async function handleToolComplete(
55
57
  if (!isMissingBrainSchemaError(err)) throw err;
56
58
  }
57
59
 
60
+ // T554: Fire-and-forget observer — runs after observation is stored so the
61
+ // new observation is included in the count. setImmediate ensures the task
62
+ // complete response reaches the caller before the LLM call begins.
63
+ setImmediate(async () => {
64
+ try {
65
+ const { runObserver } = await import('../../memory/observer-reflector.js');
66
+ await runObserver(projectRoot);
67
+ } catch {
68
+ // Observer errors must never surface to the task complete flow
69
+ }
70
+ });
71
+
58
72
  // T138: Refresh memory bridge after task completes (best-effort)
59
73
  await maybeRefreshMemoryBridge(projectRoot);
60
74
  }
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Watchdog Scheduler Hook Handlers
3
+ *
4
+ * Starts a periodic health-check timer when a session begins and stops it when
5
+ * the session ends. One watchdog per project root, enforced by a module-level
6
+ * Map keyed on the resolved project root.
7
+ *
8
+ * Each 60-second tick:
9
+ * 1. Detects agents with a stale heartbeat (> STALE_THRESHOLD_MS)
10
+ * 2. Records each crash as a learning event in brain.db
11
+ * 3. Attempts recovery (status reset to 'starting') for all crashed agents
12
+ * 4. Fires the `onPatrol` hook for observability
13
+ *
14
+ * Best-effort contract: the watchdog NEVER crashes or throws. Any tick failure
15
+ * is swallowed so the timer continues. Any error in the start/stop handlers is
16
+ * also swallowed so it never blocks session operations.
17
+ *
18
+ * Gated behind `brain.autoCapture` config — the watchdog does NOT start unless
19
+ * auto-capture is enabled.
20
+ *
21
+ * Auto-registers on module load.
22
+ *
23
+ * @task T549
24
+ * @epic T5149
25
+ */
26
+
27
+ import { hooks } from '../registry.js';
28
+ import type { OnPatrolPayload, SessionEndPayload, SessionStartPayload } from '../types.js';
29
+ import { isAutoCaptureEnabled, isMissingBrainSchemaError } from './handler-helpers.js';
30
+
31
+ // ---------------------------------------------------------------------------
32
+ // Module-level watchdog state
33
+ // ---------------------------------------------------------------------------
34
+
35
+ /** One active timer per project root (resolved path). */
36
+ const activeWatchdogs = new Map<string, ReturnType<typeof setInterval>>();
37
+
38
+ /** Interval between watchdog ticks in milliseconds. */
39
+ const WATCHDOG_INTERVAL_MS = 60_000;
40
+
41
+ // ---------------------------------------------------------------------------
42
+ // Watchdog tick
43
+ // ---------------------------------------------------------------------------
44
+
45
+ /**
46
+ * Execute one watchdog patrol tick.
47
+ *
48
+ * Steps:
49
+ * 1. detectCrashedAgents — find and mark stale agents as 'crashed'
50
+ * 2. processAgentLifecycleEvent — write failure events to brain.db for each
51
+ * 3. recoverCrashedAgents — reset crashed agents to 'starting'
52
+ * 4. hooks.dispatch('onPatrol') — emit observability event
53
+ *
54
+ * Any thrown error is caught and logged as a warning; the timer continues.
55
+ *
56
+ * @param projectRoot - Absolute path to the project root directory.
57
+ */
58
+ async function runWatchdogTick(projectRoot: string): Promise<void> {
59
+ try {
60
+ const { detectCrashedAgents, STALE_THRESHOLD_MS } = await import(
61
+ '../../agents/health-monitor.js'
62
+ );
63
+ const { recoverCrashedAgents } = await import('../../agents/retry.js');
64
+ const { processAgentLifecycleEvent } = await import('../../agents/execution-learning.js');
65
+
66
+ // Step 1: Detect and mark crashed agents
67
+ const crashed = await detectCrashedAgents(STALE_THRESHOLD_MS, projectRoot);
68
+
69
+ // Step 2: Record each crash as a brain learning event
70
+ for (const agent of crashed) {
71
+ try {
72
+ await processAgentLifecycleEvent(
73
+ {
74
+ agentId: agent.id,
75
+ agentType:
76
+ (agent.agentType as import('../../agents/agent-schema.js').AgentType) ?? 'custom',
77
+ taskId: agent.taskId ?? 'unknown',
78
+ taskType: 'unknown',
79
+ outcome: 'failure',
80
+ errorMessage: 'Heartbeat timeout — agent presumed crashed',
81
+ errorType: 'retriable',
82
+ sessionId: agent.sessionId ?? undefined,
83
+ },
84
+ projectRoot,
85
+ );
86
+ } catch (err) {
87
+ if (!isMissingBrainSchemaError(err)) {
88
+ console.warn('[watchdog] Failed to record agent crash event:', err);
89
+ }
90
+ }
91
+ }
92
+
93
+ // Step 3: Attempt recovery for all crashed agents
94
+ if (crashed.length > 0) {
95
+ await recoverCrashedAgents(STALE_THRESHOLD_MS, projectRoot);
96
+ }
97
+
98
+ // Step 4: Fire onPatrol for observability
99
+ const patrolPayload: OnPatrolPayload = {
100
+ timestamp: new Date().toISOString(),
101
+ watcherId: 'health-watchdog',
102
+ patrolType: 'health',
103
+ scope: `crashed=${crashed.length}`,
104
+ };
105
+ await hooks.dispatch('onPatrol', projectRoot, patrolPayload);
106
+ } catch (err) {
107
+ // Best-effort — never crash the watchdog timer
108
+ console.warn('[watchdog] Tick failed:', err);
109
+ }
110
+ }
111
+
112
+ // ---------------------------------------------------------------------------
113
+ // Lifecycle handlers
114
+ // ---------------------------------------------------------------------------
115
+
116
+ /**
117
+ * Handle SessionStart — start the watchdog timer for this project root.
118
+ *
119
+ * Idempotent: if a watchdog is already running for this root (e.g. a second
120
+ * session in the same process), the existing timer is reused.
121
+ *
122
+ * Gated behind `brain.autoCapture` — watchdog does not start unless auto-capture
123
+ * is enabled. This aligns with all other brain-capture hooks.
124
+ *
125
+ * @param projectRoot - Absolute path to the project root directory.
126
+ * @param _payload - SessionStart payload (unused).
127
+ */
128
+ export async function handleWatchdogStart(
129
+ projectRoot: string,
130
+ _payload: SessionStartPayload,
131
+ ): Promise<void> {
132
+ try {
133
+ if (!(await isAutoCaptureEnabled(projectRoot))) return;
134
+
135
+ // Idempotency guard — one watchdog per project root
136
+ if (activeWatchdogs.has(projectRoot)) return;
137
+
138
+ const timer = setInterval(() => {
139
+ void runWatchdogTick(projectRoot);
140
+ }, WATCHDOG_INTERVAL_MS);
141
+
142
+ activeWatchdogs.set(projectRoot, timer);
143
+ } catch {
144
+ // Never block session start on watchdog errors
145
+ }
146
+ }
147
+
148
+ /**
149
+ * Handle SessionEnd — stop the watchdog timer for this project root.
150
+ *
151
+ * Safe to call when no watchdog is running (no-op).
152
+ *
153
+ * @param projectRoot - Absolute path to the project root directory.
154
+ * @param _payload - SessionEnd payload (unused).
155
+ */
156
+ export async function handleWatchdogStop(
157
+ projectRoot: string,
158
+ _payload: SessionEndPayload,
159
+ ): Promise<void> {
160
+ try {
161
+ const timer = activeWatchdogs.get(projectRoot);
162
+ if (timer) {
163
+ clearInterval(timer);
164
+ activeWatchdogs.delete(projectRoot);
165
+ }
166
+ } catch {
167
+ // Never block session end on watchdog errors
168
+ }
169
+ }
170
+
171
+ // ---------------------------------------------------------------------------
172
+ // Auto-registration
173
+ // ---------------------------------------------------------------------------
174
+
175
+ hooks.register({
176
+ id: 'watchdog-session-start',
177
+ event: 'SessionStart',
178
+ handler: handleWatchdogStart,
179
+ priority: 50,
180
+ });
181
+
182
+ hooks.register({
183
+ id: 'watchdog-session-end',
184
+ event: 'SessionEnd',
185
+ handler: handleWatchdogStop,
186
+ priority: 50,
187
+ });
package/src/injection.ts CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { execFileSync } from 'node:child_process';
18
18
  import { existsSync, readFileSync } from 'node:fs';
19
- import { mkdir, rm, writeFile } from 'node:fs/promises';
19
+ import { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
20
20
  import { homedir } from 'node:os';
21
21
  import { basename, join } from 'node:path';
22
22
  import { getAgentsHome, getCleoHome, getCleoTemplatesTildePath } from './paths.js';
@@ -68,6 +68,32 @@ async function removeStaleAgentInjection(projectRoot: string): Promise<boolean>
68
68
  return true;
69
69
  }
70
70
 
71
+ /**
72
+ * Strip hardcoded `<!-- gitnexus:start -->...<!-- gitnexus:end -->` blocks
73
+ * from AGENTS.md. These blocks are replaced by the `@.cleo/nexus-bridge.md`
74
+ * reference which contains auto-generated code intelligence content (T552).
75
+ *
76
+ * Also strips any other known vendor marker blocks using the same pattern
77
+ * (e.g. `<!-- gitnexus:start -->...<!-- gitnexus:end -->`).
78
+ *
79
+ * @param filePath - Absolute path to the file to strip
80
+ * @returns True if the file was modified, false otherwise
81
+ */
82
+ export async function stripGitNexusBlocks(filePath: string): Promise<boolean> {
83
+ if (!existsSync(filePath)) return false;
84
+ const content = await readFile(filePath, 'utf8');
85
+ // Strip <!-- gitnexus:start --> ... <!-- gitnexus:end --> blocks (case-insensitive markers)
86
+ const stripped = content.replace(
87
+ /\n?<!--\s*gitnexus:start\s*-->[\s\S]*?<!--\s*gitnexus:end\s*-->\n?/gi,
88
+ '',
89
+ );
90
+ if (stripped !== content) {
91
+ await writeFile(filePath, stripped, 'utf8');
92
+ return true;
93
+ }
94
+ return false;
95
+ }
96
+
71
97
  // ── Ensure injection ─────────────────────────────────────────────────
72
98
 
73
99
  /**
@@ -78,7 +104,7 @@ async function removeStaleAgentInjection(projectRoot: string): Promise<boolean>
78
104
  *
79
105
  * Target architecture:
80
106
  * CLAUDE.md/GEMINI.md -> @AGENTS.md (via injectAll)
81
- * AGENTS.md -> @~/.agents/AGENTS.md + @.cleo/project-context.json + @.cleo/memory-bridge.md
107
+ * AGENTS.md -> @~/.agents/AGENTS.md + @.cleo/project-context.json + @.cleo/memory-bridge.md + @.cleo/nexus-bridge.md
82
108
  *
83
109
  * @task T4682
84
110
  */
@@ -114,6 +140,13 @@ export async function ensureInjection(projectRoot: string): Promise<ScaffoldResu
114
140
  actions.push('removed deprecated AGENT-INJECTION.md');
115
141
  }
116
142
 
143
+ // Step 0b: Strip hardcoded gitnexus blocks from AGENTS.md (T552)
144
+ // These are replaced by the @.cleo/nexus-bridge.md reference.
145
+ const removedGitNexus = await stripGitNexusBlocks(join(projectRoot, 'AGENTS.md'));
146
+ if (removedGitNexus) {
147
+ actions.push('removed hardcoded gitnexus block from AGENTS.md');
148
+ }
149
+
117
150
  // Step 1: Inject @AGENTS.md into all provider instruction files
118
151
  const injectionContent = buildInjectionContent({ references: ['@AGENTS.md'] });
119
152
  const results = await injectAll(providers, projectRoot, 'project', injectionContent);
@@ -140,6 +173,12 @@ export async function ensureInjection(projectRoot: string): Promise<ScaffoldResu
140
173
  agentsMdLines.push('@.cleo/memory-bridge.md');
141
174
  }
142
175
 
176
+ // Nexus bridge: auto-generated code intelligence summary (T552)
177
+ const nexusBridgePath = join(projectRoot, '.cleo', 'nexus-bridge.md');
178
+ if (existsSync(nexusBridgePath)) {
179
+ agentsMdLines.push('@.cleo/nexus-bridge.md');
180
+ }
181
+
143
182
  // Contributor project warning (ADR-029): inject dev-channel guidance when
144
183
  // this project IS the CLEO source repo, so agents use cleo-dev not @latest.
145
184
  const contributorBlock = buildContributorInjectionBlock(projectRoot);
package/src/internal.ts CHANGED
@@ -75,6 +75,19 @@ export type { HookEvent, ProviderHookEvent } from './hooks/provider-hooks.js';
75
75
  export { isProviderHookEvent } from './hooks/types.js';
76
76
  // Init (additional)
77
77
  export { isAutoInitEnabled } from './init.js';
78
+ export type {
79
+ AdaptiveValidationSuggestion,
80
+ GateFocusRecommendation,
81
+ StorePredictionOptions,
82
+ VerificationConfidenceScore,
83
+ } from './intelligence/adaptive-validation.js';
84
+ // Intelligence — adaptive validation (suggestGateFocus, scoreVerificationConfidence)
85
+ export {
86
+ predictAndStore,
87
+ scoreVerificationConfidence,
88
+ storePrediction,
89
+ suggestGateFocus,
90
+ } from './intelligence/adaptive-validation.js';
78
91
  export {
79
92
  analyzeChangeImpact,
80
93
  analyzeTaskImpact,
@@ -173,10 +186,13 @@ export { runBrainMaintenance } from './memory/brain-maintenance.js';
173
186
  export type { PurgeResult } from './memory/brain-purge.js';
174
187
  export { purgeBrainNoise } from './memory/brain-purge.js';
175
188
  export type {
189
+ BudgetedEntry,
190
+ BudgetedResult,
191
+ BudgetedRetrievalOptions,
176
192
  PopulateEmbeddingsOptions,
177
193
  PopulateEmbeddingsResult,
178
194
  } from './memory/brain-retrieval.js';
179
- export { populateEmbeddings } from './memory/brain-retrieval.js';
195
+ export { populateEmbeddings, retrieveWithBudget } from './memory/brain-retrieval.js';
180
196
  export { migrateClaudeMem } from './memory/claude-mem-migration.js';
181
197
  // Memory — engine-compat
182
198
  export {
@@ -437,6 +453,9 @@ export { createBackup, listBackups, restoreFromBackup } from './store/backup.js'
437
453
  // Backup portability — bundle packer (T311 / T347)
438
454
  export type { PackBundleInput, PackBundleResult } from './store/backup-pack.js';
439
455
  export { packBundle } from './store/backup-pack.js';
456
+ export type { BrainDataAccessor } from './store/brain-accessor.js';
457
+ // Brain accessor — for intelligence domain handler construction
458
+ export { getBrainAccessor } from './store/brain-accessor.js';
440
459
  export { getBrainDb, getBrainNativeDb } from './store/brain-sqlite.js';
441
460
  export type { LegacyCleanupResult, StrayNexusCleanupResult } from './store/cleanup-legacy.js';
442
461
  export {
@@ -866,8 +885,20 @@ export type {
866
885
  BrainSearchHit,
867
886
  BrainTimelineNeighborRow,
868
887
  } from './memory/brain-row-types.js';
888
+ // Memory — LLM extraction gate (additional)
889
+ export type {
890
+ ExtractedMemory,
891
+ ExtractFromTranscriptOptions,
892
+ ExtractionReport,
893
+ ExtractionType,
894
+ } from './memory/llm-extraction.js';
895
+ export { extractFromTranscript as llmExtractFromTranscript } from './memory/llm-extraction.js';
869
896
  // Memory (additional)
870
- export { generateContextAwareContent, writeMemoryBridge } from './memory/memory-bridge.js';
897
+ export {
898
+ generateContextAwareContent,
899
+ refreshMemoryBridge,
900
+ writeMemoryBridge,
901
+ } from './memory/memory-bridge.js';
871
902
  export type { SessionMemoryContext } from './memory/session-memory.js';
872
903
  export {
873
904
  buildSummarizationPrompt,
@@ -881,6 +912,12 @@ export {
881
912
  discoverRelated as nexusDiscoverRelated,
882
913
  searchAcrossProjects as nexusSearchAcrossProjects,
883
914
  } from './nexus/discover.js';
915
+ // Nexus — bridge (code intelligence summary for agents)
916
+ export {
917
+ generateNexusBridgeContent,
918
+ refreshNexusBridge,
919
+ writeNexusBridge,
920
+ } from './nexus/nexus-bridge.js';
884
921
  // Nexus — readRegistry (exported as nexusReadRegistry to avoid name clash with skills readRegistry)
885
922
  export { readRegistry as nexusReadRegistry } from './nexus/registry.js';
886
923
  // Nexus — transfer