@zhixuan92/multi-model-agent-core 4.3.0 → 4.4.0

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 (455) hide show
  1. package/README.md +7 -8
  2. package/dist/bounded-execution/activity-tracker-types.d.ts +1 -1
  3. package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
  4. package/dist/bounded-execution/activity-tracker-types.js +4 -9
  5. package/dist/bounded-execution/activity-tracker-types.js.map +1 -1
  6. package/dist/bounded-execution/cost-compute.d.ts.map +1 -1
  7. package/dist/bounded-execution/cost-compute.js +10 -0
  8. package/dist/bounded-execution/cost-compute.js.map +1 -1
  9. package/dist/config/config-resolver.d.ts +6 -4
  10. package/dist/config/config-resolver.d.ts.map +1 -1
  11. package/dist/config/config-resolver.js +7 -6
  12. package/dist/config/config-resolver.js.map +1 -1
  13. package/dist/config/schema.d.ts +8 -76
  14. package/dist/config/schema.d.ts.map +1 -1
  15. package/dist/config/schema.js +11 -18
  16. package/dist/config/schema.js.map +1 -1
  17. package/dist/escalation/delegate-with-escalation.d.ts.map +1 -1
  18. package/dist/escalation/delegate-with-escalation.js +35 -38
  19. package/dist/escalation/delegate-with-escalation.js.map +1 -1
  20. package/dist/escalation/escalation-policy.d.ts +1 -1
  21. package/dist/escalation/escalation-policy.d.ts.map +1 -1
  22. package/dist/escalation/escalation-policy.js +0 -1
  23. package/dist/escalation/escalation-policy.js.map +1 -1
  24. package/dist/events/clamp.d.ts.map +1 -1
  25. package/dist/events/clamp.js +17 -6
  26. package/dist/events/clamp.js.map +1 -1
  27. package/dist/events/cloud-events.d.ts +2 -4
  28. package/dist/events/cloud-events.d.ts.map +1 -1
  29. package/dist/events/event-builder.d.ts +1 -1
  30. package/dist/events/event-builder.d.ts.map +1 -1
  31. package/dist/events/event-builder.js +28 -56
  32. package/dist/events/event-builder.js.map +1 -1
  33. package/dist/events/observability-events.d.ts +21 -110
  34. package/dist/events/observability-events.d.ts.map +1 -1
  35. package/dist/events/observability-events.js +6 -12
  36. package/dist/events/observability-events.js.map +1 -1
  37. package/dist/events/running-headline-sink.d.ts +2 -1
  38. package/dist/events/running-headline-sink.d.ts.map +1 -1
  39. package/dist/events/running-headline-sink.js.map +1 -1
  40. package/dist/events/telemetry-types.d.ts +45 -86
  41. package/dist/events/telemetry-types.d.ts.map +1 -1
  42. package/dist/events/telemetry-types.js +30 -55
  43. package/dist/events/telemetry-types.js.map +1 -1
  44. package/dist/index.d.ts +2 -5
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/intake/source-schema.js +1 -1
  49. package/dist/intake/source-schema.js.map +1 -1
  50. package/dist/intake/types.d.ts +1 -1
  51. package/dist/intake/types.d.ts.map +1 -1
  52. package/dist/intake/verify-command-validator.d.ts +6 -0
  53. package/dist/intake/verify-command-validator.d.ts.map +1 -0
  54. package/dist/intake/verify-command-validator.js +47 -0
  55. package/dist/intake/verify-command-validator.js.map +1 -0
  56. package/dist/lifecycle/findings-parser.d.ts +9 -0
  57. package/dist/lifecycle/findings-parser.d.ts.map +1 -0
  58. package/dist/lifecycle/findings-parser.js +47 -0
  59. package/dist/lifecycle/findings-parser.js.map +1 -0
  60. package/dist/lifecycle/handlers/annotator.d.ts +35 -0
  61. package/dist/lifecycle/handlers/annotator.d.ts.map +1 -0
  62. package/dist/lifecycle/handlers/annotator.js +38 -0
  63. package/dist/lifecycle/handlers/annotator.js.map +1 -0
  64. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
  65. package/dist/lifecycle/handlers/baseline-handlers.js +34 -37
  66. package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
  67. package/dist/lifecycle/handlers/files-written-cross-check.d.ts +6 -0
  68. package/dist/lifecycle/handlers/files-written-cross-check.d.ts.map +1 -1
  69. package/dist/lifecycle/handlers/files-written-cross-check.js +7 -1
  70. package/dist/lifecycle/handlers/files-written-cross-check.js.map +1 -1
  71. package/dist/lifecycle/handlers/git-commit-handler.d.ts +1 -16
  72. package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
  73. package/dist/lifecycle/handlers/git-commit-handler.js +149 -42
  74. package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
  75. package/dist/lifecycle/handlers/read-route-implementer.d.ts +41 -0
  76. package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +1 -0
  77. package/dist/lifecycle/handlers/read-route-implementer.js +84 -0
  78. package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -0
  79. package/dist/lifecycle/handlers/review-handler.d.ts.map +1 -1
  80. package/dist/lifecycle/handlers/review-handler.js +98 -70
  81. package/dist/lifecycle/handlers/review-handler.js.map +1 -1
  82. package/dist/lifecycle/handlers/rework-handler.d.ts.map +1 -1
  83. package/dist/lifecycle/handlers/rework-handler.js +64 -25
  84. package/dist/lifecycle/handlers/rework-handler.js.map +1 -1
  85. package/dist/lifecycle/handlers/task-executor.d.ts +1 -3
  86. package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -1
  87. package/dist/lifecycle/handlers/task-executor.js +88 -8
  88. package/dist/lifecycle/handlers/task-executor.js.map +1 -1
  89. package/dist/lifecycle/lifecycle-context.d.ts +13 -0
  90. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
  91. package/dist/lifecycle/merge-stage-stats.d.ts +3 -4
  92. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  93. package/dist/lifecycle/merge-stage-stats.js +2 -2
  94. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  95. package/dist/lifecycle/parallel-criteria-routes.d.ts +20 -6
  96. package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -1
  97. package/dist/lifecycle/parallel-criteria-routes.js +36 -142
  98. package/dist/lifecycle/parallel-criteria-routes.js.map +1 -1
  99. package/dist/lifecycle/read-only-subtype-spec.d.ts +18 -0
  100. package/dist/lifecycle/read-only-subtype-spec.d.ts.map +1 -0
  101. package/dist/lifecycle/read-only-subtype-spec.js +2 -0
  102. package/dist/lifecycle/read-only-subtype-spec.js.map +1 -0
  103. package/dist/lifecycle/stage-labels.d.ts +22 -0
  104. package/dist/lifecycle/stage-labels.d.ts.map +1 -0
  105. package/dist/lifecycle/stage-labels.js +42 -0
  106. package/dist/lifecycle/stage-labels.js.map +1 -0
  107. package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
  108. package/dist/lifecycle/stage-plan-builder.js +25 -54
  109. package/dist/lifecycle/stage-plan-builder.js.map +1 -1
  110. package/dist/lifecycle/stage-plan-types.d.ts +0 -23
  111. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  112. package/dist/lifecycle/stage-progression.js +10 -10
  113. package/dist/lifecycle/stage-progression.js.map +1 -1
  114. package/dist/lifecycle/stage-stats.d.ts +3 -3
  115. package/dist/lifecycle/stage-stats.d.ts.map +1 -1
  116. package/dist/lifecycle/stage-stats.js +6 -9
  117. package/dist/lifecycle/stage-stats.js.map +1 -1
  118. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  119. package/dist/lifecycle/task-executor.js +20 -17
  120. package/dist/lifecycle/task-executor.js.map +1 -1
  121. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  122. package/dist/lifecycle/task-runner.js +83 -72
  123. package/dist/lifecycle/task-runner.js.map +1 -1
  124. package/dist/lifecycle/tool-config-types.d.ts +1 -2
  125. package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
  126. package/dist/lifecycle/warm-followup.d.ts +3 -0
  127. package/dist/lifecycle/warm-followup.d.ts.map +1 -0
  128. package/dist/lifecycle/warm-followup.js +16 -0
  129. package/dist/lifecycle/warm-followup.js.map +1 -0
  130. package/dist/lifecycle/worker-output-contract.d.ts +26 -0
  131. package/dist/lifecycle/worker-output-contract.d.ts.map +1 -0
  132. package/dist/lifecycle/worker-output-contract.js +73 -0
  133. package/dist/lifecycle/worker-output-contract.js.map +1 -0
  134. package/dist/providers/assemble-run-result.d.ts +17 -0
  135. package/dist/providers/assemble-run-result.d.ts.map +1 -0
  136. package/dist/providers/assemble-run-result.js +76 -0
  137. package/dist/providers/assemble-run-result.js.map +1 -0
  138. package/dist/providers/brief-preamble.d.ts +4 -0
  139. package/dist/providers/brief-preamble.d.ts.map +1 -0
  140. package/dist/providers/brief-preamble.js +39 -0
  141. package/dist/providers/brief-preamble.js.map +1 -0
  142. package/dist/providers/claude-session.d.ts +23 -0
  143. package/dist/providers/claude-session.d.ts.map +1 -0
  144. package/dist/providers/claude-session.js +185 -0
  145. package/dist/providers/claude-session.js.map +1 -0
  146. package/dist/providers/claude.d.ts +4 -0
  147. package/dist/providers/claude.d.ts.map +1 -0
  148. package/dist/providers/claude.js +35 -0
  149. package/dist/providers/claude.js.map +1 -0
  150. package/dist/providers/codex-cli-event.d.ts +44 -0
  151. package/dist/providers/codex-cli-event.d.ts.map +1 -0
  152. package/dist/providers/codex-cli-event.js +43 -0
  153. package/dist/providers/codex-cli-event.js.map +1 -0
  154. package/dist/providers/codex-cli-launch.d.ts +26 -0
  155. package/dist/providers/codex-cli-launch.d.ts.map +1 -0
  156. package/dist/providers/codex-cli-launch.js +47 -0
  157. package/dist/providers/codex-cli-launch.js.map +1 -0
  158. package/dist/providers/codex-cli-session.d.ts +55 -0
  159. package/dist/providers/codex-cli-session.d.ts.map +1 -0
  160. package/dist/providers/codex-cli-session.js +417 -0
  161. package/dist/providers/codex-cli-session.js.map +1 -0
  162. package/dist/providers/codex.d.ts +4 -0
  163. package/dist/providers/codex.d.ts.map +1 -0
  164. package/dist/providers/codex.js +28 -0
  165. package/dist/providers/codex.js.map +1 -0
  166. package/dist/providers/index.d.ts +0 -12
  167. package/dist/providers/index.d.ts.map +1 -1
  168. package/dist/providers/index.js +1 -13
  169. package/dist/providers/index.js.map +1 -1
  170. package/dist/providers/normalize-claude.d.ts +10 -0
  171. package/dist/providers/normalize-claude.d.ts.map +1 -0
  172. package/dist/providers/normalize-claude.js +89 -0
  173. package/dist/providers/normalize-claude.js.map +1 -0
  174. package/dist/providers/provider-factory.d.ts +1 -9
  175. package/dist/providers/provider-factory.d.ts.map +1 -1
  176. package/dist/providers/provider-factory.js +35 -167
  177. package/dist/providers/provider-factory.js.map +1 -1
  178. package/dist/providers/runner-adapter.d.ts +5 -16
  179. package/dist/providers/runner-adapter.d.ts.map +1 -1
  180. package/dist/providers/runner-adapter.js +6 -0
  181. package/dist/providers/runner-adapter.js.map +1 -1
  182. package/dist/providers/runner-types.d.ts +21 -3
  183. package/dist/providers/runner-types.d.ts.map +1 -1
  184. package/dist/reporting/report-parser-slots/research-report.d.ts +21 -17
  185. package/dist/reporting/report-parser-slots/research-report.d.ts.map +1 -1
  186. package/dist/reporting/report-parser-slots/research-report.js +28 -67
  187. package/dist/reporting/report-parser-slots/research-report.js.map +1 -1
  188. package/dist/review/annotator-engine.d.ts +2 -2
  189. package/dist/review/annotator-engine.d.ts.map +1 -1
  190. package/dist/review/annotator-engine.js +16 -20
  191. package/dist/review/annotator-engine.js.map +1 -1
  192. package/dist/review/annotator-prompt-builder.d.ts +1 -1
  193. package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
  194. package/dist/review/default-engines.d.ts.map +1 -1
  195. package/dist/review/default-engines.js +2 -4
  196. package/dist/review/default-engines.js.map +1 -1
  197. package/dist/review/review-types.d.ts +0 -1
  198. package/dist/review/review-types.d.ts.map +1 -1
  199. package/dist/review/reviewer-engine.d.ts +5 -40
  200. package/dist/review/reviewer-engine.d.ts.map +1 -1
  201. package/dist/review/reviewer-engine.js +19 -49
  202. package/dist/review/reviewer-engine.js.map +1 -1
  203. package/dist/review/reviewer-output-parser.d.ts +1 -6
  204. package/dist/review/reviewer-output-parser.d.ts.map +1 -1
  205. package/dist/review/reviewer-output-parser.js +0 -26
  206. package/dist/review/reviewer-output-parser.js.map +1 -1
  207. package/dist/review/reviewer-prompt-builder.d.ts +1 -6
  208. package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
  209. package/dist/review/reviewer-prompt-builder.js +0 -6
  210. package/dist/review/reviewer-prompt-builder.js.map +1 -1
  211. package/dist/review/templates/quality-review.d.ts.map +1 -1
  212. package/dist/review/templates/quality-review.js +28 -0
  213. package/dist/review/templates/quality-review.js.map +1 -1
  214. package/dist/review/templates/rework.d.ts.map +1 -1
  215. package/dist/review/templates/rework.js +15 -9
  216. package/dist/review/templates/rework.js.map +1 -1
  217. package/dist/review/templates/shared.d.ts +9 -0
  218. package/dist/review/templates/shared.d.ts.map +1 -1
  219. package/dist/stores/context-block-project-cap.d.ts +1 -1
  220. package/dist/stores/context-block-project-cap.d.ts.map +1 -1
  221. package/dist/stores/context-block-project-cap.js +17 -5
  222. package/dist/stores/context-block-project-cap.js.map +1 -1
  223. package/dist/stores/file-backed-context-block-store.d.ts +7 -0
  224. package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
  225. package/dist/stores/file-backed-context-block-store.js +8 -0
  226. package/dist/stores/file-backed-context-block-store.js.map +1 -1
  227. package/dist/tool-surface/discover.d.ts +1 -1
  228. package/dist/tool-surface/discover.d.ts.map +1 -1
  229. package/dist/tool-surface/discover.js +0 -1
  230. package/dist/tool-surface/discover.js.map +1 -1
  231. package/dist/tool-surface/openapi-generator.d.ts.map +1 -1
  232. package/dist/tool-surface/openapi-generator.js +0 -2
  233. package/dist/tool-surface/openapi-generator.js.map +1 -1
  234. package/dist/tool-surface/register-all-tools.d.ts.map +1 -1
  235. package/dist/tool-surface/register-all-tools.js +1 -3
  236. package/dist/tool-surface/register-all-tools.js.map +1 -1
  237. package/dist/tools/audit/schema.d.ts +4 -4
  238. package/dist/tools/audit/schema.d.ts.map +1 -1
  239. package/dist/tools/audit/schema.js +4 -4
  240. package/dist/tools/audit/schema.js.map +1 -1
  241. package/dist/tools/audit/skill-audit-criteria.d.ts +9 -0
  242. package/dist/tools/audit/skill-audit-criteria.d.ts.map +1 -0
  243. package/dist/tools/audit/skill-audit-criteria.js +51 -0
  244. package/dist/tools/audit/skill-audit-criteria.js.map +1 -0
  245. package/dist/tools/audit/spec-audit-criteria.d.ts +9 -0
  246. package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -0
  247. package/dist/tools/audit/spec-audit-criteria.js +52 -0
  248. package/dist/tools/audit/spec-audit-criteria.js.map +1 -0
  249. package/dist/tools/audit/subtypes.d.ts +4 -0
  250. package/dist/tools/audit/subtypes.d.ts.map +1 -0
  251. package/dist/tools/audit/subtypes.js +67 -0
  252. package/dist/tools/audit/subtypes.js.map +1 -0
  253. package/dist/tools/audit/tool-config.d.ts +4 -4
  254. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  255. package/dist/tools/audit/tool-config.js +31 -29
  256. package/dist/tools/audit/tool-config.js.map +1 -1
  257. package/dist/tools/debug/schema.d.ts +3 -0
  258. package/dist/tools/debug/schema.d.ts.map +1 -1
  259. package/dist/tools/debug/schema.js +1 -0
  260. package/dist/tools/debug/schema.js.map +1 -1
  261. package/dist/tools/debug/subtypes.d.ts +4 -0
  262. package/dist/tools/debug/subtypes.d.ts.map +1 -0
  263. package/dist/tools/debug/subtypes.js +25 -0
  264. package/dist/tools/debug/subtypes.js.map +1 -0
  265. package/dist/tools/delegate/tool-config.d.ts.map +1 -1
  266. package/dist/tools/delegate/tool-config.js +0 -1
  267. package/dist/tools/delegate/tool-config.js.map +1 -1
  268. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  269. package/dist/tools/execute-plan/tool-config.js +5 -2
  270. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  271. package/dist/tools/index.d.ts +0 -1
  272. package/dist/tools/index.d.ts.map +1 -1
  273. package/dist/tools/index.js +0 -1
  274. package/dist/tools/index.js.map +1 -1
  275. package/dist/tools/investigate/schema.d.ts +3 -0
  276. package/dist/tools/investigate/schema.d.ts.map +1 -1
  277. package/dist/tools/investigate/schema.js +1 -0
  278. package/dist/tools/investigate/schema.js.map +1 -1
  279. package/dist/tools/investigate/subtypes.d.ts +4 -0
  280. package/dist/tools/investigate/subtypes.d.ts.map +1 -0
  281. package/dist/tools/investigate/subtypes.js +25 -0
  282. package/dist/tools/investigate/subtypes.js.map +1 -0
  283. package/dist/tools/research/implementer-criteria.d.ts +12 -5
  284. package/dist/tools/research/implementer-criteria.d.ts.map +1 -1
  285. package/dist/tools/research/implementer-criteria.js +40 -9
  286. package/dist/tools/research/implementer-criteria.js.map +1 -1
  287. package/dist/tools/research/schema.d.ts +3 -0
  288. package/dist/tools/research/schema.d.ts.map +1 -1
  289. package/dist/tools/research/schema.js +2 -1
  290. package/dist/tools/research/schema.js.map +1 -1
  291. package/dist/tools/research/subtypes.d.ts +4 -0
  292. package/dist/tools/research/subtypes.d.ts.map +1 -0
  293. package/dist/tools/research/subtypes.js +24 -0
  294. package/dist/tools/research/subtypes.js.map +1 -0
  295. package/dist/tools/research/tool-config.js +2 -2
  296. package/dist/tools/research/tool-config.js.map +1 -1
  297. package/dist/tools/review/schema.d.ts +3 -0
  298. package/dist/tools/review/schema.d.ts.map +1 -1
  299. package/dist/tools/review/schema.js +1 -0
  300. package/dist/tools/review/schema.js.map +1 -1
  301. package/dist/tools/review/subtypes.d.ts +4 -0
  302. package/dist/tools/review/subtypes.d.ts.map +1 -0
  303. package/dist/tools/review/subtypes.js +26 -0
  304. package/dist/tools/review/subtypes.js.map +1 -0
  305. package/dist/types/config.d.ts +14 -28
  306. package/dist/types/config.d.ts.map +1 -1
  307. package/dist/types/enums.d.ts +3 -8
  308. package/dist/types/enums.d.ts.map +1 -1
  309. package/dist/types/enums.js +3 -3
  310. package/dist/types/enums.js.map +1 -1
  311. package/dist/types/run-result.d.ts +57 -22
  312. package/dist/types/run-result.d.ts.map +1 -1
  313. package/dist/types/stage-stats.d.ts +10 -29
  314. package/dist/types/stage-stats.d.ts.map +1 -1
  315. package/dist/types/task-spec.d.ts +17 -15
  316. package/dist/types/task-spec.d.ts.map +1 -1
  317. package/dist/types.d.ts +1 -1
  318. package/dist/types.d.ts.map +1 -1
  319. package/package.json +9 -3
  320. package/dist/identity/main-model-resolver.d.ts +0 -14
  321. package/dist/identity/main-model-resolver.d.ts.map +0 -1
  322. package/dist/identity/main-model-resolver.js +0 -83
  323. package/dist/identity/main-model-resolver.js.map +0 -1
  324. package/dist/lifecycle/handlers/annotate-completion-handler.d.ts +0 -9
  325. package/dist/lifecycle/handlers/annotate-completion-handler.d.ts.map +0 -1
  326. package/dist/lifecycle/handlers/annotate-completion-handler.js +0 -171
  327. package/dist/lifecycle/handlers/annotate-completion-handler.js.map +0 -1
  328. package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts +0 -3
  329. package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts.map +0 -1
  330. package/dist/lifecycle/handlers/annotate-criteria-handler.js +0 -67
  331. package/dist/lifecycle/handlers/annotate-criteria-handler.js.map +0 -1
  332. package/dist/lifecycle/handlers/execution-context-builder.d.ts +0 -5
  333. package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +0 -1
  334. package/dist/lifecycle/handlers/execution-context-builder.js +0 -17
  335. package/dist/lifecycle/handlers/execution-context-builder.js.map +0 -1
  336. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts +0 -62
  337. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts.map +0 -1
  338. package/dist/lifecycle/parallel-criteria-dispatcher.js +0 -328
  339. package/dist/lifecycle/parallel-criteria-dispatcher.js.map +0 -1
  340. package/dist/providers/anthropic-messages-adapter.d.ts +0 -26
  341. package/dist/providers/anthropic-messages-adapter.d.ts.map +0 -1
  342. package/dist/providers/anthropic-messages-adapter.js +0 -127
  343. package/dist/providers/anthropic-messages-adapter.js.map +0 -1
  344. package/dist/providers/base/research-tools.d.ts +0 -47
  345. package/dist/providers/base/research-tools.d.ts.map +0 -1
  346. package/dist/providers/base/research-tools.js +0 -67
  347. package/dist/providers/base/research-tools.js.map +0 -1
  348. package/dist/providers/base/result-builders.d.ts +0 -82
  349. package/dist/providers/base/result-builders.d.ts.map +0 -1
  350. package/dist/providers/base/result-builders.js +0 -112
  351. package/dist/providers/base/result-builders.js.map +0 -1
  352. package/dist/providers/base/time-check.d.ts +0 -9
  353. package/dist/providers/base/time-check.d.ts.map +0 -1
  354. package/dist/providers/base/time-check.js +0 -18
  355. package/dist/providers/base/time-check.js.map +0 -1
  356. package/dist/providers/base/types.d.ts +0 -53
  357. package/dist/providers/base/types.d.ts.map +0 -1
  358. package/dist/providers/base/types.js +0 -2
  359. package/dist/providers/base/types.js.map +0 -1
  360. package/dist/providers/base/usage-accumulator.d.ts +0 -9
  361. package/dist/providers/base/usage-accumulator.d.ts.map +0 -1
  362. package/dist/providers/base/usage-accumulator.js +0 -20
  363. package/dist/providers/base/usage-accumulator.js.map +0 -1
  364. package/dist/providers/call-cache.d.ts +0 -16
  365. package/dist/providers/call-cache.d.ts.map +0 -1
  366. package/dist/providers/call-cache.js +0 -28
  367. package/dist/providers/call-cache.js.map +0 -1
  368. package/dist/providers/file-tracker.d.ts +0 -80
  369. package/dist/providers/file-tracker.d.ts.map +0 -1
  370. package/dist/providers/file-tracker.js +0 -125
  371. package/dist/providers/file-tracker.js.map +0 -1
  372. package/dist/providers/injection-type.d.ts +0 -22
  373. package/dist/providers/injection-type.d.ts.map +0 -1
  374. package/dist/providers/injection-type.js +0 -34
  375. package/dist/providers/injection-type.js.map +0 -1
  376. package/dist/providers/make-runner-shell.d.ts +0 -4
  377. package/dist/providers/make-runner-shell.d.ts.map +0 -1
  378. package/dist/providers/make-runner-shell.js +0 -70
  379. package/dist/providers/make-runner-shell.js.map +0 -1
  380. package/dist/providers/openai-chat-adapter.d.ts +0 -15
  381. package/dist/providers/openai-chat-adapter.d.ts.map +0 -1
  382. package/dist/providers/openai-chat-adapter.js +0 -86
  383. package/dist/providers/openai-chat-adapter.js.map +0 -1
  384. package/dist/providers/openai-responses-adapter.d.ts +0 -15
  385. package/dist/providers/openai-responses-adapter.d.ts.map +0 -1
  386. package/dist/providers/openai-responses-adapter.js +0 -137
  387. package/dist/providers/openai-responses-adapter.js.map +0 -1
  388. package/dist/providers/openai-usage-interceptor.d.ts +0 -25
  389. package/dist/providers/openai-usage-interceptor.d.ts.map +0 -1
  390. package/dist/providers/openai-usage-interceptor.js +0 -121
  391. package/dist/providers/openai-usage-interceptor.js.map +0 -1
  392. package/dist/providers/prevention.d.ts +0 -44
  393. package/dist/providers/prevention.d.ts.map +0 -1
  394. package/dist/providers/prevention.js +0 -108
  395. package/dist/providers/prevention.js.map +0 -1
  396. package/dist/providers/runner-shell-types.d.ts +0 -91
  397. package/dist/providers/runner-shell-types.d.ts.map +0 -1
  398. package/dist/providers/runner-shell-types.js +0 -2
  399. package/dist/providers/runner-shell-types.js.map +0 -1
  400. package/dist/providers/runner-shell.d.ts +0 -67
  401. package/dist/providers/runner-shell.d.ts.map +0 -1
  402. package/dist/providers/runner-shell.js +0 -518
  403. package/dist/providers/runner-shell.js.map +0 -1
  404. package/dist/providers/scratchpad-salvager.d.ts +0 -19
  405. package/dist/providers/scratchpad-salvager.d.ts.map +0 -1
  406. package/dist/providers/scratchpad-salvager.js +0 -44
  407. package/dist/providers/scratchpad-salvager.js.map +0 -1
  408. package/dist/providers/supervision.d.ts +0 -108
  409. package/dist/providers/supervision.d.ts.map +0 -1
  410. package/dist/providers/supervision.js +0 -272
  411. package/dist/providers/supervision.js.map +0 -1
  412. package/dist/providers/text-scratchpad.d.ts +0 -28
  413. package/dist/providers/text-scratchpad.d.ts.map +0 -1
  414. package/dist/providers/text-scratchpad.js +0 -49
  415. package/dist/providers/text-scratchpad.js.map +0 -1
  416. package/dist/providers/tool-definitions.d.ts +0 -6
  417. package/dist/providers/tool-definitions.d.ts.map +0 -1
  418. package/dist/providers/tool-definitions.js +0 -236
  419. package/dist/providers/tool-definitions.js.map +0 -1
  420. package/dist/providers/tool-implementations.d.ts +0 -38
  421. package/dist/providers/tool-implementations.d.ts.map +0 -1
  422. package/dist/providers/tool-implementations.js +0 -254
  423. package/dist/providers/tool-implementations.js.map +0 -1
  424. package/dist/providers/tool-tracker.d.ts +0 -14
  425. package/dist/providers/tool-tracker.d.ts.map +0 -1
  426. package/dist/providers/tool-tracker.js +0 -13
  427. package/dist/providers/tool-tracker.js.map +0 -1
  428. package/dist/reporting/headline-templates/verify.d.ts +0 -3
  429. package/dist/reporting/headline-templates/verify.d.ts.map +0 -1
  430. package/dist/reporting/headline-templates/verify.js +0 -29
  431. package/dist/reporting/headline-templates/verify.js.map +0 -1
  432. package/dist/reporting/report-parser-slots/verify-report.d.ts +0 -27
  433. package/dist/reporting/report-parser-slots/verify-report.d.ts.map +0 -1
  434. package/dist/reporting/report-parser-slots/verify-report.js +0 -51
  435. package/dist/reporting/report-parser-slots/verify-report.js.map +0 -1
  436. package/dist/review/templates/annotator-verify.d.ts +0 -3
  437. package/dist/review/templates/annotator-verify.d.ts.map +0 -1
  438. package/dist/review/templates/annotator-verify.js +0 -21
  439. package/dist/review/templates/annotator-verify.js.map +0 -1
  440. package/dist/review/templates/quality-review-verify.d.ts +0 -3
  441. package/dist/review/templates/quality-review-verify.d.ts.map +0 -1
  442. package/dist/review/templates/quality-review-verify.js +0 -10
  443. package/dist/review/templates/quality-review-verify.js.map +0 -1
  444. package/dist/tools/verify/implementer-criteria.d.ts +0 -61
  445. package/dist/tools/verify/implementer-criteria.d.ts.map +0 -1
  446. package/dist/tools/verify/implementer-criteria.js +0 -125
  447. package/dist/tools/verify/implementer-criteria.js.map +0 -1
  448. package/dist/tools/verify/schema.d.ts +0 -56
  449. package/dist/tools/verify/schema.d.ts.map +0 -1
  450. package/dist/tools/verify/schema.js +0 -16
  451. package/dist/tools/verify/schema.js.map +0 -1
  452. package/dist/tools/verify/tool-config.d.ts +0 -14
  453. package/dist/tools/verify/tool-config.d.ts.map +0 -1
  454. package/dist/tools/verify/tool-config.js +0 -146
  455. package/dist/tools/verify/tool-config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"merge-stage-stats.d.ts","sourceRoot":"","sources":["../../src/lifecycle/merge-stage-stats.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,WAAW,GACX,YAAY,CAAC;AAEjB,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+DAC2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,YAAY,GACpB,IAAI,CAsCN;AASD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,SAAS,GACnB,IAAI,CAiCN"}
