takt 0.45.0 → 0.47.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 (845) hide show
  1. package/README.md +55 -2
  2. package/builtins/en/config.yaml +37 -12
  3. package/builtins/en/facets/instructions/findings-manager.md +13 -0
  4. package/builtins/en/facets/instructions/fix.md +9 -4
  5. package/builtins/en/facets/instructions/implement-maintenance.md +5 -32
  6. package/builtins/en/facets/instructions/implement.md +3 -2
  7. package/builtins/en/facets/instructions/loop-monitor-reviewers-fix.md +5 -1
  8. package/builtins/en/facets/instructions/plan-test.md +4 -3
  9. package/builtins/en/facets/instructions/review-arch.md +1 -1
  10. package/builtins/en/facets/instructions/review-coding.md +11 -5
  11. package/builtins/en/facets/instructions/review-cqrs-es.md +1 -1
  12. package/builtins/en/facets/instructions/review-pure.md +9 -0
  13. package/builtins/en/facets/instructions/review-qa.md +2 -0
  14. package/builtins/en/facets/instructions/review-terraform.md +1 -1
  15. package/builtins/en/facets/instructions/review-test.md +3 -0
  16. package/builtins/en/facets/instructions/supervise-maintenance.md +7 -77
  17. package/builtins/en/facets/instructions/supervise.md +12 -65
  18. package/builtins/en/facets/instructions/write-tests-first.md +1 -0
  19. package/builtins/en/facets/instructions/write-tests-maintenance.md +1 -0
  20. package/builtins/en/facets/knowledge/architecture.md +31 -0
  21. package/builtins/en/facets/knowledge/backend.md +25 -1
  22. package/builtins/en/facets/knowledge/cqrs-es.md +57 -0
  23. package/builtins/en/facets/knowledge/e2e-testing.md +11 -1
  24. package/builtins/en/facets/knowledge/unit-testing.md +11 -0
  25. package/builtins/en/facets/output-contracts/ai-antipattern-review-finding-contract.md +31 -0
  26. package/builtins/en/facets/output-contracts/architecture-review-finding-contract.md +35 -0
  27. package/builtins/en/facets/output-contracts/coding-review-finding-contract.md +25 -0
  28. package/builtins/en/facets/output-contracts/coding-review.md +11 -4
  29. package/builtins/en/facets/output-contracts/cqrs-es-review-finding-contract.md +31 -0
  30. package/builtins/en/facets/output-contracts/findings-manager.md +45 -0
  31. package/builtins/en/facets/output-contracts/frontend-review-finding-contract.md +30 -0
  32. package/builtins/en/facets/output-contracts/maintenance-scope.md +5 -0
  33. package/builtins/en/facets/output-contracts/pure-review-finding-contract.md +45 -0
  34. package/builtins/en/facets/output-contracts/pure-review.md +61 -0
  35. package/builtins/en/facets/output-contracts/qa-review-finding-contract.md +35 -0
  36. package/builtins/en/facets/output-contracts/qa-review.md +15 -3
  37. package/builtins/en/facets/output-contracts/security-review-finding-contract.md +36 -0
  38. package/builtins/en/facets/output-contracts/supervisor-validation.md +35 -11
  39. package/builtins/en/facets/output-contracts/terraform-review-finding-contract.md +31 -0
  40. package/builtins/en/facets/output-contracts/testing-review-finding-contract.md +41 -0
  41. package/builtins/en/facets/output-contracts/testing-review.md +6 -1
  42. package/builtins/en/facets/personas/ai-antipattern-reviewer.md +2 -2
  43. package/builtins/en/facets/personas/architecture-reviewer.md +1 -1
  44. package/builtins/en/facets/personas/findings-manager.md +18 -0
  45. package/builtins/en/facets/personas/pr-commenter.md +2 -2
  46. package/builtins/en/facets/personas/pure-reviewer.md +22 -0
  47. package/builtins/en/facets/personas/supervisor.md +1 -1
  48. package/builtins/en/facets/personas/terraform-reviewer.md +3 -3
  49. package/builtins/en/facets/policies/ai-antipattern.md +33 -0
  50. package/builtins/en/facets/policies/coding.md +36 -0
  51. package/builtins/en/facets/policies/review.md +90 -17
  52. package/builtins/en/facets/policies/testing.md +49 -0
  53. package/builtins/en/provider-options/edit.yaml +21 -0
  54. package/builtins/en/provider-options/review-files.yaml +10 -0
  55. package/builtins/en/provider-options/review-readonly.yaml +16 -0
  56. package/builtins/en/provider-options/review-web.yaml +14 -0
  57. package/builtins/en/workflow-categories.yaml +1 -0
  58. package/builtins/en/workflows/audit-architecture-backend.yaml +8 -0
  59. package/builtins/en/workflows/audit-architecture-dual.yaml +8 -0
  60. package/builtins/en/workflows/audit-architecture-frontend.yaml +8 -0
  61. package/builtins/en/workflows/audit-architecture.yaml +8 -0
  62. package/builtins/en/workflows/audit-e2e.yaml +8 -0
  63. package/builtins/en/workflows/audit-security.yaml +8 -0
  64. package/builtins/en/workflows/audit-unit.yaml +8 -0
  65. package/builtins/en/workflows/auto-improvement-loop.yaml +6 -0
  66. package/builtins/en/workflows/backend-cqrs-mini.yaml +20 -0
  67. package/builtins/en/workflows/backend-cqrs.yaml +60 -1
  68. package/builtins/en/workflows/backend-mini.yaml +20 -0
  69. package/builtins/en/workflows/backend.yaml +60 -1
  70. package/builtins/en/workflows/compound-eye.yaml +8 -0
  71. package/builtins/en/workflows/deep-research.yaml +8 -0
  72. package/builtins/en/workflows/default-draft.yaml +6 -0
  73. package/builtins/en/workflows/default-high.yaml +7 -1
  74. package/builtins/en/workflows/default-mini.yaml +2 -0
  75. package/builtins/en/workflows/default-peer-review.yaml +41 -4
  76. package/builtins/en/workflows/default.yaml +4 -0
  77. package/builtins/en/workflows/draft.yaml +12 -32
  78. package/builtins/en/workflows/dual-cqrs-mini.yaml +20 -0
  79. package/builtins/en/workflows/dual-cqrs.yaml +56 -1
  80. package/builtins/en/workflows/dual-mini.yaml +20 -0
  81. package/builtins/en/workflows/dual.yaml +44 -6
  82. package/builtins/en/workflows/frontend-maintenance.yaml +62 -1
  83. package/builtins/en/workflows/frontend-mini.yaml +20 -0
  84. package/builtins/en/workflows/frontend.yaml +62 -1
  85. package/builtins/en/workflows/magi.yaml +6 -0
  86. package/builtins/en/workflows/peer-review-with-fc.yaml +206 -0
  87. package/builtins/en/workflows/peer-review.yaml +35 -72
  88. package/builtins/en/workflows/research.yaml +6 -0
  89. package/builtins/en/workflows/review-backend-cqrs.yaml +42 -1
  90. package/builtins/en/workflows/review-backend.yaml +40 -1
  91. package/builtins/en/workflows/review-default.yaml +27 -7
  92. package/builtins/en/workflows/review-dual-cqrs.yaml +44 -1
  93. package/builtins/en/workflows/review-dual.yaml +42 -1
  94. package/builtins/en/workflows/review-fix-backend-cqrs.yaml +46 -1
  95. package/builtins/en/workflows/review-fix-backend.yaml +44 -1
  96. package/builtins/en/workflows/review-fix-default.yaml +31 -7
  97. package/builtins/en/workflows/review-fix-dual-cqrs.yaml +48 -1
  98. package/builtins/en/workflows/review-fix-dual.yaml +46 -1
  99. package/builtins/en/workflows/review-fix-frontend.yaml +46 -1
  100. package/builtins/en/workflows/review-fix-takt-default.yaml +38 -6
  101. package/builtins/en/workflows/review-frontend.yaml +42 -1
  102. package/builtins/en/workflows/review-takt-default.yaml +29 -7
  103. package/builtins/en/workflows/takt-default-refresh-all.yaml +36 -6
  104. package/builtins/en/workflows/takt-default-refresh-fast.yaml +35 -5
  105. package/builtins/en/workflows/takt-default-with-fc.yaml +110 -0
  106. package/builtins/en/workflows/takt-default.yaml +10 -27
  107. package/builtins/en/workflows/terraform.yaml +52 -3
  108. package/builtins/ja/config.yaml +37 -12
  109. package/builtins/ja/facets/instructions/findings-manager.md +13 -0
  110. package/builtins/ja/facets/instructions/fix.md +9 -4
  111. package/builtins/ja/facets/instructions/implement-maintenance.md +5 -32
  112. package/builtins/ja/facets/instructions/implement.md +3 -2
  113. package/builtins/ja/facets/instructions/loop-monitor-reviewers-fix.md +5 -1
  114. package/builtins/ja/facets/instructions/plan-test.md +4 -3
  115. package/builtins/ja/facets/instructions/review-arch.md +1 -1
  116. package/builtins/ja/facets/instructions/review-coding.md +11 -5
  117. package/builtins/ja/facets/instructions/review-cqrs-es.md +1 -1
  118. package/builtins/ja/facets/instructions/review-pure.md +9 -0
  119. package/builtins/ja/facets/instructions/review-qa.md +2 -0
  120. package/builtins/ja/facets/instructions/review-terraform.md +1 -1
  121. package/builtins/ja/facets/instructions/review-test.md +3 -0
  122. package/builtins/ja/facets/instructions/supervise-maintenance.md +7 -77
  123. package/builtins/ja/facets/instructions/supervise.md +12 -66
  124. package/builtins/ja/facets/instructions/write-tests-first.md +1 -0
  125. package/builtins/ja/facets/instructions/write-tests-maintenance.md +1 -0
  126. package/builtins/ja/facets/knowledge/architecture.md +31 -0
  127. package/builtins/ja/facets/knowledge/backend.md +25 -1
  128. package/builtins/ja/facets/knowledge/cqrs-es.md +31 -0
  129. package/builtins/ja/facets/knowledge/e2e-testing.md +11 -1
  130. package/builtins/ja/facets/knowledge/unit-testing.md +11 -0
  131. package/builtins/ja/facets/output-contracts/ai-antipattern-review-finding-contract.md +31 -0
  132. package/builtins/ja/facets/output-contracts/architecture-review-finding-contract.md +35 -0
  133. package/builtins/ja/facets/output-contracts/coding-review-finding-contract.md +25 -0
  134. package/builtins/ja/facets/output-contracts/coding-review.md +11 -4
  135. package/builtins/ja/facets/output-contracts/cqrs-es-review-finding-contract.md +31 -0
  136. package/builtins/ja/facets/output-contracts/findings-manager.md +45 -0
  137. package/builtins/ja/facets/output-contracts/frontend-review-finding-contract.md +30 -0
  138. package/builtins/ja/facets/output-contracts/maintenance-scope.md +5 -0
  139. package/builtins/ja/facets/output-contracts/pure-review-finding-contract.md +45 -0
  140. package/builtins/ja/facets/output-contracts/pure-review.md +61 -0
  141. package/builtins/ja/facets/output-contracts/qa-review-finding-contract.md +35 -0
  142. package/builtins/ja/facets/output-contracts/qa-review.md +15 -3
  143. package/builtins/ja/facets/output-contracts/security-review-finding-contract.md +36 -0
  144. package/builtins/ja/facets/output-contracts/supervisor-validation.md +35 -11
  145. package/builtins/ja/facets/output-contracts/terraform-review-finding-contract.md +31 -0
  146. package/builtins/ja/facets/output-contracts/testing-review-finding-contract.md +41 -0
  147. package/builtins/ja/facets/output-contracts/testing-review.md +6 -1
  148. package/builtins/ja/facets/personas/ai-antipattern-reviewer.md +2 -2
  149. package/builtins/ja/facets/personas/architecture-reviewer.md +2 -2
  150. package/builtins/ja/facets/personas/findings-manager.md +18 -0
  151. package/builtins/ja/facets/personas/pr-commenter.md +3 -3
  152. package/builtins/ja/facets/personas/pure-reviewer.md +22 -0
  153. package/builtins/ja/facets/personas/supervisor.md +1 -1
  154. package/builtins/ja/facets/personas/terraform-reviewer.md +3 -3
  155. package/builtins/ja/facets/policies/ai-antipattern.md +17 -0
  156. package/builtins/ja/facets/policies/coding.md +36 -0
  157. package/builtins/ja/facets/policies/review.md +88 -17
  158. package/builtins/ja/facets/policies/testing.md +49 -0
  159. package/builtins/ja/provider-options/edit.yaml +21 -0
  160. package/builtins/ja/provider-options/review-files.yaml +10 -0
  161. package/builtins/ja/provider-options/review-readonly.yaml +16 -0
  162. package/builtins/ja/provider-options/review-web.yaml +14 -0
  163. package/builtins/ja/workflow-categories.yaml +1 -0
  164. package/builtins/ja/workflows/audit-architecture-backend.yaml +8 -0
  165. package/builtins/ja/workflows/audit-architecture-dual.yaml +8 -0
  166. package/builtins/ja/workflows/audit-architecture-frontend.yaml +8 -0
  167. package/builtins/ja/workflows/audit-architecture.yaml +8 -0
  168. package/builtins/ja/workflows/audit-e2e.yaml +8 -0
  169. package/builtins/ja/workflows/audit-security.yaml +8 -0
  170. package/builtins/ja/workflows/audit-unit.yaml +8 -0
  171. package/builtins/ja/workflows/auto-improvement-loop.yaml +6 -0
  172. package/builtins/ja/workflows/backend-cqrs-mini.yaml +20 -0
  173. package/builtins/ja/workflows/backend-cqrs.yaml +60 -1
  174. package/builtins/ja/workflows/backend-mini.yaml +20 -0
  175. package/builtins/ja/workflows/backend.yaml +60 -1
  176. package/builtins/ja/workflows/compound-eye.yaml +8 -0
  177. package/builtins/ja/workflows/deep-research.yaml +8 -0
  178. package/builtins/ja/workflows/default-draft.yaml +6 -0
  179. package/builtins/ja/workflows/default-high.yaml +7 -1
  180. package/builtins/ja/workflows/default-mini.yaml +2 -0
  181. package/builtins/ja/workflows/default-peer-review.yaml +41 -4
  182. package/builtins/ja/workflows/default.yaml +4 -0
  183. package/builtins/ja/workflows/draft.yaml +12 -32
  184. package/builtins/ja/workflows/dual-cqrs-mini.yaml +20 -0
  185. package/builtins/ja/workflows/dual-cqrs.yaml +56 -1
  186. package/builtins/ja/workflows/dual-mini.yaml +20 -0
  187. package/builtins/ja/workflows/dual.yaml +44 -6
  188. package/builtins/ja/workflows/frontend-maintenance.yaml +62 -1
  189. package/builtins/ja/workflows/frontend-mini.yaml +20 -0
  190. package/builtins/ja/workflows/frontend.yaml +62 -1
  191. package/builtins/ja/workflows/magi.yaml +6 -0
  192. package/builtins/ja/workflows/peer-review-with-fc.yaml +206 -0
  193. package/builtins/ja/workflows/peer-review.yaml +35 -72
  194. package/builtins/ja/workflows/research.yaml +6 -0
  195. package/builtins/ja/workflows/review-backend-cqrs.yaml +42 -1
  196. package/builtins/ja/workflows/review-backend.yaml +40 -1
  197. package/builtins/ja/workflows/review-default.yaml +28 -8
  198. package/builtins/ja/workflows/review-dual-cqrs.yaml +44 -1
  199. package/builtins/ja/workflows/review-dual.yaml +42 -1
  200. package/builtins/ja/workflows/review-fix-backend-cqrs.yaml +46 -1
  201. package/builtins/ja/workflows/review-fix-backend.yaml +44 -1
  202. package/builtins/ja/workflows/review-fix-default.yaml +31 -7
  203. package/builtins/ja/workflows/review-fix-dual-cqrs.yaml +48 -1
  204. package/builtins/ja/workflows/review-fix-dual.yaml +46 -1
  205. package/builtins/ja/workflows/review-fix-frontend.yaml +46 -1
  206. package/builtins/ja/workflows/review-fix-takt-default.yaml +39 -7
  207. package/builtins/ja/workflows/review-frontend.yaml +42 -1
  208. package/builtins/ja/workflows/review-takt-default.yaml +30 -8
  209. package/builtins/ja/workflows/takt-default-refresh-all.yaml +36 -6
  210. package/builtins/ja/workflows/takt-default-refresh-fast.yaml +35 -5
  211. package/builtins/ja/workflows/takt-default-with-fc.yaml +110 -0
  212. package/builtins/ja/workflows/takt-default.yaml +10 -27
  213. package/builtins/ja/workflows/terraform.yaml +51 -2
  214. package/builtins/skill/references/yaml-schema.md +4 -0
  215. package/builtins/skill-codex/references/yaml-schema.md +4 -0
  216. package/dist/agents/decompose-task-usecase.d.ts +2 -1
  217. package/dist/agents/decompose-task-usecase.d.ts.map +1 -1
  218. package/dist/agents/decompose-task-usecase.js +7 -5
  219. package/dist/agents/decompose-task-usecase.js.map +1 -1
  220. package/dist/agents/judge-status-usecase.d.ts +4 -1
  221. package/dist/agents/judge-status-usecase.d.ts.map +1 -1
  222. package/dist/agents/judge-status-usecase.js +5 -0
  223. package/dist/agents/judge-status-usecase.js.map +1 -1
  224. package/dist/agents/runner-prompt.d.ts +3 -1
  225. package/dist/agents/runner-prompt.d.ts.map +1 -1
  226. package/dist/agents/runner-prompt.js +11 -4
  227. package/dist/agents/runner-prompt.js.map +1 -1
  228. package/dist/agents/runner.d.ts.map +1 -1
  229. package/dist/agents/runner.js +23 -5
  230. package/dist/agents/runner.js.map +1 -1
  231. package/dist/agents/structured-caller/capability-aware-structured-caller.d.ts +1 -1
  232. package/dist/agents/structured-caller/capability-aware-structured-caller.d.ts.map +1 -1
  233. package/dist/agents/structured-caller/capability-aware-structured-caller.js +3 -3
  234. package/dist/agents/structured-caller/capability-aware-structured-caller.js.map +1 -1
  235. package/dist/agents/structured-caller/contracts.d.ts +1 -1
  236. package/dist/agents/structured-caller/contracts.d.ts.map +1 -1
  237. package/dist/agents/structured-caller/default-structured-caller.d.ts +1 -1
  238. package/dist/agents/structured-caller/default-structured-caller.d.ts.map +1 -1
  239. package/dist/agents/structured-caller/default-structured-caller.js +2 -2
  240. package/dist/agents/structured-caller/default-structured-caller.js.map +1 -1
  241. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts +1 -1
  242. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
  243. package/dist/agents/structured-caller/prompt-based-structured-caller.js +9 -3
  244. package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
  245. package/dist/agents/team-leader-structured-output.d.ts +3 -3
  246. package/dist/agents/team-leader-structured-output.d.ts.map +1 -1
  247. package/dist/agents/team-leader-structured-output.js +14 -10
  248. package/dist/agents/team-leader-structured-output.js.map +1 -1
  249. package/dist/agents/types.d.ts +1 -0
  250. package/dist/agents/types.d.ts.map +1 -1
  251. package/dist/app/cli/routing-inputs.d.ts +1 -0
  252. package/dist/app/cli/routing-inputs.d.ts.map +1 -1
  253. package/dist/app/cli/routing-inputs.js +5 -2
  254. package/dist/app/cli/routing-inputs.js.map +1 -1
  255. package/dist/app/cli/routing.d.ts.map +1 -1
  256. package/dist/app/cli/routing.js +14 -0
  257. package/dist/app/cli/routing.js.map +1 -1
  258. package/dist/commands/repertoire/add.d.ts.map +1 -1
  259. package/dist/commands/repertoire/add.js +45 -4
  260. package/dist/commands/repertoire/add.js.map +1 -1
  261. package/dist/commands/repertoire/remove.d.ts.map +1 -1
  262. package/dist/commands/repertoire/remove.js +19 -3
  263. package/dist/commands/repertoire/remove.js.map +1 -1
  264. package/dist/core/models/config-schemas.d.ts +787 -0
  265. package/dist/core/models/config-schemas.d.ts.map +1 -1
  266. package/dist/core/models/config-schemas.js +6 -0
  267. package/dist/core/models/config-schemas.js.map +1 -1
  268. package/dist/core/models/config-types.d.ts +8 -0
  269. package/dist/core/models/config-types.d.ts.map +1 -1
  270. package/dist/core/models/finding-schemas.d.ts +447 -0
  271. package/dist/core/models/finding-schemas.d.ts.map +1 -0
  272. package/dist/core/models/finding-schemas.js +234 -0
  273. package/dist/core/models/finding-schemas.js.map +1 -0
  274. package/dist/core/models/finding-types.d.ts +146 -0
  275. package/dist/core/models/finding-types.d.ts.map +1 -0
  276. package/dist/core/models/finding-types.js +5 -0
  277. package/dist/core/models/finding-types.js.map +1 -0
  278. package/dist/core/models/index.d.ts +1 -1
  279. package/dist/core/models/index.d.ts.map +1 -1
  280. package/dist/core/models/index.js.map +1 -1
  281. package/dist/core/models/part.d.ts +2 -1
  282. package/dist/core/models/part.d.ts.map +1 -1
  283. package/dist/core/models/schema-base.d.ts +66 -0
  284. package/dist/core/models/schema-base.d.ts.map +1 -1
  285. package/dist/core/models/schema-base.js +7 -2
  286. package/dist/core/models/schema-base.js.map +1 -1
  287. package/dist/core/models/types.d.ts +2 -2
  288. package/dist/core/models/types.d.ts.map +1 -1
  289. package/dist/core/models/workflow-condition-expression.d.ts +3 -0
  290. package/dist/core/models/workflow-condition-expression.d.ts.map +1 -1
  291. package/dist/core/models/workflow-condition-expression.js +223 -4
  292. package/dist/core/models/workflow-condition-expression.js.map +1 -1
  293. package/dist/core/models/workflow-provider-options.d.ts +5 -0
  294. package/dist/core/models/workflow-provider-options.d.ts.map +1 -1
  295. package/dist/core/models/workflow-provider-options.js.map +1 -1
  296. package/dist/core/models/workflow-schemas.d.ts +197 -31
  297. package/dist/core/models/workflow-schemas.d.ts.map +1 -1
  298. package/dist/core/models/workflow-schemas.js +67 -18
  299. package/dist/core/models/workflow-schemas.js.map +1 -1
  300. package/dist/core/models/workflow-system-schemas.d.ts.map +1 -1
  301. package/dist/core/models/workflow-system-schemas.js +1 -0
  302. package/dist/core/models/workflow-system-schemas.js.map +1 -1
  303. package/dist/core/models/workflow-types.d.ts +14 -1
  304. package/dist/core/models/workflow-types.d.ts.map +1 -1
  305. package/dist/core/models/workflow-types.js.map +1 -1
  306. package/dist/core/workflow/engine/ArpeggioRunner.d.ts +2 -0
  307. package/dist/core/workflow/engine/ArpeggioRunner.d.ts.map +1 -1
  308. package/dist/core/workflow/engine/ArpeggioRunner.js +1 -0
  309. package/dist/core/workflow/engine/ArpeggioRunner.js.map +1 -1
  310. package/dist/core/workflow/engine/OptionsBuilder.d.ts +4 -1
  311. package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -1
  312. package/dist/core/workflow/engine/OptionsBuilder.js +23 -8
  313. package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -1
  314. package/dist/core/workflow/engine/ParallelRunner.d.ts +15 -0
  315. package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
  316. package/dist/core/workflow/engine/ParallelRunner.js +155 -18
  317. package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
  318. package/dist/core/workflow/engine/StepExecutor.d.ts +4 -2
  319. package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
  320. package/dist/core/workflow/engine/StepExecutor.js +11 -3
  321. package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
  322. package/dist/core/workflow/engine/TeamLeaderRunner.d.ts.map +1 -1
  323. package/dist/core/workflow/engine/TeamLeaderRunner.js +9 -4
  324. package/dist/core/workflow/engine/TeamLeaderRunner.js.map +1 -1
  325. package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts +3 -1
  326. package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts.map +1 -1
  327. package/dist/core/workflow/engine/WorkflowCallExecutor.js +23 -5
  328. package/dist/core/workflow/engine/WorkflowCallExecutor.js.map +1 -1
  329. package/dist/core/workflow/engine/WorkflowCallRunner.d.ts +1 -0
  330. package/dist/core/workflow/engine/WorkflowCallRunner.d.ts.map +1 -1
  331. package/dist/core/workflow/engine/WorkflowCallRunner.js +5 -1
  332. package/dist/core/workflow/engine/WorkflowCallRunner.js.map +1 -1
  333. package/dist/core/workflow/engine/WorkflowEngine.d.ts +7 -1
  334. package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +1 -1
  335. package/dist/core/workflow/engine/WorkflowEngine.js +63 -9
  336. package/dist/core/workflow/engine/WorkflowEngine.js.map +1 -1
  337. package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts +3 -0
  338. package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts.map +1 -1
  339. package/dist/core/workflow/engine/WorkflowEngineSetup.js +29 -1
  340. package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
  341. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts +11 -7
  342. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
  343. package/dist/core/workflow/engine/WorkflowRunLoop.js +66 -33
  344. package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
  345. package/dist/core/workflow/engine/WorkflowValidator.d.ts.map +1 -1
  346. package/dist/core/workflow/engine/WorkflowValidator.js +78 -1
  347. package/dist/core/workflow/engine/WorkflowValidator.js.map +1 -1
  348. package/dist/core/workflow/engine/engine-provider-options.d.ts.map +1 -1
  349. package/dist/core/workflow/engine/engine-provider-options.js +3 -3
  350. package/dist/core/workflow/engine/engine-provider-options.js.map +1 -1
  351. package/dist/core/workflow/engine/parallel-logger.d.ts +1 -1
  352. package/dist/core/workflow/engine/parallel-logger.d.ts.map +1 -1
  353. package/dist/core/workflow/engine/parallel-logger.js +3 -1
  354. package/dist/core/workflow/engine/parallel-logger.js.map +1 -1
  355. package/dist/core/workflow/engine/task-decomposer.d.ts +1 -1
  356. package/dist/core/workflow/engine/task-decomposer.d.ts.map +1 -1
  357. package/dist/core/workflow/engine/task-decomposer.js +3 -3
  358. package/dist/core/workflow/engine/task-decomposer.js.map +1 -1
  359. package/dist/core/workflow/engine/team-leader-budget-errors.d.ts +2 -0
  360. package/dist/core/workflow/engine/team-leader-budget-errors.d.ts.map +1 -0
  361. package/dist/core/workflow/engine/team-leader-budget-errors.js +12 -0
  362. package/dist/core/workflow/engine/team-leader-budget-errors.js.map +1 -0
  363. package/dist/core/workflow/engine/team-leader-common.d.ts.map +1 -1
  364. package/dist/core/workflow/engine/team-leader-common.js +11 -0
  365. package/dist/core/workflow/engine/team-leader-common.js.map +1 -1
  366. package/dist/core/workflow/engine/team-leader-execution.d.ts.map +1 -1
  367. package/dist/core/workflow/engine/team-leader-execution.js +16 -2
  368. package/dist/core/workflow/engine/team-leader-execution.js.map +1 -1
  369. package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
  370. package/dist/core/workflow/engine/team-leader-part-runner.js +22 -1
  371. package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
  372. package/dist/core/workflow/evaluation/AggregateEvaluator.d.ts.map +1 -1
  373. package/dist/core/workflow/evaluation/AggregateEvaluator.js +7 -4
  374. package/dist/core/workflow/evaluation/AggregateEvaluator.js.map +1 -1
  375. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts +3 -0
  376. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts.map +1 -1
  377. package/dist/core/workflow/evaluation/RuleEvaluator.js +16 -1
  378. package/dist/core/workflow/evaluation/RuleEvaluator.js.map +1 -1
  379. package/dist/core/workflow/evaluation/rule-utils.d.ts +5 -1
  380. package/dist/core/workflow/evaluation/rule-utils.d.ts.map +1 -1
  381. package/dist/core/workflow/evaluation/rule-utils.js +34 -1
  382. package/dist/core/workflow/evaluation/rule-utils.js.map +1 -1
  383. package/dist/core/workflow/evaluation/when-evaluator.d.ts.map +1 -1
  384. package/dist/core/workflow/evaluation/when-evaluator.js +4 -1
  385. package/dist/core/workflow/evaluation/when-evaluator.js.map +1 -1
  386. package/dist/core/workflow/findings/context.d.ts +5 -0
  387. package/dist/core/workflow/findings/context.d.ts.map +1 -0
  388. package/dist/core/workflow/findings/context.js +82 -0
  389. package/dist/core/workflow/findings/context.js.map +1 -0
  390. package/dist/core/workflow/findings/ledger-validation.d.ts +3 -0
  391. package/dist/core/workflow/findings/ledger-validation.d.ts.map +1 -0
  392. package/dist/core/workflow/findings/ledger-validation.js +26 -0
  393. package/dist/core/workflow/findings/ledger-validation.js.map +1 -0
  394. package/dist/core/workflow/findings/manager-output-validation.d.ts +15 -0
  395. package/dist/core/workflow/findings/manager-output-validation.d.ts.map +1 -0
  396. package/dist/core/workflow/findings/manager-output-validation.js +221 -0
  397. package/dist/core/workflow/findings/manager-output-validation.js.map +1 -0
  398. package/dist/core/workflow/findings/manager-runner.d.ts +89 -0
  399. package/dist/core/workflow/findings/manager-runner.d.ts.map +1 -0
  400. package/dist/core/workflow/findings/manager-runner.js +291 -0
  401. package/dist/core/workflow/findings/manager-runner.js.map +1 -0
  402. package/dist/core/workflow/findings/reconciler.d.ts +10 -0
  403. package/dist/core/workflow/findings/reconciler.d.ts.map +1 -0
  404. package/dist/core/workflow/findings/reconciler.js +413 -0
  405. package/dist/core/workflow/findings/reconciler.js.map +1 -0
  406. package/dist/core/workflow/findings/schemas.d.ts +2 -0
  407. package/dist/core/workflow/findings/schemas.d.ts.map +1 -0
  408. package/dist/core/workflow/findings/schemas.js +2 -0
  409. package/dist/core/workflow/findings/schemas.js.map +1 -0
  410. package/dist/core/workflow/findings/store.d.ts +33 -0
  411. package/dist/core/workflow/findings/store.d.ts.map +1 -0
  412. package/dist/core/workflow/findings/store.js +169 -0
  413. package/dist/core/workflow/findings/store.js.map +1 -0
  414. package/dist/core/workflow/findings/types.d.ts +3 -0
  415. package/dist/core/workflow/findings/types.d.ts.map +1 -0
  416. package/dist/core/workflow/findings/types.js +2 -0
  417. package/dist/core/workflow/findings/types.js.map +1 -0
  418. package/dist/core/workflow/instruction/InstructionBuilder.d.ts +1 -0
  419. package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +1 -1
  420. package/dist/core/workflow/instruction/InstructionBuilder.js +35 -11
  421. package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -1
  422. package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts +4 -0
  423. package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts.map +1 -1
  424. package/dist/core/workflow/instruction/ReportInstructionBuilder.js +22 -1
  425. package/dist/core/workflow/instruction/ReportInstructionBuilder.js.map +1 -1
  426. package/dist/core/workflow/instruction/fenced-json.d.ts +2 -0
  427. package/dist/core/workflow/instruction/fenced-json.d.ts.map +1 -0
  428. package/dist/core/workflow/instruction/fenced-json.js +11 -0
  429. package/dist/core/workflow/instruction/fenced-json.js.map +1 -0
  430. package/dist/core/workflow/instruction/instruction-context.d.ts +8 -0
  431. package/dist/core/workflow/instruction/instruction-context.d.ts.map +1 -1
  432. package/dist/core/workflow/instruction/instruction-context.js.map +1 -1
  433. package/dist/core/workflow/observability/traceDiscovery.d.ts +33 -0
  434. package/dist/core/workflow/observability/traceDiscovery.d.ts.map +1 -0
  435. package/dist/core/workflow/observability/traceDiscovery.js +104 -0
  436. package/dist/core/workflow/observability/traceDiscovery.js.map +1 -0
  437. package/dist/core/workflow/observability/workflowSpans.d.ts +5 -2
  438. package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
  439. package/dist/core/workflow/observability/workflowSpans.js +60 -13
  440. package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
  441. package/dist/core/workflow/phase-runner.d.ts +4 -0
  442. package/dist/core/workflow/phase-runner.d.ts.map +1 -1
  443. package/dist/core/workflow/phase-runner.js.map +1 -1
  444. package/dist/core/workflow/promotion/PromotionEvaluator.d.ts +2 -0
  445. package/dist/core/workflow/promotion/PromotionEvaluator.d.ts.map +1 -1
  446. package/dist/core/workflow/promotion/PromotionEvaluator.js +1 -0
  447. package/dist/core/workflow/promotion/PromotionEvaluator.js.map +1 -1
  448. package/dist/core/workflow/promotion/promotion-runtime.d.ts +2 -0
  449. package/dist/core/workflow/promotion/promotion-runtime.d.ts.map +1 -1
  450. package/dist/core/workflow/promotion/promotion-runtime.js +1 -0
  451. package/dist/core/workflow/promotion/promotion-runtime.js.map +1 -1
  452. package/dist/core/workflow/provider-options-trace.d.ts +3 -2
  453. package/dist/core/workflow/provider-options-trace.d.ts.map +1 -1
  454. package/dist/core/workflow/provider-resolution.d.ts +11 -3
  455. package/dist/core/workflow/provider-resolution.d.ts.map +1 -1
  456. package/dist/core/workflow/provider-resolution.js +68 -2
  457. package/dist/core/workflow/provider-resolution.js.map +1 -1
  458. package/dist/core/workflow/quality-gates/commandGateRunner.d.ts +1 -1
  459. package/dist/core/workflow/quality-gates/commandGateRunner.d.ts.map +1 -1
  460. package/dist/core/workflow/quality-gates/commandGateRunner.js +11 -6
  461. package/dist/core/workflow/quality-gates/commandGateRunner.js.map +1 -1
  462. package/dist/core/workflow/quality-gates/qualityGateRunner.d.ts +1 -1
  463. package/dist/core/workflow/quality-gates/qualityGateRunner.d.ts.map +1 -1
  464. package/dist/core/workflow/quality-gates/qualityGateRunner.js +2 -2
  465. package/dist/core/workflow/quality-gates/qualityGateRunner.js.map +1 -1
  466. package/dist/core/workflow/quality-gates/types.d.ts +2 -0
  467. package/dist/core/workflow/quality-gates/types.d.ts.map +1 -1
  468. package/dist/core/workflow/report-phase-runner.d.ts.map +1 -1
  469. package/dist/core/workflow/report-phase-runner.js +59 -44
  470. package/dist/core/workflow/report-phase-runner.js.map +1 -1
  471. package/dist/core/workflow/report-writer.d.ts +2 -0
  472. package/dist/core/workflow/report-writer.d.ts.map +1 -0
  473. package/dist/core/workflow/report-writer.js +42 -0
  474. package/dist/core/workflow/report-writer.js.map +1 -0
  475. package/dist/core/workflow/run/run-meta.d.ts +5 -0
  476. package/dist/core/workflow/run/run-meta.d.ts.map +1 -1
  477. package/dist/core/workflow/run/run-meta.js.map +1 -1
  478. package/dist/core/workflow/state/workflow-state-access.d.ts +2 -2
  479. package/dist/core/workflow/state/workflow-state-access.d.ts.map +1 -1
  480. package/dist/core/workflow/state/workflow-state-access.js +17 -2
  481. package/dist/core/workflow/state/workflow-state-access.js.map +1 -1
  482. package/dist/core/workflow/status-judgment-phase.d.ts.map +1 -1
  483. package/dist/core/workflow/status-judgment-phase.js +1 -0
  484. package/dist/core/workflow/status-judgment-phase.js.map +1 -1
  485. package/dist/core/workflow/types.d.ts +27 -1
  486. package/dist/core/workflow/types.d.ts.map +1 -1
  487. package/dist/features/analytics/events.d.ts +1 -1
  488. package/dist/features/analytics/events.d.ts.map +1 -1
  489. package/dist/features/analytics/index.d.ts +1 -1
  490. package/dist/features/analytics/index.d.ts.map +1 -1
  491. package/dist/features/analytics/index.js +1 -1
  492. package/dist/features/analytics/index.js.map +1 -1
  493. package/dist/features/analytics/report-parser.d.ts +5 -3
  494. package/dist/features/analytics/report-parser.d.ts.map +1 -1
  495. package/dist/features/analytics/report-parser.js +42 -7
  496. package/dist/features/analytics/report-parser.js.map +1 -1
  497. package/dist/features/interactive/aiCaller.d.ts.map +1 -1
  498. package/dist/features/interactive/aiCaller.js +4 -2
  499. package/dist/features/interactive/aiCaller.js.map +1 -1
  500. package/dist/features/pipeline/execute.d.ts.map +1 -1
  501. package/dist/features/pipeline/execute.js +2 -3
  502. package/dist/features/pipeline/execute.js.map +1 -1
  503. package/dist/features/pipeline/steps.d.ts +4 -3
  504. package/dist/features/pipeline/steps.d.ts.map +1 -1
  505. package/dist/features/pipeline/steps.js +46 -8
  506. package/dist/features/pipeline/steps.js.map +1 -1
  507. package/dist/features/repertoire/file-filter.d.ts +3 -3
  508. package/dist/features/repertoire/file-filter.d.ts.map +1 -1
  509. package/dist/features/repertoire/file-filter.js +3 -3
  510. package/dist/features/repertoire/file-filter.js.map +1 -1
  511. package/dist/features/repertoire/pack-summary.d.ts +21 -7
  512. package/dist/features/repertoire/pack-summary.d.ts.map +1 -1
  513. package/dist/features/repertoire/pack-summary.js +156 -24
  514. package/dist/features/repertoire/pack-summary.js.map +1 -1
  515. package/dist/features/repertoire/remove.d.ts +5 -2
  516. package/dist/features/repertoire/remove.d.ts.map +1 -1
  517. package/dist/features/repertoire/remove.js +9 -2
  518. package/dist/features/repertoire/remove.js.map +1 -1
  519. package/dist/features/repertoire/takt-repertoire-config.d.ts +3 -3
  520. package/dist/features/repertoire/takt-repertoire-config.d.ts.map +1 -1
  521. package/dist/features/repertoire/takt-repertoire-config.js +31 -16
  522. package/dist/features/repertoire/takt-repertoire-config.js.map +1 -1
  523. package/dist/features/tasks/add/index.d.ts +1 -0
  524. package/dist/features/tasks/add/index.d.ts.map +1 -1
  525. package/dist/features/tasks/add/index.js +1 -0
  526. package/dist/features/tasks/add/index.js.map +1 -1
  527. package/dist/features/tasks/execute/analyticsEmitter.d.ts +4 -1
  528. package/dist/features/tasks/execute/analyticsEmitter.d.ts.map +1 -1
  529. package/dist/features/tasks/execute/analyticsEmitter.js +30 -3
  530. package/dist/features/tasks/execute/analyticsEmitter.js.map +1 -1
  531. package/dist/features/tasks/execute/runAllTasks.d.ts.map +1 -1
  532. package/dist/features/tasks/execute/runAllTasks.js +2 -2
  533. package/dist/features/tasks/execute/runAllTasks.js.map +1 -1
  534. package/dist/features/tasks/execute/runMeta.d.ts +5 -1
  535. package/dist/features/tasks/execute/runMeta.d.ts.map +1 -1
  536. package/dist/features/tasks/execute/runMeta.js +6 -1
  537. package/dist/features/tasks/execute/runMeta.js.map +1 -1
  538. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  539. package/dist/features/tasks/execute/selectAndExecute.js +12 -0
  540. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  541. package/dist/features/tasks/execute/slackSummaryAdapter.d.ts +0 -1
  542. package/dist/features/tasks/execute/slackSummaryAdapter.d.ts.map +1 -1
  543. package/dist/features/tasks/execute/slackSummaryAdapter.js +0 -5
  544. package/dist/features/tasks/execute/slackSummaryAdapter.js.map +1 -1
  545. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  546. package/dist/features/tasks/execute/taskExecution.js +9 -0
  547. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  548. package/dist/features/tasks/execute/taskWorkflowExecution.d.ts.map +1 -1
  549. package/dist/features/tasks/execute/taskWorkflowExecution.js +20 -1
  550. package/dist/features/tasks/execute/taskWorkflowExecution.js.map +1 -1
  551. package/dist/features/tasks/execute/traceTaskMetadata.d.ts +20 -0
  552. package/dist/features/tasks/execute/traceTaskMetadata.d.ts.map +1 -0
  553. package/dist/features/tasks/execute/traceTaskMetadata.js +54 -0
  554. package/dist/features/tasks/execute/traceTaskMetadata.js.map +1 -0
  555. package/dist/features/tasks/execute/types.d.ts +13 -1
  556. package/dist/features/tasks/execute/types.d.ts.map +1 -1
  557. package/dist/features/tasks/execute/workflowExecution.d.ts.map +1 -1
  558. package/dist/features/tasks/execute/workflowExecution.js +44 -1
  559. package/dist/features/tasks/execute/workflowExecution.js.map +1 -1
  560. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts +2 -0
  561. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
  562. package/dist/features/tasks/execute/workflowExecutionBootstrap.js +16 -2
  563. package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
  564. package/dist/features/tasks/execute/workflowExecutionEvents.d.ts +2 -0
  565. package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
  566. package/dist/features/tasks/execute/workflowExecutionEvents.js +16 -2
  567. package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
  568. package/dist/features/tasks/execute/workflowExecutionReporting.d.ts +3 -2
  569. package/dist/features/tasks/execute/workflowExecutionReporting.d.ts.map +1 -1
  570. package/dist/features/tasks/execute/workflowExecutionReporting.js +14 -2
  571. package/dist/features/tasks/execute/workflowExecutionReporting.js.map +1 -1
  572. package/dist/features/tasks/index.d.ts +1 -1
  573. package/dist/features/tasks/index.d.ts.map +1 -1
  574. package/dist/features/tasks/index.js.map +1 -1
  575. package/dist/features/tasks/resume/index.d.ts.map +1 -1
  576. package/dist/features/tasks/resume/index.js +5 -0
  577. package/dist/features/tasks/resume/index.js.map +1 -1
  578. package/dist/infra/claude/client.d.ts.map +1 -1
  579. package/dist/infra/claude/client.js +1 -0
  580. package/dist/infra/claude/client.js.map +1 -1
  581. package/dist/infra/claude/options-builder.d.ts.map +1 -1
  582. package/dist/infra/claude/options-builder.js +2 -3
  583. package/dist/infra/claude/options-builder.js.map +1 -1
  584. package/dist/infra/claude/types.d.ts +2 -0
  585. package/dist/infra/claude/types.d.ts.map +1 -1
  586. package/dist/infra/claude-headless/headless-spawn.d.ts.map +1 -1
  587. package/dist/infra/claude-headless/headless-spawn.js +2 -1
  588. package/dist/infra/claude-headless/headless-spawn.js.map +1 -1
  589. package/dist/infra/claude-headless/types.d.ts +1 -0
  590. package/dist/infra/claude-headless/types.d.ts.map +1 -1
  591. package/dist/infra/claude-terminal/client.d.ts.map +1 -1
  592. package/dist/infra/claude-terminal/client.js +1 -0
  593. package/dist/infra/claude-terminal/client.js.map +1 -1
  594. package/dist/infra/claude-terminal/response-normalizer.js.map +1 -1
  595. package/dist/infra/claude-terminal/tmux-backend.d.ts.map +1 -1
  596. package/dist/infra/claude-terminal/tmux-backend.js +15 -1
  597. package/dist/infra/claude-terminal/tmux-backend.js.map +1 -1
  598. package/dist/infra/claude-terminal/types.d.ts +2 -0
  599. package/dist/infra/claude-terminal/types.d.ts.map +1 -1
  600. package/dist/infra/codex/client.d.ts.map +1 -1
  601. package/dist/infra/codex/client.js +3 -1
  602. package/dist/infra/codex/client.js.map +1 -1
  603. package/dist/infra/codex/types.d.ts +1 -0
  604. package/dist/infra/codex/types.d.ts.map +1 -1
  605. package/dist/infra/config/configNormalizers.d.ts +18 -7
  606. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  607. package/dist/infra/config/configNormalizers.js +55 -14
  608. package/dist/infra/config/configNormalizers.js.map +1 -1
  609. package/dist/infra/config/env/global-current-env-specs.d.ts.map +1 -1
  610. package/dist/infra/config/env/global-current-env-specs.js +1 -0
  611. package/dist/infra/config/env/global-current-env-specs.js.map +1 -1
  612. package/dist/infra/config/env/project-current-env-specs.d.ts.map +1 -1
  613. package/dist/infra/config/env/project-current-env-specs.js +1 -0
  614. package/dist/infra/config/env/project-current-env-specs.js.map +1 -1
  615. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  616. package/dist/infra/config/global/globalConfigCore.js +2 -1
  617. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  618. package/dist/infra/config/global/globalConfigSerializer.d.ts.map +1 -1
  619. package/dist/infra/config/global/globalConfigSerializer.js +5 -1
  620. package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
  621. package/dist/infra/config/loaders/namedResourceResolver.d.ts +18 -0
  622. package/dist/infra/config/loaders/namedResourceResolver.d.ts.map +1 -0
  623. package/dist/infra/config/loaders/namedResourceResolver.js +49 -0
  624. package/dist/infra/config/loaders/namedResourceResolver.js.map +1 -0
  625. package/dist/infra/config/loaders/providerOptionsLookupDirectories.d.ts +13 -0
  626. package/dist/infra/config/loaders/providerOptionsLookupDirectories.d.ts.map +1 -0
  627. package/dist/infra/config/loaders/providerOptionsLookupDirectories.js +61 -0
  628. package/dist/infra/config/loaders/providerOptionsLookupDirectories.js.map +1 -0
  629. package/dist/infra/config/loaders/workflowDiscovery.js +1 -1
  630. package/dist/infra/config/loaders/workflowDiscovery.js.map +1 -1
  631. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.d.ts.map +1 -1
  632. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.js +1 -1
  633. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.js.map +1 -1
  634. package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
  635. package/dist/infra/config/loaders/workflowParser.js +64 -3
  636. package/dist/infra/config/loaders/workflowParser.js.map +1 -1
  637. package/dist/infra/config/loaders/workflowPreview.d.ts.map +1 -1
  638. package/dist/infra/config/loaders/workflowPreview.js +8 -3
  639. package/dist/infra/config/loaders/workflowPreview.js.map +1 -1
  640. package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts +25 -0
  641. package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts.map +1 -0
  642. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js +150 -0
  643. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js.map +1 -0
  644. package/dist/infra/config/loaders/workflowRuleNormalizer.d.ts.map +1 -1
  645. package/dist/infra/config/loaders/workflowRuleNormalizer.js +5 -16
  646. package/dist/infra/config/loaders/workflowRuleNormalizer.js.map +1 -1
  647. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.d.ts.map +1 -1
  648. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js +5 -3
  649. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js.map +1 -1
  650. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts +3 -2
  651. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
  652. package/dist/infra/config/loaders/workflowStepNormalizer.js +65 -13
  653. package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
  654. package/dist/infra/config/paths.d.ts +4 -0
  655. package/dist/infra/config/paths.d.ts.map +1 -1
  656. package/dist/infra/config/paths.js +13 -0
  657. package/dist/infra/config/paths.js.map +1 -1
  658. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  659. package/dist/infra/config/project/projectConfig.js +12 -3
  660. package/dist/infra/config/project/projectConfig.js.map +1 -1
  661. package/dist/infra/config/providerOptions.d.ts +24 -7
  662. package/dist/infra/config/providerOptions.d.ts.map +1 -1
  663. package/dist/infra/config/providerOptions.js +85 -11
  664. package/dist/infra/config/providerOptions.js.map +1 -1
  665. package/dist/infra/config/providerOptionsContract.d.ts +3 -3
  666. package/dist/infra/config/providerOptionsContract.d.ts.map +1 -1
  667. package/dist/infra/config/providerOptionsContract.js +8 -0
  668. package/dist/infra/config/providerOptionsContract.js.map +1 -1
  669. package/dist/infra/config/traced/tracedConfigSchema.d.ts.map +1 -1
  670. package/dist/infra/config/traced/tracedConfigSchema.js +8 -0
  671. package/dist/infra/config/traced/tracedConfigSchema.js.map +1 -1
  672. package/dist/infra/copilot/client.d.ts.map +1 -1
  673. package/dist/infra/copilot/client.js +7 -8
  674. package/dist/infra/copilot/client.js.map +1 -1
  675. package/dist/infra/copilot/types.d.ts +1 -0
  676. package/dist/infra/copilot/types.d.ts.map +1 -1
  677. package/dist/infra/cursor/client.d.ts.map +1 -1
  678. package/dist/infra/cursor/client.js +120 -55
  679. package/dist/infra/cursor/client.js.map +1 -1
  680. package/dist/infra/cursor/types.d.ts +1 -0
  681. package/dist/infra/cursor/types.d.ts.map +1 -1
  682. package/dist/infra/kiro/client.d.ts.map +1 -1
  683. package/dist/infra/kiro/client.js +10 -0
  684. package/dist/infra/kiro/client.js.map +1 -1
  685. package/dist/infra/kiro/process.d.ts.map +1 -1
  686. package/dist/infra/kiro/process.js +4 -2
  687. package/dist/infra/kiro/process.js.map +1 -1
  688. package/dist/infra/kiro/types.d.ts +2 -0
  689. package/dist/infra/kiro/types.d.ts.map +1 -1
  690. package/dist/infra/observability/otelFoundation.d.ts.map +1 -1
  691. package/dist/infra/observability/otelFoundation.js +93 -20
  692. package/dist/infra/observability/otelFoundation.js.map +1 -1
  693. package/dist/infra/opencode/OpenCodeStreamHandler.d.ts +19 -0
  694. package/dist/infra/opencode/OpenCodeStreamHandler.d.ts.map +1 -1
  695. package/dist/infra/opencode/OpenCodeStreamHandler.js +10 -0
  696. package/dist/infra/opencode/OpenCodeStreamHandler.js.map +1 -1
  697. package/dist/infra/opencode/allowedTools.d.ts +2 -0
  698. package/dist/infra/opencode/allowedTools.d.ts.map +1 -0
  699. package/dist/infra/opencode/allowedTools.js +10 -0
  700. package/dist/infra/opencode/allowedTools.js.map +1 -0
  701. package/dist/infra/opencode/client.d.ts +4 -2
  702. package/dist/infra/opencode/client.d.ts.map +1 -1
  703. package/dist/infra/opencode/client.js +304 -124
  704. package/dist/infra/opencode/client.js.map +1 -1
  705. package/dist/infra/opencode/index.d.ts +1 -1
  706. package/dist/infra/opencode/index.d.ts.map +1 -1
  707. package/dist/infra/opencode/index.js +1 -1
  708. package/dist/infra/opencode/index.js.map +1 -1
  709. package/dist/infra/opencode/types.d.ts +12 -10
  710. package/dist/infra/opencode/types.d.ts.map +1 -1
  711. package/dist/infra/opencode/types.js +101 -36
  712. package/dist/infra/opencode/types.js.map +1 -1
  713. package/dist/infra/opencode/unavailable-tool-loop.d.ts +7 -0
  714. package/dist/infra/opencode/unavailable-tool-loop.d.ts.map +1 -0
  715. package/dist/infra/opencode/unavailable-tool-loop.js +33 -0
  716. package/dist/infra/opencode/unavailable-tool-loop.js.map +1 -0
  717. package/dist/infra/providers/allowed-tool-edit-policy.d.ts +3 -0
  718. package/dist/infra/providers/allowed-tool-edit-policy.d.ts.map +1 -0
  719. package/dist/infra/providers/allowed-tool-edit-policy.js +10 -0
  720. package/dist/infra/providers/allowed-tool-edit-policy.js.map +1 -0
  721. package/dist/infra/providers/claude-headless.d.ts +2 -0
  722. package/dist/infra/providers/claude-headless.d.ts.map +1 -1
  723. package/dist/infra/providers/claude-headless.js +8 -0
  724. package/dist/infra/providers/claude-headless.js.map +1 -1
  725. package/dist/infra/providers/claude-terminal.d.ts +2 -0
  726. package/dist/infra/providers/claude-terminal.d.ts.map +1 -1
  727. package/dist/infra/providers/claude-terminal.js +8 -0
  728. package/dist/infra/providers/claude-terminal.js.map +1 -1
  729. package/dist/infra/providers/claude.d.ts +2 -0
  730. package/dist/infra/providers/claude.d.ts.map +1 -1
  731. package/dist/infra/providers/claude.js +8 -0
  732. package/dist/infra/providers/claude.js.map +1 -1
  733. package/dist/infra/providers/codex.d.ts +2 -0
  734. package/dist/infra/providers/codex.d.ts.map +1 -1
  735. package/dist/infra/providers/codex.js +7 -0
  736. package/dist/infra/providers/codex.js.map +1 -1
  737. package/dist/infra/providers/copilot.d.ts +2 -0
  738. package/dist/infra/providers/copilot.d.ts.map +1 -1
  739. package/dist/infra/providers/copilot.js +7 -0
  740. package/dist/infra/providers/copilot.js.map +1 -1
  741. package/dist/infra/providers/cursor.d.ts +2 -0
  742. package/dist/infra/providers/cursor.d.ts.map +1 -1
  743. package/dist/infra/providers/cursor.js +7 -0
  744. package/dist/infra/providers/cursor.js.map +1 -1
  745. package/dist/infra/providers/kiro.d.ts +2 -0
  746. package/dist/infra/providers/kiro.d.ts.map +1 -1
  747. package/dist/infra/providers/kiro.js +8 -0
  748. package/dist/infra/providers/kiro.js.map +1 -1
  749. package/dist/infra/providers/mock.d.ts +2 -0
  750. package/dist/infra/providers/mock.d.ts.map +1 -1
  751. package/dist/infra/providers/mock.js +7 -0
  752. package/dist/infra/providers/mock.js.map +1 -1
  753. package/dist/infra/providers/opencode.d.ts +3 -1
  754. package/dist/infra/providers/opencode.d.ts.map +1 -1
  755. package/dist/infra/providers/opencode.js +16 -3
  756. package/dist/infra/providers/opencode.js.map +1 -1
  757. package/dist/infra/providers/provider-capabilities.d.ts +2 -0
  758. package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
  759. package/dist/infra/providers/provider-capabilities.js +13 -1
  760. package/dist/infra/providers/provider-capabilities.js.map +1 -1
  761. package/dist/infra/providers/runtimeSystemPrompt.d.ts +2 -0
  762. package/dist/infra/providers/runtimeSystemPrompt.d.ts.map +1 -0
  763. package/dist/infra/providers/runtimeSystemPrompt.js +11 -0
  764. package/dist/infra/providers/runtimeSystemPrompt.js.map +1 -0
  765. package/dist/infra/providers/types.d.ts +3 -0
  766. package/dist/infra/providers/types.d.ts.map +1 -1
  767. package/dist/infra/rate-limit/detection.d.ts +1 -1
  768. package/dist/infra/rate-limit/detection.d.ts.map +1 -1
  769. package/dist/infra/rate-limit/detection.js +6 -7
  770. package/dist/infra/rate-limit/detection.js.map +1 -1
  771. package/dist/infra/resources/schema-loader.d.ts +1 -1
  772. package/dist/infra/resources/schema-loader.d.ts.map +1 -1
  773. package/dist/infra/resources/schema-loader.js +8 -4
  774. package/dist/infra/resources/schema-loader.js.map +1 -1
  775. package/dist/infra/service/runSyncConflictResolver.d.ts.map +1 -1
  776. package/dist/infra/service/runSyncConflictResolver.js +3 -1
  777. package/dist/infra/service/runSyncConflictResolver.js.map +1 -1
  778. package/dist/infra/task/clone-base-branch.d.ts +1 -0
  779. package/dist/infra/task/clone-base-branch.d.ts.map +1 -1
  780. package/dist/infra/task/clone-base-branch.js +22 -14
  781. package/dist/infra/task/clone-base-branch.js.map +1 -1
  782. package/dist/infra/task/clone.d.ts +2 -0
  783. package/dist/infra/task/clone.d.ts.map +1 -1
  784. package/dist/infra/task/clone.js +7 -1
  785. package/dist/infra/task/clone.js.map +1 -1
  786. package/dist/infra/task/index.d.ts +1 -1
  787. package/dist/infra/task/index.d.ts.map +1 -1
  788. package/dist/infra/task/index.js +1 -1
  789. package/dist/infra/task/index.js.map +1 -1
  790. package/dist/infra/task/mapper.d.ts.map +1 -1
  791. package/dist/infra/task/mapper.js +1 -0
  792. package/dist/infra/task/mapper.js.map +1 -1
  793. package/dist/infra/task/summarize.d.ts.map +1 -1
  794. package/dist/infra/task/summarize.js +3 -1
  795. package/dist/infra/task/summarize.js.map +1 -1
  796. package/dist/infra/task/taskExecutionSchemas.d.ts +3 -3
  797. package/dist/infra/task/taskRecordSchemas.d.ts +2 -2
  798. package/dist/infra/task/types.d.ts +1 -0
  799. package/dist/infra/task/types.d.ts.map +1 -1
  800. package/dist/shared/constants.d.ts +2 -0
  801. package/dist/shared/constants.d.ts.map +1 -1
  802. package/dist/shared/constants.js +2 -0
  803. package/dist/shared/constants.js.map +1 -1
  804. package/dist/shared/prompts/en/perform_agent_system_prompt.md +9 -1
  805. package/dist/shared/prompts/en/perform_phase2_message.md +1 -0
  806. package/dist/shared/prompts/en/provider_runtime_system_prompt.md +18 -0
  807. package/dist/shared/prompts/index.d.ts +1 -1
  808. package/dist/shared/prompts/index.d.ts.map +1 -1
  809. package/dist/shared/prompts/index.js +7 -1
  810. package/dist/shared/prompts/index.js.map +1 -1
  811. package/dist/shared/prompts/ja/perform_agent_system_prompt.md +9 -1
  812. package/dist/shared/prompts/ja/perform_phase2_message.md +1 -0
  813. package/dist/shared/prompts/ja/provider_runtime_system_prompt.md +18 -0
  814. package/dist/shared/telemetry/childProcessEnv.d.ts +7 -0
  815. package/dist/shared/telemetry/childProcessEnv.d.ts.map +1 -0
  816. package/dist/shared/telemetry/childProcessEnv.js +176 -0
  817. package/dist/shared/telemetry/childProcessEnv.js.map +1 -0
  818. package/dist/shared/telemetry/index.d.ts +3 -0
  819. package/dist/shared/telemetry/index.d.ts.map +1 -0
  820. package/dist/shared/telemetry/index.js +3 -0
  821. package/dist/shared/telemetry/index.js.map +1 -0
  822. package/dist/shared/telemetry/otlp.d.ts +40 -0
  823. package/dist/shared/telemetry/otlp.d.ts.map +1 -0
  824. package/dist/shared/telemetry/otlp.js +72 -0
  825. package/dist/shared/telemetry/otlp.js.map +1 -0
  826. package/dist/shared/types/provider.d.ts +25 -0
  827. package/dist/shared/types/provider.d.ts.map +1 -1
  828. package/dist/shared/ui/StreamDisplay.d.ts.map +1 -1
  829. package/dist/shared/ui/StreamDisplay.js +2 -1
  830. package/dist/shared/ui/StreamDisplay.js.map +1 -1
  831. package/dist/shared/utils/index.d.ts +1 -0
  832. package/dist/shared/utils/index.d.ts.map +1 -1
  833. package/dist/shared/utils/index.js +1 -0
  834. package/dist/shared/utils/index.js.map +1 -1
  835. package/dist/shared/utils/runId.d.ts +2 -0
  836. package/dist/shared/utils/runId.d.ts.map +1 -0
  837. package/dist/shared/utils/runId.js +18 -0
  838. package/dist/shared/utils/runId.js.map +1 -0
  839. package/package.json +25 -10
  840. package/builtins/en/facets/instructions/review-requirements.md +0 -17
  841. package/builtins/en/facets/output-contracts/requirements-review.md +0 -56
  842. package/builtins/en/facets/personas/requirements-reviewer.md +0 -33
  843. package/builtins/ja/facets/instructions/review-requirements.md +0 -17
  844. package/builtins/ja/facets/output-contracts/requirements-review.md +0 -56
  845. package/builtins/ja/facets/personas/requirements-reviewer.md +0 -33
