@zhixuan92/multi-model-agent-core 5.1.0 → 5.2.1

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 (712) hide show
  1. package/dist/bounded-execution/activity-tracker-types.d.ts +30 -15
  2. package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
  3. package/dist/bounded-execution/activity-tracker-types.js.map +1 -1
  4. package/dist/bounded-execution/activity-tracker.d.ts +2 -2
  5. package/dist/bounded-execution/activity-tracker.d.ts.map +1 -1
  6. package/dist/bounded-execution/activity-tracker.js +4 -5
  7. package/dist/bounded-execution/activity-tracker.js.map +1 -1
  8. package/dist/config/schema.d.ts +41 -2
  9. package/dist/config/schema.d.ts.map +1 -1
  10. package/dist/config/schema.js +1 -2
  11. package/dist/config/schema.js.map +1 -1
  12. package/dist/events/task-envelope.d.ts +5 -5
  13. package/dist/events/task-envelope.d.ts.map +1 -1
  14. package/dist/events/task-envelope.js +3 -6
  15. package/dist/events/task-envelope.js.map +1 -1
  16. package/dist/events/telemetry-uploader.d.ts +1 -1
  17. package/dist/events/telemetry-uploader.d.ts.map +1 -1
  18. package/dist/events/to-wire-record.d.ts +1 -1
  19. package/dist/events/to-wire-record.d.ts.map +1 -1
  20. package/dist/events/to-wire-record.js +1 -1
  21. package/dist/events/to-wire-record.js.map +1 -1
  22. package/dist/events/wire-schema.d.ts +34 -11
  23. package/dist/events/wire-schema.d.ts.map +1 -1
  24. package/dist/events/wire-schema.js +8 -8
  25. package/dist/events/wire-schema.js.map +1 -1
  26. package/dist/index.d.ts +13 -18
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +9 -17
  29. package/dist/index.js.map +1 -1
  30. package/dist/providers/agent-resolver.js +1 -1
  31. package/dist/providers/agent-resolver.js.map +1 -1
  32. package/dist/providers/claude-session.d.ts +2 -1
  33. package/dist/providers/claude-session.d.ts.map +1 -1
  34. package/dist/providers/claude-session.js +29 -2
  35. package/dist/providers/claude-session.js.map +1 -1
  36. package/dist/providers/codex-cli-session.d.ts +3 -2
  37. package/dist/providers/codex-cli-session.d.ts.map +1 -1
  38. package/dist/providers/codex-cli-session.js +5 -2
  39. package/dist/providers/codex-cli-session.js.map +1 -1
  40. package/dist/providers/provider-factory.d.ts +2 -2
  41. package/dist/providers/provider-factory.d.ts.map +1 -1
  42. package/dist/providers/provider-factory.js +12 -12
  43. package/dist/providers/provider-factory.js.map +1 -1
  44. package/dist/providers/runner-types.d.ts +3 -16
  45. package/dist/providers/runner-types.d.ts.map +1 -1
  46. package/dist/research/index.d.ts +11 -1
  47. package/dist/research/index.d.ts.map +1 -1
  48. package/dist/research/index.js +8 -1
  49. package/dist/research/index.js.map +1 -1
  50. package/dist/stores/context-block-tool.d.ts +2 -3
  51. package/dist/stores/context-block-tool.d.ts.map +1 -1
  52. package/dist/stores/context-block-tool.js +1 -1
  53. package/dist/stores/context-block-tool.js.map +1 -1
  54. package/dist/stores/project-context-registry.d.ts +0 -9
  55. package/dist/stores/project-context-registry.d.ts.map +1 -1
  56. package/dist/stores/project-context-registry.js +0 -4
  57. package/dist/stores/project-context-registry.js.map +1 -1
  58. package/dist/types/brief-quality-policy.d.ts.map +1 -1
  59. package/dist/types/enums.d.ts +0 -9
  60. package/dist/types/enums.d.ts.map +1 -1
  61. package/dist/types/enums.js +0 -10
  62. package/dist/types/enums.js.map +1 -1
  63. package/dist/types/run-result.d.ts +48 -23
  64. package/dist/types/run-result.d.ts.map +1 -1
  65. package/dist/types/run-result.js +3 -16
  66. package/dist/types/run-result.js.map +1 -1
  67. package/dist/types/stage-stats.d.ts +1 -1
  68. package/dist/types/stage-stats.d.ts.map +1 -1
  69. package/dist/types/stage-stats.js +2 -4
  70. package/dist/types/stage-stats.js.map +1 -1
  71. package/dist/types/task-spec.d.ts +3 -17
  72. package/dist/types/task-spec.d.ts.map +1 -1
  73. package/dist/types.d.ts +1 -1
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/unified/reviewer-output-parser.d.ts +51 -0
  76. package/dist/unified/reviewer-output-parser.d.ts.map +1 -0
  77. package/dist/unified/reviewer-output-parser.js +39 -0
  78. package/dist/unified/reviewer-output-parser.js.map +1 -0
  79. package/dist/unified/skill-loader.d.ts +9 -0
  80. package/dist/unified/skill-loader.d.ts.map +1 -0
  81. package/dist/unified/skill-loader.js +45 -0
  82. package/dist/unified/skill-loader.js.map +1 -0
  83. package/dist/unified/task-input-schema.d.ts +217 -0
  84. package/dist/unified/task-input-schema.d.ts.map +1 -0
  85. package/dist/unified/task-input-schema.js +35 -0
  86. package/dist/unified/task-input-schema.js.map +1 -0
  87. package/dist/unified/task-registry.d.ts +23 -0
  88. package/dist/unified/task-registry.d.ts.map +1 -0
  89. package/dist/unified/task-registry.js +56 -0
  90. package/dist/unified/task-registry.js.map +1 -0
  91. package/dist/unified/two-phase-pipeline.d.ts +52 -0
  92. package/dist/unified/two-phase-pipeline.d.ts.map +1 -0
  93. package/dist/unified/two-phase-pipeline.js +95 -0
  94. package/dist/unified/two-phase-pipeline.js.map +1 -0
  95. package/dist/unified/type-registry.d.ts +13 -0
  96. package/dist/unified/type-registry.d.ts.map +1 -0
  97. package/dist/unified/type-registry.js +30 -0
  98. package/dist/unified/type-registry.js.map +1 -0
  99. package/dist/unified/worktree-manager.d.ts +43 -0
  100. package/dist/unified/worktree-manager.d.ts.map +1 -0
  101. package/dist/unified/worktree-manager.js +76 -0
  102. package/dist/unified/worktree-manager.js.map +1 -0
  103. package/package.json +7 -118
  104. package/src/skills/audit/implement-plan.md +182 -0
  105. package/src/skills/audit/implement-skill.md +72 -0
  106. package/src/skills/audit/implement-spec.md +91 -0
  107. package/src/skills/audit/implement.md +123 -0
  108. package/src/skills/audit/review.md +116 -0
  109. package/src/skills/debug/implement.md +81 -0
  110. package/src/skills/debug/review.md +69 -0
  111. package/src/skills/delegate/implement.md +61 -0
  112. package/src/skills/delegate/review.md +53 -0
  113. package/src/skills/execute_plan/implement.md +67 -0
  114. package/src/skills/execute_plan/review.md +63 -0
  115. package/src/skills/investigate/implement.md +88 -0
  116. package/src/skills/investigate/review.md +71 -0
  117. package/src/skills/journal_recall/implement.md +60 -0
  118. package/src/skills/journal_recall/review.md +69 -0
  119. package/src/skills/journal_record/implement.md +62 -0
  120. package/src/skills/journal_record/review.md +65 -0
  121. package/src/skills/main/implement.md +25 -0
  122. package/src/skills/main/review.md +3 -0
  123. package/src/skills/research/implement.md +82 -0
  124. package/src/skills/research/review.md +68 -0
  125. package/src/skills/retry_tasks/implement.md +1 -0
  126. package/src/skills/retry_tasks/review.md +1 -0
  127. package/src/skills/review/implement.md +87 -0
  128. package/src/skills/review/review.md +77 -0
  129. package/dist/bounded-execution/file-artifact-check.d.ts +0 -7
  130. package/dist/bounded-execution/file-artifact-check.d.ts.map +0 -1
  131. package/dist/bounded-execution/file-artifact-check.js +0 -13
  132. package/dist/bounded-execution/file-artifact-check.js.map +0 -1
  133. package/dist/bounded-execution/progress-events-subscriber.d.ts +0 -33
  134. package/dist/bounded-execution/progress-events-subscriber.d.ts.map +0 -1
  135. package/dist/bounded-execution/progress-events-subscriber.js +0 -59
  136. package/dist/bounded-execution/progress-events-subscriber.js.map +0 -1
  137. package/dist/bounded-execution/progress-watchdog.d.ts +0 -43
  138. package/dist/bounded-execution/progress-watchdog.d.ts.map +0 -1
  139. package/dist/bounded-execution/progress-watchdog.js +0 -170
  140. package/dist/bounded-execution/progress-watchdog.js.map +0 -1
  141. package/dist/bounded-execution/real-diff.d.ts +0 -17
  142. package/dist/bounded-execution/real-diff.d.ts.map +0 -1
  143. package/dist/bounded-execution/real-diff.js +0 -59
  144. package/dist/bounded-execution/real-diff.js.map +0 -1
  145. package/dist/bounded-execution/scope-match.d.ts +0 -7
  146. package/dist/bounded-execution/scope-match.d.ts.map +0 -1
  147. package/dist/bounded-execution/scope-match.js +0 -28
  148. package/dist/bounded-execution/scope-match.js.map +0 -1
  149. package/dist/bounded-execution/stall-watchdog.d.ts +0 -18
  150. package/dist/bounded-execution/stall-watchdog.d.ts.map +0 -1
  151. package/dist/bounded-execution/stall-watchdog.js +0 -134
  152. package/dist/bounded-execution/stall-watchdog.js.map +0 -1
  153. package/dist/bounded-execution/wall-clock-guard.d.ts +0 -12
  154. package/dist/bounded-execution/wall-clock-guard.d.ts.map +0 -1
  155. package/dist/bounded-execution/wall-clock-guard.js +0 -27
  156. package/dist/bounded-execution/wall-clock-guard.js.map +0 -1
  157. package/dist/config/canonical-model-identity.d.ts +0 -9
  158. package/dist/config/canonical-model-identity.d.ts.map +0 -1
  159. package/dist/config/canonical-model-identity.js +0 -54
  160. package/dist/config/canonical-model-identity.js.map +0 -1
  161. package/dist/journal/default-schema.d.ts +0 -2
  162. package/dist/journal/default-schema.d.ts.map +0 -1
  163. package/dist/journal/default-schema.js +0 -27
  164. package/dist/journal/default-schema.js.map +0 -1
  165. package/dist/journal/types.d.ts +0 -22
  166. package/dist/journal/types.d.ts.map +0 -1
  167. package/dist/journal/types.js +0 -5
  168. package/dist/journal/types.js.map +0 -1
  169. package/dist/lifecycle/annotate-parser.d.ts +0 -11
  170. package/dist/lifecycle/annotate-parser.d.ts.map +0 -1
  171. package/dist/lifecycle/annotate-parser.js +0 -74
  172. package/dist/lifecycle/annotate-parser.js.map +0 -1
  173. package/dist/lifecycle/annotate-prompts.d.ts +0 -9
  174. package/dist/lifecycle/annotate-prompts.d.ts.map +0 -1
  175. package/dist/lifecycle/annotate-prompts.js +0 -95
  176. package/dist/lifecycle/annotate-prompts.js.map +0 -1
  177. package/dist/lifecycle/auto-commit.d.ts +0 -3
  178. package/dist/lifecycle/auto-commit.d.ts.map +0 -1
  179. package/dist/lifecycle/auto-commit.js +0 -5
  180. package/dist/lifecycle/auto-commit.js.map +0 -1
  181. package/dist/lifecycle/auto-register-context-block.d.ts +0 -11
  182. package/dist/lifecycle/auto-register-context-block.d.ts.map +0 -1
  183. package/dist/lifecycle/auto-register-context-block.js +0 -18
  184. package/dist/lifecycle/auto-register-context-block.js.map +0 -1
  185. package/dist/lifecycle/build-cancelled-result.d.ts +0 -11
  186. package/dist/lifecycle/build-cancelled-result.d.ts.map +0 -1
  187. package/dist/lifecycle/build-cancelled-result.js +0 -25
  188. package/dist/lifecycle/build-cancelled-result.js.map +0 -1
  189. package/dist/lifecycle/derive-completion.d.ts +0 -28
  190. package/dist/lifecycle/derive-completion.d.ts.map +0 -1
  191. package/dist/lifecycle/derive-completion.js +0 -79
  192. package/dist/lifecycle/derive-completion.js.map +0 -1
  193. package/dist/lifecycle/executor-output-types.d.ts +0 -53
  194. package/dist/lifecycle/executor-output-types.d.ts.map +0 -1
  195. package/dist/lifecycle/executor-output-types.js +0 -2
  196. package/dist/lifecycle/executor-output-types.js.map +0 -1
  197. package/dist/lifecycle/file-confinement-check.d.ts +0 -17
  198. package/dist/lifecycle/file-confinement-check.d.ts.map +0 -1
  199. package/dist/lifecycle/file-confinement-check.js +0 -44
  200. package/dist/lifecycle/file-confinement-check.js.map +0 -1
  201. package/dist/lifecycle/findings-parser.d.ts +0 -18
  202. package/dist/lifecycle/findings-parser.d.ts.map +0 -1
  203. package/dist/lifecycle/findings-parser.js +0 -143
  204. package/dist/lifecycle/findings-parser.js.map +0 -1
  205. package/dist/lifecycle/git-exec.d.ts +0 -62
  206. package/dist/lifecycle/git-exec.d.ts.map +0 -1
  207. package/dist/lifecycle/git-exec.js +0 -135
  208. package/dist/lifecycle/git-exec.js.map +0 -1
  209. package/dist/lifecycle/git-toplevel.d.ts +0 -12
  210. package/dist/lifecycle/git-toplevel.d.ts.map +0 -1
  211. package/dist/lifecycle/git-toplevel.js +0 -52
  212. package/dist/lifecycle/git-toplevel.js.map +0 -1
  213. package/dist/lifecycle/goal-builder.d.ts +0 -35
  214. package/dist/lifecycle/goal-builder.d.ts.map +0 -1
  215. package/dist/lifecycle/goal-builder.js +0 -56
  216. package/dist/lifecycle/goal-builder.js.map +0 -1
  217. package/dist/lifecycle/goal-preconditions.d.ts +0 -21
  218. package/dist/lifecycle/goal-preconditions.d.ts.map +0 -1
  219. package/dist/lifecycle/goal-preconditions.js +0 -33
  220. package/dist/lifecycle/goal-preconditions.js.map +0 -1
  221. package/dist/lifecycle/goal-prompts.d.ts +0 -27
  222. package/dist/lifecycle/goal-prompts.d.ts.map +0 -1
  223. package/dist/lifecycle/goal-prompts.js +0 -204
  224. package/dist/lifecycle/goal-prompts.js.map +0 -1
  225. package/dist/lifecycle/goal-report.d.ts +0 -42
  226. package/dist/lifecycle/goal-report.d.ts.map +0 -1
  227. package/dist/lifecycle/goal-report.js +0 -125
  228. package/dist/lifecycle/goal-report.js.map +0 -1
  229. package/dist/lifecycle/handlers/annotate-stage.d.ts +0 -35
  230. package/dist/lifecycle/handlers/annotate-stage.d.ts.map +0 -1
  231. package/dist/lifecycle/handlers/annotate-stage.js +0 -387
  232. package/dist/lifecycle/handlers/annotate-stage.js.map +0 -1
  233. package/dist/lifecycle/handlers/baseline-handlers.d.ts +0 -12
  234. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +0 -1
  235. package/dist/lifecycle/handlers/baseline-handlers.js +0 -281
  236. package/dist/lifecycle/handlers/baseline-handlers.js.map +0 -1
  237. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts +0 -3
  238. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +0 -1
  239. package/dist/lifecycle/handlers/enrich-runtime-result.js +0 -239
  240. package/dist/lifecycle/handlers/enrich-runtime-result.js.map +0 -1
  241. package/dist/lifecycle/handlers/implement-stage.d.ts +0 -10
  242. package/dist/lifecycle/handlers/implement-stage.d.ts.map +0 -1
  243. package/dist/lifecycle/handlers/implement-stage.js +0 -228
  244. package/dist/lifecycle/handlers/implement-stage.js.map +0 -1
  245. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +0 -13
  246. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +0 -1
  247. package/dist/lifecycle/handlers/prepare-execution-context-handler.js +0 -61
  248. package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +0 -1
  249. package/dist/lifecycle/handlers/read-route-implementer.d.ts +0 -52
  250. package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +0 -1
  251. package/dist/lifecycle/handlers/read-route-implementer.js +0 -109
  252. package/dist/lifecycle/handlers/read-route-implementer.js.map +0 -1
  253. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +0 -4
  254. package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +0 -1
  255. package/dist/lifecycle/handlers/register-context-block-handlers.js +0 -35
  256. package/dist/lifecycle/handlers/register-context-block-handlers.js.map +0 -1
  257. package/dist/lifecycle/handlers/review-fix-stage.d.ts +0 -9
  258. package/dist/lifecycle/handlers/review-fix-stage.d.ts.map +0 -1
  259. package/dist/lifecycle/handlers/review-fix-stage.js +0 -75
  260. package/dist/lifecycle/handlers/review-fix-stage.js.map +0 -1
  261. package/dist/lifecycle/handlers/terminal-handlers.d.ts +0 -61
  262. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +0 -1
  263. package/dist/lifecycle/handlers/terminal-handlers.js +0 -339
  264. package/dist/lifecycle/handlers/terminal-handlers.js.map +0 -1
  265. package/dist/lifecycle/lifecycle-context.d.ts +0 -109
  266. package/dist/lifecycle/lifecycle-context.d.ts.map +0 -1
  267. package/dist/lifecycle/lifecycle-context.js +0 -2
  268. package/dist/lifecycle/lifecycle-context.js.map +0 -1
  269. package/dist/lifecycle/lifecycle-dispatcher.d.ts +0 -35
  270. package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +0 -1
  271. package/dist/lifecycle/lifecycle-dispatcher.js +0 -64
  272. package/dist/lifecycle/lifecycle-dispatcher.js.map +0 -1
  273. package/dist/lifecycle/lifecycle-driver.d.ts +0 -16
  274. package/dist/lifecycle/lifecycle-driver.d.ts.map +0 -1
  275. package/dist/lifecycle/lifecycle-driver.js +0 -334
  276. package/dist/lifecycle/lifecycle-driver.js.map +0 -1
  277. package/dist/lifecycle/merge-stage-stats.d.ts +0 -62
  278. package/dist/lifecycle/merge-stage-stats.d.ts.map +0 -1
  279. package/dist/lifecycle/merge-stage-stats.js +0 -136
  280. package/dist/lifecycle/merge-stage-stats.js.map +0 -1
  281. package/dist/lifecycle/normalize-output-targets.d.ts +0 -2
  282. package/dist/lifecycle/normalize-output-targets.d.ts.map +0 -1
  283. package/dist/lifecycle/normalize-output-targets.js +0 -14
  284. package/dist/lifecycle/normalize-output-targets.js.map +0 -1
  285. package/dist/lifecycle/perform-implementation.d.ts +0 -3
  286. package/dist/lifecycle/perform-implementation.d.ts.map +0 -1
  287. package/dist/lifecycle/perform-implementation.js +0 -371
  288. package/dist/lifecycle/perform-implementation.js.map +0 -1
  289. package/dist/lifecycle/read-only-subtype-spec.d.ts +0 -18
  290. package/dist/lifecycle/read-only-subtype-spec.d.ts.map +0 -1
  291. package/dist/lifecycle/read-only-subtype-spec.js +0 -2
  292. package/dist/lifecycle/read-only-subtype-spec.js.map +0 -1
  293. package/dist/lifecycle/review-verdict-mapping.d.ts +0 -16
  294. package/dist/lifecycle/review-verdict-mapping.d.ts.map +0 -1
  295. package/dist/lifecycle/review-verdict-mapping.js +0 -24
  296. package/dist/lifecycle/review-verdict-mapping.js.map +0 -1
  297. package/dist/lifecycle/shared-compute.d.ts +0 -14
  298. package/dist/lifecycle/shared-compute.d.ts.map +0 -1
  299. package/dist/lifecycle/shared-compute.js +0 -51
  300. package/dist/lifecycle/shared-compute.js.map +0 -1
  301. package/dist/lifecycle/stage-idle-tracker.d.ts +0 -14
  302. package/dist/lifecycle/stage-idle-tracker.d.ts.map +0 -1
  303. package/dist/lifecycle/stage-idle-tracker.js +0 -17
  304. package/dist/lifecycle/stage-idle-tracker.js.map +0 -1
  305. package/dist/lifecycle/stage-io.d.ts +0 -134
  306. package/dist/lifecycle/stage-io.d.ts.map +0 -1
  307. package/dist/lifecycle/stage-io.js +0 -9
  308. package/dist/lifecycle/stage-io.js.map +0 -1
  309. package/dist/lifecycle/stage-labels.d.ts +0 -7
  310. package/dist/lifecycle/stage-labels.d.ts.map +0 -1
  311. package/dist/lifecycle/stage-labels.js +0 -19
  312. package/dist/lifecycle/stage-labels.js.map +0 -1
  313. package/dist/lifecycle/stage-plan-builder.d.ts +0 -4
  314. package/dist/lifecycle/stage-plan-builder.d.ts.map +0 -1
  315. package/dist/lifecycle/stage-plan-builder.js +0 -157
  316. package/dist/lifecycle/stage-plan-builder.js.map +0 -1
  317. package/dist/lifecycle/stage-plan-types.d.ts +0 -131
  318. package/dist/lifecycle/stage-plan-types.d.ts.map +0 -1
  319. package/dist/lifecycle/stage-plan-types.js +0 -28
  320. package/dist/lifecycle/stage-plan-types.js.map +0 -1
  321. package/dist/lifecycle/stage-progression.d.ts +0 -6
  322. package/dist/lifecycle/stage-progression.d.ts.map +0 -1
  323. package/dist/lifecycle/stage-progression.js +0 -100
  324. package/dist/lifecycle/stage-progression.js.map +0 -1
  325. package/dist/lifecycle/task-executor.d.ts +0 -24
  326. package/dist/lifecycle/task-executor.d.ts.map +0 -1
  327. package/dist/lifecycle/task-executor.js +0 -365
  328. package/dist/lifecycle/task-executor.js.map +0 -1
  329. package/dist/lifecycle/task-runner.d.ts +0 -66
  330. package/dist/lifecycle/task-runner.d.ts.map +0 -1
  331. package/dist/lifecycle/task-runner.js +0 -334
  332. package/dist/lifecycle/task-runner.js.map +0 -1
  333. package/dist/lifecycle/tool-category.d.ts +0 -2
  334. package/dist/lifecycle/tool-category.d.ts.map +0 -1
  335. package/dist/lifecycle/tool-category.js +0 -6
  336. package/dist/lifecycle/tool-category.js.map +0 -1
  337. package/dist/lifecycle/tool-config-types.d.ts +0 -32
  338. package/dist/lifecycle/tool-config-types.d.ts.map +0 -1
  339. package/dist/lifecycle/tool-config-types.js +0 -2
  340. package/dist/lifecycle/tool-config-types.js.map +0 -1
  341. package/dist/lifecycle/warm-followup.d.ts +0 -3
  342. package/dist/lifecycle/warm-followup.d.ts.map +0 -1
  343. package/dist/lifecycle/warm-followup.js +0 -16
  344. package/dist/lifecycle/warm-followup.js.map +0 -1
  345. package/dist/lifecycle/worker-output-contract.d.ts +0 -22
  346. package/dist/lifecycle/worker-output-contract.d.ts.map +0 -1
  347. package/dist/lifecycle/worker-output-contract.js +0 -91
  348. package/dist/lifecycle/worker-output-contract.js.map +0 -1
  349. package/dist/lifecycle/write-goal-lock.d.ts +0 -29
  350. package/dist/lifecycle/write-goal-lock.d.ts.map +0 -1
  351. package/dist/lifecycle/write-goal-lock.js +0 -70
  352. package/dist/lifecycle/write-goal-lock.js.map +0 -1
  353. package/dist/providers/assemble-run-result.d.ts +0 -17
  354. package/dist/providers/assemble-run-result.d.ts.map +0 -1
  355. package/dist/providers/assemble-run-result.js +0 -52
  356. package/dist/providers/assemble-run-result.js.map +0 -1
  357. package/dist/providers/skill-resolver.d.ts +0 -17
  358. package/dist/providers/skill-resolver.d.ts.map +0 -1
  359. package/dist/providers/skill-resolver.js +0 -123
  360. package/dist/providers/skill-resolver.js.map +0 -1
  361. package/dist/reporting/batch-persister.d.ts +0 -4
  362. package/dist/reporting/batch-persister.d.ts.map +0 -1
  363. package/dist/reporting/batch-persister.js +0 -11
  364. package/dist/reporting/batch-persister.js.map +0 -1
  365. package/dist/reporting/commit-stage-runner.d.ts +0 -12
  366. package/dist/reporting/commit-stage-runner.d.ts.map +0 -1
  367. package/dist/reporting/commit-stage-runner.js +0 -43
  368. package/dist/reporting/commit-stage-runner.js.map +0 -1
  369. package/dist/reporting/derive-investigate-status.d.ts +0 -15
  370. package/dist/reporting/derive-investigate-status.d.ts.map +0 -1
  371. package/dist/reporting/derive-investigate-status.js +0 -23
  372. package/dist/reporting/derive-investigate-status.js.map +0 -1
  373. package/dist/reporting/extract-fenced-json.d.ts +0 -7
  374. package/dist/reporting/extract-fenced-json.d.ts.map +0 -1
  375. package/dist/reporting/extract-fenced-json.js +0 -17
  376. package/dist/reporting/extract-fenced-json.js.map +0 -1
  377. package/dist/reporting/findings-headline.d.ts +0 -12
  378. package/dist/reporting/findings-headline.d.ts.map +0 -1
  379. package/dist/reporting/findings-headline.js +0 -40
  380. package/dist/reporting/findings-headline.js.map +0 -1
  381. package/dist/reporting/findings-outcome.d.ts +0 -13
  382. package/dist/reporting/findings-outcome.d.ts.map +0 -1
  383. package/dist/reporting/findings-outcome.js +0 -22
  384. package/dist/reporting/findings-outcome.js.map +0 -1
  385. package/dist/reporting/headline-composer.d.ts +0 -29
  386. package/dist/reporting/headline-composer.d.ts.map +0 -1
  387. package/dist/reporting/headline-composer.js +0 -10
  388. package/dist/reporting/headline-composer.js.map +0 -1
  389. package/dist/reporting/headline-templates/delegate.d.ts +0 -3
  390. package/dist/reporting/headline-templates/delegate.d.ts.map +0 -1
  391. package/dist/reporting/headline-templates/delegate.js +0 -42
  392. package/dist/reporting/headline-templates/delegate.js.map +0 -1
  393. package/dist/reporting/headline-templates/execute-plan.d.ts +0 -3
  394. package/dist/reporting/headline-templates/execute-plan.d.ts.map +0 -1
  395. package/dist/reporting/headline-templates/execute-plan.js +0 -26
  396. package/dist/reporting/headline-templates/execute-plan.js.map +0 -1
  397. package/dist/reporting/headline-templates/investigate.d.ts +0 -13
  398. package/dist/reporting/headline-templates/investigate.d.ts.map +0 -1
  399. package/dist/reporting/headline-templates/investigate.js +0 -53
  400. package/dist/reporting/headline-templates/investigate.js.map +0 -1
  401. package/dist/reporting/headline-templates/journal-recall.d.ts +0 -3
  402. package/dist/reporting/headline-templates/journal-recall.d.ts.map +0 -1
  403. package/dist/reporting/headline-templates/journal-recall.js +0 -9
  404. package/dist/reporting/headline-templates/journal-recall.js.map +0 -1
  405. package/dist/reporting/headline-templates/journal.d.ts +0 -3
  406. package/dist/reporting/headline-templates/journal.d.ts.map +0 -1
  407. package/dist/reporting/headline-templates/journal.js +0 -17
  408. package/dist/reporting/headline-templates/journal.js.map +0 -1
  409. package/dist/reporting/headline-templates/research.d.ts +0 -3
  410. package/dist/reporting/headline-templates/research.d.ts.map +0 -1
  411. package/dist/reporting/headline-templates/research.js +0 -22
  412. package/dist/reporting/headline-templates/research.js.map +0 -1
  413. package/dist/reporting/headline-text.d.ts +0 -36
  414. package/dist/reporting/headline-text.d.ts.map +0 -1
  415. package/dist/reporting/headline-text.js +0 -73
  416. package/dist/reporting/headline-text.js.map +0 -1
  417. package/dist/reporting/report-parser-slots/delegate-report.d.ts +0 -8
  418. package/dist/reporting/report-parser-slots/delegate-report.d.ts.map +0 -1
  419. package/dist/reporting/report-parser-slots/delegate-report.js +0 -12
  420. package/dist/reporting/report-parser-slots/delegate-report.js.map +0 -1
  421. package/dist/reporting/report-parser-slots/execute-plan-report.d.ts +0 -11
  422. package/dist/reporting/report-parser-slots/execute-plan-report.d.ts.map +0 -1
  423. package/dist/reporting/report-parser-slots/execute-plan-report.js +0 -7
  424. package/dist/reporting/report-parser-slots/execute-plan-report.js.map +0 -1
  425. package/dist/reporting/report-parser-slots/investigate-report.d.ts +0 -52
  426. package/dist/reporting/report-parser-slots/investigate-report.d.ts.map +0 -1
  427. package/dist/reporting/report-parser-slots/investigate-report.js +0 -307
  428. package/dist/reporting/report-parser-slots/investigate-report.js.map +0 -1
  429. package/dist/reporting/report-parser-slots/journal-report.d.ts +0 -19
  430. package/dist/reporting/report-parser-slots/journal-report.d.ts.map +0 -1
  431. package/dist/reporting/report-parser-slots/journal-report.js +0 -13
  432. package/dist/reporting/report-parser-slots/journal-report.js.map +0 -1
  433. package/dist/reporting/report-parser-slots/no-structured-report.d.ts +0 -10
  434. package/dist/reporting/report-parser-slots/no-structured-report.d.ts.map +0 -1
  435. package/dist/reporting/report-parser-slots/no-structured-report.js +0 -13
  436. package/dist/reporting/report-parser-slots/no-structured-report.js.map +0 -1
  437. package/dist/reporting/report-parser-slots/research-report.d.ts +0 -31
  438. package/dist/reporting/report-parser-slots/research-report.d.ts.map +0 -1
  439. package/dist/reporting/report-parser-slots/research-report.js +0 -50
  440. package/dist/reporting/report-parser-slots/research-report.js.map +0 -1
  441. package/dist/reporting/response-envelope-builder.d.ts +0 -32
  442. package/dist/reporting/response-envelope-builder.d.ts.map +0 -1
  443. package/dist/reporting/response-envelope-builder.js +0 -26
  444. package/dist/reporting/response-envelope-builder.js.map +0 -1
  445. package/dist/reporting/severity.d.ts +0 -62
  446. package/dist/reporting/severity.d.ts.map +0 -1
  447. package/dist/reporting/severity.js +0 -93
  448. package/dist/reporting/severity.js.map +0 -1
  449. package/dist/reporting/structured-report-parser.d.ts +0 -9
  450. package/dist/reporting/structured-report-parser.d.ts.map +0 -1
  451. package/dist/reporting/structured-report-parser.js +0 -8
  452. package/dist/reporting/structured-report-parser.js.map +0 -1
  453. package/dist/reporting/terminal-block-registrar.d.ts +0 -14
  454. package/dist/reporting/terminal-block-registrar.d.ts.map +0 -1
  455. package/dist/reporting/terminal-block-registrar.js +0 -17
  456. package/dist/reporting/terminal-block-registrar.js.map +0 -1
  457. package/dist/reporting/terminal-report-markdown.d.ts +0 -13
  458. package/dist/reporting/terminal-report-markdown.d.ts.map +0 -1
  459. package/dist/reporting/terminal-report-markdown.js +0 -31
  460. package/dist/reporting/terminal-report-markdown.js.map +0 -1
  461. package/dist/research/research-pre-loop.d.ts +0 -22
  462. package/dist/research/research-pre-loop.d.ts.map +0 -1
  463. package/dist/research/research-pre-loop.js +0 -50
  464. package/dist/research/research-pre-loop.js.map +0 -1
  465. package/dist/routing/read-route-criteria.d.ts +0 -36
  466. package/dist/routing/read-route-criteria.d.ts.map +0 -1
  467. package/dist/routing/read-route-criteria.js +0 -71
  468. package/dist/routing/read-route-criteria.js.map +0 -1
  469. package/dist/stores/batch-cache.d.ts +0 -29
  470. package/dist/stores/batch-cache.d.ts.map +0 -1
  471. package/dist/stores/batch-cache.js +0 -89
  472. package/dist/stores/batch-cache.js.map +0 -1
  473. package/dist/stores/batch-registry.d.ts +0 -138
  474. package/dist/stores/batch-registry.d.ts.map +0 -1
  475. package/dist/stores/batch-registry.js +0 -205
  476. package/dist/stores/batch-registry.js.map +0 -1
  477. package/dist/tool-surface/register-all-tools.d.ts +0 -4
  478. package/dist/tool-surface/register-all-tools.d.ts.map +0 -1
  479. package/dist/tool-surface/register-all-tools.js +0 -35
  480. package/dist/tool-surface/register-all-tools.js.map +0 -1
  481. package/dist/tool-surface/tool-surface-registry.d.ts +0 -28
  482. package/dist/tool-surface/tool-surface-registry.d.ts.map +0 -1
  483. package/dist/tool-surface/tool-surface-registry.js +0 -16
  484. package/dist/tool-surface/tool-surface-registry.js.map +0 -1
  485. package/dist/tools/audit/brief-slot.d.ts +0 -15
  486. package/dist/tools/audit/brief-slot.d.ts.map +0 -1
  487. package/dist/tools/audit/brief-slot.js +0 -69
  488. package/dist/tools/audit/brief-slot.js.map +0 -1
  489. package/dist/tools/audit/implementer-criteria.d.ts +0 -62
  490. package/dist/tools/audit/implementer-criteria.d.ts.map +0 -1
  491. package/dist/tools/audit/implementer-criteria.js +0 -121
  492. package/dist/tools/audit/implementer-criteria.js.map +0 -1
  493. package/dist/tools/audit/plan-audit-criteria.d.ts +0 -35
  494. package/dist/tools/audit/plan-audit-criteria.d.ts.map +0 -1
  495. package/dist/tools/audit/plan-audit-criteria.js +0 -159
  496. package/dist/tools/audit/plan-audit-criteria.js.map +0 -1
  497. package/dist/tools/audit/schema.d.ts +0 -61
  498. package/dist/tools/audit/schema.d.ts.map +0 -1
  499. package/dist/tools/audit/schema.js +0 -21
  500. package/dist/tools/audit/schema.js.map +0 -1
  501. package/dist/tools/audit/skill-audit-criteria.d.ts +0 -9
  502. package/dist/tools/audit/skill-audit-criteria.d.ts.map +0 -1
  503. package/dist/tools/audit/skill-audit-criteria.js +0 -52
  504. package/dist/tools/audit/skill-audit-criteria.js.map +0 -1
  505. package/dist/tools/audit/spec-audit-criteria.d.ts +0 -9
  506. package/dist/tools/audit/spec-audit-criteria.d.ts.map +0 -1
  507. package/dist/tools/audit/spec-audit-criteria.js +0 -55
  508. package/dist/tools/audit/spec-audit-criteria.js.map +0 -1
  509. package/dist/tools/audit/subtypes.d.ts +0 -4
  510. package/dist/tools/audit/subtypes.d.ts.map +0 -1
  511. package/dist/tools/audit/subtypes.js +0 -69
  512. package/dist/tools/audit/subtypes.js.map +0 -1
  513. package/dist/tools/audit/tool-config.d.ts +0 -7
  514. package/dist/tools/audit/tool-config.d.ts.map +0 -1
  515. package/dist/tools/audit/tool-config.js +0 -60
  516. package/dist/tools/audit/tool-config.js.map +0 -1
  517. package/dist/tools/criteria-types.d.ts +0 -27
  518. package/dist/tools/criteria-types.d.ts.map +0 -1
  519. package/dist/tools/criteria-types.js +0 -25
  520. package/dist/tools/criteria-types.js.map +0 -1
  521. package/dist/tools/debug/brief-slot.d.ts +0 -15
  522. package/dist/tools/debug/brief-slot.d.ts.map +0 -1
  523. package/dist/tools/debug/brief-slot.js +0 -10
  524. package/dist/tools/debug/brief-slot.js.map +0 -1
  525. package/dist/tools/debug/implementer-criteria.d.ts +0 -45
  526. package/dist/tools/debug/implementer-criteria.d.ts.map +0 -1
  527. package/dist/tools/debug/implementer-criteria.js +0 -97
  528. package/dist/tools/debug/implementer-criteria.js.map +0 -1
  529. package/dist/tools/debug/schema.d.ts +0 -60
  530. package/dist/tools/debug/schema.d.ts.map +0 -1
  531. package/dist/tools/debug/schema.js +0 -17
  532. package/dist/tools/debug/schema.js.map +0 -1
  533. package/dist/tools/debug/subtypes.d.ts +0 -4
  534. package/dist/tools/debug/subtypes.d.ts.map +0 -1
  535. package/dist/tools/debug/subtypes.js +0 -26
  536. package/dist/tools/debug/subtypes.js.map +0 -1
  537. package/dist/tools/debug/tool-config.d.ts +0 -7
  538. package/dist/tools/debug/tool-config.d.ts.map +0 -1
  539. package/dist/tools/debug/tool-config.js +0 -55
  540. package/dist/tools/debug/tool-config.js.map +0 -1
  541. package/dist/tools/delegate/brief-slot.d.ts +0 -20
  542. package/dist/tools/delegate/brief-slot.d.ts.map +0 -1
  543. package/dist/tools/delegate/brief-slot.js +0 -31
  544. package/dist/tools/delegate/brief-slot.js.map +0 -1
  545. package/dist/tools/delegate/implementer-criteria.d.ts +0 -53
  546. package/dist/tools/delegate/implementer-criteria.d.ts.map +0 -1
  547. package/dist/tools/delegate/implementer-criteria.js +0 -99
  548. package/dist/tools/delegate/implementer-criteria.js.map +0 -1
  549. package/dist/tools/delegate/schema.d.ts +0 -70
  550. package/dist/tools/delegate/schema.d.ts.map +0 -1
  551. package/dist/tools/delegate/schema.js +0 -24
  552. package/dist/tools/delegate/schema.js.map +0 -1
  553. package/dist/tools/delegate/tool-config.d.ts +0 -7
  554. package/dist/tools/delegate/tool-config.d.ts.map +0 -1
  555. package/dist/tools/delegate/tool-config.js +0 -47
  556. package/dist/tools/delegate/tool-config.js.map +0 -1
  557. package/dist/tools/execute-plan/barrel.d.ts +0 -2
  558. package/dist/tools/execute-plan/barrel.d.ts.map +0 -1
  559. package/dist/tools/execute-plan/barrel.js +0 -7
  560. package/dist/tools/execute-plan/barrel.js.map +0 -1
  561. package/dist/tools/execute-plan/brief-slot.d.ts +0 -25
  562. package/dist/tools/execute-plan/brief-slot.d.ts.map +0 -1
  563. package/dist/tools/execute-plan/brief-slot.js +0 -124
  564. package/dist/tools/execute-plan/brief-slot.js.map +0 -1
  565. package/dist/tools/execute-plan/implementer-criteria.d.ts +0 -57
  566. package/dist/tools/execute-plan/implementer-criteria.d.ts.map +0 -1
  567. package/dist/tools/execute-plan/implementer-criteria.js +0 -108
  568. package/dist/tools/execute-plan/implementer-criteria.js.map +0 -1
  569. package/dist/tools/execute-plan/plan-extractor.d.ts +0 -21
  570. package/dist/tools/execute-plan/plan-extractor.d.ts.map +0 -1
  571. package/dist/tools/execute-plan/plan-extractor.js +0 -96
  572. package/dist/tools/execute-plan/plan-extractor.js.map +0 -1
  573. package/dist/tools/execute-plan/tool-config.d.ts +0 -68
  574. package/dist/tools/execute-plan/tool-config.d.ts.map +0 -1
  575. package/dist/tools/execute-plan/tool-config.js +0 -58
  576. package/dist/tools/execute-plan/tool-config.js.map +0 -1
  577. package/dist/tools/index.d.ts +0 -8
  578. package/dist/tools/index.d.ts.map +0 -1
  579. package/dist/tools/index.js +0 -14
  580. package/dist/tools/index.js.map +0 -1
  581. package/dist/tools/investigate/brief-slot.d.ts +0 -15
  582. package/dist/tools/investigate/brief-slot.d.ts.map +0 -1
  583. package/dist/tools/investigate/brief-slot.js +0 -9
  584. package/dist/tools/investigate/brief-slot.js.map +0 -1
  585. package/dist/tools/investigate/implementer-criteria.d.ts +0 -52
  586. package/dist/tools/investigate/implementer-criteria.d.ts.map +0 -1
  587. package/dist/tools/investigate/implementer-criteria.js +0 -106
  588. package/dist/tools/investigate/implementer-criteria.js.map +0 -1
  589. package/dist/tools/investigate/schema.d.ts +0 -62
  590. package/dist/tools/investigate/schema.d.ts.map +0 -1
  591. package/dist/tools/investigate/schema.js +0 -13
  592. package/dist/tools/investigate/schema.js.map +0 -1
  593. package/dist/tools/investigate/subtypes.d.ts +0 -4
  594. package/dist/tools/investigate/subtypes.d.ts.map +0 -1
  595. package/dist/tools/investigate/subtypes.js +0 -26
  596. package/dist/tools/investigate/subtypes.js.map +0 -1
  597. package/dist/tools/investigate/tool-config.d.ts +0 -8
  598. package/dist/tools/investigate/tool-config.d.ts.map +0 -1
  599. package/dist/tools/investigate/tool-config.js +0 -68
  600. package/dist/tools/investigate/tool-config.js.map +0 -1
  601. package/dist/tools/journal/recall/brief-slot.d.ts +0 -7
  602. package/dist/tools/journal/recall/brief-slot.d.ts.map +0 -1
  603. package/dist/tools/journal/recall/brief-slot.js +0 -5
  604. package/dist/tools/journal/recall/brief-slot.js.map +0 -1
  605. package/dist/tools/journal/recall/implementer-criteria.d.ts +0 -9
  606. package/dist/tools/journal/recall/implementer-criteria.d.ts.map +0 -1
  607. package/dist/tools/journal/recall/implementer-criteria.js +0 -23
  608. package/dist/tools/journal/recall/implementer-criteria.js.map +0 -1
  609. package/dist/tools/journal/recall/schema.d.ts +0 -54
  610. package/dist/tools/journal/recall/schema.d.ts.map +0 -1
  611. package/dist/tools/journal/recall/schema.js +0 -10
  612. package/dist/tools/journal/recall/schema.js.map +0 -1
  613. package/dist/tools/journal/recall/subtypes.d.ts +0 -4
  614. package/dist/tools/journal/recall/subtypes.d.ts.map +0 -1
  615. package/dist/tools/journal/recall/subtypes.js +0 -25
  616. package/dist/tools/journal/recall/subtypes.js.map +0 -1
  617. package/dist/tools/journal/recall/tool-config.d.ts +0 -8
  618. package/dist/tools/journal/recall/tool-config.d.ts.map +0 -1
  619. package/dist/tools/journal/recall/tool-config.js +0 -46
  620. package/dist/tools/journal/recall/tool-config.js.map +0 -1
  621. package/dist/tools/journal/record/brief-slot.d.ts +0 -15
  622. package/dist/tools/journal/record/brief-slot.d.ts.map +0 -1
  623. package/dist/tools/journal/record/brief-slot.js +0 -28
  624. package/dist/tools/journal/record/brief-slot.js.map +0 -1
  625. package/dist/tools/journal/record/implementer-criteria.d.ts +0 -6
  626. package/dist/tools/journal/record/implementer-criteria.d.ts.map +0 -1
  627. package/dist/tools/journal/record/implementer-criteria.js +0 -20
  628. package/dist/tools/journal/record/implementer-criteria.js.map +0 -1
  629. package/dist/tools/journal/record/schema.d.ts +0 -55
  630. package/dist/tools/journal/record/schema.d.ts.map +0 -1
  631. package/dist/tools/journal/record/schema.js +0 -12
  632. package/dist/tools/journal/record/schema.js.map +0 -1
  633. package/dist/tools/journal/record/tool-config.d.ts +0 -7
  634. package/dist/tools/journal/record/tool-config.d.ts.map +0 -1
  635. package/dist/tools/journal/record/tool-config.js +0 -47
  636. package/dist/tools/journal/record/tool-config.js.map +0 -1
  637. package/dist/tools/read-route-prompt.d.ts +0 -113
  638. package/dist/tools/read-route-prompt.d.ts.map +0 -1
  639. package/dist/tools/read-route-prompt.js +0 -86
  640. package/dist/tools/read-route-prompt.js.map +0 -1
  641. package/dist/tools/register-context-block/schema.d.ts +0 -8
  642. package/dist/tools/register-context-block/schema.d.ts.map +0 -1
  643. package/dist/tools/register-context-block/schema.js +0 -7
  644. package/dist/tools/register-context-block/schema.js.map +0 -1
  645. package/dist/tools/register-context-block/tool-config.d.ts +0 -6
  646. package/dist/tools/register-context-block/tool-config.d.ts.map +0 -1
  647. package/dist/tools/register-context-block/tool-config.js +0 -39
  648. package/dist/tools/register-context-block/tool-config.js.map +0 -1
  649. package/dist/tools/research/brief-slot.d.ts +0 -37
  650. package/dist/tools/research/brief-slot.d.ts.map +0 -1
  651. package/dist/tools/research/brief-slot.js +0 -68
  652. package/dist/tools/research/brief-slot.js.map +0 -1
  653. package/dist/tools/research/implementer-criteria.d.ts +0 -13
  654. package/dist/tools/research/implementer-criteria.d.ts.map +0 -1
  655. package/dist/tools/research/implementer-criteria.js +0 -109
  656. package/dist/tools/research/implementer-criteria.js.map +0 -1
  657. package/dist/tools/research/schema.d.ts +0 -11
  658. package/dist/tools/research/schema.d.ts.map +0 -1
  659. package/dist/tools/research/schema.js +0 -59
  660. package/dist/tools/research/schema.js.map +0 -1
  661. package/dist/tools/research/subtypes.d.ts +0 -4
  662. package/dist/tools/research/subtypes.d.ts.map +0 -1
  663. package/dist/tools/research/subtypes.js +0 -25
  664. package/dist/tools/research/subtypes.js.map +0 -1
  665. package/dist/tools/research/tool-config.d.ts +0 -8
  666. package/dist/tools/research/tool-config.d.ts.map +0 -1
  667. package/dist/tools/research/tool-config.js +0 -48
  668. package/dist/tools/research/tool-config.js.map +0 -1
  669. package/dist/tools/research/two-turn-driver.d.ts +0 -16
  670. package/dist/tools/research/two-turn-driver.d.ts.map +0 -1
  671. package/dist/tools/research/two-turn-driver.js +0 -41
  672. package/dist/tools/research/two-turn-driver.js.map +0 -1
  673. package/dist/tools/retry/brief-slot.d.ts +0 -7
  674. package/dist/tools/retry/brief-slot.d.ts.map +0 -1
  675. package/dist/tools/retry/brief-slot.js +0 -3
  676. package/dist/tools/retry/brief-slot.js.map +0 -1
  677. package/dist/tools/retry/schema.d.ts +0 -53
  678. package/dist/tools/retry/schema.d.ts.map +0 -1
  679. package/dist/tools/retry/schema.js +0 -12
  680. package/dist/tools/retry/schema.js.map +0 -1
  681. package/dist/tools/retry/tool-config.d.ts +0 -7
  682. package/dist/tools/retry/tool-config.d.ts.map +0 -1
  683. package/dist/tools/retry/tool-config.js +0 -79
  684. package/dist/tools/retry/tool-config.js.map +0 -1
  685. package/dist/tools/review/brief-slot.d.ts +0 -11
  686. package/dist/tools/review/brief-slot.d.ts.map +0 -1
  687. package/dist/tools/review/brief-slot.js +0 -23
  688. package/dist/tools/review/brief-slot.js.map +0 -1
  689. package/dist/tools/review/implementer-criteria.d.ts +0 -48
  690. package/dist/tools/review/implementer-criteria.d.ts.map +0 -1
  691. package/dist/tools/review/implementer-criteria.js +0 -108
  692. package/dist/tools/review/implementer-criteria.js.map +0 -1
  693. package/dist/tools/review/schema.d.ts +0 -64
  694. package/dist/tools/review/schema.d.ts.map +0 -1
  695. package/dist/tools/review/schema.js +0 -17
  696. package/dist/tools/review/schema.js.map +0 -1
  697. package/dist/tools/review/subtypes.d.ts +0 -4
  698. package/dist/tools/review/subtypes.d.ts.map +0 -1
  699. package/dist/tools/review/subtypes.js +0 -27
  700. package/dist/tools/review/subtypes.js.map +0 -1
  701. package/dist/tools/review/tool-config.d.ts +0 -7
  702. package/dist/tools/review/tool-config.d.ts.map +0 -1
  703. package/dist/tools/review/tool-config.js +0 -94
  704. package/dist/tools/review/tool-config.js.map +0 -1
  705. package/dist/tools/shared-output.d.ts +0 -56
  706. package/dist/tools/shared-output.d.ts.map +0 -1
  707. package/dist/tools/shared-output.js +0 -33
  708. package/dist/tools/shared-output.js.map +0 -1
  709. package/dist/types/review-policy.d.ts +0 -2
  710. package/dist/types/review-policy.d.ts.map +0 -1
  711. package/dist/types/review-policy.js +0 -2
  712. package/dist/types/review-policy.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-prompts.js","sourceRoot":"","sources":["../../src/lifecycle/goal-prompts.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import type { Goal } from '../types/goal.js';