1
+ {"version":3,"file":"merge-stage-stats.d.ts","sourceRoot":"","sources":["../../src/lifecycle/merge-stage-stats.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,YAAY,CAAC;AAEjB,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,YAAY,GACpB,IAAI,CAsCN;AASD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,SAAS,GACnB,IAAI,CAiCN"}
@@ -40,13 +40,13 @@ export function mergeStageStats(state, stage, delta, options) {
40
40
  filesReadCount: (existing?.['filesReadCount'] ?? 0) + (delta.filesReadCount ?? 0),
41
41
  filesWrittenCount: (existing?.['filesWrittenCount'] ?? 0) + (delta.filesWrittenCount ?? 0),
42
42
  };
43
- if (stage === 'spec_review' || stage === 'quality_review' || stage === 'diff_review') {
43
+ if (stage === 'review') {
44
44
  accumulated['verdict'] = options.verdict ?? existing?.['verdict'] ?? null;
45
45
  accumulated['roundsUsed'] = (existing?.['roundsUsed'] ?? 0) + (options.roundsDelta ?? 1);
46
46
  accumulated['concernCategories'] = existing?.['concernCategories'] ?? [];
47
47
  accumulated['findingsBySeverity'] = existing?.['findingsBySeverity'] ?? { critical: 0, high: 0, medium: 0, low: 0 };
48
48
  }
49
- else if (stage === 'spec_rework' || stage === 'quality_rework') {
49
+ else if (stage === 'rework') {
50
50
  accumulated['triggeringConcernCategories'] = existing?.['triggeringConcernCategories'] ?? [];
51
51
  }
52
52
  const stageStatsObj = (rr.stageStats ?? {});
@@ -1 +1 @@
1
- {"version":3,"file":"merge-stage-stats.js","sourceRoot":"","sources":["../../src/lifecycle/merge-stage-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-stage-stats.js","sourceRoot":"","sources":["../../src/lifecycle/merge-stage-stats.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,30 @@
1
1
  import type { CriterionEntry } from '../tools/criteria-types.js';
2
2
  import { type CachedPrefixTarget } from '../tools/parallel-criteria-prompt.js';
3
- export type ReadOnlyRouteName = 'audit' | 'audit_plan' | 'review' | 'verify' | 'debug' | 'investigate';
4
- export interface ReadOnlyRouteSpec {
3
+ import type { ReadOnlySubtypeSpec } from './read-only-subtype-spec.js';
4
+ import { type AuditSubtype } from '../tools/audit/subtypes.js';
5
+ import { type ReviewSubtype } from '../tools/review/subtypes.js';
6
+ import { type DebugSubtype } from '../tools/debug/subtypes.js';
7
+ import { type InvestigateSubtype } from '../tools/investigate/subtypes.js';
8
+ import { type ResearchSubtype } from '../tools/research/subtypes.js';
9
+ export type ReadOnlyRouteName = 'audit' | 'review' | 'debug' | 'investigate' | 'research';
10
+ interface RouteEntry {
11
+ subtypeMap: Record<string, ReadOnlySubtypeSpec>;
12
+ defaultSubtype: string;
13
+ }
14
+ export declare const READ_ONLY_ROUTES: Record<ReadOnlyRouteName, RouteEntry>;
15
+ /** Per-subtype builders consumed by the read-route implementer. */
16
+ export interface ResolvedRouteSpec {
5
17
  criteria: readonly CriterionEntry[];
6
18
  buildPrefix: (target: CachedPrefixTarget) => string;
7
19
  buildSuffix: (criterion: CriterionEntry) => string;
8
20
  }
9
21
  /**
10
- * Per-route configuration consumed by the parallel-criteria dispatcher.
11
- * Each entry returns the full builders so the orchestrator can fan out
12
- * without route-specific branching code.
22
+ * Resolve a (route, subtype) pair to a concrete spec the implementer can
23
+ * dispatch with. Throws `invalid_subtype` if the subtype is not in the
24
+ * tool's SUBTYPES map. Zod intake should already have caught that; the
25
+ * dispatch-time throw is the defensive backstop.
13
26
  */
14
- export declare const READ_ONLY_ROUTES: Record<ReadOnlyRouteName, ReadOnlyRouteSpec>;
27
+ export declare function resolveSubtypeSpec(route: ReadOnlyRouteName, subtype: string | undefined): ResolvedRouteSpec;
15
28
  export declare function isReadOnlyRoute(route: string): route is ReadOnlyRouteName;
29
+ export type { AuditSubtype, ReviewSubtype, DebugSubtype, InvestigateSubtype, ResearchSubtype };
16
30
  //# sourceMappingURL=parallel-criteria-routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-criteria-routes.d.ts","sourceRoot":"","sources":["../../src/lifecycle/parallel-criteria-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAGL,KAAK,kBAAkB,EAGxB,MAAM,sCAAsC,CAAC;AAoB9C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AA+IvG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,WAAW,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,MAAM,CAAC;IACpD,WAAW,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,MAAM,CAAC;CACpD;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAczB,CAAC;AAElD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAEzE"}
1
+ {"version":3,"file":"parallel-criteria-routes.d.ts","sourceRoot":"","sources":["../../src/lifecycle/parallel-criteria-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAExF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAmB1F,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAMlE,CAAC;AAEF,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,WAAW,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,MAAM,CAAC;IACpD,WAAW,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,MAAM,CAAC;CACpD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,iBAAiB,CAqBnB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAEzE;AAGD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC"}
@@ -1,15 +1,12 @@
1
1
  import { buildReadOnlyCachedPrefix, buildReadOnlyCriterionSuffix, } from '../tools/parallel-criteria-prompt.js';
2
- import { AUDIT_PURPOSE_ORIENTATION, EVIDENCE_RULE_AUDIT, SCOPE_RULE_AUDIT, ANNOTATOR_AWARENESS_AUDIT, AUDIT_CRITERIA, } from '../tools/audit/implementer-criteria.js';
3
- import { PLAN_AUDIT_PURPOSE_ORIENTATION, EVIDENCE_RULE_PLAN_AUDIT, SCOPE_RULE_PLAN_AUDIT, ANNOTATOR_AWARENESS_PLAN_AUDIT, PLAN_AUDIT_CRITERIA, } from '../tools/audit/plan-audit-criteria.js';
4
- import { REVIEW_PURPOSE_ORIENTATION, EVIDENCE_RULE_REVIEW, SCOPE_RULE_REVIEW, ANNOTATOR_AWARENESS_REVIEW, REVIEW_CRITERIA, } from '../tools/review/implementer-criteria.js';
5
- import { VERIFY_PURPOSE_ORIENTATION, EVIDENCE_RULE_VERIFY, SCOPE_RULE_VERIFY, ANNOTATOR_AWARENESS_VERIFY, VERIFY_CRITERIA, } from '../tools/verify/implementer-criteria.js';
6
- import { DEBUG_PURPOSE_ORIENTATION, EVIDENCE_RULE_DEBUG, SCOPE_RULE_DEBUG, ANNOTATOR_AWARENESS_DEBUG, DEBUG_CRITERIA, } from '../tools/debug/implementer-criteria.js';
7
- import { INVESTIGATE_PURPOSE_ORIENTATION, EVIDENCE_RULE_INVESTIGATE, SCOPE_RULE_INVESTIGATE, ANNOTATOR_AWARENESS_INVESTIGATE, INVESTIGATE_CRITERIA, } from '../tools/investigate/implementer-criteria.js';
2
+ import { AUDIT_SUBTYPES } from '../tools/audit/subtypes.js';
3
+ import { REVIEW_SUBTYPES } from '../tools/review/subtypes.js';
4
+ import { DEBUG_SUBTYPES } from '../tools/debug/subtypes.js';
5
+ import { INVESTIGATE_SUBTYPES } from '../tools/investigate/subtypes.js';
6
+ import { RESEARCH_SUBTYPES } from '../tools/research/subtypes.js';
8
7
  /** Standard finding-format spec — uniform `## Finding N:` shape across
9
- * all five read-only routes so the downstream parser/annotator only
10
- * reads one format. The label "Issue" is intentionally route-neutral
11
- * (interpreted as issue / candidate-answer / verdict / root-cause-
12
- * hypothesis depending on the route's semantics block). */
8
+ * all read-only routes so the downstream parser/annotator only reads
9
+ * one format. */
13
10
  const FINDING_FORMAT_SHARED = [
14
11
  'Per-finding output format (use exactly this shape — `## Finding N:` blocks):',
15
12
  '',
@@ -23,144 +20,41 @@ const FINDING_FORMAT_SHARED = [
23
20
  '',
24
21
  'Number findings sequentially starting at 1. Severity / Location / Issue / Suggestion bullets are on their own lines with the labels exactly as shown.',
25
22
  ].join('\n');
26
- /** Per-route semantics. Findings shape and severity tiers are uniform;
27
- * only the *meaning* of each tier and the per-sub-worker goal differ. */
28
- const ROUTE_SEMANTICS = {
29
- audit: {
30
- goalLine: 'Find ALL issues of THIS specific kind in the artifact above.',
31
- emptyOutcomeLine: 'If none exist, respond with the literal text "No findings for this criterion." — that is a fully valid outcome. Do NOT pad with low-signal observations to avoid returning empty.',
32
- findingMeaningParagraph: 'A finding is an ISSUE in the artifact (a contradiction, missing recommendation, fix that violates a constraint, drift, structural inconsistency, etc.). Severity reflects how much the issue blocks the artifact\'s downstream use.',
33
- severityMeanings: {
34
- critical: 'a recommendation or claim that, if implemented as written, would fail or cause harm because the artifact is internally incoherent — e.g. a fix that depends on something the doc forbids.',
35
- high: 'a substantive missing recommendation, an evidence chain that does not support a load-bearing conclusion, OR a fix that violates a stated principle/constraint of the doc.',
36
- medium: 'argument-soundness gap, fix-actionability gap, drift between sections, structural inconsistency between similar items, scope-creep risk that needs a guardrail.',
37
- low: 'stylistic / labeling / formatting issue; missing metadata; minor cross-reference fix.',
38
- },
39
- mustEmitAtLeastOne: false,
40
- },
41
- audit_plan: {
42
- goalLine: 'Apply THIS verification perspective to every task in the plan above. Each finding is a plan-vs-codebase coherence issue grounded in real file:line evidence. Verify before flagging — use read_file / grep to inspect the source files the plan names.',
43
- emptyOutcomeLine: 'If your perspective finds no plan-vs-codebase drift after grounding in the actual source files, respond with the literal text "No findings for this criterion." — that is the EXPECTED outcome on a clean plan. Do NOT pad with prose-quality observations (those belong in auditType=default, not here).',
44
- findingMeaningParagraph: 'A finding is a CONCRETE PLAN-VS-CODEBASE DRIFT viewed through this perspective: the plan names a symbol / path / signature / import / test helper / verify command / cross-task dependency that the actual codebase does not match. Title = "<task ID>: <one-line drift>". Severity reflects whether the task can dispatch.',
45
- severityMeanings: {
46
- critical: 'plan would BLOCK dispatch — e.g. wrong method name (perspective 2), missing modify-target file (perspective 1), wrong signature (perspective 3), missing module export (perspective 4), out-of-order task dependency (perspective 7), wrong tooling (perspective 8). A literal worker freezes on this.',
47
- high: 'load-bearing ambiguity — multiple matching symbols and the plan does not disambiguate, OR test harness missing in claimed shape, OR step depends on later step recoverably. Task may execute but produces an ambiguous artifact.',
48
- medium: 'step ordering inferable but undeclared, cross-task dependency unstated, verify command vague but recoverable, missing parent dirs for create-targets. Fixable by reordering or adding a sentence; doesn\'t block dispatch.',
49
- low: 'cosmetic — naming preference, missing metadata, minor cross-reference. Does not affect executability.',
50
- },
51
- mustEmitAtLeastOne: false,
52
- },
53
- review: {
54
- goalLine: 'Find ALL issues of THIS specific kind in the diff / source above.',
55
- emptyOutcomeLine: 'If none exist, respond with the literal text "No findings for this criterion." — that is a fully valid outcome. Do NOT pad to avoid returning empty.',
56
- findingMeaningParagraph: 'A finding is an ISSUE introduced or worsened by the change under review (correctness bug, missing test, race, security regression, contract break, etc.). Severity reflects how much the issue blocks merge / ships a regression.',
57
- severityMeanings: {
58
- critical: 'security regression / data corruption / build-breaking change — must NOT merge.',
59
- high: 'real correctness bug, broken tests, race, missing edge case that ships a regression — blocks release.',
60
- medium: 'contract violation, maintainability issue, doc gap, deprecated API, performance regression on a non-hot path — fix soon, not blocking.',
61
- low: 'style, naming, comment nit, dead code — nice-to-fix.',
62
- },
63
- mustEmitAtLeastOne: false,
64
- },
65
- verify: {
66
- goalLine: 'Apply THIS criterion to the work product against the user\'s checklist. Each finding is a verification verdict for one checklist item: PASS / FAIL / cannot-verify, with the evidence quoted.',
67
- emptyOutcomeLine: 'If THIS criterion does not apply to any checklist item in the artifact, respond with "No findings for this criterion." — that is a valid outcome. Otherwise, ALWAYS emit a finding per applicable item (even PASS results — the user wants to see what passed).',
68
- findingMeaningParagraph: 'A finding is a VERIFICATION VERDICT for one checklist item, evaluated through this criterion\'s lens. Title = checklist-item label + verdict (e.g. "Item 3: FAIL — assumed-pass on untested"). Severity reflects how decisive / load-bearing the verdict is.',
69
- severityMeanings: {
70
- critical: 'criterion definitively FAILED with concrete contradicting evidence — the user CANNOT trust the work as complete; e.g. claim-without-evidence on a load-bearing checklist item.',
71
- high: 'important criterion failed but with some ambiguity in the evidence; OR a strong PASS on a load-bearing item with rock-solid evidence.',
72
- medium: 'partial coverage — some sub-criteria pass, others ambiguous; OR a clear PASS on a non-load-bearing item.',
73
- low: 'minor stylistic gap in the verification narrative; no impact on the verdict.',
74
- },
75
- mustEmitAtLeastOne: true,
76
- },
77
- debug: {
78
- goalLine: 'Apply THIS failure mode as the lens. Each finding is a root-cause hypothesis (or contributing factor), framed against this lens; severity = strength of the evidence chain.',
79
- emptyOutcomeLine: 'If THIS lens reveals nothing in the failure under investigation, respond with "No findings for this criterion." — valid outcome.',
80
- findingMeaningParagraph: 'A finding is a ROOT-CAUSE HYPOTHESIS (or contributing factor) for the failure under investigation, viewed through this criterion\'s lens. Title = the proposed cause. Severity reflects how strong the trace from symptom to cause is.',
81
- severityMeanings: {
82
- critical: 'root cause definitively identified with reproducible evidence + a concrete fix is implied — the maintainer can act now.',
83
- high: 'strong root-cause hypothesis with traced upstream evidence (file:line citations along the call/data path), fix path identified.',
84
- medium: 'likely candidate cause, needs verification — the trace has 1-2 inferred steps, fix scope unclear.',
85
- low: 'possible contributing factor, low confidence — speculation worth noting but not the primary lead.',
86
- },
87
- mustEmitAtLeastOne: true,
88
- },
89
- investigate: {
90
- goalLine: 'Answer the user\'s question above. Each finding is a CANDIDATE ANSWER (or sub-answer / partial answer) to the question, presented through this criterion\'s lens. Pay extra care to AVOID this criterion\'s failure mode (it is a known way investigators go wrong on questions like this).',
91
- emptyOutcomeLine: 'If you can produce no candidate answer at all under this lens, respond with "No findings for this criterion." — valid but rare outcome. In most cases you can produce at least one low-confidence candidate answer.',
92
- findingMeaningParagraph: 'A finding is a CANDIDATE ANSWER to the user\'s question (or a sub-answer that contributes to the full answer). Title = the answer in one line. Issue = the answer with reasoning + citations. Severity = your confidence in this answer.',
93
- severityMeanings: {
94
- critical: 'THE answer — high-confidence, multiple grounded file:line citations, evidence chain has no inferred steps. The user can act on this without re-verification.',
95
- high: 'strong answer — fully grounded with file:line citations, evidence chain has at most one inferred step, single-source. The user should sanity-check the inferred step.',
96
- medium: 'likely answer / partial answer — inference from evidence, some gaps in chain. Mark "verify by reading <file>" so the user knows where to confirm.',
97
- low: 'possible answer / candidate — weak evidence, presented as an alternative for the user to consider against other sub-workers\' candidates.',
98
- },
99
- mustEmitAtLeastOne: true,
100
- },
101
- };
102
- const ROUTE_BLOCKS = {
103
- audit: {
104
- orientation: AUDIT_PURPOSE_ORIENTATION,
105
- evidenceRule: EVIDENCE_RULE_AUDIT,
106
- scopeRule: SCOPE_RULE_AUDIT,
107
- annotatorAwareness: ANNOTATOR_AWARENESS_AUDIT,
108
- criteria: AUDIT_CRITERIA,
109
- },
110
- audit_plan: {
111
- orientation: PLAN_AUDIT_PURPOSE_ORIENTATION,
112
- evidenceRule: EVIDENCE_RULE_PLAN_AUDIT,
113
- scopeRule: SCOPE_RULE_PLAN_AUDIT,
114
- annotatorAwareness: ANNOTATOR_AWARENESS_PLAN_AUDIT,
115
- criteria: PLAN_AUDIT_CRITERIA,
116
- },
117
- review: {
118
- orientation: REVIEW_PURPOSE_ORIENTATION,
119
- evidenceRule: EVIDENCE_RULE_REVIEW,
120
- scopeRule: SCOPE_RULE_REVIEW,
121
- annotatorAwareness: ANNOTATOR_AWARENESS_REVIEW,
122
- criteria: REVIEW_CRITERIA,
123
- },
124
- verify: {
125
- orientation: VERIFY_PURPOSE_ORIENTATION,
126
- evidenceRule: EVIDENCE_RULE_VERIFY,
127
- scopeRule: SCOPE_RULE_VERIFY,
128
- annotatorAwareness: ANNOTATOR_AWARENESS_VERIFY,
129
- criteria: VERIFY_CRITERIA,
130
- },
131
- debug: {
132
- orientation: DEBUG_PURPOSE_ORIENTATION,
133
- evidenceRule: EVIDENCE_RULE_DEBUG,
134
- scopeRule: SCOPE_RULE_DEBUG,
135
- annotatorAwareness: ANNOTATOR_AWARENESS_DEBUG,
136
- criteria: DEBUG_CRITERIA,
137
- },
138
- investigate: {
139
- orientation: INVESTIGATE_PURPOSE_ORIENTATION,
140
- evidenceRule: EVIDENCE_RULE_INVESTIGATE,
141
- scopeRule: SCOPE_RULE_INVESTIGATE,
142
- annotatorAwareness: ANNOTATOR_AWARENESS_INVESTIGATE,
143
- criteria: INVESTIGATE_CRITERIA,
144
- },
23
+ export const READ_ONLY_ROUTES = {
24
+ audit: { subtypeMap: AUDIT_SUBTYPES, defaultSubtype: 'default' },
25
+ review: { subtypeMap: REVIEW_SUBTYPES, defaultSubtype: 'default' },
26
+ debug: { subtypeMap: DEBUG_SUBTYPES, defaultSubtype: 'default' },
27
+ investigate: { subtypeMap: INVESTIGATE_SUBTYPES, defaultSubtype: 'default' },
28
+ research: { subtypeMap: RESEARCH_SUBTYPES, defaultSubtype: 'default' },
145
29
  };
146
30
  /**
147
- * Per-route configuration consumed by the parallel-criteria dispatcher.
148
- * Each entry returns the full builders so the orchestrator can fan out
149
- * without route-specific branching code.
31
+ * Resolve a (route, subtype) pair to a concrete spec the implementer can
32
+ * dispatch with. Throws `invalid_subtype` if the subtype is not in the
33
+ * tool's SUBTYPES map. Zod intake should already have caught that; the
34
+ * dispatch-time throw is the defensive backstop.
150
35
  */
151
- export const READ_ONLY_ROUTES = Object.fromEntries(['audit', 'audit_plan', 'review', 'verify', 'debug', 'investigate'].map((route) => {
152
- const semantics = ROUTE_SEMANTICS[route];
36
+ export function resolveSubtypeSpec(route, subtype) {
37
+ const entry = READ_ONLY_ROUTES[route];
38
+ const key = subtype ?? entry.defaultSubtype;
39
+ const spec = entry.subtypeMap[key];
40
+ if (!spec) {
41
+ throw new Error(`invalid_subtype: '${key}' not in ${route}.SUBTYPES (valid: ${Object.keys(entry.subtypeMap).join(', ')})`);
42
+ }
153
43
  const blocks = {
154
- ...ROUTE_BLOCKS[route],
44
+ orientation: spec.orientation,
45
+ evidenceRule: spec.evidenceRule,
46
+ scopeRule: spec.scopeRule,
47
+ annotatorAwareness: spec.annotatorAwareness,
48
+ criteria: spec.criteria,
155
49
  findingFormat: FINDING_FORMAT_SHARED,
156
- semantics,
50
+ semantics: spec.semantics,
51
+ };
52
+ return {
53
+ criteria: spec.criteria,
54
+ buildPrefix: (target) => buildReadOnlyCachedPrefix(blocks, target),
55
+ buildSuffix: (criterion) => buildReadOnlyCriterionSuffix(spec.semantics, criterion),
157
56
  };
158
- return [route, {
159
- criteria: ROUTE_BLOCKS[route].criteria,
160
- buildPrefix: (target) => buildReadOnlyCachedPrefix(blocks, target),
161
- buildSuffix: (criterion) => buildReadOnlyCriterionSuffix(semantics, criterion),
162
- }];
163
- }));
57
+ }
164
58
  export function isReadOnlyRoute(route) {
165
59
  return route in READ_ONLY_ROUTES;
166
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-criteria-routes.js","sourceRoot":"","sources":["../../src/lifecycle/parallel-criteria-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parallel-criteria-routes.js","sourceRoot":"","sources":["../../src/lifecycle/parallel-criteria-routes.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAG7B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAqB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,cAAc,EAAqB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAA2B,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAwB,MAAM,+BAA+B,CAAC;AAIxF;;kBAEkB;AAClB,MAAM,qBAAqB,GAAG;IAC5B,8EAA8E;IAC9E,EAAE;IACF,gCAAgC;IAChC,4CAA4C;IAC5C,yCAAyC;IACzC,2KAA2K;IAC3K,+EAA+E;IAC/E,EAAE;IACF,2CAA2C;IAC3C,EAAE;IACF,uJAAuJ;CACxJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAOb,MAAM,CAAC,MAAM,gBAAgB,GAA0C;IACrE,KAAK,EAAQ,EAAE,UAAU,EAAE,cAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;IACnH,MAAM,EAAO,EAAE,UAAU,EAAE,eAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;IACnH,KAAK,EAAQ,EAAE,UAAU,EAAE,cAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;IACnH,WAAW,EAAE,EAAE,UAAU,EAAE,oBAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;IACnH,QAAQ,EAAK,EAAE,UAAU,EAAE,iBAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;CACpH,CAAC;AASF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAwB,EACxB,OAA2B;IAE3B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,YAAY,KAAK,qBAAqB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7H,CAAC;IACD,MAAM,MAAM,GAAuB;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,qBAAqB;QACpC,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,CAAC,MAA0B,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC;QACtF,WAAW,EAAE,CAAC,SAAyB,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;KACpG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAK,IAAI,gBAAgB,CAAC;AACnC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { CriterionEntry } from '../tools/criteria-types.js';
2
+ import type { RouteSemantics } from '../tools/parallel-criteria-prompt.js';
3
+ /**
4
+ * One subtype's full prompt-policy package. Five read-only tools each own
5
+ * a `SUBTYPES: Record<Subtype, ReadOnlySubtypeSpec>` map (see
6
+ * `packages/core/src/tools/<tool>/subtypes.ts`). Adding a subtype = one new
7
+ * entry in the tool's `SUBTYPES` map plus the matching enum literal in the
8
+ * tool's input schema. No new HTTP route or handler.
9
+ */
10
+ export interface ReadOnlySubtypeSpec {
11
+ criteria: readonly CriterionEntry[];
12
+ orientation: string;
13
+ evidenceRule: string;
14
+ scopeRule: string;
15
+ annotatorAwareness: string;
16
+ semantics: RouteSemantics;
17
+ }
18
+ //# sourceMappingURL=read-only-subtype-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-only-subtype-spec.d.ts","sourceRoot":"","sources":["../../src/lifecycle/read-only-subtype-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,cAAc,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=read-only-subtype-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-only-subtype-spec.js","sourceRoot":"","sources":["../../src/lifecycle/read-only-subtype-spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export declare const STAGE_LABELS: readonly ["implementing", "review", "rework", "committing", "annotating"];
2
+ export type StageLabel = (typeof STAGE_LABELS)[number];
3
+ /** Wire enum (snake_case) → human-readable label. */
4
+ export declare const HUMAN_LABEL: Record<StageLabel, string>;
5
+ /** Human-readable label → wire enum. */
6
+ export declare const WIRE_LABEL: Record<string, StageLabel>;
7
+ /**
8
+ * Read-path back-compat: collapse legacy stage labels that appear in
9
+ * older stored telemetry / batch envelopes into the v4.4.x canonical
10
+ * five-label enum. Live emitters all produce the new vocabulary; this
11
+ * exists for ingest of historical records and stage-stats normalization.
12
+ *
13
+ * Mapping:
14
+ * spec_review / quality_review / diff_review → review
15
+ * criterion_* (any string starting with 'criterion_') → implementing
16
+ * annotating_retry → annotating
17
+ * anything else: returned unchanged if it is already a canonical
18
+ * wire label; otherwise returned unchanged (callers may then
19
+ * decide to drop or warn).
20
+ */
21
+ export declare function normalizeLegacyStageLabel(label: string): string;
22
+ //# sourceMappingURL=stage-labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-labels.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-labels.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,2EAA4E,CAAC;AACtG,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,qDAAqD;AACrD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAMlD,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAEnB,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/D"}
@@ -0,0 +1,42 @@
1
+ // v4.4.x — single source of truth for lifecycle stage labels.
2
+ //
3
+ // Five canonical wire labels (snake_case) ↔ five human-readable labels.
4
+ // Every emitter of `stageLabel` reads from HUMAN_LABEL; every wire
5
+ // consumer reads from WIRE_LABEL. The legacy labels (spec_review,
6
+ // quality_review, diff_review, criterion_*, annotating_retry) are
7
+ // mapped via stage-stats normalizer at the read path, not here.
8
+ export const STAGE_LABELS = ['implementing', 'review', 'rework', 'committing', 'annotating'];
9
+ /** Wire enum (snake_case) → human-readable label. */
10
+ export const HUMAN_LABEL = {
11
+ implementing: 'Implementing',
12
+ review: 'Review',
13
+ rework: 'Rework',
14
+ committing: 'Committing',
15
+ annotating: 'Annotating',
16
+ };
17
+ /** Human-readable label → wire enum. */
18
+ export const WIRE_LABEL = Object.fromEntries(STAGE_LABELS.map((wire) => [HUMAN_LABEL[wire], wire]));
19
+ /**
20
+ * Read-path back-compat: collapse legacy stage labels that appear in
21
+ * older stored telemetry / batch envelopes into the v4.4.x canonical
22
+ * five-label enum. Live emitters all produce the new vocabulary; this
23
+ * exists for ingest of historical records and stage-stats normalization.
24
+ *
25
+ * Mapping:
26
+ * spec_review / quality_review / diff_review → review
27
+ * criterion_* (any string starting with 'criterion_') → implementing
28
+ * annotating_retry → annotating
29
+ * anything else: returned unchanged if it is already a canonical
30
+ * wire label; otherwise returned unchanged (callers may then
31
+ * decide to drop or warn).
32
+ */
33
+ export function normalizeLegacyStageLabel(label) {
34
+ if (label === 'spec_review' || label === 'quality_review' || label === 'diff_review')
35
+ return 'review';
36
+ if (label.startsWith('criterion_'))
37
+ return 'implementing';
38
+ if (label === 'annotating_retry')
39
+ return 'annotating';
40
+ return label;
41
+ }
42
+ //# sourceMappingURL=stage-labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-labels.js","sourceRoot":"","sources":["../../src/lifecycle/stage-labels.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,wEAAwE;AACxE,mEAAmE;AACnE,kEAAkE;AAClE,kEAAkE;AAClE,gEAAgE;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAU,CAAC;AAGtG,qDAAqD;AACrD,MAAM,CAAC,MAAM,WAAW,GAA+B;IACrD,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,UAAU,GAA+B,MAAM,CAAC,WAAW,CACtE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CACxB,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,QAAQ,CAAC;IACtG,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,cAAc,CAAC;IAC1D,IAAI,KAAK,KAAK,kBAAkB;QAAE,OAAO,YAAY,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stage-plan-builder.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAA4B,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAgBvE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAkJhE"}
1
+ {"version":3,"file":"stage-plan-builder.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAkIhE"}
@@ -1,17 +1,3 @@
1
- /**
2
- * Helper for the `reviewPolicy === 'none'` commit path (pipeline-redesign §2.5).
3
- * When reviewPolicy is 'none', stages 2–4 are skipped, so state.commitGatePercent
4
- * is undefined when the commit gate runs. This helper returns 100 if files were
5
- * written (so the gate trivially passes) or 0 otherwise. Same code path as the
6
- * LLM-mediated case — just emits a deterministic value when annotation didn't run.
7
- */
8
- function deriveBypassCommitPercent(s) {
9
- if (s.reviewPolicy !== 'none')
10
- return 0;
11
- const last = s.lastRunResult;
12
- const writes = last?.filesWritten;
13
- return Array.isArray(writes) && writes.length > 0 ? 100 : 0;
14
- }
15
1
  export function buildStagePlan(category) {
16
2
  const isAP = category === 'artifact_producing';
17
3
  const isRO = category === 'read_only';
@@ -21,7 +7,6 @@ export function buildStagePlan(category) {
21
7
  // reviewPolicy is the general-purpose review-skip mechanism, not per-category
22
8
  // booleans. See workflow-matrix.md appendix #4. The void expression exists
23
9
  // solely to satisfy the ESLint no-unused-vars rule for the 'category' param.
24
- void (category === 'research');
25
10
  const rows = [
26
11
  // Stage 1 — Ingress (rows 1.1–1.4; spec C10 lines 1284–1290)
27
12
  { rowId: '1.1', stageName: 'accept_http_request', runCondition: () => true, isRework: false, handlerKey: 'accept_http_request' },
@@ -53,12 +38,18 @@ export function buildStagePlan(category) {
53
38
  && !s.terminal,
54
39
  isRework: false, handlerKey: 'check_files_written',
55
40
  },
56
- // ── Stage 4 — Lint-review + rework split (4.3.0+) ──────────────────────
57
- // 4.1: review (parallel spec + quality, lint-only, readonly tools).
58
- // Emits state.reviewVerdict + state.reviewFindings.
59
- // 4.2: rework (complex tier, full tools, single pass). Skipped when
41
+ // ── Stage 4 — v4.4.x five-stage pipeline ───────────────────────────────
42
+ // Implementing Review Rework Committing Annotating
43
+ //
44
+ // 4.1: review (single complex session: spec then quality sequentially).
45
+ // Emits state.reviewVerdict + state.reviewConcerns.
46
+ // 4.2: rework (standard tier, full tools, single pass). Skipped when
60
47
  // reviewVerdict === 'approved'.
61
- // 4.3 / 4.4: annotate_completion / annotate_criteria (unchanged).
48
+ // 4.3: committing (write routes only; per-task git commit with full
49
+ // gate logic: no_repo / no_diff / validation_failed /
50
+ // validation_stale / worker_committed_out_of_band / hook_failed).
51
+ // 4.4: annotating (pure transform; builds the unified StructuredReport
52
+ // from lastRunResult + review state + commit outcome).
62
53
  { rowId: '4.1', stageName: 'review', schemaStage: 'review',
63
54
  runCondition: (s) => isAP && s.reviewPolicy !== 'none' && !s.terminal,
64
55
  isRework: false, handlerKey: 'review' },
@@ -68,49 +59,29 @@ export function buildStagePlan(category) {
68
59
  && s.reviewVerdict === 'changes_required'
69
60
  && !s.terminal,
70
61
  isRework: true, handlerKey: 'rework' },
71
- // 4.3: annotate completion artifact-producing routes only. Standard
72
- // tier with readonly tools. Runs verifyCommand deterministically first,
73
- // then invokes annotator LLM. Sets state.completionAnnotation and
74
- // state.commitGatePercent.
75
- { rowId: '4.3', stageName: 'annotate_completion', schemaStage: 'annotating',
76
- runCondition: (s) => isAP
77
- && s.reviewPolicy !== 'none'
78
- && !s.terminal,
79
- isRework: false, handlerKey: 'annotate_completion' },
80
- // 4.4: annotate criteria — read-only routes. Merges per-criterion
81
- // workerOutputs (from dispatchParallelCriteria in run_initial_impl)
82
- // via AnnotatorEngine.annotate. Surfaces "Annotating" as a distinct
83
- // user-facing stage matching the artifact-producing Annotating stage.
84
- { rowId: '4.4', stageName: 'annotate_criteria', schemaStage: 'annotating',
85
- runCondition: (s) => isRO
86
- && s.reviewPolicy !== 'none'
87
- && !s.terminal,
88
- isRework: false, handlerKey: 'annotate_criteria' },
89
- // 5.2: git_commit — fires when autoCommit + worker wrote files +
90
- // !readOnlyTask + !terminal AND commitGatePercent ≥ completionThreshold.
91
- //
92
- // 4.3.0 (pipeline redesign §2.5, §3.1): replaces the binary "reviews
93
- // passed" gate with a threshold check. state.commitGatePercent is set by
94
- // annotate_completion (row 4.3) for reviewPolicy in {full, quality_only,
95
- // diff_only}. For reviewPolicy='none', stages 4.1/4.2/4.3 are skipped, so
96
- // commitGatePercent is undefined; deriveBypassCommitPercent returns 100
97
- // when files were written (else 0) — uniform code path, single threshold.
98
- { rowId: '5.2', stageName: 'git_commit', schemaStage: 'committing',
62
+ // 4.3: committingfires before annotating so the commit outcome
63
+ // (sha / message / skipReason) is available to the annotator's report.
64
+ // Gate is permissive at the stage-plan level; the handler enforces
65
+ // no_repo / no_diff / validation_failed / etc. internally.
66
+ { rowId: '4.3', stageName: 'git_commit', schemaStage: 'committing',
99
67
  runCondition: (s) => {
100
68
  if (s.autoCommit !== true)
101
69
  return false;
102
- const last = s.lastRunResult;
103
- const writes = last?.filesWritten;
104
- if (!Array.isArray(writes) || writes.length === 0)
105
- return false;
106
70
  if (s.readOnlyTask)
107
71
  return false;
108
72
  if (s.terminal)
109
73
  return false;
110
- const percent = s.commitGatePercent ?? deriveBypassCommitPercent(s);
111
- return percent >= (s.completionThreshold ?? 80);
74
+ // After review: only commit when reviewer approved, or when there
75
+ // was no review at all (reviewPolicy === 'none').
76
+ if (s.reviewPolicy !== 'none' && s.reviewVerdict !== 'approved')
77
+ return false;
78
+ return true;
112
79
  },
113
80
  isRework: false, handlerKey: 'git_commit' },
81
+ // 4.4: annotating — unified pure transform for read + write routes.
82
+ { rowId: '4.4', stageName: 'annotating', schemaStage: 'annotating',
83
+ runCondition: (s) => !s.terminal,
84
+ isRework: false, handlerKey: 'annotating' },
114
85
  // 5.3.rcb: register_to_block_store — fires for register-context-block
115
86
  // route only, before compose_response. Sets state.blockRegistration
116
87
  // which compose_response reads to emit {id, size, ttlMs}.
@@ -1 +1 @@
1
- {"version":3,"file":"stage-plan-builder.js","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-plan-builder.js","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-builder.ts"],"names":[],"mappings":"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"}
@@ -117,29 +117,6 @@ export interface LifecycleState {
117
117
  reworkOutput?: string;
118
118
  /** Rework stage error (transport/return). */
119
119
  reworkError?: string;
120
- /** Stage 4 (annotate_completion) structured output + verify overlay. */
121
- completionAnnotation?: {
122
- completionPercent: number;
123
- perStep: Array<{
124
- step: string;
125
- status: 'done' | 'partial' | 'missing';
126
- note: string | null;
127
- }>;
128
- verify: {
129
- ran: boolean;
130
- passed: boolean | null;
131
- exitCode: number | null;
132
- command: string[];
133
- tailOutput: string | null;
134
- };
135
- concerns: string[];
136
- };
137
- /** Annotator provider/parse error (fallback case). */
138
- completionAnnotationError?: string;
139
- /** Deterministic commit-gate percentage: min(backstop, annotatorPercent). */
140
- commitGatePercent?: number;
141
- /** Override the default commit threshold (default 80, from taskSpec). */
142
- completionThreshold?: number;
143
120
  terminalBlockId?: string;
144
121
  taskTerminalEmitted?: boolean;
145
122
  batchRegistryPersisted?: boolean;