@@ -7,25 +7,39 @@
7
7
 
8
8
  Extract requirements from the task spec and verify each one individually against actual code.
9
9
 
10
- | # | Decomposed requirement | Met | Evidence (file:line) |
11
- |---|------------------------|-----|---------------------|
12
- | 1 | {requirement 1} | ✅/❌ | `src/file.ts:42` |
13
- | 2 | {requirement 2} | ✅/❌ | `src/file.ts:55` |
10
+ | # | Decomposed requirement | Original Requirement Source | Met | Evidence (file:line) | Exception / Optionalization Evidence |
11
+ |---|------------------------|-----------------------------|-----|----------------------|------------------------------------|
12
+ | 1 | {requirement 1} | `order.md:10` | ✅/❌ | `src/file.ts:42` | none |
13
+ | 2 | {requirement 2} | `order.md:11` | ✅/❌ | `src/file.ts:55` | none |
14
14
 
15
15
  - If a sentence contains multiple conditions, split it into the smallest independently verifiable rows
16
16
  - Do not combine parallel conditions such as `A/B`, `global/project`, `JSON/leaf`, `allow/deny`, or `read/write` into one row
17
17
  - If any ❌ exists, REJECT is mandatory
18
18
  - ✅ without evidence is invalid (must verify against actual code)
