takt 0.46.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 (552) hide show
  1. package/README.md +55 -2
  2. package/builtins/en/config.yaml +28 -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 +3 -32
  6. package/builtins/en/facets/instructions/loop-monitor-reviewers-fix.md +5 -1
  7. package/builtins/en/facets/instructions/plan-test.md +4 -3
  8. package/builtins/en/facets/instructions/review-coding.md +11 -6
  9. package/builtins/en/facets/instructions/review-pure.md +8 -0
  10. package/builtins/en/facets/instructions/review-qa.md +2 -1
  11. package/builtins/en/facets/instructions/review-test.md +2 -1
  12. package/builtins/en/facets/instructions/supervise-maintenance.md +3 -75
  13. package/builtins/en/facets/instructions/supervise.md +8 -68
  14. package/builtins/en/facets/instructions/write-tests-first.md +1 -0
  15. package/builtins/en/facets/knowledge/architecture.md +31 -0
  16. package/builtins/en/facets/knowledge/backend.md +25 -1
  17. package/builtins/en/facets/knowledge/cqrs-es.md +57 -0
  18. package/builtins/en/facets/output-contracts/ai-antipattern-review-finding-contract.md +31 -0
  19. package/builtins/en/facets/output-contracts/architecture-review-finding-contract.md +35 -0
  20. package/builtins/en/facets/output-contracts/coding-review-finding-contract.md +25 -0
  21. package/builtins/en/facets/output-contracts/coding-review.md +11 -4
  22. package/builtins/en/facets/output-contracts/cqrs-es-review-finding-contract.md +31 -0
  23. package/builtins/en/facets/output-contracts/findings-manager.md +45 -0
  24. package/builtins/en/facets/output-contracts/frontend-review-finding-contract.md +30 -0
  25. package/builtins/en/facets/output-contracts/pure-review-finding-contract.md +45 -0
  26. package/builtins/en/facets/output-contracts/pure-review.md +6 -6
  27. package/builtins/en/facets/output-contracts/qa-review-finding-contract.md +35 -0
  28. package/builtins/en/facets/output-contracts/qa-review.md +10 -3
  29. package/builtins/en/facets/output-contracts/security-review-finding-contract.md +36 -0
  30. package/builtins/en/facets/output-contracts/supervisor-validation.md +34 -10
  31. package/builtins/en/facets/output-contracts/terraform-review-finding-contract.md +31 -0
  32. package/builtins/en/facets/output-contracts/testing-review-finding-contract.md +41 -0
  33. package/builtins/en/facets/personas/findings-manager.md +18 -0
  34. package/builtins/en/facets/policies/ai-antipattern.md +31 -0
  35. package/builtins/en/facets/policies/review.md +64 -16
  36. package/builtins/en/facets/policies/testing.md +24 -0
  37. package/builtins/en/workflow-categories.yaml +1 -0
  38. package/builtins/en/workflows/audit-architecture-backend.yaml +8 -0
  39. package/builtins/en/workflows/audit-architecture-dual.yaml +8 -0
  40. package/builtins/en/workflows/audit-architecture-frontend.yaml +8 -0
  41. package/builtins/en/workflows/audit-architecture.yaml +8 -0
  42. package/builtins/en/workflows/audit-e2e.yaml +8 -0
  43. package/builtins/en/workflows/audit-security.yaml +8 -0
  44. package/builtins/en/workflows/audit-unit.yaml +8 -0
  45. package/builtins/en/workflows/auto-improvement-loop.yaml +6 -0
  46. package/builtins/en/workflows/backend-cqrs-mini.yaml +20 -0
  47. package/builtins/en/workflows/backend-cqrs.yaml +39 -1
  48. package/builtins/en/workflows/backend-mini.yaml +20 -0
  49. package/builtins/en/workflows/backend.yaml +39 -1
  50. package/builtins/en/workflows/compound-eye.yaml +8 -0
  51. package/builtins/en/workflows/deep-research.yaml +8 -0
  52. package/builtins/en/workflows/default-draft.yaml +6 -0
  53. package/builtins/en/workflows/default-high.yaml +6 -0
  54. package/builtins/en/workflows/default-mini.yaml +2 -0
  55. package/builtins/en/workflows/default-peer-review.yaml +17 -1
  56. package/builtins/en/workflows/default.yaml +4 -0
  57. package/builtins/en/workflows/draft.yaml +12 -4
  58. package/builtins/en/workflows/dual-cqrs-mini.yaml +20 -0
  59. package/builtins/en/workflows/dual-cqrs.yaml +35 -1
  60. package/builtins/en/workflows/dual-mini.yaml +20 -0
  61. package/builtins/en/workflows/dual.yaml +39 -1
  62. package/builtins/en/workflows/frontend-maintenance.yaml +41 -1
  63. package/builtins/en/workflows/frontend-mini.yaml +20 -0
  64. package/builtins/en/workflows/frontend.yaml +41 -1
  65. package/builtins/en/workflows/magi.yaml +6 -0
  66. package/builtins/en/workflows/peer-review-with-fc.yaml +206 -0
  67. package/builtins/en/workflows/peer-review.yaml +30 -10
  68. package/builtins/en/workflows/research.yaml +6 -0
  69. package/builtins/en/workflows/review-backend-cqrs.yaml +21 -1
  70. package/builtins/en/workflows/review-backend.yaml +19 -1
  71. package/builtins/en/workflows/review-default.yaml +21 -1
  72. package/builtins/en/workflows/review-dual-cqrs.yaml +23 -1
  73. package/builtins/en/workflows/review-dual.yaml +21 -1
  74. package/builtins/en/workflows/review-fix-backend-cqrs.yaml +25 -1
  75. package/builtins/en/workflows/review-fix-backend.yaml +23 -1
  76. package/builtins/en/workflows/review-fix-default.yaml +25 -1
  77. package/builtins/en/workflows/review-fix-dual-cqrs.yaml +27 -1
  78. package/builtins/en/workflows/review-fix-dual.yaml +25 -1
  79. package/builtins/en/workflows/review-fix-frontend.yaml +25 -1
  80. package/builtins/en/workflows/review-fix-takt-default.yaml +33 -1
  81. package/builtins/en/workflows/review-frontend.yaml +21 -1
  82. package/builtins/en/workflows/review-takt-default.yaml +23 -1
  83. package/builtins/en/workflows/takt-default-refresh-all.yaml +30 -0
  84. package/builtins/en/workflows/takt-default-refresh-fast.yaml +30 -0
  85. package/builtins/en/workflows/takt-default-with-fc.yaml +110 -0
  86. package/builtins/en/workflows/takt-default.yaml +9 -3
  87. package/builtins/en/workflows/terraform.yaml +29 -1
  88. package/builtins/ja/config.yaml +28 -12
  89. package/builtins/ja/facets/instructions/findings-manager.md +13 -0
  90. package/builtins/ja/facets/instructions/fix.md +9 -4
  91. package/builtins/ja/facets/instructions/implement-maintenance.md +3 -32
  92. package/builtins/ja/facets/instructions/loop-monitor-reviewers-fix.md +5 -1
  93. package/builtins/ja/facets/instructions/plan-test.md +4 -3
  94. package/builtins/ja/facets/instructions/review-coding.md +11 -6
  95. package/builtins/ja/facets/instructions/review-pure.md +8 -0
  96. package/builtins/ja/facets/instructions/review-qa.md +2 -1
  97. package/builtins/ja/facets/instructions/review-test.md +2 -1
  98. package/builtins/ja/facets/instructions/supervise-maintenance.md +3 -75
  99. package/builtins/ja/facets/instructions/supervise.md +8 -69
  100. package/builtins/ja/facets/instructions/write-tests-first.md +1 -0
  101. package/builtins/ja/facets/knowledge/architecture.md +31 -0
  102. package/builtins/ja/facets/knowledge/backend.md +25 -1
  103. package/builtins/ja/facets/knowledge/cqrs-es.md +31 -0
  104. package/builtins/ja/facets/output-contracts/ai-antipattern-review-finding-contract.md +31 -0
  105. package/builtins/ja/facets/output-contracts/architecture-review-finding-contract.md +35 -0
  106. package/builtins/ja/facets/output-contracts/coding-review-finding-contract.md +25 -0
  107. package/builtins/ja/facets/output-contracts/coding-review.md +11 -4
  108. package/builtins/ja/facets/output-contracts/cqrs-es-review-finding-contract.md +31 -0
  109. package/builtins/ja/facets/output-contracts/findings-manager.md +45 -0
  110. package/builtins/ja/facets/output-contracts/frontend-review-finding-contract.md +30 -0
  111. package/builtins/ja/facets/output-contracts/pure-review-finding-contract.md +45 -0
  112. package/builtins/ja/facets/output-contracts/pure-review.md +6 -6
  113. package/builtins/ja/facets/output-contracts/qa-review-finding-contract.md +35 -0
  114. package/builtins/ja/facets/output-contracts/qa-review.md +10 -3
  115. package/builtins/ja/facets/output-contracts/security-review-finding-contract.md +36 -0
  116. package/builtins/ja/facets/output-contracts/supervisor-validation.md +34 -10
  117. package/builtins/ja/facets/output-contracts/terraform-review-finding-contract.md +31 -0
  118. package/builtins/ja/facets/output-contracts/testing-review-finding-contract.md +41 -0
  119. package/builtins/ja/facets/personas/findings-manager.md +18 -0
  120. package/builtins/ja/facets/policies/ai-antipattern.md +15 -0
  121. package/builtins/ja/facets/policies/review.md +62 -16
  122. package/builtins/ja/facets/policies/testing.md +24 -0
  123. package/builtins/ja/workflow-categories.yaml +1 -0
  124. package/builtins/ja/workflows/audit-architecture-backend.yaml +8 -0
  125. package/builtins/ja/workflows/audit-architecture-dual.yaml +8 -0
  126. package/builtins/ja/workflows/audit-architecture-frontend.yaml +8 -0
  127. package/builtins/ja/workflows/audit-architecture.yaml +8 -0
  128. package/builtins/ja/workflows/audit-e2e.yaml +8 -0
  129. package/builtins/ja/workflows/audit-security.yaml +8 -0
  130. package/builtins/ja/workflows/audit-unit.yaml +8 -0
  131. package/builtins/ja/workflows/auto-improvement-loop.yaml +6 -0
  132. package/builtins/ja/workflows/backend-cqrs-mini.yaml +20 -0
  133. package/builtins/ja/workflows/backend-cqrs.yaml +39 -1
  134. package/builtins/ja/workflows/backend-mini.yaml +20 -0
  135. package/builtins/ja/workflows/backend.yaml +39 -1
  136. package/builtins/ja/workflows/compound-eye.yaml +8 -0
  137. package/builtins/ja/workflows/deep-research.yaml +8 -0
  138. package/builtins/ja/workflows/default-draft.yaml +6 -0
  139. package/builtins/ja/workflows/default-high.yaml +6 -0
  140. package/builtins/ja/workflows/default-mini.yaml +2 -0
  141. package/builtins/ja/workflows/default-peer-review.yaml +17 -1
  142. package/builtins/ja/workflows/default.yaml +4 -0
  143. package/builtins/ja/workflows/draft.yaml +12 -4
  144. package/builtins/ja/workflows/dual-cqrs-mini.yaml +20 -0
  145. package/builtins/ja/workflows/dual-cqrs.yaml +35 -1
  146. package/builtins/ja/workflows/dual-mini.yaml +20 -0
  147. package/builtins/ja/workflows/dual.yaml +39 -1
  148. package/builtins/ja/workflows/frontend-maintenance.yaml +41 -1
  149. package/builtins/ja/workflows/frontend-mini.yaml +20 -0
  150. package/builtins/ja/workflows/frontend.yaml +41 -1
  151. package/builtins/ja/workflows/magi.yaml +6 -0
  152. package/builtins/ja/workflows/peer-review-with-fc.yaml +206 -0
  153. package/builtins/ja/workflows/peer-review.yaml +30 -10
  154. package/builtins/ja/workflows/research.yaml +6 -0
  155. package/builtins/ja/workflows/review-backend-cqrs.yaml +21 -1
  156. package/builtins/ja/workflows/review-backend.yaml +19 -1
  157. package/builtins/ja/workflows/review-default.yaml +21 -1
  158. package/builtins/ja/workflows/review-dual-cqrs.yaml +23 -1
  159. package/builtins/ja/workflows/review-dual.yaml +21 -1
  160. package/builtins/ja/workflows/review-fix-backend-cqrs.yaml +25 -1
  161. package/builtins/ja/workflows/review-fix-backend.yaml +23 -1
  162. package/builtins/ja/workflows/review-fix-default.yaml +25 -1
  163. package/builtins/ja/workflows/review-fix-dual-cqrs.yaml +27 -1
  164. package/builtins/ja/workflows/review-fix-dual.yaml +25 -1
  165. package/builtins/ja/workflows/review-fix-frontend.yaml +25 -1
  166. package/builtins/ja/workflows/review-fix-takt-default.yaml +33 -1
  167. package/builtins/ja/workflows/review-frontend.yaml +21 -1
  168. package/builtins/ja/workflows/review-takt-default.yaml +23 -1
  169. package/builtins/ja/workflows/takt-default-refresh-all.yaml +30 -0
  170. package/builtins/ja/workflows/takt-default-refresh-fast.yaml +30 -0
  171. package/builtins/ja/workflows/takt-default-with-fc.yaml +110 -0
  172. package/builtins/ja/workflows/takt-default.yaml +9 -3
  173. package/builtins/ja/workflows/terraform.yaml +29 -1
  174. package/builtins/skill/references/yaml-schema.md +4 -0
  175. package/builtins/skill-codex/references/yaml-schema.md +4 -0
  176. package/dist/app/cli/routing-inputs.d.ts +1 -0
  177. package/dist/app/cli/routing-inputs.d.ts.map +1 -1
  178. package/dist/app/cli/routing-inputs.js +5 -2
  179. package/dist/app/cli/routing-inputs.js.map +1 -1
  180. package/dist/app/cli/routing.d.ts.map +1 -1
  181. package/dist/app/cli/routing.js +14 -0
  182. package/dist/app/cli/routing.js.map +1 -1
  183. package/dist/commands/repertoire/add.d.ts.map +1 -1
  184. package/dist/commands/repertoire/add.js +45 -4
  185. package/dist/commands/repertoire/add.js.map +1 -1
  186. package/dist/commands/repertoire/remove.d.ts.map +1 -1
  187. package/dist/commands/repertoire/remove.js +19 -3
  188. package/dist/commands/repertoire/remove.js.map +1 -1
  189. package/dist/core/models/config-schemas.d.ts +771 -0
  190. package/dist/core/models/config-schemas.d.ts.map +1 -1
  191. package/dist/core/models/config-schemas.js +6 -0
  192. package/dist/core/models/config-schemas.js.map +1 -1
  193. package/dist/core/models/config-types.d.ts +8 -0
  194. package/dist/core/models/config-types.d.ts.map +1 -1
  195. package/dist/core/models/finding-schemas.d.ts +447 -0
  196. package/dist/core/models/finding-schemas.d.ts.map +1 -0
  197. package/dist/core/models/finding-schemas.js +234 -0
  198. package/dist/core/models/finding-schemas.js.map +1 -0
  199. package/dist/core/models/finding-types.d.ts +146 -0
  200. package/dist/core/models/finding-types.d.ts.map +1 -0
  201. package/dist/core/models/finding-types.js +5 -0
  202. package/dist/core/models/finding-types.js.map +1 -0
  203. package/dist/core/models/index.d.ts +1 -1
  204. package/dist/core/models/index.d.ts.map +1 -1
  205. package/dist/core/models/index.js.map +1 -1
  206. package/dist/core/models/types.d.ts +2 -2
  207. package/dist/core/models/types.d.ts.map +1 -1
  208. package/dist/core/models/workflow-condition-expression.d.ts +3 -0
  209. package/dist/core/models/workflow-condition-expression.d.ts.map +1 -1
  210. package/dist/core/models/workflow-condition-expression.js +223 -4
  211. package/dist/core/models/workflow-condition-expression.js.map +1 -1
  212. package/dist/core/models/workflow-schemas.d.ts +58 -36
  213. package/dist/core/models/workflow-schemas.d.ts.map +1 -1
  214. package/dist/core/models/workflow-schemas.js +11 -6
  215. package/dist/core/models/workflow-schemas.js.map +1 -1
  216. package/dist/core/models/workflow-system-schemas.d.ts.map +1 -1
  217. package/dist/core/models/workflow-system-schemas.js +1 -0
  218. package/dist/core/models/workflow-system-schemas.js.map +1 -1
  219. package/dist/core/models/workflow-types.d.ts +13 -0
  220. package/dist/core/models/workflow-types.d.ts.map +1 -1
  221. package/dist/core/models/workflow-types.js.map +1 -1
  222. package/dist/core/workflow/engine/OptionsBuilder.d.ts +4 -1
  223. package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -1
  224. package/dist/core/workflow/engine/OptionsBuilder.js +21 -8
  225. package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -1
  226. package/dist/core/workflow/engine/ParallelRunner.d.ts +14 -0
  227. package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
  228. package/dist/core/workflow/engine/ParallelRunner.js +152 -18
  229. package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
  230. package/dist/core/workflow/engine/StepExecutor.d.ts +4 -2
  231. package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
  232. package/dist/core/workflow/engine/StepExecutor.js +10 -3
  233. package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
  234. package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts +3 -1
  235. package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts.map +1 -1
  236. package/dist/core/workflow/engine/WorkflowCallExecutor.js +23 -5
  237. package/dist/core/workflow/engine/WorkflowCallExecutor.js.map +1 -1
  238. package/dist/core/workflow/engine/WorkflowCallRunner.d.ts +1 -0
  239. package/dist/core/workflow/engine/WorkflowCallRunner.d.ts.map +1 -1
  240. package/dist/core/workflow/engine/WorkflowCallRunner.js +5 -1
  241. package/dist/core/workflow/engine/WorkflowCallRunner.js.map +1 -1
  242. package/dist/core/workflow/engine/WorkflowEngine.d.ts +7 -1
  243. package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +1 -1
  244. package/dist/core/workflow/engine/WorkflowEngine.js +63 -9
  245. package/dist/core/workflow/engine/WorkflowEngine.js.map +1 -1
  246. package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts +3 -0
  247. package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts.map +1 -1
  248. package/dist/core/workflow/engine/WorkflowEngineSetup.js +27 -1
  249. package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
  250. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts +10 -7
  251. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
  252. package/dist/core/workflow/engine/WorkflowRunLoop.js +63 -33
  253. package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
  254. package/dist/core/workflow/engine/WorkflowValidator.d.ts.map +1 -1
  255. package/dist/core/workflow/engine/WorkflowValidator.js +78 -1
  256. package/dist/core/workflow/engine/WorkflowValidator.js.map +1 -1
  257. package/dist/core/workflow/engine/team-leader-common.d.ts.map +1 -1
  258. package/dist/core/workflow/engine/team-leader-common.js +11 -0
  259. package/dist/core/workflow/engine/team-leader-common.js.map +1 -1
  260. package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
  261. package/dist/core/workflow/engine/team-leader-part-runner.js +22 -1
  262. package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
  263. package/dist/core/workflow/evaluation/AggregateEvaluator.d.ts.map +1 -1
  264. package/dist/core/workflow/evaluation/AggregateEvaluator.js +7 -4
  265. package/dist/core/workflow/evaluation/AggregateEvaluator.js.map +1 -1
  266. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts +1 -0
  267. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts.map +1 -1
  268. package/dist/core/workflow/evaluation/RuleEvaluator.js +15 -1
  269. package/dist/core/workflow/evaluation/RuleEvaluator.js.map +1 -1
  270. package/dist/core/workflow/evaluation/rule-utils.d.ts +5 -1
  271. package/dist/core/workflow/evaluation/rule-utils.d.ts.map +1 -1
  272. package/dist/core/workflow/evaluation/rule-utils.js +34 -1
  273. package/dist/core/workflow/evaluation/rule-utils.js.map +1 -1
  274. package/dist/core/workflow/evaluation/when-evaluator.d.ts.map +1 -1
  275. package/dist/core/workflow/evaluation/when-evaluator.js +4 -1
  276. package/dist/core/workflow/evaluation/when-evaluator.js.map +1 -1
  277. package/dist/core/workflow/findings/context.d.ts +5 -0
  278. package/dist/core/workflow/findings/context.d.ts.map +1 -0
  279. package/dist/core/workflow/findings/context.js +82 -0
  280. package/dist/core/workflow/findings/context.js.map +1 -0
  281. package/dist/core/workflow/findings/ledger-validation.d.ts +3 -0
  282. package/dist/core/workflow/findings/ledger-validation.d.ts.map +1 -0
  283. package/dist/core/workflow/findings/ledger-validation.js +26 -0
  284. package/dist/core/workflow/findings/ledger-validation.js.map +1 -0
  285. package/dist/core/workflow/findings/manager-output-validation.d.ts +15 -0
  286. package/dist/core/workflow/findings/manager-output-validation.d.ts.map +1 -0
  287. package/dist/core/workflow/findings/manager-output-validation.js +221 -0
  288. package/dist/core/workflow/findings/manager-output-validation.js.map +1 -0
  289. package/dist/core/workflow/findings/manager-runner.d.ts +89 -0
  290. package/dist/core/workflow/findings/manager-runner.d.ts.map +1 -0
  291. package/dist/core/workflow/findings/manager-runner.js +291 -0
  292. package/dist/core/workflow/findings/manager-runner.js.map +1 -0
  293. package/dist/core/workflow/findings/reconciler.d.ts +10 -0
  294. package/dist/core/workflow/findings/reconciler.d.ts.map +1 -0
  295. package/dist/core/workflow/findings/reconciler.js +413 -0
  296. package/dist/core/workflow/findings/reconciler.js.map +1 -0
  297. package/dist/core/workflow/findings/schemas.d.ts +2 -0
  298. package/dist/core/workflow/findings/schemas.d.ts.map +1 -0
  299. package/dist/core/workflow/findings/schemas.js +2 -0
  300. package/dist/core/workflow/findings/schemas.js.map +1 -0
  301. package/dist/core/workflow/findings/store.d.ts +33 -0
  302. package/dist/core/workflow/findings/store.d.ts.map +1 -0
  303. package/dist/core/workflow/findings/store.js +169 -0
  304. package/dist/core/workflow/findings/store.js.map +1 -0
  305. package/dist/core/workflow/findings/types.d.ts +3 -0
  306. package/dist/core/workflow/findings/types.d.ts.map +1 -0
  307. package/dist/core/workflow/findings/types.js +2 -0
  308. package/dist/core/workflow/findings/types.js.map +1 -0
  309. package/dist/core/workflow/instruction/InstructionBuilder.d.ts +1 -0
  310. package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +1 -1
  311. package/dist/core/workflow/instruction/InstructionBuilder.js +35 -11
  312. package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -1
  313. package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts +4 -0
  314. package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts.map +1 -1
  315. package/dist/core/workflow/instruction/ReportInstructionBuilder.js +22 -1
  316. package/dist/core/workflow/instruction/ReportInstructionBuilder.js.map +1 -1
  317. package/dist/core/workflow/instruction/fenced-json.d.ts +2 -0
  318. package/dist/core/workflow/instruction/fenced-json.d.ts.map +1 -0
  319. package/dist/core/workflow/instruction/fenced-json.js +11 -0
  320. package/dist/core/workflow/instruction/fenced-json.js.map +1 -0
  321. package/dist/core/workflow/instruction/instruction-context.d.ts +8 -0
  322. package/dist/core/workflow/instruction/instruction-context.d.ts.map +1 -1
  323. package/dist/core/workflow/instruction/instruction-context.js.map +1 -1
  324. package/dist/core/workflow/observability/traceDiscovery.d.ts +33 -0
  325. package/dist/core/workflow/observability/traceDiscovery.d.ts.map +1 -0
  326. package/dist/core/workflow/observability/traceDiscovery.js +104 -0
  327. package/dist/core/workflow/observability/traceDiscovery.js.map +1 -0
  328. package/dist/core/workflow/observability/workflowSpans.d.ts +5 -2
  329. package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
  330. package/dist/core/workflow/observability/workflowSpans.js +33 -4
  331. package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
  332. package/dist/core/workflow/phase-runner.d.ts +2 -0
  333. package/dist/core/workflow/phase-runner.d.ts.map +1 -1
  334. package/dist/core/workflow/phase-runner.js.map +1 -1
  335. package/dist/core/workflow/provider-options-trace.d.ts +3 -2
  336. package/dist/core/workflow/provider-options-trace.d.ts.map +1 -1
  337. package/dist/core/workflow/provider-resolution.d.ts +11 -3
  338. package/dist/core/workflow/provider-resolution.d.ts.map +1 -1
  339. package/dist/core/workflow/provider-resolution.js +68 -2
  340. package/dist/core/workflow/provider-resolution.js.map +1 -1
  341. package/dist/core/workflow/report-phase-runner.d.ts.map +1 -1
  342. package/dist/core/workflow/report-phase-runner.js +59 -44
  343. package/dist/core/workflow/report-phase-runner.js.map +1 -1
  344. package/dist/core/workflow/report-writer.d.ts +2 -0
  345. package/dist/core/workflow/report-writer.d.ts.map +1 -0
  346. package/dist/core/workflow/report-writer.js +42 -0
  347. package/dist/core/workflow/report-writer.js.map +1 -0
  348. package/dist/core/workflow/run/run-meta.d.ts +5 -0
  349. package/dist/core/workflow/run/run-meta.d.ts.map +1 -1
  350. package/dist/core/workflow/run/run-meta.js.map +1 -1
  351. package/dist/core/workflow/state/workflow-state-access.d.ts +2 -2
  352. package/dist/core/workflow/state/workflow-state-access.d.ts.map +1 -1
  353. package/dist/core/workflow/state/workflow-state-access.js +17 -2
  354. package/dist/core/workflow/state/workflow-state-access.js.map +1 -1
  355. package/dist/core/workflow/types.d.ts +25 -1
  356. package/dist/core/workflow/types.d.ts.map +1 -1
  357. package/dist/features/analytics/events.d.ts +1 -1
  358. package/dist/features/analytics/events.d.ts.map +1 -1
  359. package/dist/features/analytics/index.d.ts +1 -1
  360. package/dist/features/analytics/index.d.ts.map +1 -1
  361. package/dist/features/analytics/index.js +1 -1
  362. package/dist/features/analytics/index.js.map +1 -1
  363. package/dist/features/analytics/report-parser.d.ts +5 -3
  364. package/dist/features/analytics/report-parser.d.ts.map +1 -1
  365. package/dist/features/analytics/report-parser.js +42 -7
  366. package/dist/features/analytics/report-parser.js.map +1 -1
  367. package/dist/features/pipeline/execute.d.ts.map +1 -1
  368. package/dist/features/pipeline/execute.js +2 -3
  369. package/dist/features/pipeline/execute.js.map +1 -1
  370. package/dist/features/pipeline/steps.d.ts +4 -3
  371. package/dist/features/pipeline/steps.d.ts.map +1 -1
  372. package/dist/features/pipeline/steps.js +46 -8
  373. package/dist/features/pipeline/steps.js.map +1 -1
  374. package/dist/features/repertoire/file-filter.d.ts +3 -3
  375. package/dist/features/repertoire/file-filter.d.ts.map +1 -1
  376. package/dist/features/repertoire/file-filter.js +3 -3
  377. package/dist/features/repertoire/file-filter.js.map +1 -1
  378. package/dist/features/repertoire/pack-summary.d.ts +21 -7
  379. package/dist/features/repertoire/pack-summary.d.ts.map +1 -1
  380. package/dist/features/repertoire/pack-summary.js +156 -24
  381. package/dist/features/repertoire/pack-summary.js.map +1 -1
  382. package/dist/features/repertoire/remove.d.ts +5 -2
  383. package/dist/features/repertoire/remove.d.ts.map +1 -1
  384. package/dist/features/repertoire/remove.js +9 -2
  385. package/dist/features/repertoire/remove.js.map +1 -1
  386. package/dist/features/repertoire/takt-repertoire-config.d.ts +3 -3
  387. package/dist/features/repertoire/takt-repertoire-config.d.ts.map +1 -1
  388. package/dist/features/repertoire/takt-repertoire-config.js +31 -16
  389. package/dist/features/repertoire/takt-repertoire-config.js.map +1 -1
  390. package/dist/features/tasks/add/index.d.ts +1 -0
  391. package/dist/features/tasks/add/index.d.ts.map +1 -1
  392. package/dist/features/tasks/add/index.js +1 -0
  393. package/dist/features/tasks/add/index.js.map +1 -1
  394. package/dist/features/tasks/execute/analyticsEmitter.d.ts +4 -1
  395. package/dist/features/tasks/execute/analyticsEmitter.d.ts.map +1 -1
  396. package/dist/features/tasks/execute/analyticsEmitter.js +30 -3
  397. package/dist/features/tasks/execute/analyticsEmitter.js.map +1 -1
  398. package/dist/features/tasks/execute/runAllTasks.d.ts.map +1 -1
  399. package/dist/features/tasks/execute/runAllTasks.js +2 -2
  400. package/dist/features/tasks/execute/runAllTasks.js.map +1 -1
  401. package/dist/features/tasks/execute/runMeta.d.ts +5 -1
  402. package/dist/features/tasks/execute/runMeta.d.ts.map +1 -1
  403. package/dist/features/tasks/execute/runMeta.js +6 -1
  404. package/dist/features/tasks/execute/runMeta.js.map +1 -1
  405. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  406. package/dist/features/tasks/execute/selectAndExecute.js +12 -0
  407. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  408. package/dist/features/tasks/execute/slackSummaryAdapter.d.ts +0 -1
  409. package/dist/features/tasks/execute/slackSummaryAdapter.d.ts.map +1 -1
  410. package/dist/features/tasks/execute/slackSummaryAdapter.js +0 -5
  411. package/dist/features/tasks/execute/slackSummaryAdapter.js.map +1 -1
  412. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  413. package/dist/features/tasks/execute/taskExecution.js +9 -0
  414. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  415. package/dist/features/tasks/execute/taskWorkflowExecution.d.ts.map +1 -1
  416. package/dist/features/tasks/execute/taskWorkflowExecution.js +20 -1
  417. package/dist/features/tasks/execute/taskWorkflowExecution.js.map +1 -1
  418. package/dist/features/tasks/execute/traceTaskMetadata.d.ts +20 -0
  419. package/dist/features/tasks/execute/traceTaskMetadata.d.ts.map +1 -0
  420. package/dist/features/tasks/execute/traceTaskMetadata.js +54 -0
  421. package/dist/features/tasks/execute/traceTaskMetadata.js.map +1 -0
  422. package/dist/features/tasks/execute/types.d.ts +13 -1
  423. package/dist/features/tasks/execute/types.d.ts.map +1 -1
  424. package/dist/features/tasks/execute/workflowExecution.d.ts.map +1 -1
  425. package/dist/features/tasks/execute/workflowExecution.js +14 -1
  426. package/dist/features/tasks/execute/workflowExecution.js.map +1 -1
  427. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts +2 -0
  428. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
  429. package/dist/features/tasks/execute/workflowExecutionBootstrap.js +16 -2
  430. package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
  431. package/dist/features/tasks/execute/workflowExecutionEvents.d.ts +2 -0
  432. package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
  433. package/dist/features/tasks/execute/workflowExecutionEvents.js +10 -2
  434. package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
  435. package/dist/features/tasks/execute/workflowExecutionReporting.d.ts +3 -2
  436. package/dist/features/tasks/execute/workflowExecutionReporting.d.ts.map +1 -1
  437. package/dist/features/tasks/execute/workflowExecutionReporting.js +14 -2
  438. package/dist/features/tasks/execute/workflowExecutionReporting.js.map +1 -1
  439. package/dist/features/tasks/index.d.ts +1 -1
  440. package/dist/features/tasks/index.d.ts.map +1 -1
  441. package/dist/features/tasks/index.js.map +1 -1
  442. package/dist/features/tasks/resume/index.d.ts.map +1 -1
  443. package/dist/features/tasks/resume/index.js +5 -0
  444. package/dist/features/tasks/resume/index.js.map +1 -1
  445. package/dist/infra/config/configNormalizers.d.ts +18 -7
  446. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  447. package/dist/infra/config/configNormalizers.js +46 -13
  448. package/dist/infra/config/configNormalizers.js.map +1 -1
  449. package/dist/infra/config/env/global-current-env-specs.d.ts.map +1 -1
  450. package/dist/infra/config/env/global-current-env-specs.js +1 -0
  451. package/dist/infra/config/env/global-current-env-specs.js.map +1 -1
  452. package/dist/infra/config/env/project-current-env-specs.d.ts.map +1 -1
  453. package/dist/infra/config/env/project-current-env-specs.js +1 -0
  454. package/dist/infra/config/env/project-current-env-specs.js.map +1 -1
  455. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  456. package/dist/infra/config/global/globalConfigCore.js +2 -1
  457. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  458. package/dist/infra/config/global/globalConfigSerializer.d.ts.map +1 -1
  459. package/dist/infra/config/global/globalConfigSerializer.js +5 -1
  460. package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
  461. package/dist/infra/config/loaders/namedResourceResolver.d.ts +18 -0
  462. package/dist/infra/config/loaders/namedResourceResolver.d.ts.map +1 -0
  463. package/dist/infra/config/loaders/namedResourceResolver.js +49 -0
  464. package/dist/infra/config/loaders/namedResourceResolver.js.map +1 -0
  465. package/dist/infra/config/loaders/providerOptionsLookupDirectories.d.ts +13 -0
  466. package/dist/infra/config/loaders/providerOptionsLookupDirectories.d.ts.map +1 -0
  467. package/dist/infra/config/loaders/providerOptionsLookupDirectories.js +61 -0
  468. package/dist/infra/config/loaders/providerOptionsLookupDirectories.js.map +1 -0
  469. package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
  470. package/dist/infra/config/loaders/workflowParser.js +64 -3
  471. package/dist/infra/config/loaders/workflowParser.js.map +1 -1
  472. package/dist/infra/config/loaders/workflowPreview.d.ts.map +1 -1
  473. package/dist/infra/config/loaders/workflowPreview.js +8 -3
  474. package/dist/infra/config/loaders/workflowPreview.js.map +1 -1
  475. package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts +20 -2
  476. package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts.map +1 -1
  477. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js +115 -33
  478. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js.map +1 -1
  479. package/dist/infra/config/loaders/workflowRuleNormalizer.d.ts.map +1 -1
  480. package/dist/infra/config/loaders/workflowRuleNormalizer.js +5 -16
  481. package/dist/infra/config/loaders/workflowRuleNormalizer.js.map +1 -1
  482. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts +3 -2
  483. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
  484. package/dist/infra/config/loaders/workflowStepNormalizer.js +33 -12
  485. package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
  486. package/dist/infra/config/paths.d.ts +4 -0
  487. package/dist/infra/config/paths.d.ts.map +1 -1
  488. package/dist/infra/config/paths.js +13 -0
  489. package/dist/infra/config/paths.js.map +1 -1
  490. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  491. package/dist/infra/config/project/projectConfig.js +12 -3
  492. package/dist/infra/config/project/projectConfig.js.map +1 -1
  493. package/dist/infra/config/providerOptions.d.ts +19 -7
  494. package/dist/infra/config/providerOptions.d.ts.map +1 -1
  495. package/dist/infra/config/providerOptions.js +56 -10
  496. package/dist/infra/config/providerOptions.js.map +1 -1
  497. package/dist/infra/config/traced/tracedConfigSchema.d.ts.map +1 -1
  498. package/dist/infra/config/traced/tracedConfigSchema.js +8 -0
  499. package/dist/infra/config/traced/tracedConfigSchema.js.map +1 -1
  500. package/dist/infra/cursor/client.d.ts.map +1 -1
  501. package/dist/infra/cursor/client.js +113 -47
  502. package/dist/infra/cursor/client.js.map +1 -1
  503. package/dist/infra/opencode/client.d.ts.map +1 -1
  504. package/dist/infra/opencode/client.js +21 -0
  505. package/dist/infra/opencode/client.js.map +1 -1
  506. package/dist/infra/opencode/unavailable-tool-loop.d.ts +7 -0
  507. package/dist/infra/opencode/unavailable-tool-loop.d.ts.map +1 -0
  508. package/dist/infra/opencode/unavailable-tool-loop.js +33 -0
  509. package/dist/infra/opencode/unavailable-tool-loop.js.map +1 -0
  510. package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
  511. package/dist/infra/providers/provider-capabilities.js +0 -1
  512. package/dist/infra/providers/provider-capabilities.js.map +1 -1
  513. package/dist/infra/task/clone-base-branch.d.ts +1 -0
  514. package/dist/infra/task/clone-base-branch.d.ts.map +1 -1
  515. package/dist/infra/task/clone-base-branch.js +22 -14
  516. package/dist/infra/task/clone-base-branch.js.map +1 -1
  517. package/dist/infra/task/clone.d.ts +2 -0
  518. package/dist/infra/task/clone.d.ts.map +1 -1
  519. package/dist/infra/task/clone.js +7 -1
  520. package/dist/infra/task/clone.js.map +1 -1
  521. package/dist/infra/task/index.d.ts +1 -1
  522. package/dist/infra/task/index.d.ts.map +1 -1
  523. package/dist/infra/task/index.js +1 -1
  524. package/dist/infra/task/index.js.map +1 -1
  525. package/dist/infra/task/mapper.d.ts.map +1 -1
  526. package/dist/infra/task/mapper.js +1 -0
  527. package/dist/infra/task/mapper.js.map +1 -1
  528. package/dist/infra/task/taskExecutionSchemas.d.ts +3 -3
  529. package/dist/infra/task/taskRecordSchemas.d.ts +2 -2
  530. package/dist/infra/task/types.d.ts +1 -0
  531. package/dist/infra/task/types.d.ts.map +1 -1
  532. package/dist/shared/prompts/en/perform_phase2_message.md +1 -0
  533. package/dist/shared/prompts/ja/perform_phase2_message.md +1 -0
  534. package/dist/shared/ui/StreamDisplay.js +1 -1
  535. package/dist/shared/ui/StreamDisplay.js.map +1 -1
  536. package/dist/shared/utils/index.d.ts +1 -0
  537. package/dist/shared/utils/index.d.ts.map +1 -1
  538. package/dist/shared/utils/index.js +1 -0
  539. package/dist/shared/utils/index.js.map +1 -1
  540. package/dist/shared/utils/runId.d.ts +2 -0
  541. package/dist/shared/utils/runId.d.ts.map +1 -0
  542. package/dist/shared/utils/runId.js +18 -0
  543. package/dist/shared/utils/runId.js.map +1 -0
  544. package/package.json +24 -12
  545. /package/builtins/en/{workflows/provider-options → provider-options}/edit.yaml +0 -0
  546. /package/builtins/en/{workflows/provider-options → provider-options}/review-files.yaml +0 -0
  547. /package/builtins/en/{workflows/provider-options → provider-options}/review-readonly.yaml +0 -0
  548. /package/builtins/en/{workflows/provider-options → provider-options}/review-web.yaml +0 -0
  549. /package/builtins/ja/{workflows/provider-options → provider-options}/edit.yaml +0 -0
  550. /package/builtins/ja/{workflows/provider-options → provider-options}/review-files.yaml +0 -0
  551. /package/builtins/ja/{workflows/provider-options → provider-options}/review-readonly.yaml +0 -0
  552. /package/builtins/ja/{workflows/provider-options → provider-options}/review-web.yaml +0 -0
