@isaacriehm/cairn 0.1.0 → 0.1.4

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 (533) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -1
  4. package/dist/index.js.map +1 -1
  5. package/package.json +4 -4
  6. package/dist/backprop/id.d.ts +0 -14
  7. package/dist/backprop/id.js +0 -40
  8. package/dist/backprop/id.js.map +0 -1
  9. package/dist/backprop/index.d.ts +0 -23
  10. package/dist/backprop/index.js +0 -21
  11. package/dist/backprop/index.js.map +0 -1
  12. package/dist/backprop/prompt.d.ts +0 -16
  13. package/dist/backprop/prompt.js +0 -101
  14. package/dist/backprop/prompt.js.map +0 -1
  15. package/dist/backprop/runner.d.ts +0 -18
  16. package/dist/backprop/runner.js +0 -95
  17. package/dist/backprop/runner.js.map +0 -1
  18. package/dist/backprop/schema.d.ts +0 -61
  19. package/dist/backprop/schema.js +0 -55
  20. package/dist/backprop/schema.js.map +0 -1
  21. package/dist/backprop/types.d.ts +0 -101
  22. package/dist/backprop/types.js +0 -24
  23. package/dist/backprop/types.js.map +0 -1
  24. package/dist/backprop/writer.d.ts +0 -27
  25. package/dist/backprop/writer.js +0 -301
  26. package/dist/backprop/writer.js.map +0 -1
  27. package/dist/claude/error.d.ts +0 -33
  28. package/dist/claude/error.js +0 -58
  29. package/dist/claude/error.js.map +0 -1
  30. package/dist/claude/index.d.ts +0 -3
  31. package/dist/claude/index.js +0 -3
  32. package/dist/claude/index.js.map +0 -1
  33. package/dist/claude/runner.d.ts +0 -11
  34. package/dist/claude/runner.js +0 -132
  35. package/dist/claude/runner.js.map +0 -1
  36. package/dist/claude/types.d.ts +0 -52
  37. package/dist/claude/types.js +0 -14
  38. package/dist/claude/types.js.map +0 -1
  39. package/dist/cli/daemon.d.ts +0 -54
  40. package/dist/cli/daemon.js +0 -351
  41. package/dist/cli/daemon.js.map +0 -1
  42. package/dist/cli/install.d.ts +0 -52
  43. package/dist/cli/install.js +0 -308
  44. package/dist/cli/install.js.map +0 -1
  45. package/dist/cli/mirror.d.ts +0 -1
  46. package/dist/cli/mirror.js +0 -97
  47. package/dist/cli/mirror.js.map +0 -1
  48. package/dist/cli/run.d.ts +0 -1
  49. package/dist/cli/run.js +0 -174
  50. package/dist/cli/run.js.map +0 -1
  51. package/dist/cli/task.d.ts +0 -18
  52. package/dist/cli/task.js +0 -137
  53. package/dist/cli/task.js.map +0 -1
  54. package/dist/cli/watch.d.ts +0 -1
  55. package/dist/cli/watch.js +0 -73
  56. package/dist/cli/watch.js.map +0 -1
  57. package/dist/decision-capture/capture.d.ts +0 -57
  58. package/dist/decision-capture/capture.js +0 -186
  59. package/dist/decision-capture/capture.js.map +0 -1
  60. package/dist/decision-capture/extractor.d.ts +0 -20
  61. package/dist/decision-capture/extractor.js +0 -103
  62. package/dist/decision-capture/extractor.js.map +0 -1
  63. package/dist/decision-capture/id.d.ts +0 -14
  64. package/dist/decision-capture/id.js +0 -44
  65. package/dist/decision-capture/id.js.map +0 -1
  66. package/dist/decision-capture/index.d.ts +0 -25
  67. package/dist/decision-capture/index.js +0 -21
  68. package/dist/decision-capture/index.js.map +0 -1
  69. package/dist/decision-capture/prompt.d.ts +0 -15
  70. package/dist/decision-capture/prompt.js +0 -68
  71. package/dist/decision-capture/prompt.js.map +0 -1
  72. package/dist/decision-capture/refinement-prompt.d.ts +0 -25
  73. package/dist/decision-capture/refinement-prompt.js +0 -146
  74. package/dist/decision-capture/refinement-prompt.js.map +0 -1
  75. package/dist/decision-capture/refinement-schema.d.ts +0 -52
  76. package/dist/decision-capture/refinement-schema.js +0 -61
  77. package/dist/decision-capture/refinement-schema.js.map +0 -1
  78. package/dist/decision-capture/refinement.d.ts +0 -60
  79. package/dist/decision-capture/refinement.js +0 -439
  80. package/dist/decision-capture/refinement.js.map +0 -1
  81. package/dist/decision-capture/schema.d.ts +0 -70
  82. package/dist/decision-capture/schema.js +0 -71
  83. package/dist/decision-capture/schema.js.map +0 -1
  84. package/dist/decision-capture/types.d.ts +0 -201
  85. package/dist/decision-capture/types.js +0 -20
  86. package/dist/decision-capture/types.js.map +0 -1
  87. package/dist/decision-capture/writer.d.ts +0 -90
  88. package/dist/decision-capture/writer.js +0 -267
  89. package/dist/decision-capture/writer.js.map +0 -1
  90. package/dist/frontend/discord/acl.d.ts +0 -6
  91. package/dist/frontend/discord/acl.js +0 -19
  92. package/dist/frontend/discord/acl.js.map +0 -1
  93. package/dist/frontend/discord/channels.d.ts +0 -29
  94. package/dist/frontend/discord/channels.js +0 -58
  95. package/dist/frontend/discord/channels.js.map +0 -1
  96. package/dist/frontend/discord/classifier.d.ts +0 -16
  97. package/dist/frontend/discord/classifier.js +0 -29
  98. package/dist/frontend/discord/classifier.js.map +0 -1
  99. package/dist/frontend/discord/index.d.ts +0 -118
  100. package/dist/frontend/discord/index.js +0 -1104
  101. package/dist/frontend/discord/index.js.map +0 -1
  102. package/dist/frontend/discord/slash.d.ts +0 -18
  103. package/dist/frontend/discord/slash.js +0 -90
  104. package/dist/frontend/discord/slash.js.map +0 -1
  105. package/dist/frontend/inbox.d.ts +0 -17
  106. package/dist/frontend/inbox.js +0 -30
  107. package/dist/frontend/inbox.js.map +0 -1
  108. package/dist/frontend/index.d.ts +0 -8
  109. package/dist/frontend/index.js +0 -6
  110. package/dist/frontend/index.js.map +0 -1
  111. package/dist/frontend/stub/index.d.ts +0 -58
  112. package/dist/frontend/stub/index.js +0 -144
  113. package/dist/frontend/stub/index.js.map +0 -1
  114. package/dist/frontend/types.d.ts +0 -247
  115. package/dist/frontend/types.js +0 -15
  116. package/dist/frontend/types.js.map +0 -1
  117. package/dist/gc/apply.d.ts +0 -26
  118. package/dist/gc/apply.js +0 -48
  119. package/dist/gc/apply.js.map +0 -1
  120. package/dist/gc/canary.d.ts +0 -42
  121. package/dist/gc/canary.js +0 -134
  122. package/dist/gc/canary.js.map +0 -1
  123. package/dist/gc/classify.d.ts +0 -25
  124. package/dist/gc/classify.js +0 -89
  125. package/dist/gc/classify.js.map +0 -1
  126. package/dist/gc/doc-gardening.d.ts +0 -29
  127. package/dist/gc/doc-gardening.js +0 -146
  128. package/dist/gc/doc-gardening.js.map +0 -1
  129. package/dist/gc/frontmatter.d.ts +0 -35
  130. package/dist/gc/frontmatter.js +0 -111
  131. package/dist/gc/frontmatter.js.map +0 -1
  132. package/dist/gc/generator-drift.d.ts +0 -28
  133. package/dist/gc/generator-drift.js +0 -53
  134. package/dist/gc/generator-drift.js.map +0 -1
  135. package/dist/gc/index.d.ts +0 -35
  136. package/dist/gc/index.js +0 -26
  137. package/dist/gc/index.js.map +0 -1
  138. package/dist/gc/quality-update.d.ts +0 -23
  139. package/dist/gc/quality-update.js +0 -69
  140. package/dist/gc/quality-update.js.map +0 -1
  141. package/dist/gc/stub-hits.d.ts +0 -31
  142. package/dist/gc/stub-hits.js +0 -125
  143. package/dist/gc/stub-hits.js.map +0 -1
  144. package/dist/gc/sweep.d.ts +0 -56
  145. package/dist/gc/sweep.js +0 -178
  146. package/dist/gc/sweep.js.map +0 -1
  147. package/dist/gc/types.d.ts +0 -129
  148. package/dist/gc/types.js +0 -26
  149. package/dist/gc/types.js.map +0 -1
  150. package/dist/ground/drift.d.ts +0 -8
  151. package/dist/ground/drift.js +0 -23
  152. package/dist/ground/drift.js.map +0 -1
  153. package/dist/ground/frontmatter.d.ts +0 -20
  154. package/dist/ground/frontmatter.js +0 -49
  155. package/dist/ground/frontmatter.js.map +0 -1
  156. package/dist/ground/glob.d.ts +0 -10
  157. package/dist/ground/glob.js +0 -46
  158. package/dist/ground/glob.js.map +0 -1
  159. package/dist/ground/index.d.ts +0 -14
  160. package/dist/ground/index.js +0 -10
  161. package/dist/ground/index.js.map +0 -1
  162. package/dist/ground/ledgers.d.ts +0 -18
  163. package/dist/ground/ledgers.js +0 -103
  164. package/dist/ground/ledgers.js.map +0 -1
  165. package/dist/ground/manifest.d.ts +0 -10
  166. package/dist/ground/manifest.js +0 -88
  167. package/dist/ground/manifest.js.map +0 -1
  168. package/dist/ground/paths.d.ts +0 -20
  169. package/dist/ground/paths.js +0 -61
  170. package/dist/ground/paths.js.map +0 -1
  171. package/dist/ground/quality-grades.d.ts +0 -11
  172. package/dist/ground/quality-grades.js +0 -98
  173. package/dist/ground/quality-grades.js.map +0 -1
  174. package/dist/ground/schemas.d.ts +0 -306
  175. package/dist/ground/schemas.js +0 -188
  176. package/dist/ground/schemas.js.map +0 -1
  177. package/dist/ground/walk.d.ts +0 -7
  178. package/dist/ground/walk.js +0 -53
  179. package/dist/ground/walk.js.map +0 -1
  180. package/dist/init/detect.d.ts +0 -25
  181. package/dist/init/detect.js +0 -336
  182. package/dist/init/detect.js.map +0 -1
  183. package/dist/init/index.d.ts +0 -14
  184. package/dist/init/index.js +0 -9
  185. package/dist/init/index.js.map +0 -1
  186. package/dist/init/init.d.ts +0 -68
  187. package/dist/init/init.js +0 -673
  188. package/dist/init/init.js.map +0 -1
  189. package/dist/init/mapper.d.ts +0 -160
  190. package/dist/init/mapper.js +0 -248
  191. package/dist/init/mapper.js.map +0 -1
  192. package/dist/init/prompts.d.ts +0 -70
  193. package/dist/init/prompts.js +0 -80
  194. package/dist/init/prompts.js.map +0 -1
  195. package/dist/init/secrets.d.ts +0 -18
  196. package/dist/init/secrets.js +0 -76
  197. package/dist/init/secrets.js.map +0 -1
  198. package/dist/init/seed.d.ts +0 -21
  199. package/dist/init/seed.js +0 -75
  200. package/dist/init/seed.js.map +0 -1
  201. package/dist/init/setup-runners.d.ts +0 -17
  202. package/dist/init/setup-runners.js +0 -70
  203. package/dist/init/setup-runners.js.map +0 -1
  204. package/dist/init/types.d.ts +0 -59
  205. package/dist/init/types.js +0 -10
  206. package/dist/init/types.js.map +0 -1
  207. package/dist/init/walker.d.ts +0 -53
  208. package/dist/init/walker.js +0 -460
  209. package/dist/init/walker.js.map +0 -1
  210. package/dist/init/workflow-block.d.ts +0 -34
  211. package/dist/init/workflow-block.js +0 -110
  212. package/dist/init/workflow-block.js.map +0 -1
  213. package/dist/logger.d.ts +0 -3
  214. package/dist/logger.js +0 -23
  215. package/dist/logger.js.map +0 -1
  216. package/dist/mcp/context.d.ts +0 -16
  217. package/dist/mcp/context.js +0 -8
  218. package/dist/mcp/context.js.map +0 -1
  219. package/dist/mcp/errors.d.ts +0 -17
  220. package/dist/mcp/errors.js +0 -23
  221. package/dist/mcp/errors.js.map +0 -1
  222. package/dist/mcp/index.d.ts +0 -10
  223. package/dist/mcp/index.js +0 -7
  224. package/dist/mcp/index.js.map +0 -1
  225. package/dist/mcp/path-allowlist.d.ts +0 -25
  226. package/dist/mcp/path-allowlist.js +0 -66
  227. package/dist/mcp/path-allowlist.js.map +0 -1
  228. package/dist/mcp/result.d.ts +0 -8
  229. package/dist/mcp/result.js +0 -18
  230. package/dist/mcp/result.js.map +0 -1
  231. package/dist/mcp/schemas.d.ts +0 -153
  232. package/dist/mcp/schemas.js +0 -135
  233. package/dist/mcp/schemas.js.map +0 -1
  234. package/dist/mcp/server.d.ts +0 -11
  235. package/dist/mcp/server.js +0 -58
  236. package/dist/mcp/server.js.map +0 -1
  237. package/dist/mcp/telemetry.d.ts +0 -15
  238. package/dist/mcp/telemetry.js +0 -13
  239. package/dist/mcp/telemetry.js.map +0 -1
  240. package/dist/mcp/tools/append.d.ts +0 -8
  241. package/dist/mcp/tools/append.js +0 -33
  242. package/dist/mcp/tools/append.js.map +0 -1
  243. package/dist/mcp/tools/archive.d.ts +0 -8
  244. package/dist/mcp/tools/archive.js +0 -49
  245. package/dist/mcp/tools/archive.js.map +0 -1
  246. package/dist/mcp/tools/ask-operator.d.ts +0 -34
  247. package/dist/mcp/tools/ask-operator.js +0 -93
  248. package/dist/mcp/tools/ask-operator.js.map +0 -1
  249. package/dist/mcp/tools/canonical-for-topic.d.ts +0 -6
  250. package/dist/mcp/tools/canonical-for-topic.js +0 -40
  251. package/dist/mcp/tools/canonical-for-topic.js.map +0 -1
  252. package/dist/mcp/tools/decision-get.d.ts +0 -6
  253. package/dist/mcp/tools/decision-get.js +0 -49
  254. package/dist/mcp/tools/decision-get.js.map +0 -1
  255. package/dist/mcp/tools/decisions-for-symbol.d.ts +0 -7
  256. package/dist/mcp/tools/decisions-for-symbol.js +0 -42
  257. package/dist/mcp/tools/decisions-for-symbol.js.map +0 -1
  258. package/dist/mcp/tools/decisions-in-scope.d.ts +0 -7
  259. package/dist/mcp/tools/decisions-in-scope.js +0 -47
  260. package/dist/mcp/tools/decisions-in-scope.js.map +0 -1
  261. package/dist/mcp/tools/drop-task.d.ts +0 -12
  262. package/dist/mcp/tools/drop-task.js +0 -47
  263. package/dist/mcp/tools/drop-task.js.map +0 -1
  264. package/dist/mcp/tools/get-full.d.ts +0 -7
  265. package/dist/mcp/tools/get-full.js +0 -46
  266. package/dist/mcp/tools/get-full.js.map +0 -1
  267. package/dist/mcp/tools/ground-get.d.ts +0 -7
  268. package/dist/mcp/tools/ground-get.js +0 -80
  269. package/dist/mcp/tools/ground-get.js.map +0 -1
  270. package/dist/mcp/tools/index.d.ts +0 -3
  271. package/dist/mcp/tools/index.js +0 -44
  272. package/dist/mcp/tools/index.js.map +0 -1
  273. package/dist/mcp/tools/invariant-get.d.ts +0 -6
  274. package/dist/mcp/tools/invariant-get.js +0 -49
  275. package/dist/mcp/tools/invariant-get.js.map +0 -1
  276. package/dist/mcp/tools/invariants-in-scope.d.ts +0 -7
  277. package/dist/mcp/tools/invariants-in-scope.js +0 -65
  278. package/dist/mcp/tools/invariants-in-scope.js.map +0 -1
  279. package/dist/mcp/tools/query-history.d.ts +0 -9
  280. package/dist/mcp/tools/query-history.js +0 -33
  281. package/dist/mcp/tools/query-history.js.map +0 -1
  282. package/dist/mcp/tools/record-decision.d.ts +0 -14
  283. package/dist/mcp/tools/record-decision.js +0 -101
  284. package/dist/mcp/tools/record-decision.js.map +0 -1
  285. package/dist/mcp/tools/record-run-event.d.ts +0 -10
  286. package/dist/mcp/tools/record-run-event.js +0 -28
  287. package/dist/mcp/tools/record-run-event.js.map +0 -1
  288. package/dist/mcp/tools/search.d.ts +0 -9
  289. package/dist/mcp/tools/search.js +0 -165
  290. package/dist/mcp/tools/search.js.map +0 -1
  291. package/dist/mcp/tools/supersedes-chain.d.ts +0 -6
  292. package/dist/mcp/tools/supersedes-chain.js +0 -66
  293. package/dist/mcp/tools/supersedes-chain.js.map +0 -1
  294. package/dist/mcp/tools/timeline.d.ts +0 -9
  295. package/dist/mcp/tools/timeline.js +0 -65
  296. package/dist/mcp/tools/timeline.js.map +0 -1
  297. package/dist/mcp/tools/types.d.ts +0 -9
  298. package/dist/mcp/tools/types.js +0 -2
  299. package/dist/mcp/tools/types.js.map +0 -1
  300. package/dist/mirror/clone.d.ts +0 -6
  301. package/dist/mirror/clone.js +0 -48
  302. package/dist/mirror/clone.js.map +0 -1
  303. package/dist/mirror/dirty-overlap.d.ts +0 -13
  304. package/dist/mirror/dirty-overlap.js +0 -77
  305. package/dist/mirror/dirty-overlap.js.map +0 -1
  306. package/dist/mirror/index.d.ts +0 -7
  307. package/dist/mirror/index.js +0 -7
  308. package/dist/mirror/index.js.map +0 -1
  309. package/dist/mirror/paths.d.ts +0 -18
  310. package/dist/mirror/paths.js +0 -45
  311. package/dist/mirror/paths.js.map +0 -1
  312. package/dist/mirror/push.d.ts +0 -9
  313. package/dist/mirror/push.js +0 -27
  314. package/dist/mirror/push.js.map +0 -1
  315. package/dist/mirror/state.d.ts +0 -4
  316. package/dist/mirror/state.js +0 -36
  317. package/dist/mirror/state.js.map +0 -1
  318. package/dist/mirror/sync.d.ts +0 -9
  319. package/dist/mirror/sync.js +0 -33
  320. package/dist/mirror/sync.js.map +0 -1
  321. package/dist/mirror/types.d.ts +0 -77
  322. package/dist/mirror/types.js +0 -2
  323. package/dist/mirror/types.js.map +0 -1
  324. package/dist/orchestrator/activity-summarizer.d.ts +0 -33
  325. package/dist/orchestrator/activity-summarizer.js +0 -120
  326. package/dist/orchestrator/activity-summarizer.js.map +0 -1
  327. package/dist/orchestrator/inbox.d.ts +0 -78
  328. package/dist/orchestrator/inbox.js +0 -115
  329. package/dist/orchestrator/inbox.js.map +0 -1
  330. package/dist/orchestrator/index.d.ts +0 -9
  331. package/dist/orchestrator/index.js +0 -7
  332. package/dist/orchestrator/index.js.map +0 -1
  333. package/dist/orchestrator/orchestrator.d.ts +0 -154
  334. package/dist/orchestrator/orchestrator.js +0 -2437
  335. package/dist/orchestrator/orchestrator.js.map +0 -1
  336. package/dist/orchestrator/prompt.d.ts +0 -19
  337. package/dist/orchestrator/prompt.js +0 -50
  338. package/dist/orchestrator/prompt.js.map +0 -1
  339. package/dist/orchestrator/queue.d.ts +0 -21
  340. package/dist/orchestrator/queue.js +0 -80
  341. package/dist/orchestrator/queue.js.map +0 -1
  342. package/dist/orchestrator/run-log.d.ts +0 -53
  343. package/dist/orchestrator/run-log.js +0 -92
  344. package/dist/orchestrator/run-log.js.map +0 -1
  345. package/dist/orchestrator/runner.d.ts +0 -56
  346. package/dist/orchestrator/runner.js +0 -172
  347. package/dist/orchestrator/runner.js.map +0 -1
  348. package/dist/orchestrator/tool-digest.d.ts +0 -35
  349. package/dist/orchestrator/tool-digest.js +0 -116
  350. package/dist/orchestrator/tool-digest.js.map +0 -1
  351. package/dist/orchestrator/types.d.ts +0 -263
  352. package/dist/orchestrator/types.js +0 -2
  353. package/dist/orchestrator/types.js.map +0 -1
  354. package/dist/orchestrator/workspace.d.ts +0 -21
  355. package/dist/orchestrator/workspace.js +0 -31
  356. package/dist/orchestrator/workspace.js.map +0 -1
  357. package/dist/profiles/index.d.ts +0 -3
  358. package/dist/profiles/index.js +0 -3
  359. package/dist/profiles/index.js.map +0 -1
  360. package/dist/profiles/registry.d.ts +0 -5
  361. package/dist/profiles/registry.js +0 -31
  362. package/dist/profiles/registry.js.map +0 -1
  363. package/dist/profiles/types.d.ts +0 -48
  364. package/dist/profiles/types.js +0 -11
  365. package/dist/profiles/types.js.map +0 -1
  366. package/dist/profiles/unknown.d.ts +0 -9
  367. package/dist/profiles/unknown.js +0 -17
  368. package/dist/profiles/unknown.js.map +0 -1
  369. package/dist/reviewer/index.d.ts +0 -6
  370. package/dist/reviewer/index.js +0 -5
  371. package/dist/reviewer/index.js.map +0 -1
  372. package/dist/reviewer/prompt.d.ts +0 -11
  373. package/dist/reviewer/prompt.js +0 -132
  374. package/dist/reviewer/prompt.js.map +0 -1
  375. package/dist/reviewer/remediation.d.ts +0 -15
  376. package/dist/reviewer/remediation.js +0 -61
  377. package/dist/reviewer/remediation.js.map +0 -1
  378. package/dist/reviewer/reviewer.d.ts +0 -9
  379. package/dist/reviewer/reviewer.js +0 -89
  380. package/dist/reviewer/reviewer.js.map +0 -1
  381. package/dist/reviewer/schema.d.ts +0 -45
  382. package/dist/reviewer/schema.js +0 -43
  383. package/dist/reviewer/schema.js.map +0 -1
  384. package/dist/reviewer/types.d.ts +0 -74
  385. package/dist/reviewer/types.js +0 -14
  386. package/dist/reviewer/types.js.map +0 -1
  387. package/dist/sensors/attestation.d.ts +0 -44
  388. package/dist/sensors/attestation.js +0 -262
  389. package/dist/sensors/attestation.js.map +0 -1
  390. package/dist/sensors/catalog.d.ts +0 -41
  391. package/dist/sensors/catalog.js +0 -123
  392. package/dist/sensors/catalog.js.map +0 -1
  393. package/dist/sensors/decisions.d.ts +0 -30
  394. package/dist/sensors/decisions.js +0 -393
  395. package/dist/sensors/decisions.js.map +0 -1
  396. package/dist/sensors/diff.d.ts +0 -27
  397. package/dist/sensors/diff.js +0 -148
  398. package/dist/sensors/diff.js.map +0 -1
  399. package/dist/sensors/index.d.ts +0 -13
  400. package/dist/sensors/index.js +0 -9
  401. package/dist/sensors/index.js.map +0 -1
  402. package/dist/sensors/remediation.d.ts +0 -20
  403. package/dist/sensors/remediation.js +0 -65
  404. package/dist/sensors/remediation.js.map +0 -1
  405. package/dist/sensors/runner.d.ts +0 -44
  406. package/dist/sensors/runner.js +0 -95
  407. package/dist/sensors/runner.js.map +0 -1
  408. package/dist/sensors/structural.d.ts +0 -30
  409. package/dist/sensors/structural.js +0 -204
  410. package/dist/sensors/structural.js.map +0 -1
  411. package/dist/sensors/stub-catalog.d.ts +0 -39
  412. package/dist/sensors/stub-catalog.js +0 -115
  413. package/dist/sensors/stub-catalog.js.map +0 -1
  414. package/dist/sensors/types.d.ts +0 -135
  415. package/dist/sensors/types.js +0 -14
  416. package/dist/sensors/types.js.map +0 -1
  417. package/dist/tier0/classify.d.ts +0 -5
  418. package/dist/tier0/classify.js +0 -91
  419. package/dist/tier0/classify.js.map +0 -1
  420. package/dist/tier0/index.d.ts +0 -3
  421. package/dist/tier0/index.js +0 -3
  422. package/dist/tier0/index.js.map +0 -1
  423. package/dist/tier0/ollama.d.ts +0 -22
  424. package/dist/tier0/ollama.js +0 -63
  425. package/dist/tier0/ollama.js.map +0 -1
  426. package/dist/tier0/types.d.ts +0 -24
  427. package/dist/tier0/types.js +0 -7
  428. package/dist/tier0/types.js.map +0 -1
  429. package/dist/tightener/index.d.ts +0 -4
  430. package/dist/tightener/index.js +0 -4
  431. package/dist/tightener/index.js.map +0 -1
  432. package/dist/tightener/prompt.d.ts +0 -3
  433. package/dist/tightener/prompt.js +0 -67
  434. package/dist/tightener/prompt.js.map +0 -1
  435. package/dist/tightener/schema.d.ts +0 -68
  436. package/dist/tightener/schema.js +0 -44
  437. package/dist/tightener/schema.js.map +0 -1
  438. package/dist/tightener/tighten.d.ts +0 -2
  439. package/dist/tightener/tighten.js +0 -66
  440. package/dist/tightener/tighten.js.map +0 -1
  441. package/dist/tightener/types.d.ts +0 -74
  442. package/dist/tightener/types.js +0 -6
  443. package/dist/tightener/types.js.map +0 -1
  444. package/dist/uat/bundle.d.ts +0 -68
  445. package/dist/uat/bundle.js +0 -168
  446. package/dist/uat/bundle.js.map +0 -1
  447. package/dist/uat/index.d.ts +0 -15
  448. package/dist/uat/index.js +0 -10
  449. package/dist/uat/index.js.map +0 -1
  450. package/dist/uat/persistent.d.ts +0 -64
  451. package/dist/uat/persistent.js +0 -206
  452. package/dist/uat/persistent.js.map +0 -1
  453. package/dist/uat/probes/cli.d.ts +0 -11
  454. package/dist/uat/probes/cli.js +0 -107
  455. package/dist/uat/probes/cli.js.map +0 -1
  456. package/dist/uat/probes/http.d.ts +0 -12
  457. package/dist/uat/probes/http.js +0 -139
  458. package/dist/uat/probes/http.js.map +0 -1
  459. package/dist/uat/probes/index.d.ts +0 -21
  460. package/dist/uat/probes/index.js +0 -30
  461. package/dist/uat/probes/index.js.map +0 -1
  462. package/dist/uat/probes/integration.d.ts +0 -18
  463. package/dist/uat/probes/integration.js +0 -188
  464. package/dist/uat/probes/integration.js.map +0 -1
  465. package/dist/uat/probes/sql/config.d.ts +0 -14
  466. package/dist/uat/probes/sql/config.js +0 -57
  467. package/dist/uat/probes/sql/config.js.map +0 -1
  468. package/dist/uat/probes/sql/index.d.ts +0 -29
  469. package/dist/uat/probes/sql/index.js +0 -43
  470. package/dist/uat/probes/sql/index.js.map +0 -1
  471. package/dist/uat/probes/sql/mysql.d.ts +0 -12
  472. package/dist/uat/probes/sql/mysql.js +0 -96
  473. package/dist/uat/probes/sql/mysql.js.map +0 -1
  474. package/dist/uat/probes/sql/pg.d.ts +0 -20
  475. package/dist/uat/probes/sql/pg.js +0 -102
  476. package/dist/uat/probes/sql/pg.js.map +0 -1
  477. package/dist/uat/probes/sql/sqlite.d.ts +0 -9
  478. package/dist/uat/probes/sql/sqlite.js +0 -58
  479. package/dist/uat/probes/sql/sqlite.js.map +0 -1
  480. package/dist/uat/probes/sql/types.d.ts +0 -46
  481. package/dist/uat/probes/sql/types.js +0 -10
  482. package/dist/uat/probes/sql/types.js.map +0 -1
  483. package/dist/uat/probes/sql.d.ts +0 -9
  484. package/dist/uat/probes/sql.js +0 -119
  485. package/dist/uat/probes/sql.js.map +0 -1
  486. package/dist/uat/probes/ui.d.ts +0 -19
  487. package/dist/uat/probes/ui.js +0 -244
  488. package/dist/uat/probes/ui.js.map +0 -1
  489. package/dist/uat/prompt.d.ts +0 -10
  490. package/dist/uat/prompt.js +0 -85
  491. package/dist/uat/prompt.js.map +0 -1
  492. package/dist/uat/question.d.ts +0 -50
  493. package/dist/uat/question.js +0 -139
  494. package/dist/uat/question.js.map +0 -1
  495. package/dist/uat/rejection.d.ts +0 -58
  496. package/dist/uat/rejection.js +0 -163
  497. package/dist/uat/rejection.js.map +0 -1
  498. package/dist/uat/runner.d.ts +0 -6
  499. package/dist/uat/runner.js +0 -96
  500. package/dist/uat/runner.js.map +0 -1
  501. package/dist/uat/schema.d.ts +0 -322
  502. package/dist/uat/schema.js +0 -189
  503. package/dist/uat/schema.js.map +0 -1
  504. package/dist/uat/types.d.ts +0 -268
  505. package/dist/uat/types.js +0 -18
  506. package/dist/uat/types.js.map +0 -1
  507. package/dist/uat/uat.d.ts +0 -89
  508. package/dist/uat/uat.js +0 -256
  509. package/dist/uat/uat.js.map +0 -1
  510. package/dist/voice/index.d.ts +0 -4
  511. package/dist/voice/index.js +0 -4
  512. package/dist/voice/index.js.map +0 -1
  513. package/dist/voice/model.d.ts +0 -23
  514. package/dist/voice/model.js +0 -46
  515. package/dist/voice/model.js.map +0 -1
  516. package/dist/voice/pipe.d.ts +0 -9
  517. package/dist/voice/pipe.js +0 -47
  518. package/dist/voice/pipe.js.map +0 -1
  519. package/dist/voice/transcribe.d.ts +0 -3
  520. package/dist/voice/transcribe.js +0 -43
  521. package/dist/voice/transcribe.js.map +0 -1
  522. package/dist/voice/types.d.ts +0 -26
  523. package/dist/voice/types.js +0 -9
  524. package/dist/voice/types.js.map +0 -1
  525. package/dist/watch/daemon.d.ts +0 -21
  526. package/dist/watch/daemon.js +0 -143
  527. package/dist/watch/daemon.js.map +0 -1
  528. package/dist/watch/index.d.ts +0 -4
  529. package/dist/watch/index.js +0 -3
  530. package/dist/watch/index.js.map +0 -1
  531. package/dist/watch/regenerate.d.ts +0 -25
  532. package/dist/watch/regenerate.js +0 -51
  533. package/dist/watch/regenerate.js.map +0 -1