19
19
  - Do not mark a row as ✅ when the evidence covers only part of the cases
20
- - Do not rely on plan report's judgment; independently verify each requirement
20
+ - Treat optionalization, exclusion, or exception not present in the task spec as unmet
21
+ - Do not rely on plan report's judgment; independently verify mergeability
21
22
 
22
23
  ## Re-evaluation of Prior Findings
23
- | finding_id | Prior Status | Re-evaluation | Evidence |
24
- |------------|--------------|---------------|----------|
25
- | {id} | new / persists / resolved | valid / false_positive / overreach | `src/file.ts:42`, `reports/plan.md` |
24
+ | finding_id | Prior Status | Original Expected Result | Re-evaluation | Evidence |
25
+ |------------|--------------|--------------------------|---------------|----------|
26
+ | {id} | new / persists / resolved | {Original finding acceptance criteria} | valid / false_positive / overreach | `src/file.ts:42`, `reports/plan.md` |
26
27
 
27
28
  - If final judgment differs from prior review conclusions, explain why with evidence
29
+ - Treat `resolved` as valid only when it satisfies the original expected result and original requirement
28
30
  - If marking `false_positive` or `overreach`, state whether it conflicts with the task objective, the plan, or both
31
+ - If overturning a pure-review conclusion, explain why with concrete evidence
32
+
33
+ ## Maintenance Scope Check (maintenance workflows only)
34
+
35
+ | Check | Result | Evidence |
36
+ |-------|--------|----------|
37
+ | Only required changes remain | ✅/❌ | {Evidence} |
38
+ | Related changes have clear reasons | ✅/❌ | {Evidence} |
39
+ | No unnecessary changes remain | ✅/❌ | {Evidence} |
40
+ | No out-of-scope comment deletion occurred | ✅/❌ | {Evidence} |
41
+ | Type names, file placement, and public APIs did not change out of scope | ✅/❌ | {Evidence} |
42
+ | UI copy, accessible names, and test expectations did not change out of scope | ✅/❌ | {Evidence} |
29
43
 
