@cleocode/core 2026.3.42 → 2026.3.44

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 (847) hide show
  1. package/dist/adapters/adapter-registry.d.ts +29 -0
  2. package/dist/adapters/adapter-registry.d.ts.map +1 -0
  3. package/dist/adapters/discovery.d.ts +18 -0
  4. package/dist/adapters/discovery.d.ts.map +1 -0
  5. package/dist/adapters/index.d.ts +10 -0
  6. package/dist/adapters/index.d.ts.map +1 -0
  7. package/dist/adapters/manager.d.ts +81 -0
  8. package/dist/adapters/manager.d.ts.map +1 -0
  9. package/dist/admin/export-tasks.d.ts +30 -0
  10. package/dist/admin/export-tasks.d.ts.map +1 -0
  11. package/dist/admin/export.d.ts +28 -0
  12. package/dist/admin/export.d.ts.map +1 -0
  13. package/dist/admin/help.d.ts +74 -0
  14. package/dist/admin/help.d.ts.map +1 -0
  15. package/dist/admin/import-tasks.d.ts +43 -0
  16. package/dist/admin/import-tasks.d.ts.map +1 -0
  17. package/dist/admin/import.d.ts +33 -0
  18. package/dist/admin/import.d.ts.map +1 -0
  19. package/dist/admin/index.d.ts +14 -0
  20. package/dist/admin/index.d.ts.map +1 -0
  21. package/dist/adrs/find.d.ts +24 -0
  22. package/dist/adrs/find.d.ts.map +1 -0
  23. package/dist/adrs/index.d.ts +18 -0
  24. package/dist/adrs/index.d.ts.map +1 -0
  25. package/dist/adrs/link-pipeline.d.ts +35 -0
  26. package/dist/adrs/link-pipeline.d.ts.map +1 -0
  27. package/dist/adrs/list.d.ts +16 -0
  28. package/dist/adrs/list.d.ts.map +1 -0
  29. package/dist/adrs/parse.d.ts +18 -0
  30. package/dist/adrs/parse.d.ts.map +1 -0
  31. package/dist/adrs/show.d.ts +11 -0
  32. package/dist/adrs/show.d.ts.map +1 -0
  33. package/dist/adrs/sync.d.ts +20 -0
  34. package/dist/adrs/sync.d.ts.map +1 -0
  35. package/dist/adrs/types.d.ts +67 -0
  36. package/dist/adrs/types.d.ts.map +1 -0
  37. package/dist/adrs/validate.d.ts +24 -0
  38. package/dist/adrs/validate.d.ts.map +1 -0
  39. package/dist/agents/agent-schema.d.ts +358 -0
  40. package/dist/agents/agent-schema.d.ts.map +1 -0
  41. package/dist/agents/capacity.d.ts +57 -0
  42. package/dist/agents/capacity.d.ts.map +1 -0
  43. package/dist/agents/index.d.ts +17 -0
  44. package/dist/agents/index.d.ts.map +1 -0
  45. package/dist/agents/registry.d.ts +115 -0
  46. package/dist/agents/registry.d.ts.map +1 -0
  47. package/dist/agents/retry.d.ts +83 -0
  48. package/dist/agents/retry.d.ts.map +1 -0
  49. package/dist/audit-prune.d.ts +35 -0
  50. package/dist/audit-prune.d.ts.map +1 -0
  51. package/dist/audit.d.ts +49 -0
  52. package/dist/audit.d.ts.map +1 -0
  53. package/dist/bootstrap.d.ts +44 -0
  54. package/dist/bootstrap.d.ts.map +1 -0
  55. package/dist/caamp/adapter.d.ts +130 -0
  56. package/dist/caamp/adapter.d.ts.map +1 -0
  57. package/dist/caamp/capability-check.d.ts +27 -0
  58. package/dist/caamp/capability-check.d.ts.map +1 -0
  59. package/dist/caamp/index.d.ts +12 -0
  60. package/dist/caamp/index.d.ts.map +1 -0
  61. package/dist/caamp-init.d.ts +2 -0
  62. package/dist/caamp-init.d.ts.map +1 -0
  63. package/dist/cleo.d.ts +295 -0
  64. package/dist/cleo.d.ts.map +1 -0
  65. package/dist/codebase-map/analyzers/architecture.d.ts +7 -0
  66. package/dist/codebase-map/analyzers/architecture.d.ts.map +1 -0
  67. package/dist/codebase-map/analyzers/concerns.d.ts +6 -0
  68. package/dist/codebase-map/analyzers/concerns.d.ts.map +1 -0
  69. package/dist/codebase-map/analyzers/conventions.d.ts +8 -0
  70. package/dist/codebase-map/analyzers/conventions.d.ts.map +1 -0
  71. package/dist/codebase-map/analyzers/integrations.d.ts +7 -0
  72. package/dist/codebase-map/analyzers/integrations.d.ts.map +1 -0
  73. package/dist/codebase-map/analyzers/stack.d.ts +8 -0
  74. package/dist/codebase-map/analyzers/stack.d.ts.map +1 -0
  75. package/dist/codebase-map/analyzers/structure.d.ts +6 -0
  76. package/dist/codebase-map/analyzers/structure.d.ts.map +1 -0
  77. package/dist/codebase-map/analyzers/testing.d.ts +8 -0
  78. package/dist/codebase-map/analyzers/testing.d.ts.map +1 -0
  79. package/dist/codebase-map/index.d.ts +94 -0
  80. package/dist/codebase-map/index.d.ts.map +1 -0
  81. package/dist/codebase-map/store.d.ts +13 -0
  82. package/dist/codebase-map/store.d.ts.map +1 -0
  83. package/dist/codebase-map/summary.d.ts +7 -0
  84. package/dist/codebase-map/summary.d.ts.map +1 -0
  85. package/dist/compliance/index.d.ts +38 -0
  86. package/dist/compliance/index.d.ts.map +1 -0
  87. package/dist/compliance/protocol-enforcement.d.ts +106 -0
  88. package/dist/compliance/protocol-enforcement.d.ts.map +1 -0
  89. package/dist/compliance/protocol-rules.d.ts +55 -0
  90. package/dist/compliance/protocol-rules.d.ts.map +1 -0
  91. package/dist/compliance/protocol-types.d.ts +109 -0
  92. package/dist/compliance/protocol-types.d.ts.map +1 -0
  93. package/dist/compliance/store.d.ts +19 -0
  94. package/dist/compliance/store.d.ts.map +1 -0
  95. package/dist/config/build-config.d.ts +31 -0
  96. package/dist/config/build-config.d.ts.map +1 -0
  97. package/dist/config.d.ts +53 -0
  98. package/dist/config.d.ts.map +1 -0
  99. package/dist/constants.d.ts +13 -0
  100. package/dist/constants.d.ts.map +1 -0
  101. package/dist/context/index.d.ts +20 -0
  102. package/dist/context/index.d.ts.map +1 -0
  103. package/dist/engine-result.d.ts +31 -0
  104. package/dist/engine-result.d.ts.map +1 -0
  105. package/dist/error-catalog.d.ts +49 -0
  106. package/dist/error-catalog.d.ts.map +1 -0
  107. package/dist/error-registry.d.ts +58 -0
  108. package/dist/error-registry.d.ts.map +1 -0
  109. package/dist/errors.d.ts +66 -0
  110. package/dist/errors.d.ts.map +1 -0
  111. package/dist/hooks/handlers/error-hooks.d.ts +18 -0
  112. package/dist/hooks/handlers/error-hooks.d.ts.map +1 -0
  113. package/dist/hooks/handlers/file-hooks.d.ts +20 -0
  114. package/dist/hooks/handlers/file-hooks.d.ts.map +1 -0
  115. package/dist/hooks/handlers/index.d.ts +17 -0
  116. package/dist/hooks/handlers/index.d.ts.map +1 -0
  117. package/dist/hooks/handlers/mcp-hooks.d.ts +22 -0
  118. package/dist/hooks/handlers/mcp-hooks.d.ts.map +1 -0
  119. package/dist/hooks/handlers/session-hooks.d.ts +16 -0
  120. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -0
  121. package/dist/hooks/handlers/task-hooks.d.ts +16 -0
  122. package/dist/hooks/handlers/task-hooks.d.ts.map +1 -0
  123. package/dist/hooks/index.d.ts +15 -0
  124. package/dist/hooks/index.d.ts.map +1 -0
  125. package/dist/hooks/payload-schemas.d.ts +214 -0
  126. package/dist/hooks/payload-schemas.d.ts.map +1 -0
  127. package/dist/hooks/provider-hooks.d.ts +27 -0
  128. package/dist/hooks/provider-hooks.d.ts.map +1 -0
  129. package/dist/hooks/registry.d.ts +111 -0
  130. package/dist/hooks/registry.d.ts.map +1 -0
  131. package/dist/hooks/types.d.ts +299 -0
  132. package/dist/hooks/types.d.ts.map +1 -0
  133. package/dist/hooks.d.ts +46 -0
  134. package/dist/hooks.d.ts.map +1 -0
  135. package/dist/index.d.ts +112 -0
  136. package/dist/index.d.ts.map +1 -0
  137. package/dist/index.js +16443 -2160
  138. package/dist/index.js.map +4 -4
  139. package/dist/init.d.ts +137 -0
  140. package/dist/init.d.ts.map +1 -0
  141. package/dist/inject/index.d.ts +26 -0
  142. package/dist/inject/index.d.ts.map +1 -0
  143. package/dist/injection.d.ts +69 -0
  144. package/dist/injection.d.ts.map +1 -0
  145. package/dist/intelligence/impact.d.ts +51 -0
  146. package/dist/intelligence/impact.d.ts.map +1 -0
  147. package/dist/intelligence/index.d.ts +15 -0
  148. package/dist/intelligence/index.d.ts.map +1 -0
  149. package/dist/intelligence/patterns.d.ts +66 -0
  150. package/dist/intelligence/patterns.d.ts.map +1 -0
  151. package/dist/intelligence/prediction.d.ts +51 -0
  152. package/dist/intelligence/prediction.d.ts.map +1 -0
  153. package/dist/intelligence/types.d.ts +221 -0
  154. package/dist/intelligence/types.d.ts.map +1 -0
  155. package/dist/internal.d.ts +209 -0
  156. package/dist/internal.d.ts.map +1 -0
  157. package/dist/issue/create.d.ts +43 -0
  158. package/dist/issue/create.d.ts.map +1 -0
  159. package/dist/issue/diagnostics.d.ts +18 -0
  160. package/dist/issue/diagnostics.d.ts.map +1 -0
  161. package/dist/issue/index.d.ts +12 -0
  162. package/dist/issue/index.d.ts.map +1 -0
  163. package/dist/issue/template-parser.d.ts +54 -0
  164. package/dist/issue/template-parser.d.ts.map +1 -0
  165. package/dist/json-schema-validator.d.ts +20 -0
  166. package/dist/json-schema-validator.d.ts.map +1 -0
  167. package/dist/lifecycle/chain-composition.d.ts +30 -0
  168. package/dist/lifecycle/chain-composition.d.ts.map +1 -0
  169. package/dist/lifecycle/chain-store.d.ts +70 -0
  170. package/dist/lifecycle/chain-store.d.ts.map +1 -0
  171. package/dist/lifecycle/consolidate-rcasd.d.ts +81 -0
  172. package/dist/lifecycle/consolidate-rcasd.d.ts.map +1 -0
  173. package/dist/lifecycle/default-chain.d.ts +33 -0
  174. package/dist/lifecycle/default-chain.d.ts.map +1 -0
  175. package/dist/lifecycle/evidence.d.ts +71 -0
  176. package/dist/lifecycle/evidence.d.ts.map +1 -0
  177. package/dist/lifecycle/frontmatter.d.ts +104 -0
  178. package/dist/lifecycle/frontmatter.d.ts.map +1 -0
  179. package/dist/lifecycle/index.d.ts +228 -0
  180. package/dist/lifecycle/index.d.ts.map +1 -0
  181. package/dist/lifecycle/pipeline.d.ts +335 -0
  182. package/dist/lifecycle/pipeline.d.ts.map +1 -0
  183. package/dist/lifecycle/rcasd-index.d.ts +168 -0
  184. package/dist/lifecycle/rcasd-index.d.ts.map +1 -0
  185. package/dist/lifecycle/rcasd-paths.d.ts +103 -0
  186. package/dist/lifecycle/rcasd-paths.d.ts.map +1 -0
  187. package/dist/lifecycle/resume.d.ts +501 -0
  188. package/dist/lifecycle/resume.d.ts.map +1 -0
  189. package/dist/lifecycle/stage-artifacts.d.ts +23 -0
  190. package/dist/lifecycle/stage-artifacts.d.ts.map +1 -0
  191. package/dist/lifecycle/stages.d.ts +323 -0
  192. package/dist/lifecycle/stages.d.ts.map +1 -0
  193. package/dist/lifecycle/state-machine.d.ts +327 -0
  194. package/dist/lifecycle/state-machine.d.ts.map +1 -0
  195. package/dist/lifecycle/tessera-engine.d.ts +48 -0
  196. package/dist/lifecycle/tessera-engine.d.ts.map +1 -0
  197. package/dist/logger.d.ts +54 -0
  198. package/dist/logger.d.ts.map +1 -0
  199. package/dist/mcp/index.d.ts +42 -0
  200. package/dist/mcp/index.d.ts.map +1 -0
  201. package/dist/memory/auto-extract.d.ts +34 -0
  202. package/dist/memory/auto-extract.d.ts.map +1 -0
  203. package/dist/memory/brain-embedding.d.ts +42 -0
  204. package/dist/memory/brain-embedding.d.ts.map +1 -0
  205. package/dist/memory/brain-lifecycle.d.ts +57 -0
  206. package/dist/memory/brain-lifecycle.d.ts.map +1 -0
  207. package/dist/memory/brain-links.d.ts +75 -0
  208. package/dist/memory/brain-links.d.ts.map +1 -0
  209. package/dist/memory/brain-migration.d.ts +30 -0
  210. package/dist/memory/brain-migration.d.ts.map +1 -0
  211. package/dist/memory/brain-reasoning.d.ts +54 -0
  212. package/dist/memory/brain-reasoning.d.ts.map +1 -0
  213. package/dist/memory/brain-retrieval.d.ts +157 -0
  214. package/dist/memory/brain-retrieval.d.ts.map +1 -0
  215. package/dist/memory/brain-row-types.d.ts +79 -0
  216. package/dist/memory/brain-row-types.d.ts.map +1 -0
  217. package/dist/memory/brain-search.d.ts +91 -0
  218. package/dist/memory/brain-search.d.ts.map +1 -0
  219. package/dist/memory/brain-similarity.d.ts +33 -0
  220. package/dist/memory/brain-similarity.d.ts.map +1 -0
  221. package/dist/memory/claude-mem-migration.d.ts +45 -0
  222. package/dist/memory/claude-mem-migration.d.ts.map +1 -0
  223. package/dist/memory/decisions.d.ts +72 -0
  224. package/dist/memory/decisions.d.ts.map +1 -0
  225. package/dist/memory/engine-compat.d.ts +144 -0
  226. package/dist/memory/engine-compat.d.ts.map +1 -0
  227. package/dist/memory/index.d.ts +305 -0
  228. package/dist/memory/index.d.ts.map +1 -0
  229. package/dist/memory/learnings.d.ts +74 -0
  230. package/dist/memory/learnings.d.ts.map +1 -0
  231. package/dist/memory/memory-bridge.d.ts +50 -0
  232. package/dist/memory/memory-bridge.d.ts.map +1 -0
  233. package/dist/memory/patterns.d.ts +87 -0
  234. package/dist/memory/patterns.d.ts.map +1 -0
  235. package/dist/memory/pipeline-manifest-sqlite.d.ts +83 -0
  236. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -0
  237. package/dist/memory/session-memory.d.ts +88 -0
  238. package/dist/memory/session-memory.d.ts.map +1 -0
  239. package/dist/metrics/ab-test.d.ts +52 -0
  240. package/dist/metrics/ab-test.d.ts.map +1 -0
  241. package/dist/metrics/aggregation.d.ts +41 -0
  242. package/dist/metrics/aggregation.d.ts.map +1 -0
  243. package/dist/metrics/common.d.ts +30 -0
  244. package/dist/metrics/common.d.ts.map +1 -0
  245. package/dist/metrics/enums.d.ts +68 -0
  246. package/dist/metrics/enums.d.ts.map +1 -0
  247. package/dist/metrics/index.d.ts +17 -0
  248. package/dist/metrics/index.d.ts.map +1 -0
  249. package/dist/metrics/model-provider-registry.d.ts +17 -0
  250. package/dist/metrics/model-provider-registry.d.ts.map +1 -0
  251. package/dist/metrics/otel-integration.d.ts +49 -0
  252. package/dist/metrics/otel-integration.d.ts.map +1 -0
  253. package/dist/metrics/provider-detection.d.ts +20 -0
  254. package/dist/metrics/provider-detection.d.ts.map +1 -0
  255. package/dist/metrics/token-estimation.d.ts +70 -0
  256. package/dist/metrics/token-estimation.d.ts.map +1 -0
  257. package/dist/metrics/token-service.d.ts +107 -0
  258. package/dist/metrics/token-service.d.ts.map +1 -0
  259. package/dist/migration/agent-outputs.d.ts +70 -0
  260. package/dist/migration/agent-outputs.d.ts.map +1 -0
  261. package/dist/migration/checksum.d.ts +55 -0
  262. package/dist/migration/checksum.d.ts.map +1 -0
  263. package/dist/migration/index.d.ts +79 -0
  264. package/dist/migration/index.d.ts.map +1 -0
  265. package/dist/migration/logger.d.ts +161 -0
  266. package/dist/migration/logger.d.ts.map +1 -0
  267. package/dist/migration/preflight.d.ts +10 -0
  268. package/dist/migration/preflight.d.ts.map +1 -0
  269. package/dist/migration/state.d.ts +186 -0
  270. package/dist/migration/state.d.ts.map +1 -0
  271. package/dist/migration/validate.d.ts +57 -0
  272. package/dist/migration/validate.d.ts.map +1 -0
  273. package/dist/nexus/deps.d.ts +98 -0
  274. package/dist/nexus/deps.d.ts.map +1 -0
  275. package/dist/nexus/discover.d.ts +66 -0
  276. package/dist/nexus/discover.d.ts.map +1 -0
  277. package/dist/nexus/hash.d.ts +7 -0
  278. package/dist/nexus/hash.d.ts.map +1 -0
  279. package/dist/nexus/index.d.ts +17 -0
  280. package/dist/nexus/index.d.ts.map +1 -0
  281. package/dist/nexus/migrate-json-to-sqlite.d.ts +23 -0
  282. package/dist/nexus/migrate-json-to-sqlite.d.ts.map +1 -0
  283. package/dist/nexus/permissions.d.ts +60 -0
  284. package/dist/nexus/permissions.d.ts.map +1 -0
  285. package/dist/nexus/query.d.ts +53 -0
  286. package/dist/nexus/query.d.ts.map +1 -0
  287. package/dist/nexus/registry.d.ts +126 -0
  288. package/dist/nexus/registry.d.ts.map +1 -0
  289. package/dist/nexus/sharing/index.d.ts +39 -0
  290. package/dist/nexus/sharing/index.d.ts.map +1 -0
  291. package/dist/observability/index.d.ts +32 -0
  292. package/dist/observability/index.d.ts.map +1 -0
  293. package/dist/observability/log-filter.d.ts +31 -0
  294. package/dist/observability/log-filter.d.ts.map +1 -0
  295. package/dist/observability/log-parser.d.ts +26 -0
  296. package/dist/observability/log-parser.d.ts.map +1 -0
  297. package/dist/observability/log-reader.d.ts +35 -0
  298. package/dist/observability/log-reader.d.ts.map +1 -0
  299. package/dist/observability/types.d.ts +112 -0
  300. package/dist/observability/types.d.ts.map +1 -0
  301. package/dist/orchestration/analyze.d.ts +57 -0
  302. package/dist/orchestration/analyze.d.ts.map +1 -0
  303. package/dist/orchestration/bootstrap.d.ts +12 -0
  304. package/dist/orchestration/bootstrap.d.ts.map +1 -0
  305. package/dist/orchestration/context.d.ts +38 -0
  306. package/dist/orchestration/context.d.ts.map +1 -0
  307. package/dist/orchestration/critical-path.d.ts +22 -0
  308. package/dist/orchestration/critical-path.d.ts.map +1 -0
  309. package/dist/orchestration/index.d.ts +116 -0
  310. package/dist/orchestration/index.d.ts.map +1 -0
  311. package/dist/orchestration/parallel.d.ts +35 -0
  312. package/dist/orchestration/parallel.d.ts.map +1 -0
  313. package/dist/orchestration/protocol-validators.d.ts +96 -0
  314. package/dist/orchestration/protocol-validators.d.ts.map +1 -0
  315. package/dist/orchestration/skill-ops.d.ts +29 -0
  316. package/dist/orchestration/skill-ops.d.ts.map +1 -0
  317. package/dist/orchestration/status.d.ts +92 -0
  318. package/dist/orchestration/status.d.ts.map +1 -0
  319. package/dist/orchestration/unblock.d.ts +31 -0
  320. package/dist/orchestration/unblock.d.ts.map +1 -0
  321. package/dist/orchestration/validate-spawn.d.ts +19 -0
  322. package/dist/orchestration/validate-spawn.d.ts.map +1 -0
  323. package/dist/orchestration/waves.d.ts +26 -0
  324. package/dist/orchestration/waves.d.ts.map +1 -0
  325. package/dist/otel/index.d.ts +27 -0
  326. package/dist/otel/index.d.ts.map +1 -0
  327. package/dist/output.d.ts +66 -0
  328. package/dist/output.d.ts.map +1 -0
  329. package/dist/pagination.d.ts +45 -0
  330. package/dist/pagination.d.ts.map +1 -0
  331. package/dist/paths.d.ts +165 -0
  332. package/dist/paths.d.ts.map +1 -0
  333. package/dist/phases/deps.d.ts +119 -0
  334. package/dist/phases/deps.d.ts.map +1 -0
  335. package/dist/phases/index.d.ts +123 -0
  336. package/dist/phases/index.d.ts.map +1 -0
  337. package/dist/pipeline/index.d.ts +10 -0
  338. package/dist/pipeline/index.d.ts.map +1 -0
  339. package/dist/pipeline/phase.d.ts +36 -0
  340. package/dist/pipeline/phase.d.ts.map +1 -0
  341. package/dist/platform.d.ts +103 -0
  342. package/dist/platform.d.ts.map +1 -0
  343. package/dist/project-info.d.ts +35 -0
  344. package/dist/project-info.d.ts.map +1 -0
  345. package/dist/reconciliation/index.d.ts +10 -0
  346. package/dist/reconciliation/index.d.ts.map +1 -0
  347. package/dist/reconciliation/link-store.d.ts +44 -0
  348. package/dist/reconciliation/link-store.d.ts.map +1 -0
  349. package/dist/reconciliation/reconciliation-engine.d.ts +24 -0
  350. package/dist/reconciliation/reconciliation-engine.d.ts.map +1 -0
  351. package/dist/release/artifacts.d.ts +71 -0
  352. package/dist/release/artifacts.d.ts.map +1 -0
  353. package/dist/release/changelog-writer.d.ts +26 -0
  354. package/dist/release/changelog-writer.d.ts.map +1 -0
  355. package/dist/release/channel.d.ts +54 -0
  356. package/dist/release/channel.d.ts.map +1 -0
  357. package/dist/release/ci.d.ts +35 -0
  358. package/dist/release/ci.d.ts.map +1 -0
  359. package/dist/release/github-pr.d.ts +63 -0
  360. package/dist/release/github-pr.d.ts.map +1 -0
  361. package/dist/release/guards.d.ts +44 -0
  362. package/dist/release/guards.d.ts.map +1 -0
  363. package/dist/release/index.d.ts +26 -0
  364. package/dist/release/index.d.ts.map +1 -0
  365. package/dist/release/release-config.d.ts +90 -0
  366. package/dist/release/release-config.d.ts.map +1 -0
  367. package/dist/release/release-manifest.d.ts +215 -0
  368. package/dist/release/release-manifest.d.ts.map +1 -0
  369. package/dist/release/version-bump.d.ts +51 -0
  370. package/dist/release/version-bump.d.ts.map +1 -0
  371. package/dist/remote/index.d.ts +81 -0
  372. package/dist/remote/index.d.ts.map +1 -0
  373. package/dist/repair.d.ts +30 -0
  374. package/dist/repair.d.ts.map +1 -0
  375. package/dist/research/index.d.ts +2 -0
  376. package/dist/research/index.d.ts.map +1 -0
  377. package/dist/roadmap/index.d.ts +13 -0
  378. package/dist/roadmap/index.d.ts.map +1 -0
  379. package/dist/routing/capability-matrix.d.ts +78 -0
  380. package/dist/routing/capability-matrix.d.ts.map +1 -0
  381. package/dist/routing/index.d.ts +10 -0
  382. package/dist/routing/index.d.ts.map +1 -0
  383. package/dist/scaffold.d.ts +215 -0
  384. package/dist/scaffold.d.ts.map +1 -0
  385. package/dist/schema-management.d.ts +96 -0
  386. package/dist/schema-management.d.ts.map +1 -0
  387. package/dist/security/index.d.ts +10 -0
  388. package/dist/security/index.d.ts.map +1 -0
  389. package/dist/security/input-sanitization.d.ts +93 -0
  390. package/dist/security/input-sanitization.d.ts.map +1 -0
  391. package/dist/sequence/index.d.ts +34 -0
  392. package/dist/sequence/index.d.ts.map +1 -0
  393. package/dist/sessions/assumptions.d.ts +22 -0
  394. package/dist/sessions/assumptions.d.ts.map +1 -0
  395. package/dist/sessions/briefing.d.ts +113 -0
  396. package/dist/sessions/briefing.d.ts.map +1 -0
  397. package/dist/sessions/context-alert.d.ts +48 -0
  398. package/dist/sessions/context-alert.d.ts.map +1 -0
  399. package/dist/sessions/context-inject.d.ts +31 -0
  400. package/dist/sessions/context-inject.d.ts.map +1 -0
  401. package/dist/sessions/context-monitor.d.ts +33 -0
  402. package/dist/sessions/context-monitor.d.ts.map +1 -0
  403. package/dist/sessions/decisions.d.ts +29 -0
  404. package/dist/sessions/decisions.d.ts.map +1 -0
  405. package/dist/sessions/find.d.ts +38 -0
  406. package/dist/sessions/find.d.ts.map +1 -0
  407. package/dist/sessions/handoff.d.ts +137 -0
  408. package/dist/sessions/handoff.d.ts.map +1 -0
  409. package/dist/sessions/hitl-warnings.d.ts +58 -0
  410. package/dist/sessions/hitl-warnings.d.ts.map +1 -0
  411. package/dist/sessions/index.d.ts +107 -0
  412. package/dist/sessions/index.d.ts.map +1 -0
  413. package/dist/sessions/session-archive.d.ts +17 -0
  414. package/dist/sessions/session-archive.d.ts.map +1 -0
  415. package/dist/sessions/session-cleanup.d.ts +22 -0
  416. package/dist/sessions/session-cleanup.d.ts.map +1 -0
  417. package/dist/sessions/session-drift.d.ts +22 -0
  418. package/dist/sessions/session-drift.d.ts.map +1 -0
  419. package/dist/sessions/session-enforcement.d.ts +49 -0
  420. package/dist/sessions/session-enforcement.d.ts.map +1 -0
  421. package/dist/sessions/session-grade.d.ts +41 -0
  422. package/dist/sessions/session-grade.d.ts.map +1 -0
  423. package/dist/sessions/session-history.d.ts +32 -0
  424. package/dist/sessions/session-history.d.ts.map +1 -0
  425. package/dist/sessions/session-id.d.ts +34 -0
  426. package/dist/sessions/session-id.d.ts.map +1 -0
  427. package/dist/sessions/session-memory-bridge.d.ts +28 -0
  428. package/dist/sessions/session-memory-bridge.d.ts.map +1 -0
  429. package/dist/sessions/session-show.d.ts +14 -0
  430. package/dist/sessions/session-show.d.ts.map +1 -0
  431. package/dist/sessions/session-stats.d.ts +30 -0
  432. package/dist/sessions/session-stats.d.ts.map +1 -0
  433. package/dist/sessions/session-suspend.d.ts +14 -0
  434. package/dist/sessions/session-suspend.d.ts.map +1 -0
  435. package/dist/sessions/session-switch.d.ts +14 -0
  436. package/dist/sessions/session-switch.d.ts.map +1 -0
  437. package/dist/sessions/session-view.d.ts +41 -0
  438. package/dist/sessions/session-view.d.ts.map +1 -0
  439. package/dist/sessions/statusline-setup.d.ts +24 -0
  440. package/dist/sessions/statusline-setup.d.ts.map +1 -0
  441. package/dist/sessions/types.d.ts +110 -0
  442. package/dist/sessions/types.d.ts.map +1 -0
  443. package/dist/signaldock/claude-code-transport.d.ts +34 -0
  444. package/dist/signaldock/claude-code-transport.d.ts.map +1 -0
  445. package/dist/signaldock/factory.d.ts +22 -0
  446. package/dist/signaldock/factory.d.ts.map +1 -0
  447. package/dist/signaldock/index.d.ts +13 -0
  448. package/dist/signaldock/index.d.ts.map +1 -0
  449. package/dist/signaldock/signaldock-transport.d.ts +45 -0
  450. package/dist/signaldock/signaldock-transport.d.ts.map +1 -0
  451. package/dist/signaldock/transport.d.ts +49 -0
  452. package/dist/signaldock/transport.d.ts.map +1 -0
  453. package/dist/signaldock/types.d.ts +88 -0
  454. package/dist/signaldock/types.d.ts.map +1 -0
  455. package/dist/skills/agents/config.d.ts +39 -0
  456. package/dist/skills/agents/config.d.ts.map +1 -0
  457. package/dist/skills/agents/install.d.ts +33 -0
  458. package/dist/skills/agents/install.d.ts.map +1 -0
  459. package/dist/skills/agents/registry.d.ts +56 -0
  460. package/dist/skills/agents/registry.d.ts.map +1 -0
  461. package/dist/skills/discovery.d.ts +102 -0
  462. package/dist/skills/discovery.d.ts.map +1 -0
  463. package/dist/skills/dispatch.d.ts +67 -0
  464. package/dist/skills/dispatch.d.ts.map +1 -0
  465. package/dist/skills/dynamic-skill-generator.d.ts +42 -0
  466. package/dist/skills/dynamic-skill-generator.d.ts.map +1 -0
  467. package/dist/skills/index.d.ts +38 -0
  468. package/dist/skills/index.d.ts.map +1 -0
  469. package/dist/skills/injection/subagent.d.ts +60 -0
  470. package/dist/skills/injection/subagent.d.ts.map +1 -0
  471. package/dist/skills/injection/token.d.ts +121 -0
  472. package/dist/skills/injection/token.d.ts.map +1 -0
  473. package/dist/skills/install.d.ts +16 -0
  474. package/dist/skills/install.d.ts.map +1 -0
  475. package/dist/skills/manifests/contribution.d.ts +74 -0
  476. package/dist/skills/manifests/contribution.d.ts.map +1 -0
  477. package/dist/skills/manifests/research.d.ts +73 -0
  478. package/dist/skills/manifests/research.d.ts.map +1 -0
  479. package/dist/skills/manifests/resolver.d.ts +40 -0
  480. package/dist/skills/manifests/resolver.d.ts.map +1 -0
  481. package/dist/skills/marketplace.d.ts +45 -0
  482. package/dist/skills/marketplace.d.ts.map +1 -0
  483. package/dist/skills/orchestrator/spawn.d.ts +66 -0
  484. package/dist/skills/orchestrator/spawn.d.ts.map +1 -0
  485. package/dist/skills/orchestrator/startup.d.ts +85 -0
  486. package/dist/skills/orchestrator/startup.d.ts.map +1 -0
  487. package/dist/skills/orchestrator/validator.d.ts +40 -0
  488. package/dist/skills/orchestrator/validator.d.ts.map +1 -0
  489. package/dist/skills/precedence-integration.d.ts +46 -0
  490. package/dist/skills/precedence-integration.d.ts.map +1 -0
  491. package/dist/skills/precedence-types.d.ts +50 -0
  492. package/dist/skills/precedence-types.d.ts.map +1 -0
  493. package/dist/skills/routing-table.d.ts +58 -0
  494. package/dist/skills/routing-table.d.ts.map +1 -0
  495. package/dist/skills/skill-paths.d.ts +79 -0
  496. package/dist/skills/skill-paths.d.ts.map +1 -0
  497. package/dist/skills/test-utility.d.ts +39 -0
  498. package/dist/skills/test-utility.d.ts.map +1 -0
  499. package/dist/skills/types.d.ts +347 -0
  500. package/dist/skills/types.d.ts.map +1 -0
  501. package/dist/skills/validation.d.ts +46 -0
  502. package/dist/skills/validation.d.ts.map +1 -0
  503. package/dist/skills/version.d.ts +31 -0
  504. package/dist/skills/version.d.ts.map +1 -0
  505. package/dist/snapshot/index.d.ts +83 -0
  506. package/dist/snapshot/index.d.ts.map +1 -0
  507. package/dist/spawn/adapter-registry.d.ts +132 -0
  508. package/dist/spawn/adapter-registry.d.ts.map +1 -0
  509. package/dist/spawn/index.d.ts +11 -0
  510. package/dist/spawn/index.d.ts.map +1 -0
  511. package/dist/stats/index.d.ts +37 -0
  512. package/dist/stats/index.d.ts.map +1 -0
  513. package/dist/sticky/archive.d.ts +18 -0
  514. package/dist/sticky/archive.d.ts.map +1 -0
  515. package/dist/sticky/convert.d.ts +73 -0
  516. package/dist/sticky/convert.d.ts.map +1 -0
  517. package/dist/sticky/create.d.ts +18 -0
  518. package/dist/sticky/create.d.ts.map +1 -0
  519. package/dist/sticky/id.d.ts +18 -0
  520. package/dist/sticky/id.d.ts.map +1 -0
  521. package/dist/sticky/index.d.ts +17 -0
  522. package/dist/sticky/index.d.ts.map +1 -0
  523. package/dist/sticky/list.d.ts +18 -0
  524. package/dist/sticky/list.d.ts.map +1 -0
  525. package/dist/sticky/purge.d.ts +17 -0
  526. package/dist/sticky/purge.d.ts.map +1 -0
  527. package/dist/sticky/show.d.ts +18 -0
  528. package/dist/sticky/show.d.ts.map +1 -0
  529. package/dist/sticky/types.d.ts +87 -0
  530. package/dist/sticky/types.d.ts.map +1 -0
  531. package/dist/store/atomic.d.ts +75 -0
  532. package/dist/store/atomic.d.ts.map +1 -0
  533. package/dist/store/backup.d.ts +21 -0
  534. package/dist/store/backup.d.ts.map +1 -0
  535. package/dist/store/brain-accessor.d.ts +84 -0
  536. package/dist/store/brain-accessor.d.ts.map +1 -0
  537. package/dist/store/brain-schema.d.ts +1339 -0
  538. package/dist/store/brain-schema.d.ts.map +1 -0
  539. package/dist/store/brain-sqlite.d.ts +59 -0
  540. package/dist/store/brain-sqlite.d.ts.map +1 -0
  541. package/dist/store/cache.d.ts +67 -0
  542. package/dist/store/cache.d.ts.map +1 -0
  543. package/dist/store/chain-schema.d.ts +319 -0
  544. package/dist/store/chain-schema.d.ts.map +1 -0
  545. package/dist/store/converters.d.ts +19 -0
  546. package/dist/store/converters.d.ts.map +1 -0
  547. package/dist/store/data-accessor.d.ts +20 -0
  548. package/dist/store/data-accessor.d.ts.map +1 -0
  549. package/dist/store/data-safety-central.d.ts +101 -0
  550. package/dist/store/data-safety-central.d.ts.map +1 -0
  551. package/dist/store/data-safety.d.ts +92 -0
  552. package/dist/store/data-safety.d.ts.map +1 -0
  553. package/dist/store/db-helpers.d.ts +61 -0
  554. package/dist/store/db-helpers.d.ts.map +1 -0
  555. package/dist/store/export.d.ts +88 -0
  556. package/dist/store/export.d.ts.map +1 -0
  557. package/dist/store/file-utils.d.ts +72 -0
  558. package/dist/store/file-utils.d.ts.map +1 -0
  559. package/dist/store/git-checkpoint.d.ts +93 -0
  560. package/dist/store/git-checkpoint.d.ts.map +1 -0
  561. package/dist/store/import-logging.d.ts +58 -0
  562. package/dist/store/import-logging.d.ts.map +1 -0
  563. package/dist/store/import-remap.d.ts +50 -0
  564. package/dist/store/import-remap.d.ts.map +1 -0
  565. package/dist/store/import-sort.d.ts +35 -0
  566. package/dist/store/import-sort.d.ts.map +1 -0
  567. package/dist/store/index.d.ts +28 -0
  568. package/dist/store/index.d.ts.map +1 -0
  569. package/dist/store/json.d.ts +57 -0
  570. package/dist/store/json.d.ts.map +1 -0
  571. package/dist/store/lifecycle-store.d.ts +125 -0
  572. package/dist/store/lifecycle-store.d.ts.map +1 -0
  573. package/dist/store/lock.d.ts +29 -0
  574. package/dist/store/lock.d.ts.map +1 -0
  575. package/dist/store/migration-sqlite.d.ts +67 -0
  576. package/dist/store/migration-sqlite.d.ts.map +1 -0
  577. package/dist/store/nexus-schema.d.ts +503 -0
  578. package/dist/store/nexus-schema.d.ts.map +1 -0
  579. package/dist/store/nexus-sqlite.d.ts +58 -0
  580. package/dist/store/nexus-sqlite.d.ts.map +1 -0
  581. package/dist/store/nexus-validation-schemas.d.ts +970 -0
  582. package/dist/store/nexus-validation-schemas.d.ts.map +1 -0
  583. package/dist/store/parsers.d.ts +16 -0
  584. package/dist/store/parsers.d.ts.map +1 -0
  585. package/dist/store/project-detect.d.ts +56 -0
  586. package/dist/store/project-detect.d.ts.map +1 -0
  587. package/dist/store/provider.d.ts +147 -0
  588. package/dist/store/provider.d.ts.map +1 -0
  589. package/dist/store/safety-data-accessor.d.ts +123 -0
  590. package/dist/store/safety-data-accessor.d.ts.map +1 -0
  591. package/dist/store/schema.d.ts +7 -0
  592. package/dist/store/schema.d.ts.map +1 -0
  593. package/dist/store/session-store.d.ts +42 -0
  594. package/dist/store/session-store.d.ts.map +1 -0
  595. package/dist/store/sqlite-backup.d.ts +34 -0
  596. package/dist/store/sqlite-backup.d.ts.map +1 -0
  597. package/dist/store/sqlite-data-accessor.d.ts +26 -0
  598. package/dist/store/sqlite-data-accessor.d.ts.map +1 -0
  599. package/dist/store/sqlite.d.ts +106 -0
  600. package/dist/store/sqlite.d.ts.map +1 -0
  601. package/dist/store/status-registry.d.ts +9 -0
  602. package/dist/store/status-registry.d.ts.map +1 -0
  603. package/dist/store/task-store.d.ts +69 -0
  604. package/dist/store/task-store.d.ts.map +1 -0
  605. package/dist/store/tasks-schema.d.ts +4077 -0
  606. package/dist/store/tasks-schema.d.ts.map +1 -0
  607. package/dist/store/typed-query.d.ts +12 -0
  608. package/dist/store/typed-query.d.ts.map +1 -0
  609. package/dist/store/validation-schemas.d.ts +9042 -0
  610. package/dist/store/validation-schemas.d.ts.map +1 -0
  611. package/dist/system/archive-analytics.d.ts +148 -0
  612. package/dist/system/archive-analytics.d.ts.map +1 -0
  613. package/dist/system/archive-stats.d.ts +21 -0
  614. package/dist/system/archive-stats.d.ts.map +1 -0
  615. package/dist/system/audit.d.ts +25 -0
  616. package/dist/system/audit.d.ts.map +1 -0
  617. package/dist/system/backup.d.ts +28 -0
  618. package/dist/system/backup.d.ts.map +1 -0
  619. package/dist/system/cleanup.d.ts +20 -0
  620. package/dist/system/cleanup.d.ts.map +1 -0
  621. package/dist/system/health.d.ts +124 -0
  622. package/dist/system/health.d.ts.map +1 -0
  623. package/dist/system/index.d.ts +31 -0
  624. package/dist/system/index.d.ts.map +1 -0
  625. package/dist/system/inject-generate.d.ts +13 -0
  626. package/dist/system/inject-generate.d.ts.map +1 -0
  627. package/dist/system/labels.d.ts +18 -0
  628. package/dist/system/labels.d.ts.map +1 -0
  629. package/dist/system/metrics.d.ts +30 -0
  630. package/dist/system/metrics.d.ts.map +1 -0
  631. package/dist/system/migrate.d.ts +19 -0
  632. package/dist/system/migrate.d.ts.map +1 -0
  633. package/dist/system/platform-paths.d.ts +61 -0
  634. package/dist/system/platform-paths.d.ts.map +1 -0
  635. package/dist/system/runtime.d.ts +38 -0
  636. package/dist/system/runtime.d.ts.map +1 -0
  637. package/dist/system/safestop.d.ts +35 -0
  638. package/dist/system/safestop.d.ts.map +1 -0
  639. package/dist/system/storage-preflight.d.ts +42 -0
  640. package/dist/system/storage-preflight.d.ts.map +1 -0
  641. package/dist/task-work/index.d.ts +58 -0
  642. package/dist/task-work/index.d.ts.map +1 -0
  643. package/dist/tasks/add.d.ts +123 -0
  644. package/dist/tasks/add.d.ts.map +1 -0
  645. package/dist/tasks/analyze.d.ts +16 -0
  646. package/dist/tasks/analyze.d.ts.map +1 -0
  647. package/dist/tasks/archive.d.ts +31 -0
  648. package/dist/tasks/archive.d.ts.map +1 -0
  649. package/dist/tasks/atomicity.d.ts +21 -0
  650. package/dist/tasks/atomicity.d.ts.map +1 -0
  651. package/dist/tasks/cancel-ops.d.ts +42 -0
  652. package/dist/tasks/cancel-ops.d.ts.map +1 -0
  653. package/dist/tasks/complete.d.ts +26 -0
  654. package/dist/tasks/complete.d.ts.map +1 -0
  655. package/dist/tasks/crossref-extract.d.ts +39 -0
  656. package/dist/tasks/crossref-extract.d.ts.map +1 -0
  657. package/dist/tasks/delete-preview.d.ts +69 -0
  658. package/dist/tasks/delete-preview.d.ts.map +1 -0
  659. package/dist/tasks/delete.d.ts +24 -0
  660. package/dist/tasks/delete.d.ts.map +1 -0
  661. package/dist/tasks/deletion-strategy.d.ts +46 -0
  662. package/dist/tasks/deletion-strategy.d.ts.map +1 -0
  663. package/dist/tasks/dependency-check.d.ts +82 -0
  664. package/dist/tasks/dependency-check.d.ts.map +1 -0
  665. package/dist/tasks/deps-ready.d.ts +22 -0
  666. package/dist/tasks/deps-ready.d.ts.map +1 -0
  667. package/dist/tasks/find.d.ts +48 -0
  668. package/dist/tasks/find.d.ts.map +1 -0
  669. package/dist/tasks/graph-cache.d.ts +70 -0
  670. package/dist/tasks/graph-cache.d.ts.map +1 -0
  671. package/dist/tasks/graph-ops.d.ts +36 -0
  672. package/dist/tasks/graph-ops.d.ts.map +1 -0
  673. package/dist/tasks/graph-rag.d.ts +49 -0
  674. package/dist/tasks/graph-rag.d.ts.map +1 -0
  675. package/dist/tasks/hierarchy-policy.d.ts +61 -0
  676. package/dist/tasks/hierarchy-policy.d.ts.map +1 -0
  677. package/dist/tasks/hierarchy.d.ts +85 -0
  678. package/dist/tasks/hierarchy.d.ts.map +1 -0
  679. package/dist/tasks/id-generator.d.ts +28 -0
  680. package/dist/tasks/id-generator.d.ts.map +1 -0
  681. package/dist/tasks/index.d.ts +14 -0
  682. package/dist/tasks/index.d.ts.map +1 -0
  683. package/dist/tasks/labels.d.ts +19 -0
  684. package/dist/tasks/labels.d.ts.map +1 -0
  685. package/dist/tasks/list.d.ts +49 -0
  686. package/dist/tasks/list.d.ts.map +1 -0
  687. package/dist/tasks/phase-tracking.d.ts +61 -0
  688. package/dist/tasks/phase-tracking.d.ts.map +1 -0
  689. package/dist/tasks/plan.d.ts +53 -0
  690. package/dist/tasks/plan.d.ts.map +1 -0
  691. package/dist/tasks/relates.d.ts +18 -0
  692. package/dist/tasks/relates.d.ts.map +1 -0
  693. package/dist/tasks/show.d.ts +23 -0
  694. package/dist/tasks/show.d.ts.map +1 -0
  695. package/dist/tasks/size-weighting.d.ts +38 -0
  696. package/dist/tasks/size-weighting.d.ts.map +1 -0
  697. package/dist/tasks/staleness.d.ts +56 -0
  698. package/dist/tasks/staleness.d.ts.map +1 -0
  699. package/dist/tasks/task-ops.d.ts +322 -0
  700. package/dist/tasks/task-ops.d.ts.map +1 -0
  701. package/dist/tasks/update.d.ts +41 -0
  702. package/dist/tasks/update.d.ts.map +1 -0
  703. package/dist/templates/index.d.ts +11 -0
  704. package/dist/templates/index.d.ts.map +1 -0
  705. package/dist/templates/parser.d.ts +84 -0
  706. package/dist/templates/parser.d.ts.map +1 -0
  707. package/dist/ui/aliases.d.ts +43 -0
  708. package/dist/ui/aliases.d.ts.map +1 -0
  709. package/dist/ui/changelog.d.ts +58 -0
  710. package/dist/ui/changelog.d.ts.map +1 -0
  711. package/dist/ui/command-registry.d.ts +44 -0
  712. package/dist/ui/command-registry.d.ts.map +1 -0
  713. package/dist/ui/flags.d.ts +34 -0
  714. package/dist/ui/flags.d.ts.map +1 -0
  715. package/dist/ui/index.d.ts +16 -0
  716. package/dist/ui/index.d.ts.map +1 -0
  717. package/dist/ui/injection-legacy.d.ts +26 -0
  718. package/dist/ui/injection-legacy.d.ts.map +1 -0
  719. package/dist/upgrade.d.ts +59 -0
  720. package/dist/upgrade.d.ts.map +1 -0
  721. package/dist/validation/chain-validation.d.ts +43 -0
  722. package/dist/validation/chain-validation.d.ts.map +1 -0
  723. package/dist/validation/compliance.d.ts +94 -0
  724. package/dist/validation/compliance.d.ts.map +1 -0
  725. package/dist/validation/docs-sync.d.ts +66 -0
  726. package/dist/validation/docs-sync.d.ts.map +1 -0
  727. package/dist/validation/doctor/checks.d.ts +130 -0
  728. package/dist/validation/doctor/checks.d.ts.map +1 -0
  729. package/dist/validation/doctor/index.d.ts +9 -0
  730. package/dist/validation/doctor/index.d.ts.map +1 -0
  731. package/dist/validation/doctor/project-cache.d.ts +77 -0
  732. package/dist/validation/doctor/project-cache.d.ts.map +1 -0
  733. package/dist/validation/doctor/utils.d.ts +68 -0
  734. package/dist/validation/doctor/utils.d.ts.map +1 -0
  735. package/dist/validation/engine.d.ts +171 -0
  736. package/dist/validation/engine.d.ts.map +1 -0
  737. package/dist/validation/gap-check.d.ts +74 -0
  738. package/dist/validation/gap-check.d.ts.map +1 -0
  739. package/dist/validation/index.d.ts +22 -0
  740. package/dist/validation/index.d.ts.map +1 -0
  741. package/dist/validation/manifest.d.ts +81 -0
  742. package/dist/validation/manifest.d.ts.map +1 -0
  743. package/dist/validation/operation-gate-validators.d.ts +96 -0
  744. package/dist/validation/operation-gate-validators.d.ts.map +1 -0
  745. package/dist/validation/operation-verification-gates.d.ts +274 -0
  746. package/dist/validation/operation-verification-gates.d.ts.map +1 -0
  747. package/dist/validation/param-utils.d.ts +121 -0
  748. package/dist/validation/param-utils.d.ts.map +1 -0
  749. package/dist/validation/protocol-common.d.ts +85 -0
  750. package/dist/validation/protocol-common.d.ts.map +1 -0
  751. package/dist/validation/protocols/consensus.d.ts +28 -0
  752. package/dist/validation/protocols/consensus.d.ts.map +1 -0
  753. package/dist/validation/protocols/contribution.d.ts +26 -0
  754. package/dist/validation/protocols/contribution.d.ts.map +1 -0
  755. package/dist/validation/protocols/decomposition.d.ts +28 -0
  756. package/dist/validation/protocols/decomposition.d.ts.map +1 -0
  757. package/dist/validation/protocols/implementation.d.ts +26 -0
  758. package/dist/validation/protocols/implementation.d.ts.map +1 -0
  759. package/dist/validation/protocols/release-protocol.d.ts +27 -0
  760. package/dist/validation/protocols/release-protocol.d.ts.map +1 -0
  761. package/dist/validation/protocols/research.d.ts +26 -0
  762. package/dist/validation/protocols/research.d.ts.map +1 -0
  763. package/dist/validation/protocols/specification.d.ts +28 -0
  764. package/dist/validation/protocols/specification.d.ts.map +1 -0
  765. package/dist/validation/protocols/testing-protocol.d.ts +27 -0
  766. package/dist/validation/protocols/testing-protocol.d.ts.map +1 -0
  767. package/dist/validation/protocols/validation-protocol.d.ts +27 -0
  768. package/dist/validation/protocols/validation-protocol.d.ts.map +1 -0
  769. package/dist/validation/schema-integrity.d.ts +42 -0
  770. package/dist/validation/schema-integrity.d.ts.map +1 -0
  771. package/dist/validation/schema-validator.d.ts +52 -0
  772. package/dist/validation/schema-validator.d.ts.map +1 -0
  773. package/dist/validation/validate-ops.d.ts +247 -0
  774. package/dist/validation/validate-ops.d.ts.map +1 -0
  775. package/dist/validation/validation-rules.d.ts +85 -0
  776. package/dist/validation/validation-rules.d.ts.map +1 -0
  777. package/dist/validation/verification.d.ts +153 -0
  778. package/dist/validation/verification.d.ts.map +1 -0
  779. package/migrations/drizzle-tasks/20260320013731_wave0-schema-hardening/migration.sql +84 -0
  780. package/migrations/drizzle-tasks/20260320013731_wave0-schema-hardening/snapshot.json +4060 -0
  781. package/migrations/drizzle-tasks/20260320020000_agent-dimension/migration.sql +35 -0
  782. package/migrations/drizzle-tasks/20260320020000_agent-dimension/snapshot.json +4312 -0
  783. package/package.json +2 -2
  784. package/src/admin/export-tasks.ts +2 -5
  785. package/src/agents/__tests__/capacity.test.ts +219 -0
  786. package/src/agents/__tests__/registry.test.ts +457 -0
  787. package/src/agents/__tests__/retry.test.ts +289 -0
  788. package/src/agents/agent-schema.ts +107 -0
  789. package/src/agents/capacity.ts +151 -0
  790. package/src/agents/index.ts +68 -0
  791. package/src/agents/registry.ts +449 -0
  792. package/src/agents/retry.ts +255 -0
  793. package/src/hooks/index.ts +20 -1
  794. package/src/hooks/payload-schemas.ts +199 -0
  795. package/src/index.ts +69 -0
  796. package/src/inject/index.ts +14 -14
  797. package/src/intelligence/__tests__/impact.test.ts +453 -0
  798. package/src/intelligence/__tests__/patterns.test.ts +450 -0
  799. package/src/intelligence/__tests__/prediction.test.ts +418 -0
  800. package/src/intelligence/impact.ts +638 -0
  801. package/src/intelligence/index.ts +47 -0
  802. package/src/intelligence/patterns.ts +621 -0
  803. package/src/intelligence/prediction.ts +621 -0
  804. package/src/intelligence/types.ts +273 -0
  805. package/src/internal.ts +82 -1
  806. package/src/issue/template-parser.ts +65 -4
  807. package/src/lifecycle/pipeline.ts +14 -7
  808. package/src/lifecycle/state-machine.ts +6 -2
  809. package/src/memory/brain-lifecycle.ts +5 -11
  810. package/src/memory/brain-retrieval.ts +44 -38
  811. package/src/memory/brain-row-types.ts +43 -6
  812. package/src/memory/brain-search.ts +53 -32
  813. package/src/memory/brain-similarity.ts +9 -8
  814. package/src/memory/claude-mem-migration.ts +4 -3
  815. package/src/nexus/__tests__/nexus-e2e.test.ts +1481 -0
  816. package/src/nexus/discover.ts +1 -0
  817. package/src/orchestration/bootstrap.ts +11 -17
  818. package/src/orchestration/skill-ops.ts +52 -32
  819. package/src/otel/index.ts +48 -4
  820. package/src/sessions/__tests__/briefing.test.ts +31 -2
  821. package/src/sessions/briefing.ts +27 -42
  822. package/src/sessions/handoff.ts +52 -86
  823. package/src/sessions/index.ts +5 -1
  824. package/src/sessions/types.ts +9 -43
  825. package/src/signaldock/signaldock-transport.ts +5 -2
  826. package/src/skills/injection/subagent.ts +10 -16
  827. package/src/skills/manifests/contribution.ts +5 -13
  828. package/src/skills/orchestrator/__tests__/spawn-tier.test.ts +44 -30
  829. package/src/skills/orchestrator/spawn.ts +18 -31
  830. package/src/skills/orchestrator/startup.ts +78 -65
  831. package/src/skills/orchestrator/validator.ts +26 -31
  832. package/src/skills/precedence-types.ts +24 -1
  833. package/src/skills/types.ts +72 -5
  834. package/src/store/__tests__/test-db-helper.d.ts +4 -4
  835. package/src/store/__tests__/test-db-helper.js +5 -16
  836. package/src/store/__tests__/test-db-helper.ts +5 -18
  837. package/src/store/chain-schema.ts +1 -1
  838. package/src/store/export.ts +22 -12
  839. package/src/store/tasks-schema.ts +65 -8
  840. package/src/store/typed-query.ts +17 -0
  841. package/src/store/validation-schemas.ts +347 -23
  842. package/src/system/inject-generate.ts +9 -23
  843. package/src/validation/doctor/checks.ts +24 -2
  844. package/src/validation/engine.ts +11 -11
  845. package/src/validation/index.ts +131 -3
  846. package/src/validation/protocol-common.ts +54 -3
  847. package/src/tasks/reparent.ts +0 -134