@@ -167,6 +167,35 @@ Validation inside an Aggregate should be limited to facts reproducible by event
167
167
 
168
168
  Example: for an upload-completed command, the Aggregate decides whether the session owner matches the requester and whether the current state can be completed. The storage object key format and whether the key belongs to the current user/tenant are validated in the UseCase layer before sending the command.
169
169
 
170
+ ## UseCase Layer (Orchestration)
171
+
172
+ UseCases sit between Controllers and command dispatch when orchestration is needed. They validate preconditions from Read Models across aggregates and perform required preparation before sending commands.
173
+
174
+ ```
175
+ Controller → UseCase → CommandGateway → Aggregate
176
+
177
+ QueryGateway / Repository (Read Model lookup)
178
+ ```
179
+
180
+ Cases where UseCase is needed:
181
+ - Read Model checks from multiple aggregates before command dispatch
182
+ - Multiple validations executed in sequence
183
+ - Result consistency waiting after command dispatch
184
+ - External integration or multiple command dispatches
185
+
186
+ Cases where UseCase is unnecessary:
187
+ - Simple operation completed by sending one command from Controller
188
+ - Simple read that only queries the query side and converts to response
189
+ - Operation that checks resource existence/scope and then sends one command
190
+
191
+ | Criteria | Judgment |
192
+ |----------|----------|
193
+ | Controller directly references Repository for validation | Separate into UseCase layer |
194
+ | UseCase depends on HTTP requests/responses | REJECT. UseCase must be protocol-independent |
195
+ | UseCase directly modifies Aggregate internal state | REJECT. Use CommandGateway |
196
+ | UseCase waits for results via Subscription Query | REJECT. Does not work in distributed environments. Use reactive polling |
197
+ | UseCase only delegates to a query boundary or command dispatch | Consider deleting |
198
+
170
199
  ## Projection Design