30
44
  ## Validation Summary
31
45
  | Item | Status | Verification Method |
@@ -38,6 +52,11 @@ Extract requirements from the task spec and verify each one individually against
38
52
  - When using `⚠️`, explain the missing evidence and the verified scope in the method column
39
53
  - If report text conflicts with execution evidence, treat that inconsistency itself as a finding
40
54
 
55
+ ## Unverified Scope
56
+ | Item | Impact | Treatment |
57
+ |------|--------|-----------|
58
+ | {Unverified scope, or "none"} | {Primary or supporting requirement} | APPROVE allowed / REJECT reason |
59
+
41
60
  ## Current Iteration Findings (new)
42
61
  | # | finding_id | Item | Evidence | Reason | Required Action |
43
62
  |---|------------|------|----------|--------|-----------------|
@@ -49,14 +68,19 @@ Extract requirements from the task spec and verify each one individually against
49
68
  | 1 | VAL-PERSIST-src-file-L77 | `file:line` | `file:line` | Still unresolved | Apply fix |
50
69
 
51
70
  ## Resolved Findings (resolved)
52
- | finding_id | Resolution Evidence |
53
- |------------|---------------------|
54
- | VAL-RESOLVED-src-file-L10 | `file:line` now passes validation |
71
+ | finding_id | Original Expected Result | Resolution Evidence |
72
+ |------------|--------------------------|---------------------|
73
+ | VAL-RESOLVED-src-file-L10 | {Original finding acceptance criteria} | `file:line` now passes validation |
55
74
 
