@cleocode/core 2026.3.56 → 2026.3.58

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 (893) 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 +188 -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-schema.d.ts.map +1 -1
  40. package/dist/agents/agent-schema.js +80 -0
  41. package/dist/agents/agent-schema.js.map +1 -0
  42. package/dist/agents/capacity.js +116 -0
  43. package/dist/agents/capacity.js.map +1 -0
  44. package/dist/agents/execution-learning.d.ts +223 -0
  45. package/dist/agents/execution-learning.d.ts.map +1 -0
  46. package/dist/agents/index.d.ts +1 -0
  47. package/dist/agents/index.d.ts.map +1 -1
  48. package/dist/agents/index.js +21 -0
  49. package/dist/agents/index.js.map +1 -0
  50. package/dist/agents/registry.js +314 -0
  51. package/dist/agents/registry.js.map +1 -0
  52. package/dist/agents/retry.js +176 -0
  53. package/dist/agents/retry.js.map +1 -0
  54. package/dist/audit-prune.js +94 -0
  55. package/dist/audit-prune.js.map +1 -0
  56. package/dist/audit.js +68 -0
  57. package/dist/audit.js.map +1 -0
  58. package/dist/backfill/index.d.ts +56 -0
  59. package/dist/backfill/index.d.ts.map +1 -0
  60. package/dist/bootstrap.d.ts +1 -1
  61. package/dist/bootstrap.js +260 -0
  62. package/dist/bootstrap.js.map +1 -0
  63. package/dist/caamp/adapter.js +434 -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 +23 -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 +267 -0
  72. package/dist/cleo.js.map +1 -0
  73. package/dist/codebase-map/analyzers/architecture.js +130 -0
  74. package/dist/codebase-map/analyzers/architecture.js.map +1 -0
  75. package/dist/codebase-map/analyzers/concerns.js +122 -0
  76. package/dist/codebase-map/analyzers/concerns.js.map +1 -0
  77. package/dist/codebase-map/analyzers/conventions.js +149 -0
  78. package/dist/codebase-map/analyzers/conventions.js.map +1 -0
  79. package/dist/codebase-map/analyzers/integrations.js +108 -0
  80. package/dist/codebase-map/analyzers/integrations.js.map +1 -0
  81. package/dist/codebase-map/analyzers/stack.js +117 -0
  82. package/dist/codebase-map/analyzers/stack.js.map +1 -0
  83. package/dist/codebase-map/analyzers/structure.js +137 -0
  84. package/dist/codebase-map/analyzers/structure.js.map +1 -0
  85. package/dist/codebase-map/analyzers/testing.js +118 -0
  86. package/dist/codebase-map/analyzers/testing.js.map +1 -0
  87. package/dist/codebase-map/index.js +57 -0
  88. package/dist/codebase-map/index.js.map +1 -0
  89. package/dist/codebase-map/store.js +122 -0
  90. package/dist/codebase-map/store.js.map +1 -0
  91. package/dist/codebase-map/summary.js +152 -0
  92. package/dist/codebase-map/summary.js.map +1 -0
  93. package/dist/compliance/index.js +288 -0
  94. package/dist/compliance/index.js.map +1 -0
  95. package/dist/compliance/protocol-enforcement.js +332 -0
  96. package/dist/compliance/protocol-enforcement.js.map +1 -0
  97. package/dist/compliance/protocol-rules.js +786 -0
  98. package/dist/compliance/protocol-rules.js.map +1 -0
  99. package/dist/compliance/protocol-types.js +80 -0
  100. package/dist/compliance/protocol-types.js.map +1 -0
  101. package/dist/compliance/store.js +53 -0
  102. package/dist/compliance/store.js.map +1 -0
  103. package/dist/config/build-config.js +29 -0
  104. package/dist/config/build-config.js.map +1 -0
  105. package/dist/config.d.ts +47 -0
  106. package/dist/config.d.ts.map +1 -1
  107. package/dist/config.js +287 -0
  108. package/dist/config.js.map +1 -0
  109. package/dist/constants.js +18 -0
  110. package/dist/constants.js.map +1 -0
  111. package/dist/context/index.js +137 -0
  112. package/dist/context/index.js.map +1 -0
  113. package/dist/engine-result.js +12 -0
  114. package/dist/engine-result.js.map +1 -0
  115. package/dist/error-catalog.js +404 -0
  116. package/dist/error-catalog.js.map +1 -0
  117. package/dist/error-registry.js +393 -0
  118. package/dist/error-registry.js.map +1 -0
  119. package/dist/errors.js +167 -0
  120. package/dist/errors.js.map +1 -0
  121. package/dist/hooks/handlers/error-hooks.js +43 -0
  122. package/dist/hooks/handlers/error-hooks.js.map +1 -0
  123. package/dist/hooks/handlers/file-hooks.js +80 -0
  124. package/dist/hooks/handlers/file-hooks.js.map +1 -0
  125. package/dist/hooks/handlers/index.js +19 -0
  126. package/dist/hooks/handlers/index.js.map +1 -0
  127. package/dist/hooks/handlers/mcp-hooks.js +80 -0
  128. package/dist/hooks/handlers/mcp-hooks.js.map +1 -0
  129. package/dist/hooks/handlers/session-hooks.js +73 -0
  130. package/dist/hooks/handlers/session-hooks.js.map +1 -0
  131. package/dist/hooks/handlers/task-hooks.js +63 -0
  132. package/dist/hooks/handlers/task-hooks.js.map +1 -0
  133. package/dist/hooks/index.js +13 -0
  134. package/dist/hooks/index.js.map +1 -0
  135. package/dist/hooks/payload-schemas.js +163 -0
  136. package/dist/hooks/payload-schemas.js.map +1 -0
  137. package/dist/hooks/provider-hooks.js +34 -0
  138. package/dist/hooks/provider-hooks.js.map +1 -0
  139. package/dist/hooks/registry.js +176 -0
  140. package/dist/hooks/registry.js.map +1 -0
  141. package/dist/hooks/types.js +62 -0
  142. package/dist/hooks/types.js.map +1 -0
  143. package/dist/hooks.js +136 -0
  144. package/dist/hooks.js.map +1 -0
  145. package/dist/index.d.ts +1 -1
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +6567 -5024
  148. package/dist/index.js.map +4 -4
  149. package/dist/init.js +711 -0
  150. package/dist/init.js.map +1 -0
  151. package/dist/inject/index.js +82 -0
  152. package/dist/inject/index.js.map +1 -0
  153. package/dist/injection.js +343 -0
  154. package/dist/injection.js.map +1 -0
  155. package/dist/intelligence/adaptive-validation.d.ts +151 -0
  156. package/dist/intelligence/adaptive-validation.d.ts.map +1 -0
  157. package/dist/intelligence/impact.js +499 -0
  158. package/dist/intelligence/impact.js.map +1 -0
  159. package/dist/intelligence/index.d.ts +5 -0
  160. package/dist/intelligence/index.d.ts.map +1 -1
  161. package/dist/intelligence/index.js +17 -0
  162. package/dist/intelligence/index.js.map +1 -0
  163. package/dist/intelligence/patterns.js +492 -0
  164. package/dist/intelligence/patterns.js.map +1 -0
  165. package/dist/intelligence/prediction.js +499 -0
  166. package/dist/intelligence/prediction.js.map +1 -0
  167. package/dist/intelligence/types.js +13 -0
  168. package/dist/intelligence/types.js.map +1 -0
  169. package/dist/internal.d.ts +5 -2
  170. package/dist/internal.d.ts.map +1 -1
  171. package/dist/internal.js +258 -0
  172. package/dist/internal.js.map +1 -0
  173. package/dist/issue/create.js +121 -0
  174. package/dist/issue/create.js.map +1 -0
  175. package/dist/issue/diagnostics.js +59 -0
  176. package/dist/issue/diagnostics.js.map +1 -0
  177. package/dist/issue/index.js +10 -0
  178. package/dist/issue/index.js.map +1 -0
  179. package/dist/issue/template-parser.js +267 -0
  180. package/dist/issue/template-parser.js.map +1 -0
  181. package/dist/json-schema-validator.js +76 -0
  182. package/dist/json-schema-validator.js.map +1 -0
  183. package/dist/lifecycle/chain-composition.js +152 -0
  184. package/dist/lifecycle/chain-composition.js.map +1 -0
  185. package/dist/lifecycle/chain-store.js +246 -0
  186. package/dist/lifecycle/chain-store.js.map +1 -0
  187. package/dist/lifecycle/consolidate-rcasd.js +352 -0
  188. package/dist/lifecycle/consolidate-rcasd.js.map +1 -0
  189. package/dist/lifecycle/default-chain.js +167 -0
  190. package/dist/lifecycle/default-chain.js.map +1 -0
  191. package/dist/lifecycle/evidence.js +180 -0
  192. package/dist/lifecycle/evidence.js.map +1 -0
  193. package/dist/lifecycle/frontmatter.js +363 -0
  194. package/dist/lifecycle/frontmatter.js.map +1 -0
  195. package/dist/lifecycle/index.js +753 -0
  196. package/dist/lifecycle/index.js.map +1 -0
  197. package/dist/lifecycle/pipeline.js +656 -0
  198. package/dist/lifecycle/pipeline.js.map +1 -0
  199. package/dist/lifecycle/rcasd-index.js +326 -0
  200. package/dist/lifecycle/rcasd-index.js.map +1 -0
  201. package/dist/lifecycle/rcasd-paths.js +220 -0
  202. package/dist/lifecycle/rcasd-paths.js.map +1 -0
  203. package/dist/lifecycle/resume.js +864 -0
  204. package/dist/lifecycle/resume.js.map +1 -0
  205. package/dist/lifecycle/stage-artifacts.js +94 -0
  206. package/dist/lifecycle/stage-artifacts.js.map +1 -0
  207. package/dist/lifecycle/stages.js +534 -0
  208. package/dist/lifecycle/stages.js.map +1 -0
  209. package/dist/lifecycle/state-machine.js +516 -0
  210. package/dist/lifecycle/state-machine.js.map +1 -0
  211. package/dist/lifecycle/tessera-engine.js +249 -0
  212. package/dist/lifecycle/tessera-engine.js.map +1 -0
  213. package/dist/logger.js +140 -0
  214. package/dist/logger.js.map +1 -0
  215. package/dist/mcp/index.js +146 -0
  216. package/dist/mcp/index.js.map +1 -0
  217. package/dist/memory/auto-extract.js +143 -0
  218. package/dist/memory/auto-extract.js.map +1 -0
  219. package/dist/memory/brain-embedding.js +49 -0
  220. package/dist/memory/brain-embedding.js.map +1 -0
  221. package/dist/memory/brain-lifecycle.js +298 -0
  222. package/dist/memory/brain-lifecycle.js.map +1 -0
  223. package/dist/memory/brain-links.js +148 -0
  224. package/dist/memory/brain-links.js.map +1 -0
  225. package/dist/memory/brain-migration.js +149 -0
  226. package/dist/memory/brain-migration.js.map +1 -0
  227. package/dist/memory/brain-reasoning.js +215 -0
  228. package/dist/memory/brain-reasoning.js.map +1 -0
  229. package/dist/memory/brain-retrieval.js +474 -0
  230. package/dist/memory/brain-retrieval.js.map +1 -0
  231. package/dist/memory/brain-row-types.js +10 -0
  232. package/dist/memory/brain-row-types.js.map +1 -0
  233. package/dist/memory/brain-search.js +519 -0
  234. package/dist/memory/brain-search.js.map +1 -0
  235. package/dist/memory/brain-similarity.js +145 -0
  236. package/dist/memory/brain-similarity.js.map +1 -0
  237. package/dist/memory/claude-mem-migration.js +277 -0
  238. package/dist/memory/claude-mem-migration.js.map +1 -0
  239. package/dist/memory/decisions.js +148 -0
  240. package/dist/memory/decisions.js.map +1 -0
  241. package/dist/memory/engine-compat.js +1030 -0
  242. package/dist/memory/engine-compat.js.map +1 -0
  243. package/dist/memory/index.js +773 -0
  244. package/dist/memory/index.js.map +1 -0
  245. package/dist/memory/learnings.js +121 -0
  246. package/dist/memory/learnings.js.map +1 -0
  247. package/dist/memory/memory-bridge.js +289 -0
  248. package/dist/memory/memory-bridge.js.map +1 -0
  249. package/dist/memory/patterns.js +122 -0
  250. package/dist/memory/patterns.js.map +1 -0
  251. package/dist/memory/pipeline-manifest-sqlite.js +975 -0
  252. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -0
  253. package/dist/memory/session-memory.js +226 -0
  254. package/dist/memory/session-memory.js.map +1 -0
  255. package/dist/metrics/ab-test.js +260 -0
  256. package/dist/metrics/ab-test.js.map +1 -0
  257. package/dist/metrics/aggregation.js +363 -0
  258. package/dist/metrics/aggregation.js.map +1 -0
  259. package/dist/metrics/common.js +64 -0
  260. package/dist/metrics/common.js.map +1 -0
  261. package/dist/metrics/enums.js +78 -0
  262. package/dist/metrics/enums.js.map +1 -0
  263. package/dist/metrics/index.js +19 -0
  264. package/dist/metrics/index.js.map +1 -0
  265. package/dist/metrics/model-provider-registry.js +88 -0
  266. package/dist/metrics/model-provider-registry.js.map +1 -0
  267. package/dist/metrics/otel-integration.js +263 -0
  268. package/dist/metrics/otel-integration.js.map +1 -0
  269. package/dist/metrics/provider-detection.js +103 -0
  270. package/dist/metrics/provider-detection.js.map +1 -0
  271. package/dist/metrics/token-estimation.js +253 -0
  272. package/dist/metrics/token-estimation.js.map +1 -0
  273. package/dist/metrics/token-service.js +450 -0
  274. package/dist/metrics/token-service.js.map +1 -0
  275. package/dist/migration/agent-outputs.js +316 -0
  276. package/dist/migration/agent-outputs.js.map +1 -0
  277. package/dist/migration/checksum.js +92 -0
  278. package/dist/migration/checksum.js.map +1 -0
  279. package/dist/migration/index.js +282 -0
  280. package/dist/migration/index.js.map +1 -0
  281. package/dist/migration/logger.js +360 -0
  282. package/dist/migration/logger.js.map +1 -0
  283. package/dist/migration/preflight.js +9 -0
  284. package/dist/migration/preflight.js.map +1 -0
  285. package/dist/migration/state.js +421 -0
  286. package/dist/migration/state.js.map +1 -0
  287. package/dist/migration/validate.js +241 -0
  288. package/dist/migration/validate.js.map +1 -0
  289. package/dist/nexus/deps.js +375 -0
  290. package/dist/nexus/deps.js.map +1 -0
  291. package/dist/nexus/discover.js +288 -0
  292. package/dist/nexus/discover.js.map +1 -0
  293. package/dist/nexus/hash.js +10 -0
  294. package/dist/nexus/hash.js.map +1 -0
  295. package/dist/nexus/index.js +38 -0
  296. package/dist/nexus/index.js.map +1 -0
  297. package/dist/nexus/migrate-json-to-sqlite.js +115 -0
  298. package/dist/nexus/migrate-json-to-sqlite.js.map +1 -0
  299. package/dist/nexus/permissions.js +105 -0
  300. package/dist/nexus/permissions.js.map +1 -0
  301. package/dist/nexus/query.js +175 -0
  302. package/dist/nexus/query.js.map +1 -0
  303. package/dist/nexus/registry.js +584 -0
  304. package/dist/nexus/registry.js.map +1 -0
  305. package/dist/nexus/sharing/index.js +179 -0
  306. package/dist/nexus/sharing/index.js.map +1 -0
  307. package/dist/nexus/transfer-types.js +8 -0
  308. package/dist/nexus/transfer-types.js.map +1 -0
  309. package/dist/nexus/transfer.js +263 -0
  310. package/dist/nexus/transfer.js.map +1 -0
  311. package/dist/observability/index.js +103 -0
  312. package/dist/observability/index.js.map +1 -0
  313. package/dist/observability/log-filter.js +63 -0
  314. package/dist/observability/log-filter.js.map +1 -0
  315. package/dist/observability/log-parser.js +99 -0
  316. package/dist/observability/log-parser.js.map +1 -0
  317. package/dist/observability/log-reader.js +139 -0
  318. package/dist/observability/log-reader.js.map +1 -0
  319. package/dist/observability/types.js +19 -0
  320. package/dist/observability/types.js.map +1 -0
  321. package/dist/orchestration/analyze.js +107 -0
  322. package/dist/orchestration/analyze.js.map +1 -0
  323. package/dist/orchestration/bootstrap.js +132 -0
  324. package/dist/orchestration/bootstrap.js.map +1 -0
  325. package/dist/orchestration/context.js +56 -0
  326. package/dist/orchestration/context.js.map +1 -0
  327. package/dist/orchestration/critical-path.js +100 -0
  328. package/dist/orchestration/critical-path.js.map +1 -0
  329. package/dist/orchestration/index.js +286 -0
  330. package/dist/orchestration/index.js.map +1 -0
  331. package/dist/orchestration/parallel.js +89 -0
  332. package/dist/orchestration/parallel.js.map +1 -0
  333. package/dist/orchestration/protocol-validators.js +524 -0
  334. package/dist/orchestration/protocol-validators.js.map +1 -0
  335. package/dist/orchestration/skill-ops.js +98 -0
  336. package/dist/orchestration/skill-ops.js.map +1 -0
  337. package/dist/orchestration/status.js +107 -0
  338. package/dist/orchestration/status.js.map +1 -0
  339. package/dist/orchestration/unblock.js +103 -0
  340. package/dist/orchestration/unblock.js.map +1 -0
  341. package/dist/orchestration/validate-spawn.js +67 -0
  342. package/dist/orchestration/validate-spawn.js.map +1 -0
  343. package/dist/orchestration/waves.js +86 -0
  344. package/dist/orchestration/waves.js.map +1 -0
  345. package/dist/otel/index.js +163 -0
  346. package/dist/otel/index.js.map +1 -0
  347. package/dist/output.js +132 -0
  348. package/dist/output.js.map +1 -0
  349. package/dist/pagination.js +61 -0
  350. package/dist/pagination.js.map +1 -0
  351. package/dist/paths.js +337 -0
  352. package/dist/paths.js.map +1 -0
  353. package/dist/phases/deps.js +369 -0
  354. package/dist/phases/deps.js.map +1 -0
  355. package/dist/phases/index.js +349 -0
  356. package/dist/phases/index.js.map +1 -0
  357. package/dist/pipeline/index.js +10 -0
  358. package/dist/pipeline/index.js.map +1 -0
  359. package/dist/pipeline/phase.js +45 -0
  360. package/dist/pipeline/phase.js.map +1 -0
  361. package/dist/platform.js +211 -0
  362. package/dist/platform.js.map +1 -0
  363. package/dist/project-info.js +84 -0
  364. package/dist/project-info.js.map +1 -0
  365. package/dist/reconciliation/index.js +10 -0
  366. package/dist/reconciliation/index.js.map +1 -0
  367. package/dist/reconciliation/link-store.js +129 -0
  368. package/dist/reconciliation/link-store.js.map +1 -0
  369. package/dist/reconciliation/reconciliation-engine.js +298 -0
  370. package/dist/reconciliation/reconciliation-engine.js.map +1 -0
  371. package/dist/release/artifacts.js +427 -0
  372. package/dist/release/artifacts.js.map +1 -0
  373. package/dist/release/changelog-writer.js +151 -0
  374. package/dist/release/changelog-writer.js.map +1 -0
  375. package/dist/release/channel.js +144 -0
  376. package/dist/release/channel.js.map +1 -0
  377. package/dist/release/ci.js +166 -0
  378. package/dist/release/ci.js.map +1 -0
  379. package/dist/release/github-pr.js +225 -0
  380. package/dist/release/github-pr.js.map +1 -0
  381. package/dist/release/guards.js +116 -0
  382. package/dist/release/guards.js.map +1 -0
  383. package/dist/release/index.js +22 -0
  384. package/dist/release/index.js.map +1 -0
  385. package/dist/release/release-config.js +158 -0
  386. package/dist/release/release-config.js.map +1 -0
  387. package/dist/release/release-manifest.js +1019 -0
  388. package/dist/release/release-manifest.js.map +1 -0
  389. package/dist/release/version-bump.js +255 -0
  390. package/dist/release/version-bump.js.map +1 -0
  391. package/dist/remote/index.js +257 -0
  392. package/dist/remote/index.js.map +1 -0
  393. package/dist/repair.js +89 -0
  394. package/dist/repair.js.map +1 -0
  395. package/dist/research/index.js +2 -0
  396. package/dist/research/index.js.map +1 -0
  397. package/dist/roadmap/index.js +59 -0
  398. package/dist/roadmap/index.js.map +1 -0
  399. package/dist/routing/capability-matrix.js +1550 -0
  400. package/dist/routing/capability-matrix.js.map +1 -0
  401. package/dist/routing/index.js +9 -0
  402. package/dist/routing/index.js.map +1 -0
  403. package/dist/scaffold.js +1158 -0
  404. package/dist/scaffold.js.map +1 -0
  405. package/dist/schema-management.js +295 -0
  406. package/dist/schema-management.js.map +1 -0
  407. package/dist/security/index.js +9 -0
  408. package/dist/security/index.js.map +1 -0
  409. package/dist/security/input-sanitization.js +321 -0
  410. package/dist/security/input-sanitization.js.map +1 -0
  411. package/dist/sequence/index.js +295 -0
  412. package/dist/sequence/index.js.map +1 -0
  413. package/dist/sessions/assumptions.js +54 -0
  414. package/dist/sessions/assumptions.js.map +1 -0
  415. package/dist/sessions/briefing.js +377 -0
  416. package/dist/sessions/briefing.js.map +1 -0
  417. package/dist/sessions/context-alert.js +222 -0
  418. package/dist/sessions/context-alert.js.map +1 -0
  419. package/dist/sessions/context-inject.js +61 -0
  420. package/dist/sessions/context-inject.js.map +1 -0
  421. package/dist/sessions/context-monitor.js +98 -0
  422. package/dist/sessions/context-monitor.js.map +1 -0
  423. package/dist/sessions/decisions.js +65 -0
  424. package/dist/sessions/decisions.js.map +1 -0
  425. package/dist/sessions/find.js +63 -0
  426. package/dist/sessions/find.js.map +1 -0
  427. package/dist/sessions/handoff.js +328 -0
  428. package/dist/sessions/handoff.js.map +1 -0
  429. package/dist/sessions/hitl-warnings.js +254 -0
  430. package/dist/sessions/hitl-warnings.js.map +1 -0
  431. package/dist/sessions/index.js +318 -0
  432. package/dist/sessions/index.js.map +1 -0
  433. package/dist/sessions/session-archive.js +40 -0
  434. package/dist/sessions/session-archive.js.map +1 -0
  435. package/dist/sessions/session-cleanup.js +59 -0
  436. package/dist/sessions/session-cleanup.js.map +1 -0
  437. package/dist/sessions/session-drift.js +134 -0
  438. package/dist/sessions/session-drift.js.map +1 -0
  439. package/dist/sessions/session-enforcement.d.ts.map +1 -1
  440. package/dist/sessions/session-enforcement.js +140 -0
  441. package/dist/sessions/session-enforcement.js.map +1 -0
  442. package/dist/sessions/session-grade.js +253 -0
  443. package/dist/sessions/session-grade.js.map +1 -0
  444. package/dist/sessions/session-history.js +42 -0
  445. package/dist/sessions/session-history.js.map +1 -0
  446. package/dist/sessions/session-id.js +81 -0
  447. package/dist/sessions/session-id.js.map +1 -0
  448. package/dist/sessions/session-memory-bridge.js +52 -0
  449. package/dist/sessions/session-memory-bridge.js.map +1 -0
  450. package/dist/sessions/session-show.js +24 -0
  451. package/dist/sessions/session-show.js.map +1 -0
  452. package/dist/sessions/session-stats.js +69 -0
  453. package/dist/sessions/session-stats.js.map +1 -0
  454. package/dist/sessions/session-suspend.js +39 -0
  455. package/dist/sessions/session-suspend.js.map +1 -0
  456. package/dist/sessions/session-switch.js +51 -0
  457. package/dist/sessions/session-switch.js.map +1 -0
  458. package/dist/sessions/session-view.js +76 -0
  459. package/dist/sessions/session-view.js.map +1 -0
  460. package/dist/sessions/statusline-setup.js +85 -0
  461. package/dist/sessions/statusline-setup.js.map +1 -0
  462. package/dist/sessions/types.js +8 -0
  463. package/dist/sessions/types.js.map +1 -0
  464. package/dist/signaldock/claude-code-transport.js +107 -0
  465. package/dist/signaldock/claude-code-transport.js.map +1 -0
  466. package/dist/signaldock/factory.js +25 -0
  467. package/dist/signaldock/factory.js.map +1 -0
  468. package/dist/signaldock/index.js +9 -0
  469. package/dist/signaldock/index.js.map +1 -0
  470. package/dist/signaldock/signaldock-transport.js +122 -0
  471. package/dist/signaldock/signaldock-transport.js.map +1 -0
  472. package/dist/signaldock/transport.js +11 -0
  473. package/dist/signaldock/transport.js.map +1 -0
  474. package/dist/signaldock/types.js +11 -0
  475. package/dist/signaldock/types.js.map +1 -0
  476. package/dist/skills/agents/config.js +94 -0
  477. package/dist/skills/agents/config.js.map +1 -0
  478. package/dist/skills/agents/install.js +116 -0
  479. package/dist/skills/agents/install.js.map +1 -0
  480. package/dist/skills/agents/registry.js +161 -0
  481. package/dist/skills/agents/registry.js.map +1 -0
  482. package/dist/skills/discovery.js +333 -0
  483. package/dist/skills/discovery.js.map +1 -0
  484. package/dist/skills/dispatch.js +347 -0
  485. package/dist/skills/dispatch.js.map +1 -0
  486. package/dist/skills/dynamic-skill-generator.js +100 -0
  487. package/dist/skills/dynamic-skill-generator.js.map +1 -0
  488. package/dist/skills/index.js +44 -0
  489. package/dist/skills/index.js.map +1 -0
  490. package/dist/skills/injection/subagent.js +195 -0
  491. package/dist/skills/injection/subagent.js.map +1 -0
  492. package/dist/skills/injection/token.js +260 -0
  493. package/dist/skills/injection/token.js.map +1 -0
  494. package/dist/skills/install.js +40 -0
  495. package/dist/skills/install.js.map +1 -0
  496. package/dist/skills/manifests/contribution.js +175 -0
  497. package/dist/skills/manifests/contribution.js.map +1 -0
  498. package/dist/skills/manifests/research.js +281 -0
  499. package/dist/skills/manifests/research.js.map +1 -0
  500. package/dist/skills/manifests/resolver.js +146 -0
  501. package/dist/skills/manifests/resolver.js.map +1 -0
  502. package/dist/skills/marketplace.js +90 -0
  503. package/dist/skills/marketplace.js.map +1 -0
  504. package/dist/skills/orchestrator/spawn.js +178 -0
  505. package/dist/skills/orchestrator/spawn.js.map +1 -0
  506. package/dist/skills/orchestrator/startup.js +451 -0
  507. package/dist/skills/orchestrator/startup.js.map +1 -0
  508. package/dist/skills/orchestrator/validator.js +301 -0
  509. package/dist/skills/orchestrator/validator.js.map +1 -0
  510. package/dist/skills/precedence-integration.js +73 -0
  511. package/dist/skills/precedence-integration.js.map +1 -0
  512. package/dist/skills/precedence-types.js +16 -0
  513. package/dist/skills/precedence-types.js.map +1 -0
  514. package/dist/skills/routing-table.js +63 -0
  515. package/dist/skills/routing-table.js.map +1 -0
  516. package/dist/skills/skill-paths.js +220 -0
  517. package/dist/skills/skill-paths.js.map +1 -0
  518. package/dist/skills/test-utility.js +55 -0
  519. package/dist/skills/test-utility.js.map +1 -0
  520. package/dist/skills/types.js +118 -0
  521. package/dist/skills/types.js.map +1 -0
  522. package/dist/skills/validation.js +183 -0
  523. package/dist/skills/validation.js.map +1 -0
  524. package/dist/skills/version.js +57 -0
  525. package/dist/skills/version.js.map +1 -0
  526. package/dist/snapshot/index.js +188 -0
  527. package/dist/snapshot/index.js.map +1 -0
  528. package/dist/spawn/adapter-registry.js +246 -0
  529. package/dist/spawn/adapter-registry.js.map +1 -0
  530. package/dist/spawn/index.js +10 -0
  531. package/dist/spawn/index.js.map +1 -0
  532. package/dist/stats/index.d.ts +1 -0
  533. package/dist/stats/index.d.ts.map +1 -1
  534. package/dist/stats/index.js +339 -0
  535. package/dist/stats/index.js.map +1 -0
  536. package/dist/stats/workflow-telemetry.d.ts +74 -0
  537. package/dist/stats/workflow-telemetry.d.ts.map +1 -0
  538. package/dist/sticky/archive.js +47 -0
  539. package/dist/sticky/archive.js.map +1 -0
  540. package/dist/sticky/convert.js +235 -0
  541. package/dist/sticky/convert.js.map +1 -0
  542. package/dist/sticky/create.js +48 -0
  543. package/dist/sticky/create.js.map +1 -0
  544. package/dist/sticky/id.js +35 -0
  545. package/dist/sticky/id.js.map +1 -0
  546. package/dist/sticky/index.js +16 -0
  547. package/dist/sticky/index.js.map +1 -0
  548. package/dist/sticky/list.js +44 -0
  549. package/dist/sticky/list.js.map +1 -0
  550. package/dist/sticky/purge.js +45 -0
  551. package/dist/sticky/purge.js.map +1 -0
  552. package/dist/sticky/show.js +42 -0
  553. package/dist/sticky/show.js.map +1 -0
  554. package/dist/sticky/types.js +10 -0
  555. package/dist/sticky/types.js.map +1 -0
  556. package/dist/store/atomic.js +167 -0
  557. package/dist/store/atomic.js.map +1 -0
  558. package/dist/store/backup.js +94 -0
  559. package/dist/store/backup.js.map +1 -0
  560. package/dist/store/brain-accessor.js +397 -0
  561. package/dist/store/brain-accessor.js.map +1 -0
  562. package/dist/store/brain-schema.d.ts.map +1 -1
  563. package/dist/store/brain-schema.js +212 -0
  564. package/dist/store/brain-schema.js.map +1 -0
  565. package/dist/store/brain-sqlite.js +271 -0
  566. package/dist/store/brain-sqlite.js.map +1 -0
  567. package/dist/store/cache.js +168 -0
  568. package/dist/store/cache.js.map +1 -0
  569. package/dist/store/chain-schema.js +51 -0
  570. package/dist/store/chain-schema.js.map +1 -0
  571. package/dist/store/converters.d.ts.map +1 -1
  572. package/dist/store/converters.js +120 -0
  573. package/dist/store/converters.js.map +1 -0
  574. package/dist/store/cross-db-cleanup.d.ts +58 -0
  575. package/dist/store/cross-db-cleanup.d.ts.map +1 -0
  576. package/dist/store/data-accessor.js +26 -0
  577. package/dist/store/data-accessor.js.map +1 -0
  578. package/dist/store/data-safety-central.js +269 -0
  579. package/dist/store/data-safety-central.js.map +1 -0
  580. package/dist/store/data-safety.js +274 -0
  581. package/dist/store/data-safety.js.map +1 -0
  582. package/dist/store/db-helpers.d.ts.map +1 -1
  583. package/dist/store/db-helpers.js +221 -0
  584. package/dist/store/db-helpers.js.map +1 -0
  585. package/dist/store/export.js +155 -0
  586. package/dist/store/export.js.map +1 -0
  587. package/dist/store/file-utils.js +270 -0
  588. package/dist/store/file-utils.js.map +1 -0
  589. package/dist/store/git-checkpoint.js +365 -0
  590. package/dist/store/git-checkpoint.js.map +1 -0
  591. package/dist/store/import-logging.js +139 -0
  592. package/dist/store/import-logging.js.map +1 -0
  593. package/dist/store/import-remap.js +145 -0
  594. package/dist/store/import-remap.js.map +1 -0
  595. package/dist/store/import-sort.js +121 -0
  596. package/dist/store/import-sort.js.map +1 -0
  597. package/dist/store/index.js +28 -0
  598. package/dist/store/index.js.map +1 -0
  599. package/dist/store/json.js +208 -0
  600. package/dist/store/json.js.map +1 -0
  601. package/dist/store/lifecycle-store.js +249 -0
  602. package/dist/store/lifecycle-store.js.map +1 -0
  603. package/dist/store/lock.js +70 -0
  604. package/dist/store/lock.js.map +1 -0
  605. package/dist/store/migration-sqlite.d.ts.map +1 -1
  606. package/dist/store/migration-sqlite.js +671 -0
  607. package/dist/store/migration-sqlite.js.map +1 -0
  608. package/dist/store/nexus-schema.js +62 -0
  609. package/dist/store/nexus-schema.js.map +1 -0
  610. package/dist/store/nexus-sqlite.js +217 -0
  611. package/dist/store/nexus-sqlite.js.map +1 -0
  612. package/dist/store/nexus-validation-schemas.js +40 -0
  613. package/dist/store/nexus-validation-schemas.js.map +1 -0
  614. package/dist/store/parsers.js +37 -0
  615. package/dist/store/parsers.js.map +1 -0
  616. package/dist/store/project-detect.js +457 -0
  617. package/dist/store/project-detect.js.map +1 -0
  618. package/dist/store/provider.js +101 -0
  619. package/dist/store/provider.js.map +1 -0
  620. package/dist/store/safety-data-accessor.js +243 -0
  621. package/dist/store/safety-data-accessor.js.map +1 -0
  622. package/dist/store/schema.js +7 -0
  623. package/dist/store/schema.js.map +1 -0
  624. package/dist/store/session-store.js +219 -0
  625. package/dist/store/session-store.js.map +1 -0
  626. package/dist/store/sqlite-backup.js +105 -0
  627. package/dist/store/sqlite-backup.js.map +1 -0
  628. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  629. package/dist/store/sqlite-data-accessor.js +742 -0
  630. package/dist/store/sqlite-data-accessor.js.map +1 -0
  631. package/dist/store/sqlite.d.ts.map +1 -1
  632. package/dist/store/sqlite.js +489 -0
  633. package/dist/store/sqlite.js.map +1 -0
  634. package/dist/store/status-registry.js +8 -0
  635. package/dist/store/status-registry.js.map +1 -0
  636. package/dist/store/task-store.d.ts.map +1 -1
  637. package/dist/store/task-store.js +344 -0
  638. package/dist/store/task-store.js.map +1 -0
  639. package/dist/store/tasks-schema.d.ts +18 -3
  640. package/dist/store/tasks-schema.d.ts.map +1 -1
  641. package/dist/store/tasks-schema.js +574 -0
  642. package/dist/store/tasks-schema.js.map +1 -0
  643. package/dist/store/typed-query.js +15 -0
  644. package/dist/store/typed-query.js.map +1 -0
  645. package/dist/store/validation-schemas.d.ts +32 -0
  646. package/dist/store/validation-schemas.d.ts.map +1 -1
  647. package/dist/store/validation-schemas.js +278 -0
  648. package/dist/store/validation-schemas.js.map +1 -0
  649. package/dist/system/archive-analytics.js +277 -0
  650. package/dist/system/archive-analytics.js.map +1 -0
  651. package/dist/system/archive-stats.js +64 -0
  652. package/dist/system/archive-stats.js.map +1 -0
  653. package/dist/system/audit.js +145 -0
  654. package/dist/system/audit.js.map +1 -0
  655. package/dist/system/backup.js +99 -0
  656. package/dist/system/backup.js.map +1 -0
  657. package/dist/system/cleanup.js +134 -0
  658. package/dist/system/cleanup.js.map +1 -0
  659. package/dist/system/health.js +1054 -0
  660. package/dist/system/health.js.map +1 -0
  661. package/dist/system/index.js +18 -0
  662. package/dist/system/index.js.map +1 -0
  663. package/dist/system/inject-generate.js +122 -0
  664. package/dist/system/inject-generate.js.map +1 -0
  665. package/dist/system/labels.js +38 -0
  666. package/dist/system/labels.js.map +1 -0
  667. package/dist/system/metrics.js +61 -0
  668. package/dist/system/metrics.js.map +1 -0
  669. package/dist/system/migrate.js +43 -0
  670. package/dist/system/migrate.js.map +1 -0
  671. package/dist/system/platform-paths.js +80 -0
  672. package/dist/system/platform-paths.js.map +1 -0
  673. package/dist/system/runtime.js +161 -0
  674. package/dist/system/runtime.js.map +1 -0
  675. package/dist/system/safestop.js +99 -0
  676. package/dist/system/safestop.js.map +1 -0
  677. package/dist/system/storage-preflight.js +123 -0
  678. package/dist/system/storage-preflight.js.map +1 -0
  679. package/dist/task-work/index.js +155 -0
  680. package/dist/task-work/index.js.map +1 -0
  681. package/dist/tasks/add.d.ts +10 -1
  682. package/dist/tasks/add.d.ts.map +1 -1
  683. package/dist/tasks/add.js +510 -0
  684. package/dist/tasks/add.js.map +1 -0
  685. package/dist/tasks/analyze.js +85 -0
  686. package/dist/tasks/analyze.js.map +1 -0
  687. package/dist/tasks/archive.js +90 -0
  688. package/dist/tasks/archive.js.map +1 -0
  689. package/dist/tasks/atomicity.js +83 -0
  690. package/dist/tasks/atomicity.js.map +1 -0
  691. package/dist/tasks/cancel-ops.js +83 -0
  692. package/dist/tasks/cancel-ops.js.map +1 -0
  693. package/dist/tasks/complete.d.ts.map +1 -1
  694. package/dist/tasks/complete.js +224 -0
  695. package/dist/tasks/complete.js.map +1 -0
  696. package/dist/tasks/crossref-extract.js +73 -0
  697. package/dist/tasks/crossref-extract.js.map +1 -0
  698. package/dist/tasks/delete-preview.js +192 -0
  699. package/dist/tasks/delete-preview.js.map +1 -0
  700. package/dist/tasks/delete.js +120 -0
  701. package/dist/tasks/delete.js.map +1 -0
  702. package/dist/tasks/deletion-strategy.js +200 -0
  703. package/dist/tasks/deletion-strategy.js.map +1 -0
  704. package/dist/tasks/dependency-check.js +278 -0
  705. package/dist/tasks/dependency-check.js.map +1 -0
  706. package/dist/tasks/deps-ready.js +32 -0
  707. package/dist/tasks/deps-ready.js.map +1 -0
  708. package/dist/tasks/enforcement.d.ts +22 -0
  709. package/dist/tasks/enforcement.d.ts.map +1 -0
  710. package/dist/tasks/enforcement.js +82 -0
  711. package/dist/tasks/enforcement.js.map +1 -0
  712. package/dist/tasks/epic-enforcement.d.ts +138 -0
  713. package/dist/tasks/epic-enforcement.d.ts.map +1 -0
  714. package/dist/tasks/find.js +148 -0
  715. package/dist/tasks/find.js.map +1 -0
  716. package/dist/tasks/graph-cache.js +127 -0
  717. package/dist/tasks/graph-cache.js.map +1 -0
  718. package/dist/tasks/graph-ops.js +171 -0
  719. package/dist/tasks/graph-ops.js.map +1 -0
  720. package/dist/tasks/graph-rag.js +328 -0
  721. package/dist/tasks/graph-rag.js.map +1 -0
  722. package/dist/tasks/hierarchy-policy.js +149 -0
  723. package/dist/tasks/hierarchy-policy.js.map +1 -0
  724. package/dist/tasks/hierarchy.js +185 -0
  725. package/dist/tasks/hierarchy.js.map +1 -0
  726. package/dist/tasks/id-generator.js +65 -0
  727. package/dist/tasks/id-generator.js.map +1 -0
  728. package/dist/tasks/index.d.ts +1 -1
  729. package/dist/tasks/index.d.ts.map +1 -1
  730. package/dist/tasks/index.js +14 -0
  731. package/dist/tasks/index.js.map +1 -0
  732. package/dist/tasks/labels.js +52 -0
  733. package/dist/tasks/labels.js.map +1 -0
  734. package/dist/tasks/list.js +68 -0
  735. package/dist/tasks/list.js.map +1 -0
  736. package/dist/tasks/phase-tracking.js +133 -0
  737. package/dist/tasks/phase-tracking.js.map +1 -0
  738. package/dist/tasks/pipeline-stage.d.ts +112 -0
  739. package/dist/tasks/pipeline-stage.d.ts.map +1 -0
  740. package/dist/tasks/plan.js +268 -0
  741. package/dist/tasks/plan.js.map +1 -0
  742. package/dist/tasks/relates.js +89 -0
  743. package/dist/tasks/relates.js.map +1 -0
  744. package/dist/tasks/reparent.d.ts +38 -0
  745. package/dist/tasks/reparent.d.ts.map +1 -0
  746. package/dist/tasks/show.js +78 -0
  747. package/dist/tasks/show.js.map +1 -0
  748. package/dist/tasks/size-weighting.js +86 -0
  749. package/dist/tasks/size-weighting.js.map +1 -0
  750. package/dist/tasks/staleness.js +86 -0
  751. package/dist/tasks/staleness.js.map +1 -0
  752. package/dist/tasks/task-ops.js +1340 -0
  753. package/dist/tasks/task-ops.js.map +1 -0
  754. package/dist/tasks/update.d.ts +2 -0
  755. package/dist/tasks/update.d.ts.map +1 -1
  756. package/dist/tasks/update.js +243 -0
  757. package/dist/tasks/update.js.map +1 -0
  758. package/dist/templates/index.js +10 -0
  759. package/dist/templates/index.js.map +1 -0
  760. package/dist/templates/parser.js +254 -0
  761. package/dist/templates/parser.js.map +1 -0
  762. package/dist/ui/aliases.js +153 -0
  763. package/dist/ui/aliases.js.map +1 -0
  764. package/dist/ui/changelog.js +184 -0
  765. package/dist/ui/changelog.js.map +1 -0
  766. package/dist/ui/command-registry.js +168 -0
  767. package/dist/ui/command-registry.js.map +1 -0
  768. package/dist/ui/flags.js +94 -0
  769. package/dist/ui/flags.js.map +1 -0
  770. package/dist/ui/index.js +24 -0
  771. package/dist/ui/index.js.map +1 -0
  772. package/dist/ui/injection-legacy.d.ts +26 -0
  773. package/dist/ui/injection-legacy.d.ts.map +1 -0
  774. package/dist/ui/injection-legacy.js +42 -0
  775. package/dist/ui/injection-legacy.js.map +1 -0
  776. package/dist/upgrade.js +901 -0
  777. package/dist/upgrade.js.map +1 -0
  778. package/dist/validation/chain-validation.js +146 -0
  779. package/dist/validation/chain-validation.js.map +1 -0
  780. package/dist/validation/compliance.js +155 -0
  781. package/dist/validation/compliance.js.map +1 -0
  782. package/dist/validation/docs-sync.js +212 -0
  783. package/dist/validation/docs-sync.js.map +1 -0
  784. package/dist/validation/doctor/checks.js +1069 -0
  785. package/dist/validation/doctor/checks.js.map +1 -0
  786. package/dist/validation/doctor/index.js +9 -0
  787. package/dist/validation/doctor/index.js.map +1 -0
  788. package/dist/validation/doctor/project-cache.js +160 -0
  789. package/dist/validation/doctor/project-cache.js.map +1 -0
  790. package/dist/validation/doctor/utils.js +155 -0
  791. package/dist/validation/doctor/utils.js.map +1 -0
  792. package/dist/validation/engine.js +902 -0
  793. package/dist/validation/engine.js.map +1 -0
  794. package/dist/validation/gap-check.js +175 -0
  795. package/dist/validation/gap-check.js.map +1 -0
  796. package/dist/validation/index.js +40 -0
  797. package/dist/validation/index.js.map +1 -0
  798. package/dist/validation/manifest.js +237 -0
  799. package/dist/validation/manifest.js.map +1 -0
  800. package/dist/validation/operation-gate-validators.js +724 -0
  801. package/dist/validation/operation-gate-validators.js.map +1 -0
  802. package/dist/validation/operation-verification-gates.js +532 -0
  803. package/dist/validation/operation-verification-gates.js.map +1 -0
  804. package/dist/validation/param-utils.js +139 -0
  805. package/dist/validation/param-utils.js.map +1 -0
  806. package/dist/validation/protocol-common.js +300 -0
  807. package/dist/validation/protocol-common.js.map +1 -0
  808. package/dist/validation/protocols/consensus.js +71 -0
  809. package/dist/validation/protocols/consensus.js.map +1 -0
  810. package/dist/validation/protocols/contribution.js +59 -0
  811. package/dist/validation/protocols/contribution.js.map +1 -0
  812. package/dist/validation/protocols/decomposition.js +59 -0
  813. package/dist/validation/protocols/decomposition.js.map +1 -0
  814. package/dist/validation/protocols/implementation.js +59 -0
  815. package/dist/validation/protocols/implementation.js.map +1 -0
  816. package/dist/validation/protocols/release-protocol.js +60 -0
  817. package/dist/validation/protocols/release-protocol.js.map +1 -0
  818. package/dist/validation/protocols/research.js +77 -0
  819. package/dist/validation/protocols/research.js.map +1 -0
  820. package/dist/validation/protocols/specification.js +84 -0
  821. package/dist/validation/protocols/specification.js.map +1 -0
  822. package/dist/validation/protocols/testing-protocol.js +70 -0
  823. package/dist/validation/protocols/testing-protocol.js.map +1 -0
  824. package/dist/validation/protocols/validation-protocol.js +70 -0
  825. package/dist/validation/protocols/validation-protocol.js.map +1 -0
  826. package/dist/validation/schema-integrity.js +170 -0
  827. package/dist/validation/schema-integrity.js.map +1 -0
  828. package/dist/validation/schema-validator.js +176 -0
  829. package/dist/validation/schema-validator.js.map +1 -0
  830. package/dist/validation/validate-ops.js +937 -0
  831. package/dist/validation/validate-ops.js.map +1 -0
  832. package/dist/validation/validation-rules.js +226 -0
  833. package/dist/validation/validation-rules.js.map +1 -0
  834. package/dist/validation/verification.js +321 -0
  835. package/dist/validation/verification.js.map +1 -0
  836. package/migrations/drizzle-brain/20260321000001_t033-brain-indexes/migration.sql +12 -0
  837. package/migrations/drizzle-brain/20260321000001_t033-brain-indexes/snapshot.json +1232 -0
  838. package/migrations/drizzle-tasks/20260321000000_t033-connection-health/migration.sql +518 -0
  839. package/migrations/drizzle-tasks/20260321000000_t033-connection-health/snapshot.json +4312 -0
  840. package/migrations/drizzle-tasks/20260321000002_t060-pipeline-stage-binding/migration.sql +82 -0
  841. package/migrations/drizzle-tasks/20260321000002_t060-pipeline-stage-binding/snapshot.json +9 -0
  842. package/package.json +5 -5
  843. package/schemas/config.schema.json +47 -2
  844. package/src/__tests__/injection-mvi-tiers.test.ts +5 -5
  845. package/src/agents/__tests__/execution-learning.test.ts +684 -0
  846. package/src/agents/__tests__/registry.test.ts +30 -2
  847. package/src/agents/agent-schema.ts +5 -0
  848. package/src/agents/execution-learning.ts +675 -0
  849. package/src/agents/index.ts +13 -0
  850. package/src/backfill/index.ts +282 -0
  851. package/src/bootstrap.ts +1 -1
  852. package/src/config.ts +126 -0
  853. package/src/index.ts +7 -1
  854. package/src/intelligence/__tests__/adaptive-validation.test.ts +694 -0
  855. package/src/intelligence/adaptive-validation.ts +764 -0
  856. package/src/intelligence/index.ts +16 -0
  857. package/src/internal.ts +19 -0
  858. package/src/lifecycle/__tests__/chain-store.test.ts +7 -0
  859. package/src/lifecycle/__tests__/tessera-engine.test.ts +52 -0
  860. package/src/sessions/__tests__/session-edge-cases.test.ts +24 -1
  861. package/src/sessions/session-enforcement.ts +13 -2
  862. package/src/stats/index.ts +7 -0
  863. package/src/stats/workflow-telemetry.ts +487 -0
  864. package/src/store/__tests__/migration-safety.test.ts +3 -0
  865. package/src/store/__tests__/session-store.test.ts +96 -1
  866. package/src/store/__tests__/task-store.test.ts +22 -1
  867. package/src/store/__tests__/test-db-helper.ts +25 -2
  868. package/src/store/brain-schema.ts +4 -1
  869. package/src/store/converters.ts +2 -0
  870. package/src/store/cross-db-cleanup.ts +157 -0
  871. package/src/store/db-helpers.ts +2 -0
  872. package/src/store/migration-sqlite.ts +6 -0
  873. package/src/store/sqlite-data-accessor.ts +20 -28
  874. package/src/store/sqlite.ts +14 -2
  875. package/src/store/task-store.ts +6 -0
  876. package/src/store/tasks-schema.ts +59 -20
  877. package/src/tasks/__tests__/add.test.ts +16 -0
  878. package/src/tasks/__tests__/complete-unblocks.test.ts +10 -1
  879. package/src/tasks/__tests__/complete.test.ts +11 -2
  880. package/src/tasks/__tests__/epic-enforcement.test.ts +904 -0
  881. package/src/tasks/__tests__/minimal-test.test.ts +28 -0
  882. package/src/tasks/__tests__/pipeline-stage.test.ts +403 -0
  883. package/src/tasks/__tests__/update.test.ts +40 -6
  884. package/src/tasks/add.ts +128 -2
  885. package/src/tasks/complete.ts +24 -17
  886. package/src/tasks/enforcement.ts +124 -0
  887. package/src/tasks/epic-enforcement.ts +303 -0
  888. package/src/tasks/index.ts +1 -0
  889. package/src/tasks/pipeline-stage.ts +224 -0
  890. package/src/tasks/update.ts +62 -0
  891. package/templates/CLEO-INJECTION.md +1 -1
  892. package/templates/config.template.json +34 -0
  893. package/templates/global-config.template.json +26 -0