171
200
 
172
201
  | Criteria | Judgment |
@@ -181,6 +210,19 @@ Good Projection:
181
210
  - Idempotently reconstructible from events
182
211
  - Completely independent from Write model
183
212
 
213
+ ### External Work Triggers
214
+
215
+ External workers and asynchronous work should start from domain events confirmed by the Aggregate. Application Services and Coordinators must not bundle command dispatch and external side effects in the same control flow.
216
+
217
+ | Criteria | Judgment |
218
+ |----------|----------|
219
+ | Application Service or Coordinator dispatches a command, then starts external work for the same state transition | REJECT. Separate into an EventHandler for the confirmed event |
220
+ | Aggregate emits an event that represents generation or processing start, and an EventHandler starts external work | OK |
221
+ | EventHandler converts external start failure into a failure command back to the Aggregate | OK |
222
+ | Inputs needed by external work are represented in the event or reloadable through stable identifiers | OK |
223
+ | Inputs needed by external work exist only as local variables during command handling | REJECT. Move them to events or reloadable references |
224
+ | Saga is used only to start simple external work without contention or compensation | REJECT. EventHandler is sufficient |
225
+
184
226
  ## Query Side Design
185
227
 
186
228
  Query side operates on an event-driven PubSub model. Projections update Read Models via EventHandler, and queries read from Read Models.