56
75
  ## Deliverables
57
76
  - Created: {Created files}
58
77
  - Modified: {Modified files}
59
78
 
79
+ ## Outstanding Items (if REJECT)
80
+ | # | Item | Reason |
81
+ |---|------|--------|
82
+ | 1 | {Item} | {Reason} |
83
+
60
84
  ## Rejection Gate
61
85
  - REJECT is valid only when at least one finding exists in `new` or `persists`
62
86
  - Findings without `finding_id` are invalid
@@ -0,0 +1,31 @@
1
+ ```markdown
2
+ # Terraform Convention Review
3
+
4
+ ## Result: APPROVE / REJECT
5
+
6
+ ## Summary
7
+ {Summarize the result in 1-2 sentences}
8
+
9
+ ## Reviewed Aspects
10
+ - [x] Variable declarations (type, description, sensitive)
11
+ - [x] Resource naming (name_prefix pattern)
12
+ - [x] File structure (one concern per file)
13
+ - [x] Security settings
14
+ - [x] Tag management
15
+ - [x] lifecycle rules
16
+ - [x] Cost trade-off documentation
17
+
18
+ ## Observed Findings
19
+ | # | family_tag | Severity | Scope | Location | Issue | Impact | Fix Suggestion |
20
+ |---|------------|----------|-------|----------|-------|--------|----------------|
21
+ | 1 | tf-convention | High / Medium / Low | In-scope | `modules/example/main.tf:42` | Issue description | Operations, security, or maintainability impact | Fix approach |
22
+
23
+ Scope: "In-scope" (fixable in this change) / "Out-of-scope" (existing issue, non-blocking)
24
+
25
+ ## Rejection Gate
26
+ - REJECT only when at least one blocking finding is observed
27
+ ```
28
+
29
+ **Cognitive load reduction rules:**
30
+ - APPROVE → Summary only (5 lines or fewer)
31
+ - REJECT → Include only relevant finding rows (30 lines or fewer)
@@ -0,0 +1,41 @@
1
+ ```markdown
2
+ # Testing Review
3
+
4
+ ## Result: APPROVE / REJECT
5
+
6
+ ## Summary
7
+ {Summarize the result in 1-2 sentences}
8
+
9
+ ## Reviewed Aspects
10
+ | Aspect | Result | Notes |
11
+ |--------|--------|-------|
12
+ | Test coverage | ✅ | - |
13
+ | Test structure (Given-When-Then) | ✅ | - |
14
+ | Test naming | ✅ | - |
15
+ | Test independence & reproducibility | ✅ | - |
16
+ | Mocks & fixtures | ✅ | - |
17
+ | Test strategy (unit/integration/E2E) | ✅ | - |
18
+ | Contract input location (body/query/path) | ✅ | - |
19
+
20
+ ## Observed Findings
21
+ | # | family_tag | Category | Severity | Location | Issue | Fix Suggestion |
22
+ |---|------------|----------|----------|----------|-------|----------------|
23
+ | 1 | test-structure | Coverage | high / medium / low | `src/test.ts:42` | Issue description | Fix suggestion |
24
+
25
+ ## Verification Evidence
26
+ - Build: {Verified target, what was checked, and observed result; or state that it was unverified}
27
+ - Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
28
+ - Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
29
+
30
+ ## Unverified Scope
31
+ | Item | Reason | Impact on Decision |
32
+ |------|--------|--------------------|
33
+ | {Unverified scope, or "none"} | {Reason it was not verified} | {APPROVE allowed / REJECT reason} |
34
+
35
+ ## Rejection Gate
36
+ - REJECT is valid only when at least one blocking finding is observed
37
+ ```
38
+
39
+ **Cognitive load reduction rules:**
40
+ - APPROVE: Summary and unverified scope only (8 lines or fewer)
41
+ - REJECT: Only relevant findings in tables (30 lines or fewer)
@@ -42,11 +42,16 @@
42
42
  - Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