@@ -1,268 +0,0 @@
1
- /**
2
- * UAT (Layer U) — Phase 11.
3
- *
4
- * UAT is multi-probe, not Playwright-only. The UAT-runner agent reads the
5
- * spec + acceptance criteria + diff and routes EACH acceptance criterion to
6
- * the cheapest probe that can verify it:
7
- *
8
- * http — bare fetch; "POST /foo returns 200", JSON shape match
9
- * cli — child_process; "command exits 0 with output X"
10
- * ui — playwright (lazy-loaded); "user clicks button → toast"
11
- * sql — pg/mysql client (deferred); "row in table X"
12
- * integration — docker compose (deferred); "service A talks to service B"
13
- *
14
- * Per UAT_PIPELINE.md §0–§4. The bundle + evidence-file gate is
15
- * probe-agnostic — same SHA256 manifest regardless of probe kind.
16
- */
17
- import type { ClaudeTier } from "../claude/index.js";
18
- export type ProbeKind = "http" | "cli" | "ui" | "sql" | "integration";
19
- export interface HttpExpectation {
20
- /** Exact status code that must be returned. */
21
- status?: number;
22
- /** Status code must be one of these. */
23
- status_in?: number[];
24
- /** Each substring must appear in the response body. */
25
- body_contains?: string[];
26
- /** Body must match this ECMAScript regex. */
27
- body_matches_regex?: string;
28
- /** JSON-path → expected JSON-stringifiable equality checks. Path is
29
- * dot/bracket-style: `data.users[0].id`. */
30
- json_path_equals?: {
31
- path: string;
32
- value: unknown;
33
- }[];
34
- /** Response must include this header (case-insensitive). */
35
- header_present?: string[];
36
- }
37
- export interface HttpProbe {
38
- kind: "http";
39
- id: string;
40
- description: string;
41
- request: {
42
- method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
43
- url: string;
44
- headers?: Record<string, string>;
45
- body?: string;
46
- };
47
- expect: HttpExpectation;
48
- /** Hard timeout in ms. Default 30_000. */
49
- timeout_ms?: number;
50
- }
51
- export interface CliExpectation {
52
- exit_code?: number;
53
- stdout_contains?: string[];
54
- stdout_matches_regex?: string;
55
- stderr_empty?: boolean;
56
- stderr_contains?: string[];
57
- }
58
- export interface CliProbe {
59
- kind: "cli";
60
- id: string;
61
- description: string;
62
- command: string;
63
- args: string[];
64
- cwd?: string;
65
- env?: Record<string, string>;
66
- expect: CliExpectation;
67
- timeout_ms?: number;
68
- }
69
- export interface UiStep {
70
- action: "goto" | "click" | "fill" | "screenshot" | "wait_for_selector" | "wait_for_text";
71
- selector?: string;
72
- value?: string;
73
- path?: string;
74
- text?: string;
75
- timeout_ms?: number;
76
- }
77
- export interface UiExpectation {
78
- text_present?: string[];
79
- selector_visible?: string[];
80
- }
81
- export interface UiProbe {
82
- kind: "ui";
83
- id: string;
84
- description: string;
85
- url: string;
86
- steps: UiStep[];
87
- expect: UiExpectation;
88
- timeout_ms?: number;
89
- }
90
- export interface SqlProbe {
91
- kind: "sql";
92
- id: string;
93
- description: string;
94
- /** Connection key — looked up in project config; never literal credentials. */
95
- connection: string;
96
- query: string;
97
- expect: {
98
- rowcount?: number;
99
- rowcount_min?: number;
100
- rowcount_max?: number;
101
- first_row_includes?: Record<string, unknown>;
102
- };
103
- }
104
- export interface IntegrationProbe {
105
- kind: "integration";
106
- id: string;
107
- description: string;
108
- compose_file: string;
109
- service: string;
110
- ready_check: {
111
- kind: "http";
112
- url: string;
113
- status?: number;
114
- timeout_ms?: number;
115
- } | {
116
- kind: "cli";
117
- command: string;
118
- args: string[];
119
- timeout_ms?: number;
120
- };
121
- test: HttpProbe | CliProbe;
122
- }
123
- export type UatProbe = HttpProbe | CliProbe | UiProbe | SqlProbe | IntegrationProbe;
124
- export interface UatAcceptanceCheck {
125
- /** Stable id per acceptance criterion. */
126
- id: string;
127
- /** Verbatim acceptance criterion text the operator/spec specified. */
128
- text: string;
129
- /** Probe selected by the UAT-runner to verify this AC. */
130
- probe: UatProbe;
131
- /** Hint for cross-tenant fixture inclusion (high-stakes only, per L43). */
132
- is_high_stakes_required?: boolean;
133
- }
134
- export interface UatRunnerInput {
135
- /** Tightened spec body the implementer was given. */
136
- tightened_spec: string;
137
- /** Acceptance criteria the spec demands. */
138
- acceptance_criteria: string[];
139
- /** Files changed in this run (paths only — content is not needed for AC selection). */
140
- changed_files: {
141
- path: string;
142
- status: string;
143
- }[];
144
- /** Project-level UAT hints — e.g. base URL, seed-DB command, auth token env var. */
145
- hints: {
146
- /** Base URL for http probes when the AC doesn't specify a full URL. */
147
- base_url?: string;
148
- /** CLI prefix (e.g. `pnpm --filter core`). */
149
- cli_prefix?: string;
150
- /** Project workdir for cli probes. */
151
- cli_cwd?: string;
152
- /** Whether ui probes are available (operator opted into playwright at adoption). */
153
- ui_available?: boolean;
154
- /** Whether sql probes are available. */
155
- sql_available?: boolean;
156
- /** Whether integration probes (docker compose) are available. */
157
- integration_available?: boolean;
158
- };
159
- /** True when the diff touches high-stakes globs — agent must add a cross-tenant fixture (Codex audit Q1 / L43). */
160
- is_high_stakes: boolean;
161
- /** Tier — Tier 2 default. */
162
- tier: ClaudeTier;
163
- /** Per-call timeout. Default 300_000 ms. */
164
- timeout_ms?: number;
165
- }
166
- export interface UatRunnerOutput {
167
- /** One probe per acceptance criterion. */
168
- acceptance_checks: UatAcceptanceCheck[];
169
- /** True when the diff touches startup files; orchestrator inserts the smoke step before probes (UAT_PIPELINE §3.3). */
170
- cold_start_smoke: boolean;
171
- /** True when the change is backend-only (no UI surface) — informs adapter rendering. */
172
- backend_only: boolean;
173
- /** Set when the UAT-runner can't generate any check (e.g. no testable surface). */
174
- ungenerable_reason?: string;
175
- }
176
- export interface ProbeRunResult {
177
- probe_id: string;
178
- probe_kind: ProbeKind;
179
- passed: boolean;
180
- /** Short evidence pointer — file path or inline snippet. */
181
- evidence: string;
182
- duration_ms: number;
183
- /** Inline diagnostic for the operator when passed=false. */
184
- failure_reason?: string;
185
- /** Artifact files produced (relative to the run's UAT directory). */
186
- artifacts?: string[];
187
- /** Whether the probe was skipped (probe kind not yet supported / not configured). */
188
- skipped_reason?: string;
189
- }
190
- export interface UatBundleArtifact {
191
- kind: "screenshot" | "transcript" | "video" | "log" | "summary" | "evidence" | "cross-tenant-fixture";
192
- path: string;
193
- caption?: string;
194
- }
195
- export interface UatSummary {
196
- run_id: string;
197
- task_id: string;
198
- goal_one_liner: string;
199
- diff_stats: {
200
- files_changed: number;
201
- lines_added: number;
202
- lines_removed: number;
203
- };
204
- acceptance_results: {
205
- id: string;
206
- text: string;
207
- probe_kind: ProbeKind;
208
- status: "pass" | "fail" | "pending" | "skipped";
209
- evidence?: string;
210
- failure_reason?: string;
211
- is_high_stakes_required?: boolean;
212
- }[];
213
- cold_start_smoke?: {
214
- status: "pass" | "fail" | "skipped";
215
- evidence?: string;
216
- };
217
- artifacts: UatBundleArtifact[];
218
- sensors_passed: string[];
219
- reviewer_subagent_verdict: "pass" | "fail" | "skipped";
220
- operator_decision_required: boolean;
221
- operator_options: {
222
- id: string;
223
- label: string;
224
- }[];
225
- /** All ACs pass + no skipped + cold-start ok if applicable. */
226
- all_passed: boolean;
227
- }
228
- export interface UatRunResult {
229
- /** Final summary object the bundle is built from. */
230
- summary: UatSummary;
231
- /** Per-probe execution results. */
232
- probe_results: ProbeRunResult[];
233
- /** Generated UAT-runner output (the source of truth for which probes ran). */
234
- runner_output: UatRunnerOutput;
235
- /** Evidence-file SHA256 manifest path (relative to repoRoot). */
236
- evidence_file_path: string;
237
- /** Aggregate ok = all_passed AND evidence file written + verifies. */
238
- ok: boolean;
239
- /** Operator's final decision; populated by the adapter approval step. */
240
- operator_decision?: "approve" | "reject" | "ask" | "abandoned";
241
- /** Operator-provided rejection details when decision = reject. */
242
- rejection?: UatRejection;
243
- duration_ms: number;
244
- }
245
- export type UatDecision = "approve" | "reject" | "ask" | "abandoned" | "pending";
246
- export interface UatRejection {
247
- /** A/B/C/D rejection category per UAT_PIPELINE §6. */
248
- category: "A" | "B" | "C" | "D";
249
- /** Free-text note from the operator (typed or transcribed from voice). */
250
- operator_note: string;
251
- /** Whisper transcript of voice rejection if applicable. */
252
- voice_transcript?: string;
253
- /** Screenshots the operator referenced in their note. */
254
- referenced_screenshots?: string[];
255
- rejected_at: string;
256
- }
257
- export interface EvidenceFileEntry {
258
- path: string;
259
- sha256: string;
260
- }
261
- export interface EvidenceFile {
262
- run_id: string;
263
- generated_at: string;
264
- bundle_sha256: string;
265
- files: EvidenceFileEntry[];
266
- /** When operator approval is recorded; gate requires approve. */
267
- operator_decision?: UatDecision;
268
- }
package/dist/uat/types.js DELETED
@@ -1,18 +0,0 @@
1
- /**
2
- * UAT (Layer U) — Phase 11.
3
- *
4
- * UAT is multi-probe, not Playwright-only. The UAT-runner agent reads the
5
- * spec + acceptance criteria + diff and routes EACH acceptance criterion to
6
- * the cheapest probe that can verify it:
7
- *
8
- * http — bare fetch; "POST /foo returns 200", JSON shape match
9
- * cli — child_process; "command exits 0 with output X"
10
- * ui — playwright (lazy-loaded); "user clicks button → toast"
11
- * sql — pg/mysql client (deferred); "row in table X"
12
- * integration — docker compose (deferred); "service A talks to service B"
13
- *
14
- * Per UAT_PIPELINE.md §0–§4. The bundle + evidence-file gate is
15
- * probe-agnostic — same SHA256 manifest regardless of probe kind.
16
- */
17
- export {};
18
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/uat/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
package/dist/uat/uat.d.ts DELETED
@@ -1,89 +0,0 @@
1
- /**
2
- * UAT pipeline orchestrator.
3
- *
4
- * Steps (per UAT_PIPELINE.md §3):
5
- * 1. UAT-runner agent picks one probe per acceptance criterion.
6
- * 2. (If cold_start_smoke) run the project's start command first.
7
- * 3. Execute every probe; collect ProbeRunResult[].
8
- * 4. Build UatSummary; write summary.yaml.
9
- * 5. Persist UAT.md per task.
10
- * 6. Request operator approval via the configured frontend adapter.
11
- * 7. On approve: write evidence file (.uat-passed) with operator_decision.
12
- * On reject: collect rejection reason; bundle stays without approval.
13
- * 8. Return the aggregated UatRunResult.
14
- *
15
- * The orchestrator's pre-push gate calls `verifyEvidenceFile` separately
16
- * before allowing `git push`.
17
- */
18
- import type { UatRejection, UatRunResult, UatRunnerInput, UatSummary } from "./types.js";
19
- import type { QuestionAgentOutput } from "./question.js";
20
- export interface ApprovalGateArgs {
21
- runId: string;
22
- taskId: string;
23
- summary: UatSummary;
24
- }
25
- /** Operator approval surface — the orchestrator passes its adapter through. */
26
- export type ApprovalGate = (args: ApprovalGateArgs) => Promise<{
27
- decision: "approve" | "reject" | "ask" | "abandoned";
28
- rejection?: UatRejection;
29
- /** Populated when decision === "ask" — the operator's question text. */
30
- questionText?: string;
31
- }>;
32
- /**
33
- * Question handler — runs the read-only Q&A agent. The orchestrator wires
34
- * this to `runQuestionAgent`. Returning the answer lets the runUat loop
35
- * post it via the notifier and re-prompt for approval.
36
- */
37
- export type QuestionHandler = (args: {
38
- question: string;
39
- summary: UatSummary;
40
- diffPaths: {
41
- path: string;
42
- status: string;
43
- }[];
44
- }) => Promise<QuestionAgentOutput>;
45
- /** Surface for posting question-answers + status updates back to the operator. */
46
- export type UatNotifier = (level: "info" | "warn" | "error", message: string) => Promise<void>;
47
- export interface RunUatArgs {
48
- /** Repo root (mirror checkout). */
49
- repoRoot: string;
50
- /** Run id from the orchestrator. */
51
- runId: string;
52
- /** Task id (drives persistent UAT.md). */
53
- taskId: string;
54
- /** Inputs the UAT-runner agent needs to pick probes. */
55
- runnerInput: UatRunnerInput;
56
- /** Diff stats for summary.yaml. */
57
- diffStats: {
58
- files_changed: number;
59
- lines_added: number;
60
- lines_removed: number;
61
- };
62
- /** Sensors that already passed in this attempt. */
63
- sensorsPassed: string[];
64
- /** Reviewer verdict if any. */
65
- reviewerVerdict: "pass" | "fail" | "skipped";
66
- /** Operator approval surface. Adapter renders the bundle and waits for a decision. */
67
- approvalGate: ApprovalGate;
68
- /**
69
- * Optional cold-start-smoke command. If `runner_output.cold_start_smoke`
70
- * is true and this isn't supplied, the smoke is recorded as `skipped`.
71
- */
72
- coldStartCommand?: {
73
- command: string;
74
- args: string[];
75
- cwd?: string;
76
- };
77
- /**
78
- * Optional question-flow handler. When the operator picks ❓ Ask,
79
- * runUat invokes this with the operator's question + bundle context
80
- * and posts the structured answer back via the notifier. Cap at
81
- * `maxQuestionRounds` to prevent indefinite loops.
82
- */
83
- questionHandler?: QuestionHandler;
84
- /** Notifier used to surface question answers + status updates. */
85
- notifier?: UatNotifier;
86
- /** Max rounds of ❓ Ask before terminal-fail. Default 5. */
87
- maxQuestionRounds?: number;
88
- }
89
- export declare function runUat(args: RunUatArgs): Promise<UatRunResult>;
package/dist/uat/uat.js DELETED
@@ -1,256 +0,0 @@
1
- /**
2
- * UAT pipeline orchestrator.
3
- *
4
- * Steps (per UAT_PIPELINE.md §3):
5
- * 1. UAT-runner agent picks one probe per acceptance criterion.
6
- * 2. (If cold_start_smoke) run the project's start command first.
7
- * 3. Execute every probe; collect ProbeRunResult[].
8
- * 4. Build UatSummary; write summary.yaml.
9
- * 5. Persist UAT.md per task.
10
- * 6. Request operator approval via the configured frontend adapter.
11
- * 7. On approve: write evidence file (.uat-passed) with operator_decision.
12
- * On reject: collect rejection reason; bundle stays without approval.
13
- * 8. Return the aggregated UatRunResult.
14
- *
15
- * The orchestrator's pre-push gate calls `verifyEvidenceFile` separately
16
- * before allowing `git push`.
17
- */
18
- import { logger } from "../logger.js";
19
- import { writeEvidenceFile, writeSummary } from "./bundle.js";
20
- import { upsertUatTask } from "./persistent.js";
21
- import { executeProbe } from "./probes/index.js";
22
- import { writeRejectionYaml } from "./rejection.js";
23
- import { generateUatChecks } from "./runner.js";
24
- const log = logger("uat");
25
- export async function runUat(args) {
26
- const startedAt = Date.now();
27
- const goalOneLiner = args.runnerInput.tightened_spec.trim().split(/\r?\n/)[0] ?? "";
28
- // ── Step 1: UAT-runner picks probes ────────────────────────────────
29
- const runnerOutput = await generateUatChecks(args.runnerInput);
30
- // ── Step 2: cold-start smoke ───────────────────────────────────────
31
- let coldStartResult;
32
- if (runnerOutput.cold_start_smoke) {
33
- if (args.coldStartCommand) {
34
- coldStartResult = await runColdStartSmoke(args.coldStartCommand);
35
- }
36
- else {
37
- coldStartResult = {
38
- status: "skipped",
39
- evidence: "cold_start_smoke requested but no coldStartCommand configured",
40
- };
41
- }
42
- }
43
- // ── Step 3: execute probes ─────────────────────────────────────────
44
- const uatOutputDir = `${args.repoRoot}/.harness/runs/active/${args.runId}/uat`;
45
- const probeResults = [];
46
- for (const check of runnerOutput.acceptance_checks) {
47
- const result = await executeProbe({
48
- probe: check.probe,
49
- ...(args.runnerInput.hints.base_url !== undefined
50
- ? { baseUrl: args.runnerInput.hints.base_url }
51
- : {}),
52
- outputDir: uatOutputDir,
53
- repoRoot: args.repoRoot,
54
- });
55
- probeResults.push(result);
56
- }
57
- // ── Step 4: build summary ──────────────────────────────────────────
58
- const acceptanceResults = runnerOutput.acceptance_checks.map((check) => {
59
- const result = probeResults.find((r) => r.probe_id === check.id);
60
- const status = result?.skipped_reason
61
- ? "skipped"
62
- : result?.passed
63
- ? "pass"
64
- : "fail";
65
- const row = {
66
- id: check.id,
67
- text: check.text,
68
- probe_kind: check.probe.kind,
69
- status,
70
- };
71
- if (result?.evidence !== undefined)
72
- row.evidence = result.evidence;
73
- if (result?.failure_reason !== undefined)
74
- row.failure_reason = result.failure_reason;
75
- if (check.is_high_stakes_required === true)
76
- row.is_high_stakes_required = true;
77
- return row;
78
- });
79
- const allPassed = acceptanceResults.every((r) => r.status === "pass") &&
80
- (coldStartResult?.status ?? "skipped") !== "fail" &&
81
- runnerOutput.acceptance_checks.length > 0;
82
- const summary = {
83
- run_id: args.runId,
84
- task_id: args.taskId,
85
- goal_one_liner: goalOneLiner,
86
- diff_stats: args.diffStats,
87
- acceptance_results: acceptanceResults,
88
- ...(coldStartResult !== undefined ? { cold_start_smoke: coldStartResult } : {}),
89
- artifacts: [], // UI artifacts populated by ui probe in Phase 11.5
90
- sensors_passed: args.sensorsPassed,
91
- reviewer_subagent_verdict: args.reviewerVerdict,
92
- operator_decision_required: true,
93
- operator_options: [
94
- { id: "approve", label: "🟢 Approve & Push" },
95
- { id: "reject", label: "🔴 Reject + tell me why" },
96
- { id: "ask", label: "❓ Ask follow-up" },
97
- ],
98
- all_passed: allPassed,
99
- };
100
- const summaryPath = await writeSummary({
101
- repoRoot: args.repoRoot,
102
- runId: args.runId,
103
- summary,
104
- });
105
- log.info({ run_id: args.runId, summary_path: summaryPath, all_passed: allPassed }, "summary written");
106
- // ── Step 5: persistent UAT.md ──────────────────────────────────────
107
- await upsertUatTask({
108
- repoRoot: args.repoRoot,
109
- taskId: args.taskId,
110
- runId: args.runId,
111
- summary,
112
- status: allPassed ? "passing" : "failed",
113
- });
114
- // ── Step 6: operator approval (with optional ❓ Ask loop) ─────────
115
- let decision = await args.approvalGate({
116
- runId: args.runId,
117
- taskId: args.taskId,
118
- summary,
119
- });
120
- const maxRounds = args.maxQuestionRounds ?? 5;
121
- let questionRounds = 0;
122
- while (decision.decision === "ask") {
123
- if (!args.questionHandler) {
124
- log.warn({ run_id: args.runId }, "operator asked but no questionHandler configured — abandoning");
125
- decision = { decision: "abandoned" };
126
- break;
127
- }
128
- if (questionRounds >= maxRounds) {
129
- log.warn({ run_id: args.runId, rounds: questionRounds }, "max question rounds exhausted — abandoning");
130
- if (args.notifier) {
131
- await args.notifier("warn", `❓ Question loop exhausted after ${maxRounds} rounds. Marking abandoned; please re-trigger if you want to keep asking.`);
132
- }
133
- decision = { decision: "abandoned" };
134
- break;
135
- }
136
- const question = (decision.questionText ?? "").trim();
137
- if (question.length === 0) {
138
- log.warn({ run_id: args.runId }, "ask decision missing questionText — abandoning");
139
- decision = { decision: "abandoned" };
140
- break;
141
- }
142
- const answer = await args.questionHandler({
143
- question,
144
- summary,
145
- diffPaths: probeResults.map((r) => ({ path: r.probe_id, status: r.passed ? "pass" : "fail" })),
146
- });
147
- if (args.notifier) {
148
- const citations = answer.citations.length > 0 ? `\n\n_citations: ${answer.citations.join(", ")}_` : "";
149
- await args.notifier("info", `❓ ${question}\n\n${answer.answer}${citations}\n\n_(confidence: ${answer.confidence_signal})_`);
150
- }
151
- questionRounds += 1;
152
- decision = await args.approvalGate({
153
- runId: args.runId,
154
- taskId: args.taskId,
155
- summary,
156
- });
157
- }
158
- // ── Step 6b: rejection.yaml (when operator rejected) ──────────────
159
- // Written BEFORE the evidence file so the bundle SHA includes it.
160
- if (decision.decision === "reject" && decision.rejection) {
161
- await writeRejectionYaml({
162
- repoRoot: args.repoRoot,
163
- runId: args.runId,
164
- rejection: decision.rejection,
165
- summary,
166
- });
167
- }
168
- // ── Step 7: evidence file ──────────────────────────────────────────
169
- const evidence = await writeEvidenceFile({
170
- repoRoot: args.repoRoot,
171
- runId: args.runId,
172
- operatorDecision: decision.decision,
173
- });
174
- log.info({ run_id: args.runId, decision: decision.decision, bundle_sha256: evidence.bundleSha }, "evidence file recorded");
175
- // Update persistent UAT.md with the decision-derived terminal status.
176
- if (decision.decision === "approve") {
177
- await upsertUatTask({
178
- repoRoot: args.repoRoot,
179
- taskId: args.taskId,
180
- runId: args.runId,
181
- summary,
182
- status: "passed",
183
- });
184
- }
185
- else if (decision.decision === "reject") {
186
- const cat = decision.rejection?.category;
187
- const note = decision.rejection?.operator_note ?? "";
188
- const description = cat && note.length > 0
189
- ? `[${cat}] ${note}`
190
- : note.length > 0
191
- ? note
192
- : cat
193
- ? `[${cat}] (no note)`
194
- : "(operator rejected without note)";
195
- await upsertUatTask({
196
- repoRoot: args.repoRoot,
197
- taskId: args.taskId,
198
- runId: args.runId,
199
- summary,
200
- status: "failed",
201
- newGap: { run_id: args.runId, description },
202
- });
203
- }
204
- else if (decision.decision === "abandoned") {
205
- await upsertUatTask({
206
- repoRoot: args.repoRoot,
207
- taskId: args.taskId,
208
- runId: args.runId,
209
- summary,
210
- status: "abandoned",
211
- });
212
- }
213
- const ok = allPassed && decision.decision === "approve";
214
- return {
215
- summary,
216
- probe_results: probeResults,
217
- runner_output: runnerOutput,
218
- evidence_file_path: evidence.path,
219
- ok,
220
- operator_decision: decision.decision,
221
- ...(decision.rejection !== undefined ? { rejection: decision.rejection } : {}),
222
- duration_ms: Date.now() - startedAt,
223
- };
224
- }
225
- async function runColdStartSmoke(args) {
226
- const { spawn } = await import("node:child_process");
227
- return new Promise((resolve) => {
228
- const ctrl = new AbortController();
229
- const timer = setTimeout(() => ctrl.abort(), 60_000);
230
- let stdout = "";
231
- let stderr = "";
232
- const child = spawn(args.command, args.args, {
233
- cwd: args.cwd,
234
- signal: ctrl.signal,
235
- });
236
- child.stdout.on("data", (chunk) => {
237
- stdout += chunk.toString("utf8");
238
- });
239
- child.stderr.on("data", (chunk) => {
240
- stderr += chunk.toString("utf8");
241
- });
242
- child.on("close", (code) => {
243
- clearTimeout(timer);
244
- const status = code === 0 ? "pass" : "fail";
245
- resolve({
246
- status,
247
- evidence: `cold-start: exit=${code}; stdout[0..200]=${stdout.slice(0, 200)}; stderr[0..200]=${stderr.slice(0, 200)}`,
248
- });
249
- });
250
- child.on("error", (err) => {
251
- clearTimeout(timer);
252
- resolve({ status: "fail", evidence: `cold-start spawn error: ${String(err)}` });
253
- });
254
- });
255
- }
256
- //# sourceMappingURL=uat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uat.js","sourceRoot":"","sources":["../../src/uat/uat.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { transcribeBuffer, transcribeUrl } from "./transcribe.js";
2
- export { freeWhisper, getWhisper, whisperModelExists, WHISPER_MODEL_FILE, WHISPER_MODEL_PATH, WHISPER_MODELS_DIR, } from "./model.js";
3
- export { audioToPcm } from "./pipe.js";
4
- export type { TranscribeOptions, TranscriptionResult, TranscriptionSegment, } from "./types.js";
@@ -1,4 +0,0 @@
1
- export { transcribeBuffer, transcribeUrl } from "./transcribe.js";
2
- export { freeWhisper, getWhisper, whisperModelExists, WHISPER_MODEL_FILE, WHISPER_MODEL_PATH, WHISPER_MODELS_DIR, } from "./model.js";
3
- export { audioToPcm } from "./pipe.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/voice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}