@@ -0,0 +1,518 @@
1
+ -- T033: Connection Health Remediation
2
+ -- Part 1: Foreign key enforcement is enabled at the application layer via
3
+ -- openNativeDatabase() enableForeignKeyConstraints + PRAGMA foreign_keys=ON.
4
+ -- No SQL change needed here.
5
+ --
6
+ -- Part 2: Add 7 missing composite indexes for tasks.db (from T031 analysis).
7
+ -- NOTE: Indexes on tasks and sessions are placed AFTER their respective
8
+ -- table rebuilds so they are not lost when old tables are dropped.
9
+ -- audit_log indexes are safe here since that table is not rebuilt.
10
+ -- Part 3: Add hard FK constraints to intra-DB soft FK columns (from T030 audit).
11
+ -- Part 5: Add tasks.pipeline_stage column with FK to lifecycle_stages (T056 contract).
12
+
13
+ -- ============================================================================
14
+ -- INDEXES: audit_log (table not rebuilt — safe to create now)
15
+ -- ============================================================================
16
+
17
+ -- INDEX 6: audit_log session_id + timestamp (session grading — composite replaces single-col)
18
+ CREATE INDEX IF NOT EXISTS `idx_audit_log_session_timestamp`
19
+ ON `audit_log` (`session_id`, `timestamp`);
20
+ --> statement-breakpoint
21
+
22
+ -- INDEX 7: audit_log domain + operation (dispatch-layer audit queries)
23
+ CREATE INDEX IF NOT EXISTS `idx_audit_log_domain_operation`
24
+ ON `audit_log` (`domain`, `operation`);
25
+ --> statement-breakpoint
26
+
27
+ -- ============================================================================
28
+ -- PART 3: Intra-DB FK Hardening (table rebuilds required for SQLite)
29
+ -- ============================================================================
30
+
31
+ -- SFK-022: task_work_history.task_id → tasks.id CASCADE
32
+ -- (session_id FK already exists; adding task_id FK)
33
+ PRAGMA foreign_keys=OFF;
34
+ --> statement-breakpoint
35
+ CREATE TABLE `task_work_history_new` (
36
+ `id` integer PRIMARY KEY AUTOINCREMENT,
37
+ `session_id` text NOT NULL,
38
+ `task_id` text NOT NULL,
39
+ `set_at` text DEFAULT (datetime('now')) NOT NULL,
40
+ `cleared_at` text,
41
+ CONSTRAINT `fk_task_work_history_session_id` FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON DELETE CASCADE,
42
+ CONSTRAINT `fk_task_work_history_task_id` FOREIGN KEY (`task_id`) REFERENCES `tasks`(`id`) ON DELETE CASCADE
43
+ );
44
+ --> statement-breakpoint
45
+ INSERT INTO `task_work_history_new` SELECT `id`, `session_id`, `task_id`, `set_at`, `cleared_at` FROM `task_work_history`;
46
+ --> statement-breakpoint
47
+ DROP TABLE `task_work_history`;
48
+ --> statement-breakpoint
49
+ ALTER TABLE `task_work_history_new` RENAME TO `task_work_history`;
50
+ --> statement-breakpoint
51
+ CREATE INDEX `idx_work_history_session` ON `task_work_history` (`session_id`);
52
+ --> statement-breakpoint
53
+ PRAGMA foreign_keys=ON;
54
+ --> statement-breakpoint
55
+
56
+ -- SFK-001: adr_task_links.task_id → tasks.id CASCADE
57
+ -- (adr_id FK already exists; adding task_id FK)
58
+ PRAGMA foreign_keys=OFF;
59
+ --> statement-breakpoint
60
+ CREATE TABLE `adr_task_links_new` (
61
+ `adr_id` text NOT NULL,
62
+ `task_id` text NOT NULL,
63
+ `link_type` text DEFAULT 'related' NOT NULL,
64
+ CONSTRAINT `adr_task_links_pk` PRIMARY KEY(`adr_id`, `task_id`),
65
+ CONSTRAINT `fk_adr_task_links_adr_id` FOREIGN KEY (`adr_id`) REFERENCES `architecture_decisions`(`id`) ON DELETE CASCADE,
66
+ CONSTRAINT `fk_adr_task_links_task_id` FOREIGN KEY (`task_id`) REFERENCES `tasks`(`id`) ON DELETE CASCADE
67
+ );
68
+ --> statement-breakpoint
69
+ INSERT INTO `adr_task_links_new` SELECT `adr_id`, `task_id`, `link_type` FROM `adr_task_links`;
70
+ --> statement-breakpoint
71
+ DROP TABLE `adr_task_links`;
72
+ --> statement-breakpoint
73
+ ALTER TABLE `adr_task_links_new` RENAME TO `adr_task_links`;
74
+ --> statement-breakpoint
75
+ CREATE INDEX `idx_adr_task_links_task_id` ON `adr_task_links` (`task_id`);
76
+ --> statement-breakpoint
77
+ PRAGMA foreign_keys=ON;
78
+ --> statement-breakpoint
79
+
80
+ -- SFK-008/009: lifecycle_transitions stage FKs CASCADE
81
+ PRAGMA foreign_keys=OFF;
82
+ --> statement-breakpoint
83
+ CREATE TABLE `lifecycle_transitions_new` (
84
+ `id` text PRIMARY KEY,
85
+ `pipeline_id` text NOT NULL,
86
+ `from_stage_id` text NOT NULL,
87
+ `to_stage_id` text NOT NULL,
88
+ `transition_type` text DEFAULT 'automatic' NOT NULL,
89
+ `transitioned_by` text,
90
+ `created_at` text DEFAULT (datetime('now')) NOT NULL,
91
+ CONSTRAINT `fk_lifecycle_transitions_pipeline_id` FOREIGN KEY (`pipeline_id`) REFERENCES `lifecycle_pipelines`(`id`) ON DELETE CASCADE,
92
+ CONSTRAINT `fk_lifecycle_transitions_from_stage_id` FOREIGN KEY (`from_stage_id`) REFERENCES `lifecycle_stages`(`id`) ON DELETE CASCADE,
93
+ CONSTRAINT `fk_lifecycle_transitions_to_stage_id` FOREIGN KEY (`to_stage_id`) REFERENCES `lifecycle_stages`(`id`) ON DELETE CASCADE
94
+ );
95
+ --> statement-breakpoint
96
+ INSERT INTO `lifecycle_transitions_new` SELECT `id`, `pipeline_id`, `from_stage_id`, `to_stage_id`, `transition_type`, `transitioned_by`, `created_at` FROM `lifecycle_transitions`;
97
+ --> statement-breakpoint
98
+ DROP TABLE `lifecycle_transitions`;
99
+ --> statement-breakpoint
100
+ ALTER TABLE `lifecycle_transitions_new` RENAME TO `lifecycle_transitions`;
101
+ --> statement-breakpoint
102
+ CREATE INDEX `idx_lifecycle_transitions_pipeline_id` ON `lifecycle_transitions` (`pipeline_id`);
103
+ --> statement-breakpoint
104
+ PRAGMA foreign_keys=ON;
105
+ --> statement-breakpoint
106
+
107
+ -- SFK-010/011/012/013: architecture_decisions self-refs SET NULL
108
+ PRAGMA foreign_keys=OFF;
109
+ --> statement-breakpoint
110
+ CREATE TABLE `architecture_decisions_new` (
111
+ `id` text PRIMARY KEY,
112
+ `title` text NOT NULL,
113
+ `status` text DEFAULT 'proposed' NOT NULL,
114
+ `supersedes_id` text,
115
+ `superseded_by_id` text,
116
+ `consensus_manifest_id` text,
117
+ `content` text NOT NULL,
118
+ `created_at` text DEFAULT (datetime('now')) NOT NULL,
119
+ `updated_at` text,
120
+ `date` text DEFAULT '' NOT NULL,
121
+ `accepted_at` text,
122
+ `gate` text,
123
+ `gate_status` text,
124
+ `amends_id` text,
125
+ `file_path` text DEFAULT '' NOT NULL,
126
+ `summary` text,
127
+ `keywords` text,
128
+ `topics` text,
129
+ CONSTRAINT `fk_arch_decisions_supersedes_id` FOREIGN KEY (`supersedes_id`) REFERENCES `architecture_decisions`(`id`) ON DELETE SET NULL,
130
+ CONSTRAINT `fk_arch_decisions_superseded_by_id` FOREIGN KEY (`superseded_by_id`) REFERENCES `architecture_decisions`(`id`) ON DELETE SET NULL,
131
+ CONSTRAINT `fk_arch_decisions_amends_id` FOREIGN KEY (`amends_id`) REFERENCES `architecture_decisions`(`id`) ON DELETE SET NULL,
132
+ CONSTRAINT `fk_arch_decisions_consensus_manifest_id` FOREIGN KEY (`consensus_manifest_id`) REFERENCES `manifest_entries`(`id`) ON DELETE SET NULL
133
+ );
134
+ --> statement-breakpoint
135
+ INSERT INTO `architecture_decisions_new` SELECT `id`, `title`, `status`, `supersedes_id`, `superseded_by_id`, `consensus_manifest_id`, `content`, `created_at`, `updated_at`, `date`, `accepted_at`, `gate`, `gate_status`, `amends_id`, `file_path`, `summary`, `keywords`, `topics` FROM `architecture_decisions`;
136
+ --> statement-breakpoint
137
+ DROP TABLE `architecture_decisions`;
138
+ --> statement-breakpoint
139
+ ALTER TABLE `architecture_decisions_new` RENAME TO `architecture_decisions`;
140
+ --> statement-breakpoint
141
+ CREATE INDEX `idx_arch_decisions_status` ON `architecture_decisions` (`status`);
142
+ --> statement-breakpoint
143
+ CREATE INDEX `idx_arch_decisions_amends_id` ON `architecture_decisions` (`amends_id`);
144
+ --> statement-breakpoint
145
+ PRAGMA foreign_keys=ON;
146
+ --> statement-breakpoint
147
+
148
+ -- SFK-014/015/016: agent_instances refs SET NULL
149
+ PRAGMA foreign_keys=OFF;
150
+ --> statement-breakpoint
151
+ CREATE TABLE `agent_instances_new` (
152
+ `id` text PRIMARY KEY,
153
+ `agent_type` text NOT NULL,
154
+ `status` text DEFAULT 'starting' NOT NULL,
155
+ `session_id` text,
156
+ `task_id` text,
157
+ `started_at` text DEFAULT (datetime('now')) NOT NULL,
158
+ `last_heartbeat` text DEFAULT (datetime('now')) NOT NULL,
159
+ `stopped_at` text,
160
+ `error_count` integer DEFAULT 0 NOT NULL,
161
+ `total_tasks_completed` integer DEFAULT 0 NOT NULL,
162
+ `capacity` text DEFAULT '1.0' NOT NULL,
163
+ `metadata_json` text DEFAULT '{}',
164
+ `parent_agent_id` text,
165
+ CONSTRAINT `fk_agent_instances_session_id` FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON DELETE SET NULL,
166
+ CONSTRAINT `fk_agent_instances_task_id` FOREIGN KEY (`task_id`) REFERENCES `tasks`(`id`) ON DELETE SET NULL,
167
+ CONSTRAINT `fk_agent_instances_parent_agent_id` FOREIGN KEY (`parent_agent_id`) REFERENCES `agent_instances`(`id`) ON DELETE SET NULL
168
+ );
169
+ --> statement-breakpoint
170
+ INSERT INTO `agent_instances_new` SELECT `id`, `agent_type`, `status`, `session_id`, `task_id`, `started_at`, `last_heartbeat`, `stopped_at`, `error_count`, `total_tasks_completed`, `capacity`, `metadata_json`, `parent_agent_id` FROM `agent_instances`;
171
+ --> statement-breakpoint
172
+ DROP TABLE `agent_instances`;
173
+ --> statement-breakpoint
174
+ ALTER TABLE `agent_instances_new` RENAME TO `agent_instances`;
175
+ --> statement-breakpoint
176
+ CREATE INDEX `idx_agent_instances_status` ON `agent_instances` (`status`);
177
+ --> statement-breakpoint
178
+ CREATE INDEX `idx_agent_instances_agent_type` ON `agent_instances` (`agent_type`);
179
+ --> statement-breakpoint
180
+ CREATE INDEX `idx_agent_instances_session_id` ON `agent_instances` (`session_id`);
181
+ --> statement-breakpoint
182
+ CREATE INDEX `idx_agent_instances_task_id` ON `agent_instances` (`task_id`);
183
+ --> statement-breakpoint
184
+ CREATE INDEX `idx_agent_instances_parent_agent_id` ON `agent_instances` (`parent_agent_id`);
185
+ --> statement-breakpoint
186
+ CREATE INDEX `idx_agent_instances_last_heartbeat` ON `agent_instances` (`last_heartbeat`);
187
+ --> statement-breakpoint
188
+ PRAGMA foreign_keys=ON;
189
+ --> statement-breakpoint
190
+
191
+ -- SFK-017: agent_error_log.agent_id → agent_instances.id CASCADE
192
+ PRAGMA foreign_keys=OFF;
193
+ --> statement-breakpoint
194
+ CREATE TABLE `agent_error_log_new` (
195
+ `id` integer PRIMARY KEY AUTOINCREMENT,
196
+ `agent_id` text NOT NULL,
197
+ `error_type` text NOT NULL,
198
+ `message` text NOT NULL,
199
+ `stack` text,
200
+ `occurred_at` text DEFAULT (datetime('now')) NOT NULL,
201
+ `resolved` integer DEFAULT false NOT NULL,
202
+ CONSTRAINT `fk_agent_error_log_agent_id` FOREIGN KEY (`agent_id`) REFERENCES `agent_instances`(`id`) ON DELETE CASCADE
203
+ );
204
+ --> statement-breakpoint
205
+ INSERT INTO `agent_error_log_new` SELECT `id`, `agent_id`, `error_type`, `message`, `stack`, `occurred_at`, `resolved` FROM `agent_error_log`;
206
+ --> statement-breakpoint
207
+ DROP TABLE `agent_error_log`;
208
+ --> statement-breakpoint
209
+ ALTER TABLE `agent_error_log_new` RENAME TO `agent_error_log`;
210
+ --> statement-breakpoint
211
+ CREATE INDEX `idx_agent_error_log_agent_id` ON `agent_error_log` (`agent_id`);
212
+ --> statement-breakpoint
213
+ CREATE INDEX `idx_agent_error_log_error_type` ON `agent_error_log` (`error_type`);
214
+ --> statement-breakpoint
215
+ CREATE INDEX `idx_agent_error_log_occurred_at` ON `agent_error_log` (`occurred_at`);
216
+ --> statement-breakpoint
217
+ PRAGMA foreign_keys=ON;
218
+ --> statement-breakpoint
219
+
220
+ -- SFK-002/003/004: pipeline_manifest SET NULL FKs
221
+ PRAGMA foreign_keys=OFF;
222
+ --> statement-breakpoint
223
+ CREATE TABLE `pipeline_manifest_new` (
224
+ `id` text PRIMARY KEY,
225
+ `session_id` text,
226
+ `task_id` text,
227
+ `epic_id` text,
228
+ `type` text NOT NULL,
229
+ `content` text NOT NULL,
230
+ `content_hash` text,
231
+ `status` text DEFAULT 'active' NOT NULL,
232
+ `distilled` integer DEFAULT false NOT NULL,
233
+ `brain_obs_id` text,
234
+ `source_file` text,
235
+ `metadata_json` text,
236
+ `created_at` text NOT NULL,
237
+ `archived_at` text,
238
+ CONSTRAINT `fk_pipeline_manifest_task_id` FOREIGN KEY (`task_id`) REFERENCES `tasks`(`id`) ON DELETE SET NULL,
239
+ CONSTRAINT `fk_pipeline_manifest_session_id` FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON DELETE SET NULL,
240
+ CONSTRAINT `fk_pipeline_manifest_epic_id` FOREIGN KEY (`epic_id`) REFERENCES `tasks`(`id`) ON DELETE SET NULL
241
+ );
242
+ --> statement-breakpoint
243
+ INSERT INTO `pipeline_manifest_new` SELECT `id`, `session_id`, `task_id`, `epic_id`, `type`, `content`, `content_hash`, `status`, `distilled`, `brain_obs_id`, `source_file`, `metadata_json`, `created_at`, `archived_at` FROM `pipeline_manifest`;
244
+ --> statement-breakpoint
245
+ DROP TABLE `pipeline_manifest`;
246
+ --> statement-breakpoint
247
+ ALTER TABLE `pipeline_manifest_new` RENAME TO `pipeline_manifest`;
248
+ --> statement-breakpoint
249
+ CREATE INDEX `idx_pipeline_manifest_task_id` ON `pipeline_manifest` (`task_id`);
250
+ --> statement-breakpoint
251
+ CREATE INDEX `idx_pipeline_manifest_session_id` ON `pipeline_manifest` (`session_id`);
252
+ --> statement-breakpoint
253
+ CREATE INDEX `idx_pipeline_manifest_distilled` ON `pipeline_manifest` (`distilled`);
254
+ --> statement-breakpoint
255
+ CREATE INDEX `idx_pipeline_manifest_status` ON `pipeline_manifest` (`status`);
256
+ --> statement-breakpoint
257
+ CREATE INDEX `idx_pipeline_manifest_content_hash` ON `pipeline_manifest` (`content_hash`);
258
+ --> statement-breakpoint
259
+ PRAGMA foreign_keys=ON;
260
+ --> statement-breakpoint
261
+
262
+ -- SFK-006: release_manifests.epic_id → tasks.id SET NULL
263
+ -- (pipeline_id FK already exists; adding epic_id FK)
264
+ PRAGMA foreign_keys=OFF;
265
+ --> statement-breakpoint
266
+ CREATE TABLE `release_manifests_new` (
267
+ `id` text PRIMARY KEY,
268
+ `version` text NOT NULL UNIQUE,
269
+ `status` text DEFAULT 'draft' NOT NULL,
270
+ `pipeline_id` text,
271
+ `epic_id` text,
272
+ `tasks_json` text DEFAULT '[]' NOT NULL,
273
+ `changelog` text,
274
+ `notes` text,
275
+ `previous_version` text,
276
+ `commit_sha` text,
277
+ `git_tag` text,
278
+ `npm_dist_tag` text,
279
+ `created_at` text NOT NULL,
280
+ `prepared_at` text,
281
+ `committed_at` text,
282
+ `tagged_at` text,
283
+ `pushed_at` text,
284
+ CONSTRAINT `fk_release_manifests_pipeline_id` FOREIGN KEY (`pipeline_id`) REFERENCES `lifecycle_pipelines`(`id`) ON DELETE SET NULL,
285
+ CONSTRAINT `fk_release_manifests_epic_id` FOREIGN KEY (`epic_id`) REFERENCES `tasks`(`id`) ON DELETE SET NULL
286
+ );
287
+ --> statement-breakpoint
288
+ INSERT INTO `release_manifests_new` SELECT `id`, `version`, `status`, `pipeline_id`, `epic_id`, `tasks_json`, `changelog`, `notes`, `previous_version`, `commit_sha`, `git_tag`, `npm_dist_tag`, `created_at`, `prepared_at`, `committed_at`, `tagged_at`, `pushed_at` FROM `release_manifests`;
289
+ --> statement-breakpoint
290
+ DROP TABLE `release_manifests`;
291
+ --> statement-breakpoint
292
+ ALTER TABLE `release_manifests_new` RENAME TO `release_manifests`;
293
+ --> statement-breakpoint
294
+ CREATE INDEX `idx_release_manifests_status` ON `release_manifests` (`status`);
295
+ --> statement-breakpoint
296
+ CREATE INDEX `idx_release_manifests_version` ON `release_manifests` (`version`);
297
+ --> statement-breakpoint
298
+ PRAGMA foreign_keys=ON;
299
+ --> statement-breakpoint
300
+
301
+ -- SFK-007: warp_chain_instances.epic_id → tasks.id CASCADE
302
+ -- (chain_id FK already exists; adding epic_id FK)
303
+ PRAGMA foreign_keys=OFF;
304
+ --> statement-breakpoint
305
+ CREATE TABLE `warp_chain_instances_new` (
306
+ `id` text PRIMARY KEY,
307
+ `chain_id` text NOT NULL,
308
+ `epic_id` text NOT NULL,
309
+ `variables` text,
310
+ `stage_to_task` text,
311
+ `status` text DEFAULT 'pending' NOT NULL,
312
+ `current_stage` text,
313
+ `gate_results` text,
314
+ `created_at` text DEFAULT (datetime('now')),
315
+ `updated_at` text DEFAULT (datetime('now')),
316
+ CONSTRAINT `fk_warp_chain_instances_chain_id` FOREIGN KEY (`chain_id`) REFERENCES `warp_chains`(`id`) ON DELETE CASCADE,
317
+ CONSTRAINT `fk_warp_chain_instances_epic_id` FOREIGN KEY (`epic_id`) REFERENCES `tasks`(`id`) ON DELETE CASCADE
318
+ );
319
+ --> statement-breakpoint
320
+ INSERT INTO `warp_chain_instances_new` SELECT `id`, `chain_id`, `epic_id`, `variables`, `stage_to_task`, `status`, `current_stage`, `gate_results`, `created_at`, `updated_at` FROM `warp_chain_instances`;
321
+ --> statement-breakpoint
322
+ DROP TABLE `warp_chain_instances`;
323
+ --> statement-breakpoint
324
+ ALTER TABLE `warp_chain_instances_new` RENAME TO `warp_chain_instances`;
325
+ --> statement-breakpoint
326
+ CREATE INDEX `idx_warp_instances_chain` ON `warp_chain_instances` (`chain_id`);
327
+ --> statement-breakpoint
328
+ CREATE INDEX `idx_warp_instances_epic` ON `warp_chain_instances` (`epic_id`);
329
+ --> statement-breakpoint
330
+ CREATE INDEX `idx_warp_instances_status` ON `warp_chain_instances` (`status`);
331
+ --> statement-breakpoint
332
+ PRAGMA foreign_keys=ON;
333
+ --> statement-breakpoint
334
+
335
+ -- SFK-018: tasks.session_id → sessions.id SET NULL
336
+ -- AND Part 5: Add tasks.pipeline_stage column with FK to lifecycle_stages.id
337
+ -- (parent_id FK already exists; adding session_id and pipeline_stage FKs)
338
+ PRAGMA foreign_keys=OFF;
339
+ --> statement-breakpoint
340
+ CREATE TABLE `tasks_new` (
341
+ `id` text PRIMARY KEY,
342
+ `title` text NOT NULL,
343
+ `description` text,
344
+ `status` text DEFAULT 'pending' NOT NULL,
345
+ `priority` text DEFAULT 'medium' NOT NULL,
346
+ `type` text,
347
+ `parent_id` text,
348
+ `phase` text,
349
+ `size` text,
350
+ `position` integer,
351
+ `position_version` integer DEFAULT 0,
352
+ `labels_json` text DEFAULT '[]',
353
+ `notes_json` text DEFAULT '[]',
354
+ `acceptance_json` text DEFAULT '[]',
355
+ `files_json` text DEFAULT '[]',
356
+ `origin` text,
357
+ `blocked_by` text,
358
+ `epic_lifecycle` text,
359
+ `no_auto_complete` integer,
360
+ `created_at` text DEFAULT (datetime('now')) NOT NULL,
361
+ `updated_at` text,
362
+ `completed_at` text,
363
+ `cancelled_at` text,
364
+ `cancellation_reason` text,
365
+ `archived_at` text,
366
+ `archive_reason` text,
367
+ `cycle_time_days` integer,
368
+ `verification_json` text,
369
+ `created_by` text,
370
+ `modified_by` text,
371
+ `session_id` text,
372
+ `pipeline_stage` text,
373
+ CONSTRAINT `fk_tasks_parent_id` FOREIGN KEY (`parent_id`) REFERENCES `tasks`(`id`) ON DELETE SET NULL,
374
+ CONSTRAINT `fk_tasks_session_id` FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON DELETE SET NULL,
375
+ CONSTRAINT `fk_tasks_pipeline_stage` FOREIGN KEY (`pipeline_stage`) REFERENCES `lifecycle_stages`(`id`) ON DELETE SET NULL
376
+ );
377
+ --> statement-breakpoint
378
+ INSERT INTO `tasks_new` (`id`, `title`, `description`, `status`, `priority`, `type`, `parent_id`, `phase`, `size`, `position`, `position_version`, `labels_json`, `notes_json`, `acceptance_json`, `files_json`, `origin`, `blocked_by`, `epic_lifecycle`, `no_auto_complete`, `created_at`, `updated_at`, `completed_at`, `cancelled_at`, `cancellation_reason`, `archived_at`, `archive_reason`, `cycle_time_days`, `verification_json`, `created_by`, `modified_by`, `session_id`) SELECT `id`, `title`, `description`, `status`, `priority`, `type`, `parent_id`, `phase`, `size`, `position`, `position_version`, `labels_json`, `notes_json`, `acceptance_json`, `files_json`, `origin`, `blocked_by`, `epic_lifecycle`, `no_auto_complete`, `created_at`, `updated_at`, `completed_at`, `cancelled_at`, `cancellation_reason`, `archived_at`, `archive_reason`, `cycle_time_days`, `verification_json`, `created_by`, `modified_by`, `session_id` FROM `tasks`;
379
+ --> statement-breakpoint
380
+ DROP TABLE `tasks`;
381
+ --> statement-breakpoint
382
+ ALTER TABLE `tasks_new` RENAME TO `tasks`;
383
+ --> statement-breakpoint
384
+ -- Single-column indexes for tasks (restore after table rebuild)
385
+ CREATE INDEX `idx_tasks_status` ON `tasks` (`status`);
386
+ --> statement-breakpoint
387
+ CREATE INDEX `idx_tasks_parent_id` ON `tasks` (`parent_id`);
388
+ --> statement-breakpoint
389
+ CREATE INDEX `idx_tasks_phase` ON `tasks` (`phase`);
390
+ --> statement-breakpoint
391
+ CREATE INDEX `idx_tasks_type` ON `tasks` (`type`);
392
+ --> statement-breakpoint
393
+ CREATE INDEX `idx_tasks_priority` ON `tasks` (`priority`);
394
+ --> statement-breakpoint
395
+ CREATE INDEX `idx_tasks_session_id` ON `tasks` (`session_id`);
396
+ --> statement-breakpoint
397
+ CREATE INDEX `idx_tasks_pipeline_stage` ON `tasks` (`pipeline_stage`);
398
+ --> statement-breakpoint
399
+ -- Composite indexes for tasks (PART 2 — placed after rebuild to survive DROP)
400
+ CREATE INDEX IF NOT EXISTS `idx_tasks_parent_status` ON `tasks` (`parent_id`, `status`);
401
+ --> statement-breakpoint
402
+ CREATE INDEX IF NOT EXISTS `idx_tasks_status_priority` ON `tasks` (`status`, `priority`);
403
+ --> statement-breakpoint
404
+ CREATE INDEX IF NOT EXISTS `idx_tasks_type_phase` ON `tasks` (`type`, `phase`);
405
+ --> statement-breakpoint
406
+ CREATE INDEX IF NOT EXISTS `idx_tasks_status_archive_reason` ON `tasks` (`status`, `archive_reason`);
407
+ --> statement-breakpoint
408
+ PRAGMA foreign_keys=ON;
409
+ --> statement-breakpoint
410
+
411
+ -- SFK-023: sessions.current_task → tasks.id SET NULL
412
+ -- (previous_session_id and next_session_id FKs already exist; adding current_task FK)
413
+ PRAGMA foreign_keys=OFF;
414
+ --> statement-breakpoint
415
+ CREATE TABLE `sessions_new` (
416
+ `id` text PRIMARY KEY,
417
+ `name` text NOT NULL,
418
+ `status` text DEFAULT 'active' NOT NULL,
419
+ `scope_json` text DEFAULT '{}' NOT NULL,
420
+ `current_task` text,
421
+ `task_started_at` text,
422
+ `agent` text,
423
+ `notes_json` text DEFAULT '[]',
424
+ `tasks_completed_json` text DEFAULT '[]',
425
+ `tasks_created_json` text DEFAULT '[]',
426
+ `handoff_json` text,
427
+ `started_at` text DEFAULT (datetime('now')) NOT NULL,
428
+ `ended_at` text,
429
+ `previous_session_id` text,
430
+ `next_session_id` text,
431
+ `agent_identifier` text,
432
+ `handoff_consumed_at` text,
433
+ `handoff_consumed_by` text,
434
+ `debrief_json` text,
435
+ `provider_id` text,
436
+ `stats_json` text,
437
+ `resume_count` integer,
438
+ `grade_mode` integer,
439
+ CONSTRAINT `fk_sessions_previous_session_id` FOREIGN KEY (`previous_session_id`) REFERENCES `sessions`(`id`) ON DELETE SET NULL,
440
+ CONSTRAINT `fk_sessions_next_session_id` FOREIGN KEY (`next_session_id`) REFERENCES `sessions`(`id`) ON DELETE SET NULL,
441
+ CONSTRAINT `fk_sessions_current_task` FOREIGN KEY (`current_task`) REFERENCES `tasks`(`id`) ON DELETE SET NULL
442
+ );
443
+ --> statement-breakpoint
444
+ INSERT INTO `sessions_new` SELECT `id`, `name`, `status`, `scope_json`, `current_task`, `task_started_at`, `agent`, `notes_json`, `tasks_completed_json`, `tasks_created_json`, `handoff_json`, `started_at`, `ended_at`, `previous_session_id`, `next_session_id`, `agent_identifier`, `handoff_consumed_at`, `handoff_consumed_by`, `debrief_json`, `provider_id`, `stats_json`, `resume_count`, `grade_mode` FROM `sessions`;
445
+ --> statement-breakpoint
446
+ DROP TABLE `sessions`;
447
+ --> statement-breakpoint
448
+ ALTER TABLE `sessions_new` RENAME TO `sessions`;
449
+ --> statement-breakpoint
450
+ -- Single-column indexes for sessions (restore after table rebuild)
451
+ CREATE INDEX `idx_sessions_status` ON `sessions` (`status`);
452
+ --> statement-breakpoint
453
+ CREATE INDEX `idx_sessions_previous` ON `sessions` (`previous_session_id`);
454
+ --> statement-breakpoint
455
+ CREATE INDEX `idx_sessions_agent_identifier` ON `sessions` (`agent_identifier`);
456
+ --> statement-breakpoint
457
+ CREATE INDEX `idx_sessions_started_at` ON `sessions` (`started_at`);
458
+ --> statement-breakpoint
459
+ -- Composite index for sessions (PART 2 — placed after rebuild to survive DROP)
460
+ CREATE INDEX IF NOT EXISTS `idx_sessions_status_started_at` ON `sessions` (`status`, `started_at`);
461
+ --> statement-breakpoint
462
+ PRAGMA foreign_keys=ON;
463
+ --> statement-breakpoint
464
+
465
+ -- SFK-020/021: token_usage SET NULL FKs for session_id and task_id
466
+ PRAGMA foreign_keys=OFF;
467
+ --> statement-breakpoint
468
+ CREATE TABLE `token_usage_new` (
469
+ `id` text PRIMARY KEY,
470
+ `created_at` text DEFAULT (datetime('now')) NOT NULL,
471
+ `provider` text DEFAULT 'unknown' NOT NULL,
472
+ `model` text,
473
+ `transport` text DEFAULT 'unknown' NOT NULL,
474
+ `gateway` text,
475
+ `domain` text,
476
+ `operation` text,
477
+ `session_id` text,
478
+ `task_id` text,
479
+ `request_id` text,
480
+ `input_chars` integer DEFAULT 0 NOT NULL,
481
+ `output_chars` integer DEFAULT 0 NOT NULL,
482
+ `input_tokens` integer DEFAULT 0 NOT NULL,
483
+ `output_tokens` integer DEFAULT 0 NOT NULL,
484
+ `total_tokens` integer DEFAULT 0 NOT NULL,
485
+ `method` text DEFAULT 'heuristic' NOT NULL,
486
+ `confidence` text DEFAULT 'coarse' NOT NULL,
487
+ `request_hash` text,
488
+ `response_hash` text,
489
+ `metadata_json` text DEFAULT '{}' NOT NULL,
490
+ CONSTRAINT `fk_token_usage_session_id` FOREIGN KEY (`session_id`) REFERENCES `sessions`(`id`) ON DELETE SET NULL,
491
+ CONSTRAINT `fk_token_usage_task_id` FOREIGN KEY (`task_id`) REFERENCES `tasks`(`id`) ON DELETE SET NULL
492
+ );
493
+ --> statement-breakpoint
494
+ INSERT INTO `token_usage_new` SELECT `id`, `created_at`, `provider`, `model`, `transport`, `gateway`, `domain`, `operation`, `session_id`, `task_id`, `request_id`, `input_chars`, `output_chars`, `input_tokens`, `output_tokens`, `total_tokens`, `method`, `confidence`, `request_hash`, `response_hash`, `metadata_json` FROM `token_usage`;
495
+ --> statement-breakpoint
496
+ DROP TABLE `token_usage`;
497
+ --> statement-breakpoint
498
+ ALTER TABLE `token_usage_new` RENAME TO `token_usage`;
499
+ --> statement-breakpoint
500
+ CREATE INDEX `idx_token_usage_created_at` ON `token_usage` (`created_at`);
501
+ --> statement-breakpoint
502
+ CREATE INDEX `idx_token_usage_request_id` ON `token_usage` (`request_id`);
503
+ --> statement-breakpoint
504
+ CREATE INDEX `idx_token_usage_session_id` ON `token_usage` (`session_id`);
505
+ --> statement-breakpoint
506
+ CREATE INDEX `idx_token_usage_task_id` ON `token_usage` (`task_id`);
507
+ --> statement-breakpoint
508
+ CREATE INDEX `idx_token_usage_provider` ON `token_usage` (`provider`);
509
+ --> statement-breakpoint
510
+ CREATE INDEX `idx_token_usage_transport` ON `token_usage` (`transport`);
511
+ --> statement-breakpoint
512
+ CREATE INDEX `idx_token_usage_domain_operation` ON `token_usage` (`domain`, `operation`);
513
+ --> statement-breakpoint
514
+ CREATE INDEX `idx_token_usage_method` ON `token_usage` (`method`);
515
+ --> statement-breakpoint
516
+ CREATE INDEX `idx_token_usage_gateway` ON `token_usage` (`gateway`);
517
+ --> statement-breakpoint
518
+ PRAGMA foreign_keys=ON;