43
43
  - Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
44
44
 
45
+ ## Unverified Scope
46
+ | Item | Reason | Impact on Decision |
47
+ |------|--------|--------------------|
48
+ | {Unverified scope, or "none"} | {Reason it was not verified} | {APPROVE allowed / REJECT reason} |
49
+
45
50
  ## Rejection Gate
46
51
  - REJECT is valid only when at least one finding exists in `new`, `persists`, or `reopened`
47
52
  - Findings without `finding_id` are invalid
48
53
  ```
49
54
 
50
55
  **Cognitive load reduction rules:**
51
- - APPROVE: Summary only (5 lines or fewer)
56
+ - APPROVE: Summary and unverified scope only (8 lines or fewer)
52
57
  - REJECT: Only relevant findings in tables (30 lines or fewer)
@@ -14,8 +14,8 @@ You are an AI-generated code expert. You review code produced by AI coding assis
14
14
  - Detect unnecessary backward-compatibility code
15
15
 
16
16
  **Don't:**
17
- - Review architecture
18
- - Review security vulnerabilities
17
+ - Flag issues that are not tied to AI-generated-code failure patterns
18
+ - Make speculative or preference-only findings
19
19
  - Write code yourself
20
20
 
21
21
  ## Behavioral Principles
@@ -39,7 +39,7 @@ Code is read far more often than it is written. Poorly structured code destroys
39
39
  **Don't:**
40
40
  - Write code yourself (only provide feedback and suggestions)
41
41
  - Give vague feedback ("clean this up" is prohibited)
42
- - Review AI-specific issues
42
+ - Flag issues that cannot be justified from this review perspective
43
43
 
44
44
  ## Important
45
45
 
@@ -0,0 +1,18 @@
1
+ # Findings Manager
2
+
3
+ You manage Finding Contract reconciliation.
4
+
5
+ Compare reviewer raw findings with the existing ledger, then classify each issue as an existing match, new finding, resolved finding, or reopened finding. The engine allocates final IDs, so only map raw findings to existing IDs and grouped rawFindingIds.
6
+
7
+ Responsibilities:
8
+ - Reconcile the prior integrated ledger with current raw findings.
9
+ - Classify raw findings as existing matches, new findings, resolved findings, or reopened findings.
10
+ - Group rawFindingIds into structured data that lets the engine allocate final IDs.
11
+
12
+ Rules:
13
+ - Do not make semantic severity or priority judgments.
14
+ - Do not merge findings with different `family_tag`, location, or issue meaning.
15
+ - Do not blame reviewers.
16
+ - Do not allocate final `finding_id` values.
17
+ - Treat identical location + `family_tag` + issue meaning as the existing-match standard.
18
+ - Treat ambiguous or merely similar findings as distinct.
@@ -9,10 +9,10 @@ You are a **PR comment posting specialist**. You post review findings to GitHub
9
9
  - Filter findings by severity to reduce noise
10
10
 
11
11
  **Don't:**
12
- - Review code yourself (reviewers already did that)
12
+ - Review code yourself
13
13
  - Make any file edits
14
14
  - Run tests or builds
15
- - Make judgments about code quality (post what reviewers found)
15
+ - Make judgments about code quality (treat review reports as the posting source)
16
16
 
17
17
  ## Core Knowledge
18
18
 
@@ -0,0 +1,22 @@
1
+ # Pure Reviewer
2
+
3
+ You are a reviewer who plainly judges whether the current change is mergeable quality. Without limiting yourself to one specialty, identify issues that would make merging risky based on the diff, surrounding code, and execution evidence.
4
+
5
+ ## Role Boundaries
6
+
7
+ **Do:**
8
+ - Judge whether the change can be merged now based on actual code and diffs
9
+ - Detect unmet requests, broken existing behavior, missing tests, out-of-scope changes, and obvious risks
10
+ - Report only blocking issues with concrete evidence
11
+
12
+ **Don't:**
13
+ - Write code yourself
14
+ - Turn unsupported speculation into findings
15
+ - Request preference-only improvements
16
+ - Mix unrelated pre-existing issues into the review
17
+
18
+ ## Behavioral Principles
19
+
20
+ - Keep the final question as: "Can this change be merged now?"
21
+ - Look for impact on real users, existing flows, and tests instead of merely completing a checklist
22
+ - APPROVE when there are no blocking issues
@@ -22,7 +22,7 @@ you verify "**was the right thing built (Validation)**".
22
22
  ## Behavioral Principles
23
23
 
24
24
  - Re-check requirements yourself. Do not adopt the decomposition from earlier reviews without verification
25
- - Treat `requirements-review` as supporting material, not as the final answer
25
+ - Treat `pure-review` as supporting material, not as the final answer
26
26
  - Mark missing execution evidence as unverified instead of assuming success
27
27
  - Treat contradictions between report text and execution evidence as first-class findings
28
28
  - Distinguish `false_positive` from `overreach`; a technically invalid finding and a scope-exceeding finding are not the same
@@ -12,9 +12,9 @@ You are an IaC (Infrastructure as Code) convention specialist reviewer. You veri
12
12
 
13
13
  **Don't:**
14
14
  - Write code yourself (only provide findings and fix suggestions)
15
- - Review AI-specific issues (separate review agent's responsibility)
16
- - Review application code (design review agent's responsibility)
17
- - Execute `terraform plan` (validation agent's responsibility)
15
+ - Flag issues unrelated to Terraform conventions, IaC security, or cost impact
16
+ - Review application code
17
+ - Execute `terraform plan`
18
18
 
19
19
  ## Behavioral Principles
20
20
 
@@ -1,5 +1,20 @@
1
1
  # AI Antipattern Detection Criteria
2
2
 
3
+ Detect assumptions, over-implementation, and superficial fixes that AI-generated changes commonly introduce.
4
+
5
+ ## Principles
6
+
7
+ | Principle | Criteria |
8
+ |-----------|----------|
9
+ | Requirement fit | Verify that the implementation answers the actual request |
10
+ | Reality check | Do not infer APIs, settings, fields, or wiring paths |
11
+ | Context fit | Match existing naming, structure, error handling, logging, and tests |
12
+ | Minimal diff | Do not mix in unnecessary features, abstractions, settings, or compatibility code |
13
+ | Contract preservation | Do not change UI copy, public APIs, return values, errors, or test expectations out of scope |
14
+ | Direct fixes | Do not replace a fix with tests or documentation explaining the issue |
15
+ | Reachability | Confirm that added or retained code is used by current call paths |
16
+ | Verifiability | Check code paths, usage sites, and execution results instead of explanations |
17
+
3
18
  ## Assumption Verification
4
19
 
5
20
  AI often makes assumptions. Verify them.
@@ -112,11 +127,13 @@ AI sometimes "addresses" review findings by adding tests or documentation that "
112
127
  | Adding tests instead of fixing | "Remove unnecessary comments" → adds tests verifying comment presence | REJECT |
113
128
  | Adding docs instead of fixing | "DRY violation" → adds documentation explaining duplication is intentional | REJECT |
114
129
  | Changing unrelated files | Security finding → performs unrelated refactoring | REJECT |
130
+ | Absence checks for an old specification instead of implementing a changed specification | "Replace old badge display with filtering from the list" → lower-level component only verifies the old badge is not shown | REJECT |
115
131
 
116
132
  Verification approach:
117
133
  1. Check if the fix diff includes changes to the finding's target file and target lines
118
134
  2. If the fix consists only of new file additions, check whether those files "fix" the issue or merely "verify" it
119
135
  3. If tests are added as part of the fix, verify they test "correct behavior after the fix" (not "the finding itself")
136
+ 4. For mid-PR specification changes, verify the tests cover the new behavior in the layer that owns it, not only the absence of the old specification
120
137
 
121
138
  ## Context Fitness Assessment
122
139
 
@@ -134,6 +151,22 @@ Questions to ask:
134
151
  - Does it feel like it belongs here?
135
152
  - Are there unexplained deviations from project conventions?
136
153
 
154
+ ## Integration Pattern Consistency
155
+
156
+ Check whether the same kind of API connection, such as REST calls, is implemented in inconsistent ways within the project.
157
+
158
+ | Pattern | Example | Verdict |
159
+ |---------|---------|---------|
160
+ | Mixed generated and hand-written clients | Screen A uses Orval-generated hooks, screen B calls axiosInstance directly | REJECT |
161
+ | Different implementations for the same data-fetching pattern | Screen A uses useQuery + axios, screen B uses generated hooks | REJECT |
162
+ | Mixed data type definition styles | Screen A uses generated types, screen B uses hand-written types | REJECT |
163
+
164
+ Verification approach:
165
+ 1. Check the API calling style in the diff
166
+ 2. Grep existing code for the style used by code with the same purpose
167
+ 3. Check whether the project has API generation config, such as orval.config.ts
168
+ 4. If inconsistent, flag unification to the project standard pattern
169
+
137
170
  ## Scope Creep Detection
138
171
 
139
172
  AI tends to over-deliver. Check for unnecessary additions.
@@ -319,6 +319,42 @@ const storage = createStorage(config)
319
319
  return storage.upload(file, options)
320
320
  ```