@@ -197,6 +239,9 @@ Event distribution uses PubSub (via message broker) to deliver events to all ins
197
239
  | Controller directly referencing Repository | REJECT. Must go through UseCase layer |
198
240
  | Query side referencing Command Model | REJECT |
199
241
  | QueryHandler issuing commands | REJECT |
242
+ | Query-side service or handler saves, deletes, or calls external APIs | REJECT |
243
+ | Command and Query responsibilities mixed in the same service | REJECT. Separate responsibility and naming |
244
+ | Query side checks existence or scope and caller dispatches command | OK |
200
245
 
201
246
  Types between layers:
202
247
  - `application/query/` - Query result types (e.g., `OrderDetail`)
@@ -249,6 +294,18 @@ Aggregate → Event Bus → Projection(@EventHandler) → Repository(Read Model)
249
294
  QueryHandler reads from here
250
295
  ```
251
296
 
297
+ ### Async Callbacks and Concurrency Control
298
+
299
+ Completion notifications for asynchronous work must assume duplicates, delays, and reordering. Protect the workflow with Aggregate state transitions and command idempotency, not Controller-level or single-process locks.
300
+
301
+ | Criteria | Judgment |
302
+ |----------|----------|
303
+ | Controller or application-process lock prevents duplicate callbacks | REJECT. It does not work across multiple instances |
304
+ | Aggregate state decides whether work is processing | OK |
305
+ | Aggregate verifies callback attempt/generation identifiers | OK |
306
+ | Stale or duplicate callbacks are idempotently ignored by state transition | OK |
307
+ | Concurrency control is duplicated across Controller, UseCase, and Aggregate | REJECT |
308
+
252
309
  ## Eventual Consistency
253
310
 
254
311
  When synchronous response is needed after command dispatch, use reactive polling to wait for Projection updates.
@@ -0,0 +1,31 @@
1
+ ```markdown
2
+ # AI-Generated Code Review
3
+
4
+ ## Result: APPROVE / REJECT
5
+
6
+ ## Summary
7
+ {Summarize the result in one sentence}
8
+
9
+ ## Verified Items
10
+ | Aspect | Result | Notes |
11
+ |--------|--------|-------|
12
+ | Validity of assumptions | ✅ | - |
13
+ | API/library existence | ✅ | - |
14
+ | Context fit | ✅ | - |
15
+ | Scope | ✅ | - |
16
+
17
+ Expected `family_tag` values: `hallucination`, `unvalidated-assumption`, `off-by-one`, `api-mismatch`, `missing-edge-case`, `logic-error`, `scope-creep`.
18
+ When structured raw findings are requested, copy this table's `family_tag` value into the structured `familyTag` field.
19
+
20
+ ## Observed Findings
21
+ | # | family_tag | Category | Severity | Location | Issue | Fix Suggestion |
22
+ |---|------------|----------|----------|----------|-------|----------------|
23
+ | 1 | hallucination | Hallucinated API | high / medium / low | `src/file.ts:23` | Non-existent method | Replace with existing API |
24
+
25
+ ## Rejection Gate
26
+ - REJECT is valid only when at least one blocking finding is observed
27
+ ```
28
+
29
+ **Cognitive load reduction rules:**
30
+ - No issues → Summary sentence + checklist + empty finding sections (10 lines or fewer)
31
+ - Issues found → include table rows only for impacted sections (30 lines or fewer)
@@ -0,0 +1,35 @@
1
+ ```markdown
2
+ # Architecture Review
3
+
4
+ ## Result: APPROVE / IMPROVE / REJECT
5
+
6
+ ## Summary
7
+ {Summarize the result in 1-2 sentences}
8
+
9
+ ## Reviewed Aspects
10
+ - [x] Structure & design
11
+ - [x] Code quality
12
+ - [x] Change scope
13
+ - [x] Test coverage
14
+ - [x] Dead code
15
+ - [x] Call chain verification
16
+
17
+ ## Observed Findings
18
+ | # | family_tag | Scope | Severity | Location | Issue | Fix Suggestion |
19
+ |---|------------|-------|----------|----------|-------|----------------|
20
+ | 1 | design-violation | In-scope | high / medium / low | `src/file.ts:42` | Issue description | Fix approach |
21
+
22
+ Scope: "In-scope" (fixable in this change) / "Out-of-scope" (existing issue, non-blocking)
23
+
24
+ ## Verification Evidence
25
+ - Build: {Verified target, what was checked, and observed result; or state that it was unverified}
26
+ - Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
27
+ - Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
28
+
29
+ ## Rejection Gate
30
+ - REJECT is valid only when at least one in-scope blocking finding is observed
31
+ ```
32
+
33
+ **Cognitive load reduction rules:**
34
+ - APPROVE → Summary only (5 lines or fewer)
35
+ - REJECT → Include only relevant finding rows (30 lines or fewer)
@@ -0,0 +1,25 @@
1
+ ```markdown
2
+ # Coding Review
3
+
4
+ ## Result: APPROVE / REJECT
5
+
6
+ ## Summary
7
+ {Summarize the review result in 1-2 sentences}
8
+
9
+ ## Observed Findings
10
+ | # | family_tag | Severity | Location | Issue | Impact | Fix Suggestion |
11
+ |---|------------|----------|----------|-------|--------|----------------|
12
+ | 1 | bug | High / Medium / Low | `src/file.ts:42` | {Issue} | {Impact} | {Fix suggestion} |
13
+
14
+ ## Verification Evidence
15
+ - Diff review: {What was checked}
16
+ - Build: {Result, or state unverified}
17
+ - Tests: {Result, or state unverified}
18
+
19
+ ## Rejection Gate
20
+ - REJECT only when at least one blocking finding is observed
21
+ ```
22
+
23
+ **Cognitive load reduction rules:**
24
+ - APPROVE: Summary only (5 lines or fewer)
25
+ - REJECT: Include only relevant finding rows (30 lines or fewer)
@@ -6,6 +6,13 @@
6
6
  ## Summary
7
7
  {Summarize the review result in 1-2 sentences}
8
8
 
9
+ ## Contract Entry Check
10
+ Fill this when the diff adds or changes IDs, names, metadata, config, environment variables, or output contracts.
11
+
12
+ | Entry / Path | Original Requirement | Implementation Evidence | Test Evidence | Judgment | Exception / Unverified Evidence |
13
+ |--------------|----------------------|--------------------------|---------------|----------|---------------------------------|
14
+ | {normal entry / derived condition / validation / evaluation / output / re-injection, etc.} | {Requirement} | `src/file.ts:42` | `src/file.test.ts:10` | ✅/❌/⚠️ | {none / evidence} |
15
+
9
16
  ## Current Iteration Findings (new)
10
17
  | # | finding_id | family_tag | Severity | Location | Issue | Impact | Fix Suggestion |
11
18
  |---|------------|------------|----------|----------|-------|--------|----------------|
@@ -17,9 +24,9 @@
17
24
  | 1 | CODE-PERSIST-src-file-L77 | regression | `src/file.ts:77` | `src/file.ts:77` | {Unresolved issue} | {Fix suggestion} |
18
25
 
19
26
  ## Resolved Findings (resolved)
20
- | finding_id | Resolution Evidence |
21
- |------------|---------------------|
22
- | CODE-RESOLVED-src-file-L10 | Resolved at `src/file.ts:10` |
27
+ | finding_id | Original Expected Result | Resolution Evidence |
28
+ |------------|--------------------------|---------------------|
29
+ | CODE-RESOLVED-src-file-L10 | {Original finding acceptance criteria} | Resolved at `src/file.ts:10` |
23
30
 
24
31
  ## Reopened Findings (reopened)
25
32
  | # | finding_id | family_tag | Prior Resolution Evidence | Recurrence Evidence | Issue | Fix Suggestion |
@@ -37,5 +44,5 @@
37
44
  ```