2
- import type { StructuredReport } from './handlers/annotate-stage.js';
3
- import type { AnnotatePayload } from './stage-io.js';
4
- export interface ParsedTaskSummary {
5
- task: number;
6
- heading?: string;
7
- filesChanged?: string[];
8
- status?: 'done' | 'failed' | 'skipped';
9
- note?: string;
10
- }
11
- export interface ParsedGoalSummary {
12
- tasks: ParsedTaskSummary[];
13
- overall?: string;
14
- findings?: Array<{
15
- severity?: string;
16
- category?: string;
17
- claim?: string;
18
- note?: string;
19
- }>;
20
- }
21
- /** Extract the final fenced ```json block and parse the structured summary. */
22
- export declare function parseGoalSummary(output: string): ParsedGoalSummary | null;
23
- /** Parse the `[task N]` prefix from a commit subject. */
24
- export declare function taskNumberFromSubject(subject: string): number | null;
25
- export interface GoalReportInput {
26
- goal: Goal;
27
- baseSha: string;
28
- phase1Output: string;
29
- phase2Output?: string;
30
- }
31
- export interface GoalReportResult {
32
- report: StructuredReport;
33
- payload: AnnotatePayload;
34
- /** Whether at least one commit landed (drives failed vs done). */
35
- commitCount: number;
36
- }
37
- /**
38
- * Build the deterministic goal report from git state + phase summaries.
39
- * Pure-ish: only reads git; never writes.
40
- */
41
- export declare function buildGoalReport(input: GoalReportInput): Promise<GoalReportResult>;
42
- //# sourceMappingURL=goal-report.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-report.d.ts","sourceRoot":"","sources":["../../src/lifecycle/goal-report.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3F;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAczE;AAED,yDAAyD;AACzD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpE;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuGvF"}
@@ -1,125 +0,0 @@
1
- import { gitLogCommits, currentHead, isAncestor } from './git-exec.js';
2
- /** Extract the final fenced ```json block and parse the structured summary. */
3
- export function parseGoalSummary(output) {
4
- if (!output)
5
- return null;
6
- // Prefer the LAST fenced json block (the agent ends with it).
7
- const matches = [...output.matchAll(/```(?:json)?\s*\n([\s\S]*?)\n```/gi)];
8
- const candidates = matches.map((m) => m[1]).filter((s) => !!s);
9
- for (let i = candidates.length - 1; i >= 0; i--) {
10
- try {
11
- const parsed = JSON.parse(candidates[i]);
12
- if (parsed && typeof parsed === 'object' && Array.isArray(parsed.tasks)) {
13
- return parsed;
14
- }
15
- }
16
- catch { /* try the next-earlier block */ }
17
- }
18
- return null;
19
- }
20
- /** Parse the `[task N]` prefix from a commit subject. */
21
- export function taskNumberFromSubject(subject) {
22
- const m = subject.match(/^\[task (\d+)\]/);
23
- return m ? Number.parseInt(m[1], 10) : null;
24
- }
25
- /**
26
- * Build the deterministic goal report from git state + phase summaries.
27
- * Pure-ish: only reads git; never writes.
28
- */
29
- export async function buildGoalReport(input) {
30
- const { goal, baseSha } = input;
31
- const cwd = goal.cwd;
32
- const head = (await currentHead(cwd)) ?? baseSha;
33
- const commits = await gitLogCommits(cwd, baseSha);
34
- const taskCount = goal.tasks.length;
35
- const findings = [];
36
- const pushFinding = (severity, category, claim, extra) => {
37
- findings.push({ severity, category, claim, source: 'implementer', ...extra });
38
- };
39
- // Match commits → tasks via [task N] prefix.
40
- const matchedTasks = new Set();
41
- const filesChangedSet = new Set();
42
- for (const c of commits) {
43
- for (const f of c.filesChanged)
44
- filesChangedSet.add(f);
45
- const n = taskNumberFromSubject(c.subject);
46
- if (n !== null)
47
- matchedTasks.add(n);
48
- }
49
- // History-rewrite guard: baseSha must still be an ancestor of HEAD (a rewrite
50
- // makes per-task attribution unreliable).
51
- const historyRewritten = !(await isAncestor(cwd, baseSha, head));
52
- // Final per-task state. The CALLER only wants to know: is each task done, and
53
- // if not, what's the problem — NOT the in-between (which tier did what). A task
54
- // is DONE when it has a [task N] commit AND its final self-reported status
55
- // (phase-2 over phase-1 — the end state) is not failed/skipped.
56
- const p1 = parseGoalSummary(input.phase1Output);
57
- const p2 = input.phase2Output ? parseGoalSummary(input.phase2Output) : null;
58
- const statusByTask = new Map();
59
- const noteByTask = new Map();
60
- for (const t of [...(p1?.tasks ?? []), ...(p2?.tasks ?? [])]) {
61
- if (t.status)
62
- statusByTask.set(t.task, t.status); // later (phase-2) wins
63
- if (t.note && t.note.trim())
64
- noteByTask.set(t.task, t.note.trim());
65
- }
66
- const notDone = [];
67
- for (const t of goal.tasks) {
68
- const committed = matchedTasks.has(t.n);
69
- const status = statusByTask.get(t.n);
70
- if (!committed) {
71
- notDone.push({ n: t.n, heading: t.heading, reason: 'no commit recorded for this task' });
72
- }
73
- else if (status === 'failed' || status === 'skipped') {
74
- const note = noteByTask.get(t.n);
75
- notDone.push({ n: t.n, heading: t.heading, reason: `reported ${status}${note ? `: ${note}` : ''}` });
76
- }
77
- }
78
- // findings = ONLY the final-state problems the caller needs to act on. No
79
- // intermediate review notes, no "the reviewer fixed X" — just: not-done tasks.
80
- for (const nd of notDone) {
81
- pushFinding('high', 'task_not_done', `task ${nd.n} (${nd.heading}) NOT done — ${nd.reason}`);
82
- }
83
- if (historyRewritten) {
84
- pushFinding('high', 'history_rewritten', 'git history was rewritten below the goal-set start commit — per-task attribution is unreliable');
85
- }
86
- const filesChanged = [...filesChangedSet];
87
- const lastCommit = commits[commits.length - 1];
88
- const doneCount = taskCount - notDone.length;
89
- const allDone = notDone.length === 0 && commits.length > 0 && !historyRewritten;
90
- // One clean answer for the main agent: are all tasks done, or which are not + why.
91
- const summary = commits.length === 0
92
- ? 'No tasks completed — nothing was committed.'
93
- : allDone
94
- ? `All ${taskCount} task(s) done and committed.`
95
- : `${doneCount}/${taskCount} task(s) done. Not done: `
96
- + notDone.map((nd) => `task ${nd.n} (${nd.reason})`).join('; ')
97
- + (historyRewritten ? '; history was rewritten' : '') + '.';
98
- const workerStatus = commits.length === 0 ? 'failed' : allDone ? 'done' : 'done_with_concerns';
99
- const report = {
100
- summary,
101
- workerStatus,
102
- unresolved: notDone.map((nd) => `task ${nd.n} (${nd.heading}): ${nd.reason}`),
103
- filesChanged,
104
- // The intermediate review process is deliberately NOT surfaced to the caller.
105
- reviewVerdict: null,
106
- reviewConcerns: [],
107
- reworkApplied: false,
108
- commitSha: commits.length > 0 ? head : null,
109
- commitMessage: lastCommit ? lastCommit.subject : null,
110
- commitSkipReason: commits.length === 0 ? 'no_commits' : null,
111
- findings: findings.map((f) => ({ severity: f.severity, category: f.category, claim: f.claim, ...(f.evidence && { evidence: f.evidence }), ...(f.suggestion && { suggestion: f.suggestion }) })),
112
- criteriaErrors: [],
113
- findingsOutcome: notDone.length > 0 || historyRewritten ? 'found' : 'clean',
114
- };
115
- const payload = {
116
- completed: allDone,
117
- message: summary,
118
- findings,
119
- summary,
120
- filesChanged,
121
- commitSha: commits.length > 0 ? head : null,
122
- };
123
- return { report, payload, commitCount: commits.length };
124
- }
125
- //# sourceMappingURL=goal-report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-report.js","sourceRoot":"","sources":["../../src/lifecycle/goal-report.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import type { LifecycleState } from '../stage-plan-types.js';
2
- import { type ResearchSourcesUsedEntry } from '../../reporting/report-parser-slots/research-report.js';
3
- import type { AnnotatePayload, StageGate } from '../stage-io.js';
4
- export interface StructuredReport {
5
- summary: string;
6
- workerStatus: 'done' | 'done_with_concerns' | 'blocked' | 'failed';
7
- unresolved: string[];
8
- filesChanged: string[];
9
- reviewVerdict: 'approved' | 'changes_required' | null;
10
- reviewConcerns: string[];
11
- reworkApplied: boolean;
12
- commitSha: string | null;
13
- commitMessage: string | null;
14
- commitSkipReason: string | null;
15
- findings: {
16
- severity: string;
17
- category: string;
18
- claim: string;
19
- evidence?: string;
20
- suggestion?: string;
21
- }[];
22
- criteriaErrors: {
23
- criterionId: string;
24
- error: string;
25
- }[];
26
- /** Research-only: parsed `## Sources used` markdown table. Absent on
27
- * every other route (audit/review/debug/investigate/write routes). */
28
- sourcesUsed?: ResearchSourcesUsedEntry[];
29
- findingsOutcome?: 'found' | 'clean' | 'not_applicable';
30
- findingsOutcomeReason?: string | null;
31
- outcomeInferred?: boolean;
32
- outcomeMalformed?: boolean;
33
- }
34
- export declare function annotator(state: LifecycleState): Promise<StageGate<AnnotatePayload>>;
35
- //# sourceMappingURL=annotate-stage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotate-stage.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/annotate-stage.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wDAAwD,CAAC;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIjE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1G,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD;2EACuE;IACvE,WAAW,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAsV1F"}
@@ -1,387 +0,0 @@
1
- // v4.4.x — unified Annotating stage.
2
- //
3
- // LLM judge layer (spec §5.7.2), NOT a pure transform: this stage fires a
4
- // real LLM turn on the standard tier (see getSession('standard') below) for
5
- // both read and write routes. The LLM is the PROPOSER — it may set
6
- // completed/message/summary — while the deterministic parser
7
- // (applyAnnotatePreconditions) is the ENFORCER and the mechanical fields
8
- // (findings, filesChanged, commitSha) are always overridden from upstream
9
- // gates. It judges/summarizes the worker's emitted report; it does NOT
10
- // independently re-read the codebase to find defects (that is the Review
11
- // stage, which is write-routes-only). Falls back to mechanical synthesis only
12
- // on tier-3 prompt-budget truncation or after all transport retries fail.
13
- //
14
- // It assembles the canonical StructuredReport from state.lastRunResult, the
15
- // Review stage's verdict + concerns, the Rework flag, and the Committing
16
- // stage's outcome. Same handler for read and write routes — route-specific
17
- // fields hold empty arrays / nulls on the other side so the orchestrator
18
- // parses one shape.
19
- import { mergeStageStats } from '../merge-stage-stats.js';
20
- import { HUMAN_LABEL } from '../stage-labels.js';
21
- import { parseSourcesUsed, } from '../../reporting/report-parser-slots/research-report.js';
22
- import { applyAnnotatePreconditions } from '../annotate-parser.js';
23
- import { annotatePromptWrite, annotatePromptRead } from '../annotate-prompts.js';
24
- const READ_ROUTES = new Set(['audit', 'review', 'debug', 'investigate', 'research', 'journal-recall']);
25
- export async function annotator(state) {
26
- const t0 = Date.now();
27
- const last = (state.lastRunResult ?? {});
28
- const route = state.route;
29
- const isRead = !!route && READ_ROUTES.has(route);
30
- // Goal mode (write routes): the report is rebuilt deterministically from
31
- // `git log baseSha..HEAD` + the phases' structured-summary blocks — no LLM
32
- // judge turn, no commit gate. The agent self-committed; git is the source.
33
- const goal = state.task?.goal;
34
- if (goal) {
35
- const baseSha = state.goalBaseSha ?? state.preTaskHeadSha;
36
- const { buildGoalReport } = await import('../goal-report.js');
37
- const gr = await buildGoalReport({
38
- goal,
39
- baseSha: baseSha ?? 'HEAD',
40
- phase1Output: last.output ?? '',
41
- ...(state.goalPhase2Output !== undefined && { phase2Output: state.goalPhase2Output }),
42
- });
43
- state.structuredReport = gr.report;
44
- state.annotatePayload = gr.payload;
45
- // Feed the terminal seal's deriveCompletion goal branch (completion = ≥1 commit).
46
- state.goalCommitCount = gr.commitCount;
47
- mergeStageStats(state, 'annotating', {
48
- inputTokens: 0, outputTokens: 0, cachedReadTokens: 0, cachedNonReadTokens: 0,
49
- turnCount: 0, costUSD: 0, durationMs: Date.now() - t0, filesWrittenCount: 0,
50
- }, { tier: null, model: null });
51
- return {
52
- outcome: 'advance',
53
- payload: gr.payload,
54
- telemetry: { stageLabel: 'annotate', durationMs: Date.now() - t0, costUSD: 0, turnsUsed: 0, stopReason: 'normal' },
55
- };
56
- }
57
- const findings = last.findings ?? [];
58
- const summary = last.summary
59
- ?? (isRead ? `produced ${findings.length} findings` : (last.output ?? '').slice(0, 200));
60
- // Commit fields are authoritative from the commit GATE payload — the commit
61
- // handler writes the SHA/message/files THERE, not into state.lastRunResult
62
- // (see git-commit-handler.ts header). Sourcing them from `last` left them
63
- // perpetually null on the user-facing report, and `last.filesChanged` (a
64
- // repo-wide diff) leaked sibling workers' files under concurrent dispatch.
65
- // The committed gate's filesChanged is this worker's own pathspec.
66
- const commitGate = state.gates?.['commit'];
67
- const commitPayload = (commitGate?.payload ?? null);
68
- const committed = commitGate?.outcome === 'advance' && commitPayload?.kind === 'committed';
69
- const report = {
70
- summary,
71
- workerStatus: last.workerStatus ?? (isRead ? 'done' : 'failed'),
72
- unresolved: last.unresolved ?? [],
73
- filesChanged: isRead ? [] : (committed ? (commitPayload?.filesChanged ?? []) : (last.filesChanged ?? [])),
74
- reviewVerdict: isRead ? null : ((state.reviewVerdict) ?? null),
75
- reviewConcerns: isRead ? [] : ((state.reviewConcerns) ?? []),
76
- reworkApplied: isRead ? false : Boolean(state.reworkApplied),
77
- commitSha: isRead ? null : (committed ? (commitPayload?.commitSha ?? null) : null),
78
- commitMessage: isRead ? null : (committed ? (commitPayload?.commitMessage ?? null) : null),
79
- commitSkipReason: isRead || committed ? null : (commitPayload?.kind === 'no_op' ? (commitPayload?.reason ?? null) : null),
80
- findings: isRead ? findings : [],
81
- criteriaErrors: isRead ? (last.criteriaErrors ?? []) : [],
82
- };
83
- if (route === 'research') {
84
- // Prefer the deterministic table derived from the EvidencePack (threaded
85
- // onto lastRunResult by perform-implementation). The worker-emitted
86
- // `## Sources used` markdown is an unreliable fallback — the per-criterion
87
- // synthesis loop has no designated turn that emits it.
88
- const fromPack = last.sourcesUsed;
89
- report.sourcesUsed = (Array.isArray(fromPack) && fromPack.length > 0)
90
- ? fromPack
91
- : parseSourcesUsed(last.output ?? '');
92
- }
93
- report.findingsOutcome = last.findingsOutcome;
94
- report.findingsOutcomeReason = last.findingsOutcomeReason;
95
- report.outcomeInferred = last.outcomeInferred;
96
- report.outcomeMalformed = last.outcomeMalformed;
97
- state.structuredReport = report;
98
- // v5: prompt-budget truncation per spec §14 assumption 7 + AC-30 to AC-33.
99
- // Three tiers, applied progressively when config.truncateAnnotatePromptTier
100
- // signals overflow:
101
- // tier 1 → strip Finding.evidence
102
- // tier 2 → also strip summary fields (set to '')
103
- // tier 3 → fallback mode: emit deterministic AnnotatePayload with verbatim
104
- // spec-text message; completed=false; findings passthrough.
105
- const cfg = state.config ?? {};
106
- const tier = cfg.truncateAnnotatePromptTier ?? 0;
107
- const envelope = state.executionContext?.envelope;
108
- const reviewGate = state.gates?.['review'];
109
- const implementGate = state.gates?.['implement'];
110
- const aggregatedFindings = [
111
- ...(last.findings ?? []),
112
- ...((reviewGate?.outcome === 'advance' ? reviewGate.payload?.findings : undefined) ?? []),
113
- ...((implementGate?.outcome === 'advance' ? implementGate.payload?.findings : undefined) ?? []),
114
- ];
115
- // Dedupe by claim+evidence (preserve first occurrence)
116
- const seen = new Set();
117
- const dedupedFindings = [];
118
- for (const f of aggregatedFindings) {
119
- const key = `${f.claim ?? ''}|${f.evidence ?? ''}`;
120
- if (seen.has(key))
121
- continue;
122
- seen.add(key);
123
- dedupedFindings.push(f);
124
- }
125
- // Mechanical filesChanged + commitSha derivation (spec §5.7 rule 4).
126
- // Reuses the `commitGate` resolved above.
127
- const mechanicalFilesChanged = commitGate?.outcome === 'advance' &&
128
- commitGate.payload?.kind === 'committed'
129
- ? commitGate.payload.filesChanged ?? []
130
- : (isRead ? [] : report.filesChanged);
131
- const mechanicalCommitSha = commitGate?.outcome === 'advance' &&
132
- commitGate.payload?.kind === 'committed'
133
- ? (commitGate.payload.commitSha ?? null)
134
- : (isRead ? null : (report.commitSha ?? null));
135
- let truncatedFindings = dedupedFindings.slice();
136
- let truncatedSummary = report.summary;
137
- let fallbackMode = false;
138
- if (tier >= 1) {
139
- const droppedEvidenceCount = truncatedFindings.filter(f => f.evidence !== undefined).length;
140
- truncatedFindings = truncatedFindings.map(f => {
141
- const cp = { ...f };
142
- delete cp.evidence;
143
- return cp;
144
- });
145
- // Annotation truncation is now recorded as a validation warning in the envelope
146
- const env = envelope;
147
- env?.recordValidationWarning?.({ rule: 'AnnotateTruncationTier1', path: 'annotatePrompt' });
148
- }
149
- if (tier >= 2) {
150
- const dropped = truncatedSummary ? 1 : 0;
151
- truncatedSummary = '';
152
- const env = envelope;
153
- env?.recordValidationWarning?.({ rule: 'AnnotateTruncationTier2', path: 'annotatePrompt' });
154
- }
155
- if (tier >= 3) {
156
- // Tier 3 = fallback mode per spec §5.7.3
157
- fallbackMode = true;
158
- const env = envelope;
159
- env?.recordValidationWarning?.({ rule: 'AnnotateTruncationTier3', path: 'annotatePrompt' });
160
- }
161
- let annotated;
162
- // LLM judge layer (spec §5.7.2). The annotator stage runs an LLM turn
163
- // unless tier-3 truncation kicked us into fallback mode. The LLM is the
164
- // proposer; the deterministic parser is the enforcer — applyAnnotatePreconditions
165
- // always runs on the LLM-proposed payload and may flip completed=false. On
166
- // transport error we fall back to mechanical synthesis (same path that ran
167
- // before this layer was added).
168
- let llmCostUSD = 0;
169
- let llmDurationMs = 0;
170
- let llmTurnsUsed = 0;
171
- let llmTransportFailed = false;
172
- let llmModel = null;
173
- let llmInputTokens = 0;
174
- let llmOutputTokens = 0;
175
- let llmCachedReadTokens = 0;
176
- let llmCachedNonReadTokens = 0;
177
- if (fallbackMode) {
178
- // Fallback findings: only gate-sourced findings flow through (gates.review,
179
- // gates.implement). lastRunResult.findings are dropped as part of tier-3
180
- // citation/non-gate-evidence clearing (spec §5.7.3 / AC-32).
181
- const fallbackFindings = [];
182
- const fbSeen = new Set();
183
- const reviewFindings = (reviewGate?.outcome === 'advance' ? reviewGate.payload?.findings : undefined) ?? [];
184
- const implementFindings = (implementGate?.outcome === 'advance' ? implementGate.payload?.findings : undefined) ?? [];
185
- for (const f of [...reviewFindings, ...implementFindings]) {
186
- const k = `${f.claim ?? ''}|${f.evidence ?? ''}`;
187
- if (fbSeen.has(k))
188
- continue;
189
- fbSeen.add(k);
190
- const cp = { ...f };
191
- delete cp.evidence;
192
- fallbackFindings.push(cp);
193
- }
194
- annotated = {
195
- completed: false,
196
- message: 'annotator prompt budget exceeded after tier-3 truncation; verdict computed mechanically from upstream gates',
197
- findings: fallbackFindings,
198
- summary: '',
199
- filesChanged: mechanicalFilesChanged,
200
- commitSha: mechanicalCommitSha,
201
- };
202
- }
203
- else {
204
- // Default mechanical proposal — used directly when LLM fails or returns
205
- // unparseable output. The parser still gets the final say either way.
206
- const mechanical = {
207
- completed: true,
208
- message: truncatedSummary || (isRead ? 'investigation completed' : 'task completed'),
209
- findings: truncatedFindings,
210
- summary: truncatedSummary,
211
- filesChanged: mechanicalFilesChanged,
212
- commitSha: mechanicalCommitSha,
213
- };
214
- let proposed = mechanical;
215
- const ctx = state.executionContext;
216
- // Annotator runs on the standard tier; capture its model from the provider
217
- // config so the wire row attributes annotate cost+tokens to the real model.
218
- // TurnResult does not carry model, so (r as any).model below is undefined
219
- // for every provider — without this lookup the annotate stage's model was
220
- // always null on the wire even when an LLM call actually fired.
221
- const annotateModelFromConfig = ctx?.providers?.['standard']?.config?.model ?? null;
222
- if (ctx && typeof ctx.getSession === 'function') {
223
- const prompt = isRead ? annotatePromptRead(state) : annotatePromptWrite(state);
224
- const session = ctx.getSession('standard');
225
- let tres;
226
- const t0 = Date.now();
227
- // Retry on transport errors: 3 attempts with 0s, 1s, 2s backoff (AC-19, AC-20)
228
- const retryDelays = [0, 1000, 2000];
229
- let lastErr;
230
- // Initialize to error; will be overwritten on success or last failure
231
- tres = { kind: 'transport_error', message: 'annotator transport failed', ms: 0 };
232
- for (let attempt = 0; attempt < retryDelays.length; attempt++) {
233
- if (attempt > 0) {
234
- await new Promise(resolve => setTimeout(resolve, retryDelays[attempt]));
235
- }
236
- try {
237
- const r = await session.send(prompt, { stageLabel: HUMAN_LABEL.annotating });
238
- tres = {
239
- kind: 'ok',
240
- text: r.output ?? '',
241
- costUSD: typeof r.costUSD === 'number' ? r.costUSD : null,
242
- turnsUsed: r.turns ?? 1,
243
- ms: Date.now() - t0,
244
- model: r.model ?? null,
245
- inputTokens: r.usage?.inputTokens ?? 0,
246
- outputTokens: r.usage?.outputTokens ?? 0,
247
- cachedReadTokens: r.usage?.cachedReadTokens ?? 0,
248
- cachedNonReadTokens: r.usage?.cachedNonReadTokens ?? 0,
249
- };
250
- break; // Success, exit retry loop
251
- }
252
- catch (err) {
253
- lastErr = err instanceof Error ? err : new Error(String(err));
254
- // Update error message for next retry or final failure
255
- tres = { kind: 'transport_error', message: lastErr.message, ms: Date.now() - t0 };
256
- }
257
- }
258
- if (tres.kind === 'ok') {
259
- llmCostUSD = tres.costUSD ?? 0;
260
- // TurnResult does not carry model — fall back to the provider config
261
- // we captured above (tres.model is undefined for every provider).
262
- llmModel = tres.model ?? annotateModelFromConfig;
263
- llmDurationMs = tres.ms;
264
- llmTurnsUsed = tres.turnsUsed;
265
- llmInputTokens = tres.inputTokens;
266
- llmOutputTokens = tres.outputTokens;
267
- llmCachedReadTokens = tres.cachedReadTokens;
268
- llmCachedNonReadTokens = tres.cachedNonReadTokens;
269
- const parsed = extractAnnotateJson(tres.text);
270
- if (parsed) {
271
- // Authoritative fields come from upstream gates (mechanicalFilesChanged,
272
- // mechanicalCommitSha, dedupedFindings). The LLM gets to propose
273
- // completed + message + summary; everything mechanical we override.
274
- proposed = {
275
- completed: typeof parsed.completed === 'boolean' ? parsed.completed : mechanical.completed,
276
- message: typeof parsed.message === 'string' && parsed.message.length > 0 ? parsed.message : mechanical.message,
277
- summary: typeof parsed.summary === 'string' ? parsed.summary : mechanical.summary,
278
- findings: truncatedFindings,
279
- filesChanged: mechanicalFilesChanged,
280
- commitSha: mechanicalCommitSha,
281
- };
282
- }
283
- // parsed === null → keep mechanical (parser unaffected)
284
- }
285
- else {
286
- // transport_error — fall through to mechanical synthesis
287
- llmTransportFailed = true;
288
- llmDurationMs = tres.ms;
289
- // Transport errors are now recorded as validation warnings
290
- const env = envelope;
291
- env?.recordValidationWarning?.({ rule: 'AnnotateLLMTransportError', path: 'annotatePrompt' });
292
- }
293
- }
294
- annotated = applyAnnotatePreconditions(proposed, state);
295
- }
296
- state.annotatePayload = annotated;
297
- mergeStageStats(state, 'annotating', {
298
- inputTokens: llmInputTokens,
299
- outputTokens: llmOutputTokens,
300
- cachedReadTokens: llmCachedReadTokens,
301
- cachedNonReadTokens: llmCachedNonReadTokens,
302
- turnCount: llmTurnsUsed,
303
- costUSD: llmCostUSD,
304
- durationMs: Date.now() - t0,
305
- filesWrittenCount: 0,
306
- }, {
307
- tier: llmTurnsUsed > 0 ? 'standard' : null,
308
- model: llmModel,
309
- // Mirror the outcome the implementer (or reviewer) computed so the
310
- // annotating stage row carries the same value downstream consumers see.
311
- findingsOutcome: last.findingsOutcome,
312
- findingsOutcomeReason: last.findingsOutcomeReason,
313
- outcomeInferred: last.outcomeInferred,
314
- outcomeMalformed: last.outcomeMalformed,
315
- });
316
- // suppress unused-variable warning while keeping the durationMs field for
317
- // diagnostics callers; mergeStageStats already captured the value above.
318
- void llmDurationMs;
319
- void llmTransportFailed;
320
- const annotatingStats = state.lastRunResult
321
- ?.stageStats?.annotating;
322
- if (annotatingStats) {
323
- annotatingStats.outcome = 'transformed';
324
- annotatingStats.maxIdleMs = 0;
325
- annotatingStats.totalIdleMs = 0;
326
- }
327
- return {
328
- outcome: 'advance',
329
- payload: annotated,
330
- telemetry: {
331
- stageLabel: 'annotate',
332
- durationMs: Date.now() - t0,
333
- costUSD: llmCostUSD,
334
- turnsUsed: llmTurnsUsed,
335
- stopReason: 'normal',
336
- },
337
- };
338
- }
339
- /**
340
- * Extract a single JSON object from the LLM's response.
341
- *
342
- * Accepts:
343
- * - A fenced ```json …``` block (preferred form per annotate prompts)
344
- * - A fenced ``` …``` block (no language tag)
345
- * - The first balanced `{…}` substring in the text
346
- *
347
- * Returns `null` if no parseable JSON is found, signalling the caller to keep
348
- * the mechanical proposal. This is intentional: a malformed LLM response
349
- * should not cause stage failure — the parser already has a deterministic
350
- * answer it can fall back on.
351
- */
352
- function extractAnnotateJson(text) {
353
- if (!text)
354
- return null;
355
- const fencedJson = text.match(/```(?:json)?\s*\n([\s\S]*?)\n```/i);
356
- const candidate = fencedJson ? fencedJson[1] : firstBalancedBraces(text);
357
- if (!candidate)
358
- return null;
359
- try {
360
- const parsed = JSON.parse(candidate);
361
- if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
362
- return parsed;
363
- }
364
- }
365
- catch {
366
- /* fall through */
367
- }
368
- return null;
369
- }
370
- function firstBalancedBraces(text) {
371
- const start = text.indexOf('{');
372
- if (start < 0)
373
- return null;
374
- let depth = 0;
375
- for (let i = start; i < text.length; i++) {
376
- const ch = text[i];
377
- if (ch === '{')
378
- depth++;
379
- else if (ch === '}') {
380
- depth--;
381
- if (depth === 0)
382
- return text.slice(start, i + 1);
383
- }
384
- }
385
- return null;
386
- }
387
- //# sourceMappingURL=annotate-stage.js.map