321
321
 
322
+ ## Naming
323
+
324
+ A name expresses the code's actual role and effect, not its implementation mechanism. Code whose name leads the reader to misread behavior, responsibility, or side effects is bad code.
325
+
326
+ | Pattern | Example | Verdict |
327
+ |---------|---------|---------|
328
+ | Name contradicts the actual effect | Reads as if it causes a side effect every time, but actually returns a cached value | REJECT |
329
+ | Side effects or call frequency are unreadable | Cannot tell from the name whether it initializes, retrieves, or updates | REJECT |
330
+ | Cannot distinguish it from nearby APIs | Same name as the wrapped or delegated API, hiding which layer owns the responsibility | REJECT |
331
+ | Named after role/effect | The provided value, state change, or responsibility is clear from the name | OK |
332
+
333
+ ```typescript
334
+ // REJECT - Name reads as if it causes a side effect every time, but it is a memoized accessor
335
+ let resourcePromise: Promise<Resource> | null = null
336
+ function openResource(): Promise<Resource> {
337
+ if (!resourcePromise) {
338
+ resourcePromise = createResource()
339
+ }
340
+ return resourcePromise
341
+ }
342
+
343
+ // OK - Name it after its actual role: getting an available resource
344
+ function getResource(): Promise<Resource> {
345
+ if (!resourcePromise) {
346
+ resourcePromise = createResource()
347
+ }
348
+ return resourcePromise
349
+ }
350
+ ```
351
+
352
+ Criteria:
353
+ 1. Does the name express the actual role/effect?
354
+ 2. Does the implementation match the side effects, call frequency, and responsibility implied by the name?
355
+ 3. Does it avoid confusion with wrapped, delegated, or nearby APIs?
356
+ 4. Is it consistent with the naming conventions already used in the surrounding code?
357
+
322
358
  ## Structure
323
359
 
324
360
  ### Criteria for Splitting
@@ -10,6 +10,13 @@ Define the shared judgment criteria and behavioral principles for all reviewers.
10
10
  | Eliminate ambiguity | Vague feedback like "clean this up a bit" is prohibited. Specify file, line, and proposed fix |
11
11
  | Fact-check | Verify against actual code before raising issues. Do not speculate |
12
12
  | Practical fixes | Propose implementable solutions, not theoretical ideals |
13
+ | State consistency | For side effects and state changes, verify that success, failure, and interruption paths have no missing, duplicated, or inconsistent effects |
14
+ | Contract coverage | Verify new contracts across normal entries, derived conditions, validation, evaluation, output, and re-injection paths |
15
+ | Contract consistency | Verify that contracts carried by consolidation or abstraction are applied to existing equivalent branches by the same standard |
16
+ | Specification completeness | When changing a user-facing contract, verify that implementation, tests, and documentation describe the same lookup order, override rules, special syntax, and failure conditions |
17
+ | Requirement anchoring | Do not reinterpret required task items as optional, out of scope, or different requirements for implementation convenience |
18
+ | Resolution judgment | Judge `resolved` against the original finding acceptance criteria and original task requirements, not merely against the presence of a fix |
19
+ | Behavior evidence | Verify what behavior the tests or logs prove, not merely that they exist |
13
20
  | Boy Scout | Have problems fixed within the task scope when they are in changed code or in areas directly affecting correctness, contracts, or wiring of the change |
14
21
 
15
22
  ## Scope Determination
@@ -31,6 +38,7 @@ Define the shared judgment criteria and behavioral principles for all reviewers.
31
38
  REJECT without exception if any of the following apply.
32
39
 
33
40
  - New behavior without tests
41
+ - Boundary changes (permissions, rejection paths, external execution, shared state, state transitions) without verification of the main allow/deny, success/failure, isolation/release behavior
34
42
  - Bug fix without a regression test
35
43
  - Use of `any` type
36
44
  - Fallback value abuse (`?? 'unknown'`)
@@ -45,7 +53,11 @@ REJECT without exception if any of the following apply.
45
53
  - Internal implementation exported from public API (infrastructure functions or internal classes exposed publicly)
46
54
  - Replaced code/exports surviving after refactoring
47
55
  - Missing cross-validation of related fields (invariants of semantically coupled config values left unverified)
48
- - Missing caller, producer, or test data updates after a contract change
56
+ - Missing caller, producer, consumer, validator, test data, or derived-entry updates after a contract change
57
+ - User-facing contract changes for configuration, CLI, or file formats where documentation or examples omit priority, first-match/merge behavior, inline overrides, scoped/special references, or failure conditions
58
+ - Existing branches with the same contract remain on the old implementation after adding or changing a shared helper, normalizer, builder, or adapter
59
+ - Fields, attributes, outputs, settings, or identifiers requested by the task are treated as optional, unset, out of scope, or missing for some entry point or execution mode without explicit evidence
60
+ - Missing, duplicated, or incorrectly ordered effects in side-effect or state-change paths
49
61
  - Sensitive data exposed in logs, error responses, or test output
50
62
 
51
63
  A DRY finding is not complete unless the proposed consolidation target is also sound. A consolidation proposal is invalid unless all of the following hold.
@@ -61,7 +73,7 @@ Not blocking, but improvement is recommended.
61
73
  - Insufficient edge case / boundary value tests
62
74
  - Tests coupled to implementation details
63
75
  - Overly complex functions/files
64
- - Unclear naming
76
+ - Naming diverges from reality
65
77
  - TODO/FIXME with issue number, external blocker, and removal condition
66
78
  - `@ts-ignore` or `eslint-disable` without justification
67
79
 
@@ -69,6 +81,17 @@ Not blocking, but improvement is recommended.
69
81
 
70
82
  Approve when all REJECT criteria are cleared and quality standards are met. Never give conditional approval. If there are problems, reject.
71
83
 
84
+ ## Judging Behavior Evidence
85
+
86
+ Checks that only inspect configuration values, logs, snapshots, or the last observed state are supplementary evidence. They do not prove primary behaviors such as rejection, permission, isolation, or release.
87
+
88
+ | Evidence | Judgment |
89
+ |----------|----------|
90
+ | Expected behavior is observed in execution results | OK |
91
+ | Deterministic tests cover the main boundary conditions | OK |
92
+ | Only external-environment E2E exists, with no reproducible verification of the main boundary | Warning or REJECT |
93
+ | Behavior is approved from configuration values, logs, or snapshots only | REJECT |
94
+
72
95
  ## Fact-Checking
73
96
 
74
97
  Always verify facts before raising an issue.
@@ -114,12 +137,39 @@ Every issue raised must include the following.
114
137
 
115
138
  To prevent circular rejections, track findings by ID.
116
139
 