38
45
 
39
46
  **Cognitive load reduction rules:**
40
- - APPROVE: Summary only (5 lines or fewer)
47
+ - APPROVE: Summary plus Contract Entry Check when needed (10 lines or fewer total)
41
48
  - REJECT: Include only relevant finding rows (30 lines or fewer)
@@ -0,0 +1,31 @@
1
+ ```markdown
2
+ # CQRS+ES 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
+ | Aggregate design | ✅ | - |
13
+ | Event design | ✅ | - |
14
+ | Command/Query separation | ✅ | - |
15
+ | Projections | ✅ | - |
16
+ | Eventual consistency | ✅ | - |
17
+
18
+ ## Observed Findings
19
+ | # | family_tag | Severity | Scope | Location | Issue | Impact | Fix Suggestion |
20
+ |---|------------|----------|-------|----------|-------|--------|----------------|
21
+ | 1 | cqrs-violation | High / Medium / Low | In-scope | `src/file.ts:42` | Issue description | Domain consistency 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,45 @@
1
+ ```json
2
+ {
3
+ "matches": [
4
+ {
5
+ "findingId": "F-0001",
6
+ "rawFindingIds": ["raw-1"],
7
+ "evidence": "Why this is the same issue"
8
+ }
9
+ ],
10
+ "newFindings": [
11
+ {
12
+ "rawFindingIds": ["raw-2"],
13
+ "title": "Short title for the new finding",
14
+ "severity": "high"
15
+ }
16
+ ],
17
+ "resolvedFindings": [
18
+ {
19
+ "findingId": "F-0002",
20
+ "rawFindingIds": ["raw-previous-1"],
21
+ "evidence": "Evidence that the finding is resolved"
22
+ }
23
+ ],
24
+ "reopenedFindings": [
25
+ {
26
+ "findingId": "F-0003",
27
+ "rawFindingIds": ["raw-3"],
28
+ "evidence": "Evidence that the finding has reappeared"
29
+ }
30
+ ],
31
+ "conflicts": [
32
+ {
33
+ "findingIds": [],
34
+ "rawFindingIds": ["raw-4", "raw-5"],
35
+ "description": "Reviewer contradiction"
36
+ }
37
+ ],
38
+ "resolvedConflicts": [
39
+ {
40
+ "conflictId": "C-012345ABCDEF",
41
+ "evidence": "Evidence that the conflict is adjudicated"
42
+ }
43
+ ]
44
+ }
45
+ ```
@@ -0,0 +1,30 @@
1
+ ```markdown
2
+ # Frontend 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
+ | Component design | ✅ | - |
13
+ | State management | ✅ | - |
14
+ | Canonical and derived state | ✅ | - |
15
+ | Performance | ✅ | - |
16
+ | Accessibility | ✅ | - |
17
+ | Type safety | ✅ | - |
18
+
19
+ ## Observed Findings
20
+ | # | family_tag | Severity | Location | Issue | Impact | Fix Suggestion |
21
+ |---|------------|----------|----------|-------|--------|----------------|
22
+ | 1 | component-design | High / Medium / Low | `src/file.tsx:42` | Issue description | User experience or maintainability impact | Fix approach |
23
+
24
+ ## Rejection Gate
25
+ - REJECT only when at least one blocking finding is observed
26
+ ```
27
+
28
+ **Cognitive load reduction rules:**
29
+ - APPROVE → Summary only (5 lines or fewer)
30
+ - REJECT → Include only relevant finding rows (30 lines or fewer)
@@ -0,0 +1,45 @@
1
+ ```markdown
2
+ # Pure Review
3
+
4
+ ## Result: APPROVE / REJECT
5
+
6
+ ## Summary
7
+ {Summarize in 1-2 sentences whether this change is mergeable quality. If REJECT, mention the largest blocker first}
8
+
9
+ ## Pure Review Check
10
+ | # | Area | Status | Evidence (file:line / test / execution evidence) | Comment |
11
+ |---|------|--------|--------------------------------------------------|---------|
12
+ | 1 | Requirement fulfillment | Satisfied / Unmet / Unverified | `src/file.ts:42` | {Notes} |
13
+ | 2 | Existing contract and existing-flow impact | No issue / Issue found / Unverified | `src/file.ts:42` | {Notes} |
14
+ | 3 | Tests and verification | Sufficient / Insufficient / Unverified | `npm test` | {Notes} |
15
+ | 4 | Out-of-scope changes and scope creep | No issue / Issue found / Unverified | `src/file.ts:42` | {Notes} |
16
+ | 5 | Obvious security, data-protection, or operational risk | No issue / Issue found / Unverified | `src/file.ts:42` | {Notes} |
17
+
18
+ ## Requirements Cross-Reference
19
+ | # | Requirement (from task) | Status | Evidence (file:line) | Comment |
20
+ |---|-------------------------|--------|----------------------|---------|
21
+ | 1 | {requirement 1} | Satisfied / Unmet / Unverified | `src/file.ts:42` | {Notes} |
22
+
23
+ ## Out-of-Scope Changes and Existing Impact
24
+ | # | Change | File | Judgment | Comment |
25
+ |---|--------|------|----------|---------|
26
+ | 1 | {out-of-scope change or existing impact} | `src/file.ts` | Justified / Needs review / Unnecessary / Problematic | {Reason} |
27
+
28
+ ## Observed Findings
29
+ | # | family_tag | Category | Severity | Location | Issue | Fix Suggestion |
30
+ |---|------------|----------|----------|----------|-------|----------------|
31
+ | 1 | mergeability | Regression / Requirement gap / Missing tests / Contract break / Scope creep | high / medium / low | `src/file.ts:42` | Issue description | Fix suggestion |
32
+
33
+ ## Verification Evidence
34
+ - Build: {Verified target, what was checked, and observed result; or state that it was unverified}
35
+ - Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
36
+ - Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
37
+
38
+ ## Rejection Gate
39
+ - REJECT if at least one merge-blocking finding is observed
40
+ - Unverified areas should block merge only when they affect mergeability
41
+ ```
42
+
43
+ **Cognitive load reduction rules:**
44
+ - APPROVE: Summary + Pure Review Check only (10 lines or fewer)
45
+ - REJECT: Prioritize blocker findings (40 lines or fewer)
@@ -16,9 +16,9 @@
16
16
  | 5 | Obvious security, data-protection, or operational risk | No issue / Issue found / Unverified | `src/file.ts:42` | {Notes} |
17
17
 
18
18
  ## Requirements Cross-Reference
19
- | # | Requirement (from task) | Status | Evidence (file:line) | Comment |
20
- |---|-------------------------|--------|----------------------|---------|
21
- | 1 | {requirement 1} | Satisfied / Unmet / Unverified | `src/file.ts:42` | {Notes} |
19
+ | # | Requirement (from task) | Original Requirement Source | Status | Evidence (file:line) | Exception / Unverified Evidence |
20
+ |---|-------------------------|-----------------------------|--------|----------------------|---------------------------------|
21
+ | 1 | {requirement 1} | `order.md:10` | Satisfied / Unmet / Unverified | `src/file.ts:42` | {none / evidence} |
22
22
 
23
23
  ## Out-of-Scope Changes and Existing Impact
24
24
  | # | Change | File | Judgment | Comment |
@@ -36,9 +36,9 @@
36
36
  | 1 | PURE-PERSIST-src-file-L77 | mergeability | `file:line` | `file:line` | Unresolved | Fix suggestion |
37
37
 
38
38
  ## Resolved Findings (resolved)
39
- | finding_id | Resolution Evidence |
40
- |------------|---------------------|
41
- | PURE-RESOLVED-src-file-L10 | `file:line` resolves the issue |
39
+ | finding_id | Original Expected Result | Resolution Evidence |
40
+ |------------|--------------------------|---------------------|
41
+ | PURE-RESOLVED-src-file-L10 | {Original finding acceptance criteria} | `file:line` resolves the issue |
42
42
 
43
43
  ## Reopened Findings (reopened)
44
44
  | # | finding_id | family_tag | Prior Resolution Evidence | Recurrence Evidence | Issue | Fix Suggestion |
@@ -0,0 +1,35 @@
1
+ ```markdown
2
+ # QA 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 quality | ✅ | - |
14
+ | Error handling | ✅ | - |
15
+ | Documentation | ✅ | - |
16
+ | Maintainability | ✅ | - |
17
+
18
+ ## Observed Findings
19
+ | # | family_tag | Category | Severity | Location | Issue | Fix Suggestion |
20
+ |---|------------|----------|----------|----------|-------|----------------|
21
+ | 1 | test-coverage | Testing | high / medium / low | `src/test.ts:42` | Missing negative test | Add failure-path test |
22
+
23
+ ## Verification Evidence
24
+ - Build: {Verified target, what was checked, and observed result; or state that it was unverified}
25
+ - Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
26
+ - Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
27
+
28
+ ## Unverified Scope
29
+ | Item | Reason | Impact on Decision |
30
+ |------|--------|--------------------|
31
+ | {Unverified scope, or "none"} | {Reason it was not verified} | {APPROVE allowed / REJECT reason} |
32
+
33
+ ## Rejection Gate
34
+ - REJECT is valid only when at least one blocking finding is observed
35
+ ```
@@ -15,6 +15,13 @@
15
15
  | Documentation | ✅ | - |
16
16
  | Maintainability | ✅ | - |
17
17
 
18
+ ## Contract Entry Check
19
+ Fill this when the diff adds or changes IDs, names, metadata, config, environment variables, or output contracts.
20
+
21
+ | Entry / Path | Original Requirement | Implementation Evidence | Test Evidence | Judgment | Exception / Unverified Evidence |
22
+ |--------------|----------------------|--------------------------|---------------|----------|---------------------------------|
23
+ | {normal entry / derived condition / validation / evaluation / output / re-injection, etc.} | {Requirement} | `src/file.ts:42` | `src/file.test.ts:10` | ✅/❌/⚠️ | {none / evidence} |
24
+
18
25
  ## Current Iteration Findings (new)
19
26
  | # | finding_id | family_tag | Category | Location | Issue | Fix Suggestion |
20
27
  |---|------------|------------|----------|----------|-------|----------------|
@@ -26,9 +33,9 @@
26
33
  | 1 | QA-PERSIST-src-test-L77 | test-coverage | `src/test.ts:77` | `src/test.ts:77` | Still flaky | Stabilize assertion & setup |
27
34
 
28
35
  ## Resolved Findings (resolved)
29
- | finding_id | Resolution Evidence |
30
- |------------|---------------------|
31
- | QA-RESOLVED-src-test-L10 | `src/test.ts:10` now covers error path |
36
+ | finding_id | Original Expected Result | Resolution Evidence |
37
+ |------------|--------------------------|---------------------|
38
+ | QA-RESOLVED-src-test-L10 | {Original finding acceptance criteria} | `src/test.ts:10` now covers error path |
32
39
 
33
40
  ## Reopened Findings (reopened)
34
41
  | # | finding_id | family_tag | Prior Resolution Evidence | Recurrence Evidence | Issue | Fix Suggestion |
@@ -0,0 +1,36 @@
1
+ ```markdown
2
+ # Security Review
3
+
4
+ ## Result: APPROVE / REJECT
5
+
6
+ ## Severity: None / Low / Medium / High / Critical
7
+
8
+ ## Check Results
9
+ | Category | Result | Notes |
10
+ |----------|--------|-------|
11
+ | Injection | ✅ | - |
12
+ | Authentication & Authorization | ✅ | - |
13
+ | Data Protection | ✅ | - |
14
+ | Dependencies | ✅ | - |
15
+
16
+ ## Observed Findings
17
+ | # | family_tag | Severity | Type | Location | Issue | Fix Suggestion |
18
+ |---|------------|----------|------|----------|-------|----------------|
19
+ | 1 | injection-risk | High | SQLi | `src/db.ts:42` | Raw query string | Use parameterized queries |
20
+
21
+ ## Verification Evidence
22
+ - Build: {Verified target, what was checked, and observed result; or state that it was unverified}
23
+ - Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
24
+ - Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
25
+
26
+ ## Warnings (non-blocking)
27
+ - {Security recommendations}
28
+
29
+ ## Rejection Gate
30
+ - REJECT is valid only when at least one blocking vulnerability is observed
31
+ ```
32
+
33
+ **Cognitive load reduction rules:**
34
+ - No issues → Checklist only (10 lines or fewer)
35
+ - Warnings only → + Warnings in 1-2 lines (15 lines or fewer)
36
+ - Vulnerabilities found → + finding tables (30 lines or fewer)
@@ -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
+ - Treat optionalization, exclusion, or exception not present in the task spec as unmet
20
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)