@@ -0,0 +1,453 @@
1
+ /**
2
+ * Tests for impact analysis module.
3
+ *
4
+ * Covers:
5
+ * - Simple dependency chains (A->B->C)
6
+ * - Complex graphs (diamond dependencies)
7
+ * - Each change type (cancel, block, complete, reprioritize)
8
+ * - Blast radius calculation
9
+ * - Critical path detection
10
+ * - Edge cases (orphan tasks, circular refs, no deps)
11
+ *
12
+ * @module intelligence
13
+ */
14
+
15
+ import type { DataAccessor, Task } from '@cleocode/contracts';
16
+ import { describe, expect, it } from 'vitest';
17
+ import { analyzeChangeImpact, analyzeTaskImpact, calculateBlastRadius } from '../impact.js';
18
+
19
+ // ============================================================================
20
+ // Test Helpers
21
+ // ============================================================================
22
+
23
+ function makeTask(overrides: Partial<Task> & { id: string }): Task {
24
+ return {
25
+ title: `Task ${overrides.id}`,
26
+ description: `Description for ${overrides.id}`,
27
+ status: 'pending',
28
+ priority: 'medium',
29
+ createdAt: new Date().toISOString(),
30
+ ...overrides,
31
+ } as Task;
32
+ }
33
+
34
+ /**
35
+ * Create a mock DataAccessor that returns the given tasks.
36
+ */
37
+ function mockAccessor(tasks: Task[]): DataAccessor {
38
+ return {
39
+ queryTasks: async () => ({ tasks, total: tasks.length }),
40
+ loadSingleTask: async (id: string) => tasks.find((t) => t.id === id) ?? null,
41
+ taskExists: async (id: string) => tasks.some((t) => t.id === id),
42
+ upsertSingleTask: async () => {},
43
+ deleteSingleTask: async () => true,
44
+ close: async () => {},
45
+ } as unknown as DataAccessor;
46
+ }
47
+
48
+ // ============================================================================
49
+ // analyzeTaskImpact
50
+ // ============================================================================
51
+
52
+ describe('analyzeTaskImpact', () => {
53
+ it('returns empty assessment for non-existent task', async () => {
54
+ const acc = mockAccessor([]);
55
+ const result = await analyzeTaskImpact('T999', acc);
56
+
57
+ expect(result.taskId).toBe('T999');
58
+ expect(result.directDependents).toEqual([]);
59
+ expect(result.transitiveDependents).toEqual([]);
60
+ expect(result.blockedWorkCount).toBe(0);
61
+ expect(result.isOnCriticalPath).toBe(false);
62
+ expect(result.blastRadius.severity).toBe('isolated');
63
+ });
64
+
65
+ it('analyzes simple linear chain A->B->C', async () => {
66
+ const tasks = [
67
+ makeTask({ id: 'T001' }),
68
+ makeTask({ id: 'T002', depends: ['T001'] }),
69
+ makeTask({ id: 'T003', depends: ['T002'] }),
70
+ ];
71
+ const acc = mockAccessor(tasks);
72
+ const result = await analyzeTaskImpact('T001', acc);
73
+
74
+ expect(result.taskId).toBe('T001');
75
+ expect(result.directDependents).toEqual(['T002']);
76
+ expect(result.transitiveDependents.sort()).toEqual(['T002', 'T003']);
77
+ expect(result.blockedWorkCount).toBe(2);
78
+ });
79
+
80
+ it('analyzes diamond dependency graph', async () => {
81
+ // T001 -> T002 -> T004
82
+ // T001 -> T003 -> T004
83
+ const tasks = [
84
+ makeTask({ id: 'T001' }),
85
+ makeTask({ id: 'T002', depends: ['T001'] }),
86
+ makeTask({ id: 'T003', depends: ['T001'] }),
87
+ makeTask({ id: 'T004', depends: ['T002', 'T003'] }),
88
+ ];
89
+ const acc = mockAccessor(tasks);
90
+ const result = await analyzeTaskImpact('T001', acc);
91
+
92
+ expect(result.directDependents.sort()).toEqual(['T002', 'T003']);
93
+ expect(result.transitiveDependents.sort()).toEqual(['T002', 'T003', 'T004']);
94
+ expect(result.blockedWorkCount).toBe(3);
95
+ });
96
+
97
+ it('excludes completed tasks from blocked work count', async () => {
98
+ const tasks = [
99
+ makeTask({ id: 'T001' }),
100
+ makeTask({ id: 'T002', depends: ['T001'], status: 'done' }),
101
+ makeTask({ id: 'T003', depends: ['T001'] }),
102
+ ];
103
+ const acc = mockAccessor(tasks);
104
+ const result = await analyzeTaskImpact('T001', acc);
105
+
106
+ expect(result.directDependents.sort()).toEqual(['T002', 'T003']);
107
+ expect(result.blockedWorkCount).toBe(1); // T002 is done, only T003 counts
108
+ });
109
+
110
+ it('detects task on critical path', async () => {
111
+ const tasks = [
112
+ makeTask({ id: 'T001' }),
113
+ makeTask({ id: 'T002', depends: ['T001'] }),
114
+ makeTask({ id: 'T003', depends: ['T002'] }),
115
+ makeTask({ id: 'T004' }), // isolated, not on critical path
116
+ ];
117
+ const acc = mockAccessor(tasks);
118
+ const result = await analyzeTaskImpact('T001', acc);
119
+
120
+ expect(result.isOnCriticalPath).toBe(true);
121
+ });
122
+
123
+ it('detects task NOT on critical path', async () => {
124
+ // T001 -> T002 -> T003 (critical path, length 3)
125
+ // T004 (independent, shorter)
126
+ const tasks = [
127
+ makeTask({ id: 'T001' }),
128
+ makeTask({ id: 'T002', depends: ['T001'] }),
129
+ makeTask({ id: 'T003', depends: ['T002'] }),
130
+ makeTask({ id: 'T004' }),
131
+ ];
132
+ const acc = mockAccessor(tasks);
133
+ const result = await analyzeTaskImpact('T004', acc);
134
+
135
+ expect(result.isOnCriticalPath).toBe(false);
136
+ });
137
+
138
+ it('finds affected pipelines via parent chain', async () => {
139
+ const tasks = [
140
+ makeTask({ id: 'T001', type: 'epic' }),
141
+ makeTask({ id: 'T002', parentId: 'T001', type: 'task' }),
142
+ makeTask({ id: 'T003', parentId: 'T001', type: 'task', depends: ['T002'] }),
143
+ ];
144
+ const acc = mockAccessor(tasks);
145
+ const result = await analyzeTaskImpact('T002', acc);
146
+
147
+ expect(result.affectedPipelines).toContain('T001');
148
+ });
149
+
150
+ it('handles orphan task with no dependents', async () => {
151
+ const tasks = [makeTask({ id: 'T001' }), makeTask({ id: 'T002' })];
152
+ const acc = mockAccessor(tasks);
153
+ const result = await analyzeTaskImpact('T001', acc);
154
+
155
+ expect(result.directDependents).toEqual([]);
156
+ expect(result.transitiveDependents).toEqual([]);
157
+ expect(result.blockedWorkCount).toBe(0);
158
+ expect(result.blastRadius.severity).toBe('isolated');
159
+ });
160
+
161
+ it('handles circular dependency gracefully', async () => {
162
+ const tasks = [
163
+ makeTask({ id: 'T001', depends: ['T002'] }),
164
+ makeTask({ id: 'T002', depends: ['T001'] }),
165
+ ];
166
+ const acc = mockAccessor(tasks);
167
+ // Should not throw, BFS handles cycles via visited set
168
+ const result = await analyzeTaskImpact('T001', acc);
169
+
170
+ expect(result.directDependents).toContain('T002');
171
+ expect(result.transitiveDependents).toContain('T002');
172
+ });
173
+ });
174
+
175
+ // ============================================================================
176
+ // analyzeChangeImpact
177
+ // ============================================================================
178
+
179
+ describe('analyzeChangeImpact', () => {
180
+ it('returns empty for non-existent task', async () => {
181
+ const acc = mockAccessor([]);
182
+ const result = await analyzeChangeImpact('T999', 'cancel', acc);
183
+
184
+ expect(result.affectedTasks).toEqual([]);
185
+ expect(result.cascadeDepth).toBe(0);
186
+ expect(result.recommendation).toContain('not found');
187
+ });
188
+
189
+ describe('cancel', () => {
190
+ it('identifies orphaned dependents when sole dependency cancelled', async () => {
191
+ const tasks = [
192
+ makeTask({ id: 'T001' }),
193
+ makeTask({ id: 'T002', depends: ['T001'], status: 'blocked' }),
194
+ ];
195
+ const acc = mockAccessor(tasks);
196
+ const result = await analyzeChangeImpact('T001', 'cancel', acc);
197
+
198
+ expect(result.affectedTasks).toHaveLength(1);
199
+ expect(result.affectedTasks[0].id).toBe('T002');
200
+ expect(result.affectedTasks[0].newStatus).toBe('pending');
201
+ expect(result.affectedTasks[0].reason).toContain('orphaned');
202
+ });
203
+
204
+ it('identifies tasks with remaining dependencies', async () => {
205
+ const tasks = [
206
+ makeTask({ id: 'T001' }),
207
+ makeTask({ id: 'T003' }),
208
+ makeTask({ id: 'T002', depends: ['T001', 'T003'] }),
209
+ ];
210
+ const acc = mockAccessor(tasks);
211
+ const result = await analyzeChangeImpact('T001', 'cancel', acc);
212
+
213
+ expect(result.affectedTasks).toHaveLength(1);
214
+ expect(result.affectedTasks[0].reason).toContain('other dependencies remain');
215
+ });
216
+
217
+ it('skips already-completed dependents', async () => {
218
+ const tasks = [
219
+ makeTask({ id: 'T001' }),
220
+ makeTask({ id: 'T002', depends: ['T001'], status: 'done' }),
221
+ ];
222
+ const acc = mockAccessor(tasks);
223
+ const result = await analyzeChangeImpact('T001', 'cancel', acc);
224
+
225
+ expect(result.affectedTasks).toEqual([]);
226
+ });
227
+ });
228
+
229
+ describe('block', () => {
230
+ it('cascade-blocks all downstream tasks', async () => {
231
+ const tasks = [
232
+ makeTask({ id: 'T001' }),
233
+ makeTask({ id: 'T002', depends: ['T001'] }),
234
+ makeTask({ id: 'T003', depends: ['T002'] }),
235
+ ];
236
+ const acc = mockAccessor(tasks);
237
+ const result = await analyzeChangeImpact('T001', 'block', acc);
238
+
239
+ expect(result.affectedTasks).toHaveLength(2);
240
+ expect(result.affectedTasks.every((t) => t.newStatus === 'blocked')).toBe(true);
241
+ });
242
+
243
+ it('includes direct dependency reason', async () => {
244
+ const tasks = [makeTask({ id: 'T001' }), makeTask({ id: 'T002', depends: ['T001'] })];
245
+ const acc = mockAccessor(tasks);
246
+ const result = await analyzeChangeImpact('T001', 'block', acc);
247
+
248
+ expect(result.affectedTasks[0].reason).toContain('Direct dependency blocked');
249
+ });
250
+ });
251
+
252
+ describe('complete', () => {
253
+ it('unblocks tasks whose last dependency is completed', async () => {
254
+ const tasks = [
255
+ makeTask({ id: 'T001' }),
256
+ makeTask({ id: 'T002', depends: ['T001'], status: 'blocked' }),
257
+ ];
258
+ const acc = mockAccessor(tasks);
259
+ const result = await analyzeChangeImpact('T001', 'complete', acc);
260
+
261
+ expect(result.affectedTasks).toHaveLength(1);
262
+ expect(result.affectedTasks[0].id).toBe('T002');
263
+ expect(result.affectedTasks[0].newStatus).toBe('pending');
264
+ expect(result.affectedTasks[0].reason).toContain('unblocked');
265
+ });
266
+
267
+ it('reports partially unblocked tasks with remaining deps', async () => {
268
+ const tasks = [
269
+ makeTask({ id: 'T001' }),
270
+ makeTask({ id: 'T003' }),
271
+ makeTask({ id: 'T002', depends: ['T001', 'T003'], status: 'blocked' }),
272
+ ];
273
+ const acc = mockAccessor(tasks);
274
+ const result = await analyzeChangeImpact('T001', 'complete', acc);
275
+
276
+ expect(result.affectedTasks).toHaveLength(1);
277
+ expect(result.affectedTasks[0].reason).toContain('1 other dependency');
278
+ });
279
+ });
280
+
281
+ describe('reprioritize', () => {
282
+ it('flags downstream tasks for reordering', async () => {
283
+ const tasks = [
284
+ makeTask({ id: 'T001' }),
285
+ makeTask({ id: 'T002', depends: ['T001'] }),
286
+ makeTask({ id: 'T003', depends: ['T002'] }),
287
+ ];
288
+ const acc = mockAccessor(tasks);
289
+ const result = await analyzeChangeImpact('T001', 'reprioritize', acc);
290
+
291
+ expect(result.affectedTasks).toHaveLength(2);
292
+ expect(result.affectedTasks.every((t) => t.reason.includes('reprioritized'))).toBe(true);
293
+ });
294
+ });
295
+
296
+ it('computes cascade depth correctly', async () => {
297
+ const tasks = [
298
+ makeTask({ id: 'T001' }),
299
+ makeTask({ id: 'T002', depends: ['T001'] }),
300
+ makeTask({ id: 'T003', depends: ['T002'] }),
301
+ makeTask({ id: 'T004', depends: ['T003'] }),
302
+ ];
303
+ const acc = mockAccessor(tasks);
304
+ const result = await analyzeChangeImpact('T001', 'block', acc);
305
+
306
+ expect(result.cascadeDepth).toBe(3);
307
+ });
308
+
309
+ it('generates recommendation text', async () => {
310
+ const tasks = [makeTask({ id: 'T001' }), makeTask({ id: 'T002', depends: ['T001'] })];
311
+ const acc = mockAccessor(tasks);
312
+ const result = await analyzeChangeImpact('T001', 'block', acc);
313
+
314
+ expect(result.recommendation).toContain('blocking');
315
+ expect(result.recommendation).toContain('T001');
316
+ });
317
+ });
318
+
319
+ // ============================================================================
320
+ // calculateBlastRadius
321
+ // ============================================================================
322
+
323
+ describe('calculateBlastRadius', () => {
324
+ it('returns isolated for non-existent task', async () => {
325
+ const acc = mockAccessor([]);
326
+ const result = await calculateBlastRadius('T999', acc);
327
+
328
+ expect(result.directCount).toBe(0);
329
+ expect(result.transitiveCount).toBe(0);
330
+ expect(result.severity).toBe('isolated');
331
+ });
332
+
333
+ it('computes correct counts for linear chain', async () => {
334
+ const tasks = [
335
+ makeTask({ id: 'T001' }),
336
+ makeTask({ id: 'T002', depends: ['T001'] }),
337
+ makeTask({ id: 'T003', depends: ['T002'] }),
338
+ ];
339
+ const acc = mockAccessor(tasks);
340
+ const result = await calculateBlastRadius('T001', acc);
341
+
342
+ expect(result.directCount).toBe(1);
343
+ expect(result.transitiveCount).toBe(2);
344
+ });
345
+
346
+ it('computes correct counts for diamond dependency', async () => {
347
+ const tasks = [
348
+ makeTask({ id: 'T001' }),
349
+ makeTask({ id: 'T002', depends: ['T001'] }),
350
+ makeTask({ id: 'T003', depends: ['T001'] }),
351
+ makeTask({ id: 'T004', depends: ['T002', 'T003'] }),
352
+ ];
353
+ const acc = mockAccessor(tasks);
354
+ const result = await calculateBlastRadius('T001', acc);
355
+
356
+ expect(result.directCount).toBe(2);
357
+ expect(result.transitiveCount).toBe(3);
358
+ });
359
+
360
+ it('counts affected epics', async () => {
361
+ const tasks = [
362
+ makeTask({ id: 'T001', type: 'epic' }),
363
+ makeTask({ id: 'T002', parentId: 'T001', type: 'task' }),
364
+ makeTask({ id: 'T003', parentId: 'T001', type: 'task', depends: ['T002'] }),
365
+ ];
366
+ const acc = mockAccessor(tasks);
367
+ const result = await calculateBlastRadius('T002', acc);
368
+
369
+ expect(result.epicCount).toBeGreaterThanOrEqual(1);
370
+ });
371
+
372
+ it('calculates project percentage', async () => {
373
+ // 3 out of 10 tasks affected = 30%
374
+ const tasks: Task[] = [];
375
+ for (let i = 1; i <= 10; i++) {
376
+ tasks.push(
377
+ makeTask({
378
+ id: `T${String(i).padStart(3, '0')}`,
379
+ depends: i > 1 && i <= 4 ? [`T${String(i - 1).padStart(3, '0')}`] : undefined,
380
+ }),
381
+ );
382
+ }
383
+ const acc = mockAccessor(tasks);
384
+ const result = await calculateBlastRadius('T001', acc);
385
+
386
+ // T001 -> T002 -> T003 -> T004 (transitive: T002, T003, T004 = 3 tasks)
387
+ expect(result.transitiveCount).toBe(3);
388
+ expect(result.projectPercentage).toBe(30);
389
+ });
390
+
391
+ it('classifies severity as isolated for 0%', async () => {
392
+ const tasks = [makeTask({ id: 'T001' }), makeTask({ id: 'T002' })];
393
+ const acc = mockAccessor(tasks);
394
+ const result = await calculateBlastRadius('T001', acc);
395
+
396
+ expect(result.severity).toBe('isolated');
397
+ });
398
+
399
+ it('classifies severity as moderate for 2-10%', async () => {
400
+ // 1 out of 20 = 5%
401
+ const tasks: Task[] = [];
402
+ for (let i = 1; i <= 20; i++) {
403
+ tasks.push(makeTask({ id: `T${String(i).padStart(3, '0')}` }));
404
+ }
405
+ // Make T002 depend on T001
406
+ tasks[1] = makeTask({ id: 'T002', depends: ['T001'] });
407
+ const acc = mockAccessor(tasks);
408
+ const result = await calculateBlastRadius('T001', acc);
409
+
410
+ expect(result.severity).toBe('moderate');
411
+ });
412
+
413
+ it('classifies severity as critical for >30%', async () => {
414
+ // Chain of 4 out of 5 tasks = 60%
415
+ const tasks = [
416
+ makeTask({ id: 'T001' }),
417
+ makeTask({ id: 'T002', depends: ['T001'] }),
418
+ makeTask({ id: 'T003', depends: ['T002'] }),
419
+ makeTask({ id: 'T004', depends: ['T003'] }),
420
+ makeTask({ id: 'T005' }),
421
+ ];
422
+ const acc = mockAccessor(tasks);
423
+ const result = await calculateBlastRadius('T001', acc);
424
+
425
+ expect(result.severity).toBe('critical');
426
+ });
427
+
428
+ it('handles orphan task with no dependents', async () => {
429
+ const tasks = [makeTask({ id: 'T001' }), makeTask({ id: 'T002' }), makeTask({ id: 'T003' })];
430
+ const acc = mockAccessor(tasks);
431
+ const result = await calculateBlastRadius('T001', acc);
432
+
433
+ expect(result.directCount).toBe(0);
434
+ expect(result.transitiveCount).toBe(0);
435
+ expect(result.severity).toBe('isolated');
436
+ });
437
+
438
+ it('handles circular dependency without infinite loop', async () => {
439
+ const tasks = [
440
+ makeTask({ id: 'T001', depends: ['T002'] }),
441
+ makeTask({ id: 'T002', depends: ['T001'] }),
442
+ ];
443
+ const acc = mockAccessor(tasks);
444
+ // Should complete without hanging.
445
+ // In a cycle, both tasks appear in the transitive closure
446
+ // because BFS from T001 finds T002 (direct dep), then from T002
447
+ // finds T001 (since T001 depends on T002), yielding 2.
448
+ const result = await calculateBlastRadius('T001', acc);
449
+
450
+ expect(result.directCount).toBe(1);
451
+ expect(result.transitiveCount).toBe(2);
452
+ });
453
+ });