@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,135 +0,0 @@
1
- /**
2
- * Sensor types — Phase 9 honest-agent invariants stack.
3
- *
4
- * Sensors run after the implementer agent finishes. Each sensor reads a
5
- * `SensorInput` (diff + attestation + decisions + project block) and emits
6
- * `SensorFinding[]`. The orchestrator collects every sensor's `SensorResult`,
7
- * builds a remediation prompt from any findings, and either passes the run
8
- * through or feeds the prompt back to the agent for retry.
9
- *
10
- * Per PRIMER §10. Per OpenAI's pattern: failure messages are remediation
11
- * prompts the agent consumes on retry.
12
- */
13
- import type { DecisionFrontmatter } from "../ground/schemas.js";
14
- /** A single file changed in this run. */
15
- export interface DiffEntry {
16
- /** Repo-relative path. */
17
- path: string;
18
- status: "added" | "modified" | "deleted" | "renamed";
19
- /** Pre-change content. Undefined when status === "added". */
20
- beforeContent?: string;
21
- /** Post-change content. Undefined when status === "deleted". */
22
- afterContent?: string;
23
- /** Original path when status === "renamed". */
24
- fromPath?: string;
25
- }
26
- /** Languages used to filter Layer A patterns + AST assertions. */
27
- export type SensorLanguage = "typescript" | "javascript" | "python" | "ruby" | "go" | "rust" | "sql";
28
- /** One pattern entry from .harness/config/stub-patterns.yaml. */
29
- export interface StubPattern {
30
- id: string;
31
- languages: SensorLanguage[];
32
- description: string;
33
- regex: string;
34
- severity: "hard" | "soft";
35
- }
36
- export interface StubCatalog {
37
- version: number;
38
- patterns: StubPattern[];
39
- }
40
- /** YAML block the agent emits at end of turn. */
41
- export interface AttestationDelivered {
42
- symbol: string;
43
- path?: string;
44
- behavior: "full" | "partial" | "scaffolded";
45
- sensors_passed?: string[];
46
- }
47
- export interface AttestationDeferred {
48
- symbol: string;
49
- reason: string;
50
- }
51
- export interface Attestation {
52
- delivered: AttestationDelivered[];
53
- deferred: AttestationDeferred[];
54
- known_limitations: string[];
55
- todos_introduced: number;
56
- stubs_introduced: number;
57
- files_touched: string[];
58
- /** Set when the agent could not proceed; runner reports it as soft finding. */
59
- blocked_by?: {
60
- reason: string;
61
- needed_from_operator?: string;
62
- };
63
- }
64
- /**
65
- * Project-extension block resolved from workflow.md `<project>:` extension.
66
- * Sensors that trigger on `glob_keys` look up the matching key here.
67
- */
68
- export interface ProjectGlobs {
69
- route_handler_globs?: string[];
70
- dto_globs?: string[];
71
- generator_source_globs?: string[];
72
- high_stakes_globs?: string[];
73
- /** Off-limits — file_must_not_be_modified assertions also enforce these. */
74
- off_limits?: string[];
75
- [key: string]: string[] | undefined;
76
- }
77
- export interface SensorInput {
78
- /** Absolute path to the mirror checkout. */
79
- mirrorPath: string;
80
- /** origin/main SHA pinned at workspace prep. */
81
- shaPin: string;
82
- /** Files changed in this run, content already loaded. */
83
- changedFiles: DiffEntry[];
84
- /** Parsed attestation; undefined if the agent emitted none (Layer B fails). */
85
- attestation: Attestation | undefined;
86
- /** Decisions accepted in scope of this diff. Already filtered. */
87
- decisionsInScope: DecisionFrontmatter[];
88
- /** Layer A catalog. */
89
- stubCatalog: StubCatalog;
90
- /** Stack profile language list — pattern filtering. */
91
- languages: SensorLanguage[];
92
- /** Project-extension globs. */
93
- projectGlobs: ProjectGlobs;
94
- /** Run id used in log lines. */
95
- runId: string;
96
- }
97
- export interface SensorFinding {
98
- /** id from sensors.yaml — e.g., "stub-pattern-catalog". */
99
- sensor_id: string;
100
- /** Layer A only — the pattern that matched. */
101
- pattern_id?: string;
102
- /** Decision-assertions only — the failing decision. */
103
- decision_id?: string;
104
- /** Decision-assertions only — the assertion that failed. */
105
- assertion_id?: string;
106
- /** Where the failure surfaced (repo-relative). */
107
- path?: string;
108
- /** Line number, 1-based. */
109
- line?: number;
110
- /** Verbatim text that caused the finding. */
111
- matched_text?: string;
112
- /** Human-readable, remediation-shaped one-liner. */
113
- message: string;
114
- severity: "hard" | "soft";
115
- }
116
- export interface SensorResult {
117
- sensor_id: string;
118
- ok: boolean;
119
- duration_ms: number;
120
- findings: SensorFinding[];
121
- /** Set when the sensor opted out (e.g. no diff hits its glob keys). */
122
- skipped?: {
123
- reason: string;
124
- };
125
- }
126
- /** Aggregated outcome of a single sensor sweep. */
127
- export interface SensorSweepResult {
128
- ok: boolean;
129
- hard_failures: number;
130
- soft_findings: number;
131
- results: SensorResult[];
132
- /** Remediation prompt body to feed back to the agent on retry. Empty when ok. */
133
- remediation_prompt: string;
134
- duration_ms: number;
135
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Sensor types — Phase 9 honest-agent invariants stack.
3
- *
4
- * Sensors run after the implementer agent finishes. Each sensor reads a
5
- * `SensorInput` (diff + attestation + decisions + project block) and emits
6
- * `SensorFinding[]`. The orchestrator collects every sensor's `SensorResult`,
7
- * builds a remediation prompt from any findings, and either passes the run
8
- * through or feeds the prompt back to the agent for retry.
9
- *
10
- * Per PRIMER §10. Per OpenAI's pattern: failure messages are remediation
11
- * prompts the agent consumes on retry.
12
- */
13
- export {};
14
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sensors/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
@@ -1,5 +0,0 @@
1
- import type { ClassificationResult, Tier0ClassifyOptions, Tier0RegexFallback } from "./types.js";
2
- export declare const DEFAULT_OLLAMA_HOST = "http://localhost:11434";
3
- export declare const DEFAULT_OLLAMA_MODEL = "llama3.2:3b";
4
- export declare const REGEX_FALLBACK: Tier0RegexFallback;
5
- export declare function classifyTier0(text: string, opts?: Tier0ClassifyOptions): Promise<ClassificationResult>;
@@ -1,91 +0,0 @@
1
- import { logger } from "../logger.js";
2
- import { ollamaGenerate, ollamaIsAvailable } from "./ollama.js";
3
- const log = logger("tier0.classify");
4
- export const DEFAULT_OLLAMA_HOST = "http://localhost:11434";
5
- export const DEFAULT_OLLAMA_MODEL = "llama3.2:3b";
6
- const VALID_INTENTS = [
7
- "code_task",
8
- "review",
9
- "direction",
10
- "question",
11
- "halt",
12
- "status",
13
- "unknown",
14
- ];
15
- const SYSTEM_PROMPT = [
16
- "You classify a free-text developer message into a single intent for the harness.",
17
- 'Respond ONLY with JSON: { "intent": <one of: code_task, review, direction, question, halt, status, unknown>, "confidence": <number between 0 and 1> }.',
18
- "Definitions:",
19
- "- code_task: operator wants code written or changed (fix, add, build, refactor, delete, migrate, wire, hook).",
20
- "- review: read-only audit/check of code or docs (no code change).",
21
- "- direction: a binding decision change. Phrases like 'scrap that', 'going forward', 'from now on', 'new direction'.",
22
- "- question: operator is asking, not directing.",
23
- "- halt: operator wants something stopped/cancelled.",
24
- "- status: operator wants current state of harness or run.",
25
- "- unknown: none of the above match.",
26
- "Be honest with confidence; below 0.7 means it is genuinely ambiguous.",
27
- ].join("\n");
28
- function regexFallbackDefault(text) {
29
- const rules = [
30
- { intent: "halt", pattern: /^\s*(halt|stop|cancel|kill)\b/i },
31
- { intent: "status", pattern: /^\s*(status|state|how['’]?s it going)\b/i },
32
- {
33
- intent: "direction",
34
- pattern: /^\s*(scrap that|actually|new direction|going forward|from now on)\b/i,
35
- },
36
- {
37
- intent: "code_task",
38
- pattern: /^\s*(fix|add|update|create|build|implement|refactor|delete|remove|migrate|wire|hook|land|rip out|rip)\b/i,
39
- },
40
- {
41
- intent: "review",
42
- pattern: /^\s*(review|audit|check|inspect|look at|smoke|sanity)\b/i,
43
- },
44
- {
45
- intent: "question",
46
- pattern: /^\s*(why|how|what|when|where|which|is|are|does|do|can|should)\b/i,
47
- },
48
- ];
49
- for (const r of rules) {
50
- if (r.pattern.test(text))
51
- return { intent: r.intent, confidence: 0.6 };
52
- }
53
- return { intent: "unknown", confidence: 0 };
54
- }
55
- export const REGEX_FALLBACK = regexFallbackDefault;
56
- export async function classifyTier0(text, opts = {}) {
57
- const host = opts.host ?? process.env["OLLAMA_HOST"] ?? DEFAULT_OLLAMA_HOST;
58
- const model = opts.model ?? DEFAULT_OLLAMA_MODEL;
59
- const fallback = opts.regexFallback ?? REGEX_FALLBACK;
60
- const timeoutMs = opts.timeoutMs ?? 5_000;
61
- if (!(await ollamaIsAvailable(host))) {
62
- log.debug({ host }, "ollama unreachable; using regex fallback");
63
- const r = fallback(text);
64
- return { intent: r.intent, confidence: r.confidence, source: "regex_fallback" };
65
- }
66
- try {
67
- const res = await ollamaGenerate({
68
- host,
69
- model,
70
- prompt: `Message:\n${text}\n\nReturn the JSON now.`,
71
- system: SYSTEM_PROMPT,
72
- format: "json",
73
- timeoutMs,
74
- });
75
- const parsed = JSON.parse(res.response);
76
- const intent = typeof parsed.intent === "string" &&
77
- VALID_INTENTS.includes(parsed.intent)
78
- ? parsed.intent
79
- : "unknown";
80
- const confidence = typeof parsed.confidence === "number" && Number.isFinite(parsed.confidence)
81
- ? Math.max(0, Math.min(1, parsed.confidence))
82
- : 0;
83
- return { intent, confidence, source: "ollama" };
84
- }
85
- catch (err) {
86
- log.warn({ err: String(err) }, "ollama classify failed; falling back to regex");
87
- const r = fallback(text);
88
- return { intent: r.intent, confidence: r.confidence, source: "regex_fallback" };
89
- }
90
- }
91
- //# sourceMappingURL=classify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/tier0/classify.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { classifyTier0, DEFAULT_OLLAMA_HOST, DEFAULT_OLLAMA_MODEL, REGEX_FALLBACK, } from "./classify.js";
2
- export { ollamaGenerate, ollamaHasModel, ollamaIsAvailable, } from "./ollama.js";
3
- export type { ClassificationResult, Tier0ClassifyOptions, Tier0Intent, Tier0RegexFallback, } from "./types.js";
@@ -1,3 +0,0 @@
1
- export { classifyTier0, DEFAULT_OLLAMA_HOST, DEFAULT_OLLAMA_MODEL, REGEX_FALLBACK, } from "./classify.js";
2
- export { ollamaGenerate, ollamaHasModel, ollamaIsAvailable, } from "./ollama.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tier0/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Minimal Ollama HTTP client. Avoids pulling another dep just for two POSTs.
3
- * Server defaults to http://localhost:11434 (Ollama's listen). The harness
4
- * exposes `OLLAMA_HOST` env override per `.env.example`.
5
- */
6
- export interface OllamaGenerateRequest {
7
- host: string;
8
- model: string;
9
- prompt: string;
10
- system?: string;
11
- /** Set to "json" to ask the model for valid JSON output. */
12
- format?: "json";
13
- timeoutMs?: number;
14
- }
15
- export interface OllamaGenerateResponse {
16
- response: string;
17
- done: boolean;
18
- total_duration?: number;
19
- }
20
- export declare function ollamaGenerate(req: OllamaGenerateRequest): Promise<OllamaGenerateResponse>;
21
- export declare function ollamaIsAvailable(host: string): Promise<boolean>;
22
- export declare function ollamaHasModel(host: string, model: string): Promise<boolean>;
@@ -1,63 +0,0 @@
1
- /**
2
- * Minimal Ollama HTTP client. Avoids pulling another dep just for two POSTs.
3
- * Server defaults to http://localhost:11434 (Ollama's listen). The harness
4
- * exposes `OLLAMA_HOST` env override per `.env.example`.
5
- */
6
- export async function ollamaGenerate(req) {
7
- const ctrl = new AbortController();
8
- const timer = setTimeout(() => ctrl.abort(), req.timeoutMs ?? 30_000);
9
- try {
10
- const body = {
11
- model: req.model,
12
- prompt: req.prompt,
13
- stream: false,
14
- };
15
- if (req.system !== undefined)
16
- body["system"] = req.system;
17
- if (req.format !== undefined)
18
- body["format"] = req.format;
19
- const res = await fetch(`${req.host}/api/generate`, {
20
- method: "POST",
21
- headers: { "content-type": "application/json" },
22
- signal: ctrl.signal,
23
- body: JSON.stringify(body),
24
- });
25
- if (!res.ok) {
26
- throw new Error(`ollama HTTP ${res.status}: ${await res.text()}`);
27
- }
28
- return (await res.json());
29
- }
30
- finally {
31
- clearTimeout(timer);
32
- }
33
- }
34
- export async function ollamaIsAvailable(host) {
35
- try {
36
- const ctrl = new AbortController();
37
- const timer = setTimeout(() => ctrl.abort(), 1000);
38
- const res = await fetch(`${host}/api/tags`, { signal: ctrl.signal });
39
- clearTimeout(timer);
40
- return res.ok;
41
- }
42
- catch {
43
- return false;
44
- }
45
- }
46
- export async function ollamaHasModel(host, model) {
47
- try {
48
- const ctrl = new AbortController();
49
- const timer = setTimeout(() => ctrl.abort(), 1500);
50
- const res = await fetch(`${host}/api/tags`, { signal: ctrl.signal });
51
- clearTimeout(timer);
52
- if (!res.ok)
53
- return false;
54
- const json = (await res.json());
55
- if (!json.models)
56
- return false;
57
- return json.models.some((m) => m.name === model || m.name.startsWith(`${model}:`));
58
- }
59
- catch {
60
- return false;
61
- }
62
- }
63
- //# sourceMappingURL=ollama.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/tier0/ollama.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Tier-0 classifier contract. Per L14 + L38: solo-dev cost-zero classification
3
- * via Ollama. Falls back to a regex matcher when Ollama is unreachable so
4
- * smoke tests + adapter pipelines stay green.
5
- */
6
- export type Tier0Intent = "code_task" | "review" | "direction" | "question" | "halt" | "status" | "unknown";
7
- export interface ClassificationResult {
8
- intent: Tier0Intent;
9
- confidence: number;
10
- source: "ollama" | "regex_fallback";
11
- }
12
- export interface Tier0RegexFallback {
13
- (text: string): {
14
- intent: Tier0Intent;
15
- confidence: number;
16
- };
17
- }
18
- export interface Tier0ClassifyOptions {
19
- host?: string;
20
- model?: string;
21
- timeoutMs?: number;
22
- /** Used when Ollama is unreachable or returns malformed output. */
23
- regexFallback?: Tier0RegexFallback;
24
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Tier-0 classifier contract. Per L14 + L38: solo-dev cost-zero classification
3
- * via Ollama. Falls back to a regex matcher when Ollama is unreachable so
4
- * smoke tests + adapter pipelines stay green.
5
- */
6
- export {};
7
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tier0/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,4 +0,0 @@
1
- export { tightenSpec } from "./tighten.js";
2
- export { TIGHTENER_OUTPUT_SCHEMA } from "./schema.js";
3
- export { TIGHTENER_SYSTEM_PROMPT, buildTightenerUserPrompt, } from "./prompt.js";
4
- export type { Ambiguity, TightenerInput, TightenerOutput, TightenerResult, } from "./types.js";
@@ -1,4 +0,0 @@
1
- export { tightenSpec } from "./tighten.js";
2
- export { TIGHTENER_OUTPUT_SCHEMA } from "./schema.js";
3
- export { TIGHTENER_SYSTEM_PROMPT, buildTightenerUserPrompt, } from "./prompt.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tightener/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,aAAa,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { TightenerInput } from "./types.js";
2
- export declare const TIGHTENER_SYSTEM_PROMPT: string;
3
- export declare function buildTightenerUserPrompt(input: TightenerInput): string;
@@ -1,67 +0,0 @@
1
- export const TIGHTENER_SYSTEM_PROMPT = [
2
- "You are the SPEC TIGHTENER for a developer harness.",
3
- "",
4
- "Your job: read a task spec and decide if an implementer can act on it without asking questions. You DO NOT write code, run tools, or modify files. You analyze the spec and return one structured JSON object.",
5
- "",
6
- "Examine the spec for:",
7
- "- AMBIGUITIES — wording that an honest implementer could read two ways. Each ambiguity gets a stable id (Q1, Q2, ...), a focused question, and 2-4 concrete A/B/C/D candidate resolutions (per the harness UX rule: squares-into-square-holes, no free-text-only options).",
8
- "- CONFLICTS — direct contradictions with decisions or invariants in scope.",
9
- "- MISSING ACCEPTANCE — observable behaviors the spec implies but does not state, that an implementer would need to assert.",
10
- "- SCOPE CONCERNS — paths/modules the spec might touch that look out of bounds.",
11
- "- EXISTING STUB OVERLAP — TODOs / placeholder functions the spec would resolve, called out explicitly so the implementer doesn't add a parallel implementation.",
12
- "",
13
- "Score the spec 0-10 on `spec_quality_score`:",
14
- " 0-3 = vague, multiple interpretations, missing acceptance",
15
- " 4-6 = workable but several decisions deferred",
16
- " 7-8 = clear, minor wording-level ambiguities at most",
17
- " 9-10 = unambiguous, complete acceptance, ready to dispatch",
18
- "",
19
- "Set `ready_to_execute = true` ONLY when score >= 7 AND `ambiguities` is empty AND no conflicts. Otherwise false.",
20
- "",
21
- "Always populate `tightened_spec_proposal` with your best rewrite of the spec, taking the most defensible default for each ambiguity. This is the fallback if the operator clicks `[approve as drafted]` without resolving questions individually (per harness Codex audit Finding #7 — collapse 3+ ambiguities into one tightened-proposal-with-edit-button).",
22
- "",
23
- "Return ONLY the JSON object. No prose, no preamble.",
24
- ].join("\n");
25
- export function buildTightenerUserPrompt(input) {
26
- const parts = [];
27
- parts.push("# Task spec to tighten");
28
- parts.push("");
29
- parts.push(`## Title`);
30
- parts.push(input.title);
31
- parts.push("");
32
- parts.push(`## Body`);
33
- parts.push(input.body);
34
- if (input.decisions_in_scope && input.decisions_in_scope.length > 0) {
35
- parts.push("");
36
- parts.push("## Decisions in scope");
37
- for (const d of input.decisions_in_scope) {
38
- parts.push(`- **${d.id}** — ${d.title}: ${d.summary}`);
39
- }
40
- }
41
- if (input.invariants_in_scope && input.invariants_in_scope.length > 0) {
42
- parts.push("");
43
- parts.push("## Invariants in scope");
44
- for (const v of input.invariants_in_scope) {
45
- parts.push(`- **${v.id}** — ${v.title}`);
46
- }
47
- }
48
- if (input.ground_extracts && input.ground_extracts.length > 0) {
49
- parts.push("");
50
- parts.push("## Ground extracts");
51
- for (const g of input.ground_extracts) {
52
- parts.push(`### ${g.key}`);
53
- parts.push(g.snippet);
54
- }
55
- }
56
- if (input.existing_stubs && input.existing_stubs.length > 0) {
57
- parts.push("");
58
- parts.push("## Existing stubs / TODOs the spec may step on");
59
- for (const stub of input.existing_stubs) {
60
- parts.push(`- ${stub}`);
61
- }
62
- }
63
- parts.push("");
64
- parts.push("Now return the JSON object per the schema.");
65
- return parts.join("\n");
66
- }
67
- //# sourceMappingURL=prompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/tightener/prompt.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- /**
2
- * JSON Schema enforced by `claude --json-schema` for the tightener output.
3
- * Mirrors `TightenerOutput` exactly. Keep in sync.
4
- */
5
- export declare const TIGHTENER_OUTPUT_SCHEMA: {
6
- readonly type: "object";
7
- readonly additionalProperties: false;
8
- readonly properties: {
9
- readonly ambiguities: {
10
- readonly type: "array";
11
- readonly items: {
12
- readonly type: "object";
13
- readonly additionalProperties: false;
14
- readonly properties: {
15
- readonly id: {
16
- readonly type: "string";
17
- };
18
- readonly question: {
19
- readonly type: "string";
20
- };
21
- readonly candidate_resolutions: {
22
- readonly type: "array";
23
- readonly items: {
24
- readonly type: "string";
25
- };
26
- };
27
- };
28
- readonly required: readonly ["id", "question", "candidate_resolutions"];
29
- };
30
- };
31
- readonly conflicts: {
32
- readonly type: "array";
33
- readonly items: {
34
- readonly type: "string";
35
- };
36
- };
37
- readonly missing_acceptance: {
38
- readonly type: "array";
39
- readonly items: {
40
- readonly type: "string";
41
- };
42
- };
43
- readonly scope_concerns: {
44
- readonly type: "array";
45
- readonly items: {
46
- readonly type: "string";
47
- };
48
- };
49
- readonly existing_stub_overlap: {
50
- readonly type: "array";
51
- readonly items: {
52
- readonly type: "string";
53
- };
54
- };
55
- readonly spec_quality_score: {
56
- readonly type: "integer";
57
- readonly minimum: 0;
58
- readonly maximum: 10;
59
- };
60
- readonly ready_to_execute: {
61
- readonly type: "boolean";
62
- };
63
- readonly tightened_spec_proposal: {
64
- readonly type: "string";
65
- };
66
- };
67
- readonly required: readonly ["ambiguities", "conflicts", "missing_acceptance", "scope_concerns", "existing_stub_overlap", "spec_quality_score", "ready_to_execute", "tightened_spec_proposal"];
68
- };
@@ -1,44 +0,0 @@
1
- /**
2
- * JSON Schema enforced by `claude --json-schema` for the tightener output.
3
- * Mirrors `TightenerOutput` exactly. Keep in sync.
4
- */
5
- export const TIGHTENER_OUTPUT_SCHEMA = {
6
- type: "object",
7
- additionalProperties: false,
8
- properties: {
9
- ambiguities: {
10
- type: "array",
11
- items: {
12
- type: "object",
13
- additionalProperties: false,
14
- properties: {
15
- id: { type: "string" },
16
- question: { type: "string" },
17
- candidate_resolutions: {
18
- type: "array",
19
- items: { type: "string" },
20
- },
21
- },
22
- required: ["id", "question", "candidate_resolutions"],
23
- },
24
- },
25
- conflicts: { type: "array", items: { type: "string" } },
26
- missing_acceptance: { type: "array", items: { type: "string" } },
27
- scope_concerns: { type: "array", items: { type: "string" } },
28
- existing_stub_overlap: { type: "array", items: { type: "string" } },
29
- spec_quality_score: { type: "integer", minimum: 0, maximum: 10 },
30
- ready_to_execute: { type: "boolean" },
31
- tightened_spec_proposal: { type: "string" },
32
- },
33
- required: [
34
- "ambiguities",
35
- "conflicts",
36
- "missing_acceptance",
37
- "scope_concerns",
38
- "existing_stub_overlap",
39
- "spec_quality_score",
40
- "ready_to_execute",
41
- "tightened_spec_proposal",
42
- ],
43
- };
44
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/tightener/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,qBAAqB,EAAE;wBACrB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;gBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,uBAAuB,CAAC;aACtD;SACF;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACvD,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAChE,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC5D,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACnE,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QAChE,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,uBAAuB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5C;IACD,QAAQ,EAAE;QACR,aAAa;QACb,WAAW;QACX,oBAAoB;QACpB,gBAAgB;QAChB,uBAAuB;QACvB,oBAAoB;QACpB,kBAAkB;QAClB,yBAAyB;KAC1B;CACO,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { TightenerInput, TightenerResult } from "./types.js";
2
- export declare function tightenSpec(input: TightenerInput): Promise<TightenerResult>;