140
+ Finding Contract applies to the whole review workflow, not to individual findings.
141
+ Treat a workflow as using Finding Contract only when it is declared at workflow level
142
+ with `finding_contract` configuration. A `findings-ledger.json` file, a dedicated
143
+ "Finding Contract" section in the instruction template, or an `Observed Findings`
144
+ table in the output contract is supporting evidence inside an already configured
145
+ Finding Contract workflow; none of these artifacts enables Finding Contract by itself.
146
+
147
+ When Finding Contract is in use, reviewers must not allocate new final `finding_id`
148
+ values and must not classify lifecycle as `new`, `persists`, `resolved`, or
149
+ `reopened`. Report observed problems as raw findings in the `Observed Findings`
150
+ table. Refer to existing IDs only when they are present in the ledger. ID assignment
151
+ and lifecycle matching belong to the findings-manager and engine.
152
+
153
+ When a workflow is configured with Finding Contract and a parseable ledger is available,
154
+ the ledger is the authoritative source for tracked findings. Individual reports and raw
155
+ finding details are supporting evidence. If a ledger exists but is incomplete, follow
156
+ mapped findings from the ledger and treat unmapped raw findings as potential new entries
157
+ pending findings-manager reconciliation. If no parseable ledger is available in a
158
+ configured Finding Contract workflow, use report history only as supporting evidence for
159
+ observed raw findings. Do not assign final `finding_id` values or lifecycle states and
160
+ do not apply the legacy rules; wait for ledger regeneration or findings-manager
161
+ reconciliation.
162
+
163
+ ### Legacy Finding ID Rules (for workflows without Finding Contract)
164
+
165
+ When a workflow does not use `finding_contract` configuration, follow these legacy rules.
166
+
117
167
  - Every issue raised in a REJECT must include a `finding_id`
118
168
  - If the same issue is raised again, reuse the same `finding_id`
119
169
  - For repeated issues, set status to `persists` and include concrete evidence (file/line) that it remains unresolved
120
170
  - New issues must use status `new`
121
171
  - Resolved issues must be listed with status `resolved`
122
- - Issues without `finding_id` are invalid (cannot be used as rejection grounds)
172
+ - Issues without `finding_id` are invalid (cannot be used as rejection grounds). This legacy rule does not apply to Finding Contract workflows.
123
173
  - REJECT is allowed only when there is at least one `new` or `persists` issue
124
174
  - Before treating a prior finding as resolved, verify that the fix did not introduce a different structural or contract problem
125
175
 
@@ -225,6 +275,7 @@ The review target is the entire cumulative diff from the task's starting point (
225
275
  - Use `order.md`, `plan.md`, and the actual code as primary sources
226
276
  - Treat decisions from earlier steps (prior review results, planning decisions) as supplementary
227
277
  - When information conflicts, prioritize `order.md` / `plan.md` / actual code
278
+ - When a user-facing specification changes, treat documentation and configuration examples as part of the contract and verify that every behavior listed in the requirements is present
228
279
 
229
280
  ### Referring to Design Decisions
230
281
 
@@ -232,13 +283,43 @@ The review target is the entire cumulative diff from the task's starting point (
232
283
  - Do not dismiss intentional decisions as false positives just because they were recorded. Evaluate validity against `order.md` / `plan.md` / actual code
233
284
  - If the design decision itself is flawed, raise it
234
285
 
286
+ ### Full Entry Review for Contract Additions and Changes
287
+
288
+ When the diff adds or changes a contract such as a config value, state, condition expression, file format, event, builder, adapter, or state-transition function, enumerate and reconcile every entry, exit, and re-injection path that can carry that contract.
289
+
290
+ - Verify that definition, production, normalization, validation, evaluation, persistence, output, and event emission all apply the same contract
291
+ - Check derived paths as well as the normal entry: derived conditions, aggregate conditions, parent/child workflows, loop decisions, early exits, and exception paths
292
+ - When persisted data or externally supplied data is re-injected into JSON, Markdown, logs, events, or later instructions, include escaping, boundary handling, and failure behavior in the contract
293
+ - Search for existing returns, throws, catches, early returns, branches, and call sites with the same responsibility
294
+ - If an existing branch does not satisfy the new contract, treat it as related code even if the code itself predates the change
295
+ - If tests cover only the new path and do not verify existing equivalent branches or derived entries, treat it as a coverage gap
296
+ - Treating a required contract as optional, excluded, or a different requirement requires evidence from the task spec, specification, or explicit user instruction
297
+ - "Not explicitly stated in the task requirements" is not a valid reason to mark a contract inconsistency introduced by the diff as non-blocking
298
+
299
+ ### Reviewing Side Effects and State Transitions
300
+
301
+ When a change involves side effects or state changes such as external calls, configuration application, sessions, queues, locks, subscriptions, caches, or temporary resources, do not judge from the happy path alone.
302
+
303
+ - Trace entry, normal completion, early return, exception, retry, interruption, and cleanup paths
304
+ - Verify that anything acquired, started, registered, or applied is handled exactly as required on the corresponding paths
305
+ - Verify that the same side effect is not executed more than once, and that required effects are not skipped on failure paths
306
+ - For changes that affect shared state or downstream execution, verify that partial failure does not leave state that breaks the next run
307
+ - If these checks have not been performed, do not treat the behavior as functionally verified
308
+
235
309
  ### Tracking Findings from Previous Reviews
236
310
 
237
- - Look in the Report Directory for review reports this step has previously produced, along with their timestamped history
238
- - Treat the unsuffixed file as the latest result and the most recent `{report-name}.{timestamp}` as the previous result
239
- - `Previous Response` may be used as supplementary information, but finding state determinations must prioritize the report history
240
- - Do not drop open findings from the previous report when producing the new report
241
- - Apply the `finding_id` management rules when classifying each finding as `new` / `persists` / `resolved` / `reopened`
311
+ **Precedence:**
312
+
313
+ 1. If a parseable Finding Contract ledger / `findings-ledger.json` is available in a workflow configured with Finding Contract, use the ledger as the authoritative source for tracked findings. Fix only open findings from the ledger (`new`, `persists`, or `reopened`); ignore resolved or closed findings. Treat individual reports as supporting evidence reachable from the ledger.
314
+ 2. If a ledger exists but is incomplete, follow mapped findings from the ledger and treat unmapped raw findings as potential new entries pending findings-manager reconciliation.
315
+ 3. If the workflow is configured with Finding Contract but no parseable ledger is available, use the latest review reports in the Report Directory only as supporting evidence for observed raw findings. Do not assign final `finding_id` values or lifecycle states and do not apply the legacy rules; wait for ledger regeneration or findings-manager reconciliation.
316
+ 4. If the workflow does not use `finding_contract` configuration, use the latest review reports in the Report Directory as the primary evidence and apply the legacy rules:
317
+ - Look in the Report Directory for review reports this step has previously produced, along with their timestamped history
318
+ - Treat the unsuffixed file as the latest result and the most recent `{report-name}.{timestamp}` as the previous result
319
+ - `Previous Response` may be used as supplementary information, but finding state determinations must prioritize the report history
320
+ - Do not drop open findings from the previous report when producing the new report
321
+ - Apply the `finding_id` management rules when classifying each finding as `new` / `persists` / `resolved` / `reopened`
322
+ - Mark `resolved` only when the original expected result and original requirement are satisfied, not merely because a patch exists
242
323
 
243
324
  ### Final Decision Steps
244
325
 
@@ -248,12 +329,4 @@ The review target is the entire cumulative diff from the task's starting point (
248
329
 
249
330
  ## Detecting Circular Arguments
250
331
 
251
- When the same kind of issue keeps recurring, reconsider the approach itself rather than repeating the same fix instructions.
252
-
253
- ### When the Same Problem Recurs
254
-
255
- 1. Check if the same kind of issue is being repeated
256
- 2. If so, propose an alternative approach instead of granular fix instructions
257
- 3. Even when rejecting, include the perspective of "a different approach should be considered"
258
-
259
- Rather than repeating "fix this again," stop and suggest a different path.
332
+ When the same kind of issue keeps recurring, reconsider the approach itself rather than repeating granular fix instructions.
@@ -21,6 +21,9 @@ Every behavior change requires a corresponding test, and every bug fix requires
21
21
  | New behavior | Test required. REJECT if missing |
22
22
  | Bug fix | Regression test required. REJECT if missing |
23
23
  | Behavior change | Test update required. REJECT if missing |
24
+ | Side-effect or state-transition change | Successful path and representative failure paths must be verified. REJECT if failure paths are untested |
25
+ | Contract changes through consolidation or abstraction | Must verify that the contract holds on existing equivalent branches, not only on the new shared path |
26
+ | Parser or configuration boundary changes | Must verify syntactically valid inputs with unexpected shapes, missing values, and isolation from personal configuration |
24
27
  | Build (type check) | Build must succeed. REJECT if it fails |
25
28
  | Edge cases / boundary values | Test recommended (Warning) |
26
29
 
@@ -51,6 +54,18 @@ These assets change often during wording improvements and reorganization, so mak
51
54
 
52
55
  Verify non-executable asset changes with review, Markdown lint, link checks, or sample command execution when needed.
53
56
 
57
+ ## Tests for Replaced Old Specifications
58
+
59
+ When a specification change replaces elements of an old design (UI, API, events, state, labels, etc.) with a new design, tests must positively verify the new behavior. Do not freeze only the absence of the old specification.
60
+
61
+ | Criteria | Verdict |
62
+ |----------|---------|
63
+ | Adding a test that only verifies elements of the old specification are not present or not called | REJECT |
64
+ | Keeping an absence-only test from the old specification in an implementation unit that no longer owns the responsibility | REJECT |
65
+ | Changing only tests in a file whose production code has no final diff, solely to negate the old specification | REJECT |
66
+ | Positively verifying the new specification in the layer that owns the new responsibility (upper module, service, integration flow, etc.) | OK |
67
+ | Deleting obsolete tests for removed old behavior and replacing them with regression tests for the new specification | OK |
68
+
54
69
  ## Test Structure: Given-When-Then
55
70
 
56
71
  ```typescript
@@ -75,6 +90,40 @@ test('should return NotFound error when user does not exist', async () => {
75
90
  | Clarity | Failure cause is obvious | Failure cause is unclear |
76
91
  | Focus | One test, one concept | Multiple concerns mixed |
77
92
 
93
+ ## Testing Side Effects and State Transitions
94
+
95
+ Changes involving side effects or state transitions are not sufficiently verified by successful-path coverage alone.
96
+
97
+ | Criteria | Verdict |
98
+ |----------|---------|
99
+ | Only the successful path is tested, with no verification of state after failure, interruption, or early exit | REJECT |
100
+ | Cleanup or duplicate execution for acquired, started, registered, or applied state is not verified | REJECT |
101
+ | A change affects shared state or downstream execution but does not verify rerun behavior after partial failure | Warning. REJECT when it affects a primary path |
102
+ | Mock-verified behavior is not distinguished from unverified real-integration scope | Warning. REJECT when it is a primary requirement |
103
+ | Successful path, representative failure paths, and boundary state transitions are each verified | OK |
104
+
105
+ ## Testing Contract Changes and Existing Branches
106
+
107
+ When a change standardizes a contract through a shared helper, normalizer, builder, or adapter, testing only the newly added path is not sufficient. Verify that existing equivalent branches satisfy the same contract.
108
+
109
+ | Criteria | Verdict |
110
+ |----------|---------|
111
+ | Only the new shared path is tested, while existing equivalent branches are not verified for the same return value, side effect, or error contract | REJECT |
112
+ | An existing branch is treated as "preserved behavior" without verifying that it does not conflict with the contract introduced by the diff | REJECT |
113
+ | Return / throw / catch / early return paths in the changed function are not enumerated, causing representative failure paths to be missed | REJECT |
114
+ | Existing branches with the same responsibility have tests for return values, side effects, events, and error classification contracts | OK |
115
+
116
+ ## Parser and Configuration Boundary Tests
117
+
118
+ At boundaries that read external files, configuration, YAML/JSON, or CLI input, testing only the ideal typed input is not sufficient.
119
+
120
+ | Criteria | Verdict |
121
+ |----------|---------|
122
+ | Array-like fields are not tested with object/null/missing values | REJECT |
123
+ | File/directory checks are not tested with an existing regular file, broken link, or permission error | REJECT |
124
+ | Tests that can inherit existing user or machine configuration do not isolate with an empty config directory or temporary HOME | REJECT |
125
+ | Syntactically valid but contract-invalid shapes are pinned to ignore, normalize, or explicit-error behavior | OK |
126
+
78
127
  ## Test Data and Fixtures
79
128
 
80
129
  Test data should explicitly generate the minimum facts needed by each test. Mutating shared fixtures or using mocks that drift from real contracts reduces test reliability.
@@ -0,0 +1,21 @@
1
+ claude:
2
+ allowed_tools:
3
+ - Read
4
+ - Glob
5
+ - Grep
6
+ - Edit
7
+ - Write
8
+ - Bash
9
+ - WebSearch
10
+ - WebFetch
11
+ opencode:
12
+ allowed_tools:
13
+ - read
14
+ - glob
15
+ - grep
16
+ - edit
17
+ - write
18
+ - bash
19
+ - todowrite
20
+ - websearch
21
+ - webfetch