@fitlab-ai/agent-infra 0.9.1 → 0.9.3

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 (476) hide show
  1. package/README.md +24 -11
  2. package/README.zh-CN.md +24 -11
  3. package/bin/cli.ts +12 -0
  4. package/dist/bin/cli.js +14 -0
  5. package/dist/bin/internal-cli.js +30 -0
  6. package/dist/lib/agent-client.js +163 -0
  7. package/dist/lib/agent-clients/adapter.js +337 -0
  8. package/dist/lib/agent-clients/adapters/antigravity-cli.js +64 -0
  9. package/dist/lib/agent-clients/adapters/claude-code.js +71 -0
  10. package/dist/lib/agent-clients/adapters/codex-sandbox.js +210 -0
  11. package/dist/lib/agent-clients/adapters/codex.js +63 -0
  12. package/dist/lib/agent-clients/adapters/index.js +20 -0
  13. package/dist/lib/agent-clients/adapters/opencode.js +73 -0
  14. package/dist/lib/agent-clients/config.js +215 -0
  15. package/dist/lib/agent-clients/custom-tuis.js +99 -0
  16. package/dist/lib/agent-clients/invocation.js +9 -0
  17. package/dist/lib/agent-clients/next-steps.js +47 -0
  18. package/dist/lib/agent-clients/project-assets.js +45 -0
  19. package/dist/lib/agent-clients/reconcile.js +236 -0
  20. package/dist/lib/agent-clients/registry.js +78 -0
  21. package/dist/lib/agent-clients/schema.js +75 -0
  22. package/dist/lib/agent-clients/tokens.js +49 -0
  23. package/dist/lib/agent-clients/types.js +29 -0
  24. package/dist/lib/builtin-tuis.js +9 -14
  25. package/dist/lib/defaults.json +85 -73
  26. package/dist/lib/git/review-snapshot.js +25 -10
  27. package/dist/lib/git/reviewed-commit-equivalence.js +110 -0
  28. package/dist/lib/git/workflow.js +54 -1
  29. package/dist/lib/init.js +47 -91
  30. package/dist/lib/internal/agent-client.js +174 -0
  31. package/dist/lib/internal/git-workflow.js +7 -2
  32. package/dist/lib/internal/platform-checks.js +3 -3
  33. package/dist/lib/internal/platform-comment.js +29 -2
  34. package/dist/lib/internal/platform-issue.js +7 -0
  35. package/dist/lib/internal/platform-pr-review.js +132 -0
  36. package/dist/lib/internal/platform-pr.js +20 -2
  37. package/dist/lib/internal/platform-release-notes.js +52 -16
  38. package/dist/lib/internal/pr-review-grade.js +140 -0
  39. package/dist/lib/internal/release-workflow.js +82 -20
  40. package/dist/lib/internal/task-activity.js +73 -0
  41. package/dist/lib/internal/task-event.js +17 -1
  42. package/dist/lib/internal/task-lifecycle.js +7 -0
  43. package/dist/lib/internal/task-orchestration.js +196 -0
  44. package/dist/lib/internal/task-review.js +70 -0
  45. package/dist/lib/merge.js +2 -1
  46. package/dist/lib/platform/adapters.js +45 -1
  47. package/dist/lib/platform/change-request-git-evidence.js +113 -0
  48. package/dist/lib/platform/completion-backfill.js +122 -0
  49. package/dist/lib/platform/issue-comments.js +3 -2
  50. package/dist/lib/platform/merged-pr-equivalence.js +156 -16
  51. package/dist/lib/platform/pr-checks.js +101 -50
  52. package/dist/lib/platform/pr-review.js +166 -0
  53. package/dist/lib/platform/pull-requests.js +432 -7
  54. package/dist/lib/platform/release-notes.js +85 -3
  55. package/dist/lib/platform/releases.js +1 -1
  56. package/dist/lib/platform/verification-required.js +8 -10
  57. package/dist/lib/pr-review/evidence-grading.js +229 -0
  58. package/dist/lib/prompt.js +15 -3
  59. package/dist/lib/release/channels.js +4 -1
  60. package/dist/lib/release/workflow.js +4 -2
  61. package/dist/lib/remove-dir.js +25 -0
  62. package/dist/lib/run/tui.js +11 -7
  63. package/dist/lib/sandbox/agent-client-reconciler.js +234 -0
  64. package/dist/lib/sandbox/clipboard/linux.js +2 -1
  65. package/dist/lib/sandbox/commands/create.js +76 -200
  66. package/dist/lib/sandbox/commands/enter.js +17 -1
  67. package/dist/lib/sandbox/commands/prune.js +2 -2
  68. package/dist/lib/sandbox/commands/rm.js +3 -2
  69. package/dist/lib/sandbox/commands/show.js +1 -1
  70. package/dist/lib/sandbox/config.js +21 -4
  71. package/dist/lib/sandbox/constants.js +3 -0
  72. package/dist/lib/sandbox/dockerfile.js +2 -1
  73. package/dist/lib/sandbox/managed-fs.js +10 -5
  74. package/dist/lib/sandbox/recovery.js +52 -36
  75. package/dist/lib/sandbox/shell.js +1 -1
  76. package/dist/lib/sandbox/tool-types.js +8 -0
  77. package/dist/lib/sandbox/tools.js +2 -126
  78. package/dist/lib/task/activity-intent.js +101 -0
  79. package/dist/lib/task/artifact-lifecycle.js +3 -50
  80. package/dist/lib/task/commands/decisions.js +50 -20
  81. package/dist/lib/task/commands/log.js +15 -14
  82. package/dist/lib/task/delegation-receipts.js +128 -0
  83. package/dist/lib/task/events.js +146 -8
  84. package/dist/lib/task/finalization-artifacts.js +35 -0
  85. package/dist/lib/task/lifecycle-execution.js +46 -0
  86. package/dist/lib/task/orchestration.js +784 -0
  87. package/dist/lib/task/review-artifacts.js +143 -59
  88. package/dist/lib/task/review-finalization.js +186 -0
  89. package/dist/lib/task/review-fingerprint.js +4 -0
  90. package/dist/lib/task/task-execution-lock.js +231 -0
  91. package/dist/lib/task/verification-checks.js +2 -1
  92. package/dist/lib/task/verification-engine.js +372 -28
  93. package/dist/lib/task/verification-review.js +1 -1
  94. package/dist/lib/task/verification.js +5 -2
  95. package/dist/lib/task/workspace-snapshot.js +46 -0
  96. package/dist/lib/update.js +42 -161
  97. package/lib/agent-client.ts +214 -0
  98. package/lib/agent-clients/adapter.ts +534 -0
  99. package/lib/agent-clients/adapters/antigravity-cli.ts +65 -0
  100. package/lib/agent-clients/adapters/claude-code.ts +79 -0
  101. package/lib/agent-clients/adapters/codex-sandbox.ts +245 -0
  102. package/lib/agent-clients/adapters/codex.ts +67 -0
  103. package/lib/agent-clients/adapters/index.ts +27 -0
  104. package/lib/agent-clients/adapters/opencode.ts +75 -0
  105. package/lib/agent-clients/config.ts +323 -0
  106. package/lib/agent-clients/custom-tuis.ts +149 -0
  107. package/lib/agent-clients/invocation.ts +19 -0
  108. package/lib/agent-clients/next-steps.ts +85 -0
  109. package/lib/agent-clients/project-assets.ts +96 -0
  110. package/lib/agent-clients/reconcile.ts +325 -0
  111. package/lib/agent-clients/registry.ts +154 -0
  112. package/lib/agent-clients/schema.ts +80 -0
  113. package/lib/agent-clients/tokens.ts +53 -0
  114. package/lib/agent-clients/types.ts +92 -0
  115. package/lib/benchmark/schemas/v1.0.0/case-manifest.schema.json +120 -0
  116. package/lib/benchmark/schemas/v1.0.0/common.schema.json +109 -0
  117. package/lib/benchmark/schemas/v1.0.0/grader-result.schema.json +160 -0
  118. package/lib/benchmark/schemas/v1.0.0/run-manifest.schema.json +122 -0
  119. package/lib/benchmark/schemas/v1.0.0/subject.schema.json +227 -0
  120. package/lib/builtin-tuis.ts +16 -15
  121. package/lib/defaults.json +24 -12
  122. package/lib/git/review-snapshot.ts +39 -9
  123. package/lib/git/reviewed-commit-equivalence.ts +135 -0
  124. package/lib/git/workflow.ts +66 -2
  125. package/lib/init.ts +53 -121
  126. package/lib/internal/agent-client.ts +186 -0
  127. package/lib/internal/git-workflow.ts +6 -2
  128. package/lib/internal/platform-checks.ts +4 -4
  129. package/lib/internal/platform-comment.ts +17 -2
  130. package/lib/internal/platform-issue.ts +4 -0
  131. package/lib/internal/platform-pr-review.ts +104 -0
  132. package/lib/internal/platform-pr.ts +14 -1
  133. package/lib/internal/platform-release-notes.ts +59 -16
  134. package/lib/internal/pr-review-grade.ts +130 -0
  135. package/lib/internal/release-workflow.ts +79 -20
  136. package/lib/internal/task-activity.ts +55 -0
  137. package/lib/internal/task-event.ts +9 -1
  138. package/lib/internal/task-lifecycle.ts +4 -0
  139. package/lib/internal/task-orchestration.ts +171 -0
  140. package/lib/internal/task-review.ts +70 -0
  141. package/lib/merge.ts +2 -1
  142. package/lib/platform/adapters.ts +169 -3
  143. package/lib/platform/change-request-git-evidence.ts +159 -0
  144. package/lib/platform/completion-backfill.ts +134 -0
  145. package/lib/platform/issue-comments.ts +3 -2
  146. package/lib/platform/merged-pr-equivalence.ts +178 -19
  147. package/lib/platform/pr-checks.ts +121 -66
  148. package/lib/platform/pr-review.ts +201 -0
  149. package/lib/platform/pull-requests.ts +529 -27
  150. package/lib/platform/release-notes.ts +100 -4
  151. package/lib/platform/releases.ts +1 -1
  152. package/lib/platform/verification-required.ts +12 -10
  153. package/lib/pr-review/evidence-grading.ts +318 -0
  154. package/lib/prompt.ts +16 -3
  155. package/lib/release/channels.ts +4 -1
  156. package/lib/release/workflow.ts +4 -3
  157. package/lib/remove-dir.ts +28 -0
  158. package/lib/run/tui.ts +12 -5
  159. package/lib/sandbox/agent-client-reconciler.ts +378 -0
  160. package/lib/sandbox/clipboard/linux.ts +2 -1
  161. package/lib/sandbox/commands/create.ts +111 -212
  162. package/lib/sandbox/commands/enter.ts +23 -1
  163. package/lib/sandbox/commands/prune.ts +2 -2
  164. package/lib/sandbox/commands/rm.ts +3 -2
  165. package/lib/sandbox/commands/show.ts +1 -1
  166. package/lib/sandbox/config.ts +31 -4
  167. package/lib/sandbox/constants.ts +6 -0
  168. package/lib/sandbox/dockerfile.ts +2 -1
  169. package/lib/sandbox/managed-fs.ts +18 -5
  170. package/lib/sandbox/recovery.ts +98 -67
  171. package/lib/sandbox/shell.ts +1 -1
  172. package/lib/sandbox/tool-types.ts +143 -0
  173. package/lib/sandbox/tools.ts +5 -157
  174. package/lib/server/server.schema.json +2 -2
  175. package/lib/task/activity-intent.ts +128 -0
  176. package/lib/task/artifact-lifecycle.ts +3 -39
  177. package/lib/task/commands/decisions.ts +53 -20
  178. package/lib/task/commands/log.ts +15 -14
  179. package/lib/task/delegation-receipts.ts +199 -0
  180. package/lib/task/events.ts +164 -11
  181. package/lib/task/finalization-artifacts.ts +58 -0
  182. package/lib/task/lifecycle-execution.ts +106 -0
  183. package/lib/task/orchestration.ts +1022 -0
  184. package/lib/task/review-artifacts.ts +201 -69
  185. package/lib/task/review-finalization.ts +306 -0
  186. package/lib/task/review-fingerprint.ts +5 -0
  187. package/lib/task/task-execution-lock.ts +296 -0
  188. package/lib/task/verification-checks.ts +2 -1
  189. package/lib/task/verification-engine.ts +424 -28
  190. package/lib/task/verification-review.ts +1 -0
  191. package/lib/task/verification.ts +8 -3
  192. package/lib/task/workspace-snapshot.ts +57 -0
  193. package/lib/update.ts +48 -184
  194. package/package.json +4 -4
  195. package/templates/.agents/QUICKSTART.en.md +25 -8
  196. package/templates/.agents/QUICKSTART.zh-CN.md +25 -8
  197. package/templates/.agents/README.en.md +29 -25
  198. package/templates/.agents/README.zh-CN.md +29 -25
  199. package/templates/.agents/hooks/lifecycle-delegation.js +75 -0
  200. package/templates/.agents/rules/README.en.md +2 -0
  201. package/templates/.agents/rules/README.zh-CN.md +2 -0
  202. package/templates/.agents/rules/commit-and-pr.en.md +1 -0
  203. package/templates/.agents/rules/commit-and-pr.zh-CN.md +1 -0
  204. package/templates/.agents/rules/create-issue.github.en.md +4 -2
  205. package/templates/.agents/rules/create-issue.github.zh-CN.md +4 -2
  206. package/templates/.agents/rules/human-decision-context.en.md +14 -12
  207. package/templates/.agents/rules/human-decision-context.zh-CN.md +14 -12
  208. package/templates/.agents/rules/issue-fields.github.en.md +3 -1
  209. package/templates/.agents/rules/issue-fields.github.zh-CN.md +3 -1
  210. package/templates/.agents/rules/issue-pr-commands.en.md +5 -3
  211. package/templates/.agents/rules/issue-pr-commands.github.en.md +5 -3
  212. package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +5 -3
  213. package/templates/.agents/rules/issue-pr-commands.zh-CN.md +5 -3
  214. package/templates/.agents/rules/issue-sync.github.en.md +7 -3
  215. package/templates/.agents/rules/issue-sync.github.zh-CN.md +8 -4
  216. package/templates/.agents/rules/lifecycle-orchestration.en.md +24 -0
  217. package/templates/.agents/rules/lifecycle-orchestration.zh-CN.md +24 -0
  218. package/templates/.agents/rules/milestone-inference.github.en.md +4 -2
  219. package/templates/.agents/rules/milestone-inference.github.zh-CN.md +4 -2
  220. package/templates/.agents/rules/next-step-output.en.md +18 -0
  221. package/templates/.agents/rules/next-step-output.zh-CN.md +18 -0
  222. package/templates/.agents/rules/no-mid-flow-questions.en.md +19 -0
  223. package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +19 -0
  224. package/templates/.agents/rules/pr-checks-commands.en.md +3 -3
  225. package/templates/.agents/rules/pr-checks-commands.github.en.md +2 -2
  226. package/templates/.agents/rules/pr-checks-commands.github.zh-CN.md +2 -2
  227. package/templates/.agents/rules/pr-checks-commands.zh-CN.md +3 -3
  228. package/templates/.agents/rules/pr-sync.en.md +3 -1
  229. package/templates/.agents/rules/pr-sync.github.en.md +11 -1
  230. package/templates/.agents/rules/pr-sync.github.zh-CN.md +11 -1
  231. package/templates/.agents/rules/pr-sync.zh-CN.md +3 -1
  232. package/templates/.agents/rules/release-commands.en.md +1 -1
  233. package/templates/.agents/rules/release-commands.github.en.md +21 -5
  234. package/templates/.agents/rules/release-commands.github.zh-CN.md +21 -5
  235. package/templates/.agents/rules/release-commands.zh-CN.md +1 -1
  236. package/templates/.agents/rules/review-handshake.en.md +4 -4
  237. package/templates/.agents/rules/review-handshake.zh-CN.md +4 -4
  238. package/templates/.agents/rules/review-method.en.md +113 -0
  239. package/templates/.agents/rules/review-method.zh-CN.md +98 -0
  240. package/templates/.agents/rules/task-management.en.md +11 -0
  241. package/templates/.agents/rules/task-management.zh-CN.md +11 -0
  242. package/templates/.agents/skills/analyze-task/SKILL.en.md +15 -12
  243. package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +15 -12
  244. package/templates/.agents/skills/block-task/SKILL.en.md +11 -9
  245. package/templates/.agents/skills/block-task/SKILL.zh-CN.md +11 -9
  246. package/templates/.agents/skills/cancel-task/SKILL.en.md +10 -8
  247. package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +11 -9
  248. package/templates/.agents/skills/check-task/SKILL.en.md +16 -16
  249. package/templates/.agents/skills/check-task/SKILL.zh-CN.md +16 -16
  250. package/templates/.agents/skills/close-codescan/SKILL.en.md +7 -5
  251. package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +7 -5
  252. package/templates/.agents/skills/close-dependabot/SKILL.en.md +7 -5
  253. package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +7 -5
  254. package/templates/.agents/skills/code-task/SKILL.en.md +10 -7
  255. package/templates/.agents/skills/code-task/SKILL.zh-CN.md +13 -10
  256. package/templates/.agents/skills/code-task/reference/fix-mode.en.md +14 -16
  257. package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +14 -16
  258. package/templates/.agents/skills/code-task/reference/output-template.en.md +3 -3
  259. package/templates/.agents/skills/code-task/reference/output-template.zh-CN.md +3 -3
  260. package/templates/.agents/skills/commit/SKILL.en.md +13 -1
  261. package/templates/.agents/skills/commit/SKILL.zh-CN.md +13 -1
  262. package/templates/.agents/skills/commit/reference/commit-message.en.md +1 -1
  263. package/templates/.agents/skills/commit/reference/commit-message.zh-CN.md +1 -1
  264. package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +1 -1
  265. package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +1 -1
  266. package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +1 -1
  267. package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +1 -1
  268. package/templates/.agents/skills/commit/reference/task-status-update.en.md +24 -28
  269. package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +24 -28
  270. package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +6 -4
  271. package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +6 -4
  272. package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +1 -1
  273. package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +1 -1
  274. package/templates/.agents/skills/complete-task/SKILL.en.md +23 -8
  275. package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +23 -8
  276. package/templates/.agents/skills/complete-task/config/verify.en.json +1 -0
  277. package/templates/.agents/skills/complete-task/config/verify.zh-CN.json +1 -0
  278. package/templates/.agents/skills/complete-task/reference/external-delivery.en.md +17 -0
  279. package/templates/.agents/skills/complete-task/reference/external-delivery.zh-CN.md +17 -0
  280. package/templates/.agents/skills/create-pr/SKILL.en.md +13 -11
  281. package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +13 -11
  282. package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +1 -1
  283. package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +1 -1
  284. package/templates/.agents/skills/create-pr/reference/pr-body-template.en.md +3 -3
  285. package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +3 -3
  286. package/templates/.agents/skills/create-release-note/SKILL.en.md +17 -16
  287. package/templates/.agents/skills/create-release-note/SKILL.zh-CN.md +17 -16
  288. package/templates/.agents/skills/create-task/SKILL.en.md +16 -14
  289. package/templates/.agents/skills/create-task/SKILL.zh-CN.md +16 -14
  290. package/templates/.agents/skills/import-codescan/SKILL.en.md +5 -5
  291. package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +5 -5
  292. package/templates/.agents/skills/import-dependabot/SKILL.en.md +5 -5
  293. package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +5 -5
  294. package/templates/.agents/skills/import-issue/SKILL.en.md +10 -8
  295. package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +10 -8
  296. package/templates/.agents/skills/init-labels/SKILL.en.md +4 -4
  297. package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +4 -4
  298. package/templates/.agents/skills/init-milestones/SKILL.en.md +4 -4
  299. package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +4 -4
  300. package/templates/.agents/skills/plan-task/SKILL.en.md +13 -10
  301. package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +13 -10
  302. package/templates/.agents/skills/post-release/SKILL.en.md +2 -0
  303. package/templates/.agents/skills/post-release/SKILL.zh-CN.md +2 -0
  304. package/templates/.agents/skills/refine-title/SKILL.en.md +1 -1
  305. package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -1
  306. package/templates/.agents/skills/release/SKILL.en.md +16 -10
  307. package/templates/.agents/skills/release/SKILL.zh-CN.md +16 -10
  308. package/templates/.agents/skills/restore-task/SKILL.en.md +4 -1
  309. package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +4 -1
  310. package/templates/.agents/skills/review-analysis/SKILL.en.md +18 -4
  311. package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +19 -5
  312. package/templates/.agents/skills/review-analysis/config/verify.en.json +6 -0
  313. package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +6 -0
  314. package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +13 -15
  315. package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +13 -15
  316. package/templates/.agents/skills/review-analysis/reference/report-template.en.md +51 -5
  317. package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +52 -6
  318. package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +25 -22
  319. package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +25 -22
  320. package/templates/.agents/skills/review-code/SKILL.en.md +35 -12
  321. package/templates/.agents/skills/review-code/SKILL.zh-CN.md +35 -12
  322. package/templates/.agents/skills/review-code/config/verify.en.json +7 -0
  323. package/templates/.agents/skills/review-code/config/verify.zh-CN.json +7 -0
  324. package/templates/.agents/skills/review-code/reference/concurrency-risks.en.md +25 -0
  325. package/templates/.agents/skills/review-code/reference/concurrency-risks.zh-CN.md +25 -0
  326. package/templates/.agents/skills/review-code/reference/cross-platform-risks.en.md +27 -0
  327. package/templates/.agents/skills/review-code/reference/cross-platform-risks.zh-CN.md +27 -0
  328. package/templates/.agents/skills/review-code/reference/documentation-antipatterns.en.md +13 -0
  329. package/templates/.agents/skills/review-code/reference/documentation-antipatterns.zh-CN.md +13 -0
  330. package/templates/.agents/skills/review-code/reference/migration-risks.en.md +25 -0
  331. package/templates/.agents/skills/review-code/reference/migration-risks.zh-CN.md +25 -0
  332. package/templates/.agents/skills/review-code/reference/output-templates.en.md +22 -24
  333. package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +22 -24
  334. package/templates/.agents/skills/review-code/reference/report-template.en.md +54 -7
  335. package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +54 -7
  336. package/templates/.agents/skills/review-code/reference/review-criteria.en.md +29 -24
  337. package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +29 -24
  338. package/templates/.agents/skills/review-code/reference/security-risks.en.md +25 -0
  339. package/templates/.agents/skills/review-code/reference/security-risks.zh-CN.md +25 -0
  340. package/templates/.agents/skills/review-plan/SKILL.en.md +18 -4
  341. package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +19 -5
  342. package/templates/.agents/skills/review-plan/config/verify.en.json +6 -0
  343. package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +6 -0
  344. package/templates/.agents/skills/review-plan/reference/output-templates.en.md +13 -15
  345. package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +13 -15
  346. package/templates/.agents/skills/review-plan/reference/report-template.en.md +61 -5
  347. package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +61 -5
  348. package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +21 -24
  349. package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +21 -24
  350. package/templates/.agents/skills/review-pr/SKILL.en.md +158 -0
  351. package/templates/.agents/skills/review-pr/SKILL.zh-CN.md +158 -0
  352. package/templates/.agents/skills/review-pr/config/verify.en.json +37 -0
  353. package/templates/.agents/skills/review-pr/config/verify.zh-CN.json +37 -0
  354. package/templates/.agents/skills/review-pr/reference/evidence-grading.en.md +65 -0
  355. package/templates/.agents/skills/review-pr/reference/evidence-grading.zh-CN.md +65 -0
  356. package/templates/.agents/skills/review-pr/reference/output-guidance.en.md +18 -0
  357. package/templates/.agents/skills/review-pr/reference/output-guidance.zh-CN.md +18 -0
  358. package/templates/.agents/skills/review-pr/reference/report-template.en.md +85 -0
  359. package/templates/.agents/skills/review-pr/reference/report-template.zh-CN.md +85 -0
  360. package/templates/.agents/skills/run-task/SKILL.en.md +22 -0
  361. package/templates/.agents/skills/run-task/SKILL.zh-CN.md +22 -0
  362. package/templates/.agents/skills/run-task/config/verify.en.json +10 -0
  363. package/templates/.agents/skills/run-task/config/verify.zh-CN.json +10 -0
  364. package/templates/.agents/skills/run-task/reference/host-validation.en.md +20 -0
  365. package/templates/.agents/skills/run-task/reference/host-validation.zh-CN.md +20 -0
  366. package/templates/.agents/skills/test/SKILL.en.md +4 -4
  367. package/templates/.agents/skills/test/SKILL.zh-CN.md +4 -4
  368. package/templates/.agents/skills/test-integration/SKILL.en.md +4 -4
  369. package/templates/.agents/skills/test-integration/SKILL.zh-CN.md +4 -4
  370. package/templates/.agents/skills/update-agent-infra/SKILL.en.md +5 -5
  371. package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +5 -5
  372. package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +664 -246
  373. package/templates/.agents/skills/upgrade-dependency/SKILL.en.md +4 -4
  374. package/templates/.agents/skills/upgrade-dependency/SKILL.zh-CN.md +4 -4
  375. package/templates/.agents/skills/watch-pr/SKILL.en.md +21 -21
  376. package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +21 -21
  377. package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +27 -6
  378. package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +26 -5
  379. package/templates/.agents/templates/task.en.md +1 -1
  380. package/templates/.agents/templates/task.zh-CN.md +1 -1
  381. package/templates/.agents/workflows/bug-fix.en.yaml +3 -3
  382. package/templates/.agents/workflows/bug-fix.zh-CN.yaml +3 -3
  383. package/templates/.agents/workflows/code-review.en.yaml +1 -1
  384. package/templates/.agents/workflows/code-review.zh-CN.yaml +1 -1
  385. package/templates/.agents/workflows/feature-development.en.yaml +4 -4
  386. package/templates/.agents/workflows/feature-development.zh-CN.yaml +4 -4
  387. package/templates/.agents/workflows/refactoring.en.yaml +3 -3
  388. package/templates/.agents/workflows/refactoring.zh-CN.yaml +3 -3
  389. package/templates/.claude/agents/agent-infra-lifecycle-executor.en.md +6 -0
  390. package/templates/.claude/agents/agent-infra-lifecycle-executor.zh-CN.md +6 -0
  391. package/templates/.claude/agents/agent-infra-lifecycle-reviewer.en.md +6 -0
  392. package/templates/.claude/agents/agent-infra-lifecycle-reviewer.zh-CN.md +6 -0
  393. package/templates/.claude/commands/post-release.en.md +1 -0
  394. package/templates/.claude/commands/post-release.zh-CN.md +1 -0
  395. package/templates/.claude/commands/review-pr.en.md +8 -0
  396. package/templates/.claude/commands/review-pr.zh-CN.md +8 -0
  397. package/templates/.claude/commands/run-task.en.md +8 -0
  398. package/templates/.claude/commands/run-task.zh-CN.md +8 -0
  399. package/templates/.claude/settings.json +24 -0
  400. package/templates/.codex/agents/agent-infra-lifecycle-executor.en.toml +3 -0
  401. package/templates/.codex/agents/agent-infra-lifecycle-executor.zh-CN.toml +3 -0
  402. package/templates/.codex/agents/agent-infra-lifecycle-reviewer.en.toml +3 -0
  403. package/templates/.codex/agents/agent-infra-lifecycle-reviewer.zh-CN.toml +3 -0
  404. package/templates/.gemini/commands/_project_/review-pr.en.toml +10 -0
  405. package/templates/.gemini/commands/_project_/review-pr.zh-CN.toml +10 -0
  406. package/templates/.opencode/commands/post-release.en.md +2 -0
  407. package/templates/.opencode/commands/post-release.zh-CN.md +2 -0
  408. package/templates/.opencode/commands/review-pr.en.md +11 -0
  409. package/templates/.opencode/commands/review-pr.zh-CN.md +11 -0
  410. package/templates/.opencode/commands/run-task.en.md +11 -0
  411. package/templates/.opencode/commands/run-task.zh-CN.md +11 -0
  412. package/templates/.gemini/commands/_project_/analyze-task.en.toml +0 -10
  413. package/templates/.gemini/commands/_project_/analyze-task.zh-CN.toml +0 -10
  414. package/templates/.gemini/commands/_project_/archive-tasks.en.toml +0 -10
  415. package/templates/.gemini/commands/_project_/archive-tasks.zh-CN.toml +0 -10
  416. package/templates/.gemini/commands/_project_/block-task.en.toml +0 -10
  417. package/templates/.gemini/commands/_project_/block-task.zh-CN.toml +0 -10
  418. package/templates/.gemini/commands/_project_/cancel-task.en.toml +0 -10
  419. package/templates/.gemini/commands/_project_/cancel-task.zh-CN.toml +0 -10
  420. package/templates/.gemini/commands/_project_/check-task.en.toml +0 -10
  421. package/templates/.gemini/commands/_project_/check-task.zh-CN.toml +0 -10
  422. package/templates/.gemini/commands/_project_/close-codescan.en.toml +0 -8
  423. package/templates/.gemini/commands/_project_/close-codescan.zh-CN.toml +0 -8
  424. package/templates/.gemini/commands/_project_/close-dependabot.en.toml +0 -8
  425. package/templates/.gemini/commands/_project_/close-dependabot.zh-CN.toml +0 -8
  426. package/templates/.gemini/commands/_project_/code-task.en.toml +0 -10
  427. package/templates/.gemini/commands/_project_/code-task.zh-CN.toml +0 -10
  428. package/templates/.gemini/commands/_project_/commit.en.toml +0 -10
  429. package/templates/.gemini/commands/_project_/commit.zh-CN.toml +0 -10
  430. package/templates/.gemini/commands/_project_/complete-manual-validation.en.toml +0 -10
  431. package/templates/.gemini/commands/_project_/complete-manual-validation.zh-CN.toml +0 -10
  432. package/templates/.gemini/commands/_project_/complete-task.en.toml +0 -10
  433. package/templates/.gemini/commands/_project_/complete-task.zh-CN.toml +0 -10
  434. package/templates/.gemini/commands/_project_/create-pr.en.toml +0 -10
  435. package/templates/.gemini/commands/_project_/create-pr.zh-CN.toml +0 -10
  436. package/templates/.gemini/commands/_project_/create-release-note.en.toml +0 -8
  437. package/templates/.gemini/commands/_project_/create-release-note.zh-CN.toml +0 -8
  438. package/templates/.gemini/commands/_project_/create-task.en.toml +0 -8
  439. package/templates/.gemini/commands/_project_/create-task.zh-CN.toml +0 -8
  440. package/templates/.gemini/commands/_project_/import-codescan.en.toml +0 -8
  441. package/templates/.gemini/commands/_project_/import-codescan.zh-CN.toml +0 -8
  442. package/templates/.gemini/commands/_project_/import-dependabot.en.toml +0 -8
  443. package/templates/.gemini/commands/_project_/import-dependabot.zh-CN.toml +0 -8
  444. package/templates/.gemini/commands/_project_/import-issue.en.toml +0 -8
  445. package/templates/.gemini/commands/_project_/import-issue.zh-CN.toml +0 -8
  446. package/templates/.gemini/commands/_project_/init-labels.en.toml +0 -8
  447. package/templates/.gemini/commands/_project_/init-labels.zh-CN.toml +0 -8
  448. package/templates/.gemini/commands/_project_/init-milestones.en.toml +0 -10
  449. package/templates/.gemini/commands/_project_/init-milestones.zh-CN.toml +0 -10
  450. package/templates/.gemini/commands/_project_/plan-task.en.toml +0 -10
  451. package/templates/.gemini/commands/_project_/plan-task.zh-CN.toml +0 -10
  452. package/templates/.gemini/commands/_project_/post-release.en.toml +0 -6
  453. package/templates/.gemini/commands/_project_/post-release.zh-CN.toml +0 -6
  454. package/templates/.gemini/commands/_project_/refine-title.en.toml +0 -8
  455. package/templates/.gemini/commands/_project_/refine-title.zh-CN.toml +0 -8
  456. package/templates/.gemini/commands/_project_/release.en.toml +0 -8
  457. package/templates/.gemini/commands/_project_/release.zh-CN.toml +0 -8
  458. package/templates/.gemini/commands/_project_/restore-task.en.toml +0 -8
  459. package/templates/.gemini/commands/_project_/restore-task.zh-CN.toml +0 -8
  460. package/templates/.gemini/commands/_project_/review-analysis.en.toml +0 -10
  461. package/templates/.gemini/commands/_project_/review-analysis.zh-CN.toml +0 -10
  462. package/templates/.gemini/commands/_project_/review-code.en.toml +0 -10
  463. package/templates/.gemini/commands/_project_/review-code.zh-CN.toml +0 -10
  464. package/templates/.gemini/commands/_project_/review-plan.en.toml +0 -10
  465. package/templates/.gemini/commands/_project_/review-plan.zh-CN.toml +0 -10
  466. package/templates/.gemini/commands/_project_/test-integration.en.toml +0 -6
  467. package/templates/.gemini/commands/_project_/test-integration.zh-CN.toml +0 -6
  468. package/templates/.gemini/commands/_project_/test.en.toml +0 -6
  469. package/templates/.gemini/commands/_project_/test.zh-CN.toml +0 -6
  470. package/templates/.gemini/commands/_project_/update-agent-infra.en.toml +0 -6
  471. package/templates/.gemini/commands/_project_/update-agent-infra.zh-CN.toml +0 -6
  472. package/templates/.gemini/commands/_project_/upgrade-dependency.en.toml +0 -8
  473. package/templates/.gemini/commands/_project_/upgrade-dependency.zh-CN.toml +0 -8
  474. package/templates/.gemini/commands/_project_/watch-pr.en.toml +0 -10
  475. package/templates/.gemini/commands/_project_/watch-pr.zh-CN.toml +0 -10
  476. package/templates/.gemini/settings.json +0 -3
@@ -19,6 +19,9 @@
19
19
  "file_pattern": "review-analysis.md|review-analysis-r{N}.md",
20
20
  "required_sections": [
21
21
  "Review Summary",
22
+ "Review Coverage Declaration",
23
+ "Requirement Analysis Coverage",
24
+ "Traceability Matrix",
22
25
  "Findings",
23
26
  "Non-blocking Advisories",
24
27
  "Manual Validation Items",
@@ -33,6 +36,9 @@
33
36
  "^\\$ "
34
37
  ]
35
38
  },
39
+ "review-summary": {
40
+ "stage": "analysis"
41
+ },
36
42
  "activity-log": {
37
43
  "expected_action_pattern": "(Review Analysis|Analysis Review) \\(Round \\d+\\)"
38
44
  },
@@ -19,6 +19,9 @@
19
19
  "file_pattern": "review-analysis.md|review-analysis-r{N}.md",
20
20
  "required_sections": [
21
21
  "审查摘要",
22
+ "检视覆盖声明",
23
+ "需求分析专项覆盖",
24
+ "追踪矩阵",
22
25
  "问题清单",
23
26
  "非阻塞建议",
24
27
  "人工校验项",
@@ -33,6 +36,9 @@
33
36
  "^\\$ "
34
37
  ]
35
38
  },
39
+ "review-summary": {
40
+ "stage": "analysis"
41
+ },
36
42
  "activity-log": {
37
43
  "expected_action_pattern": "(Review Analysis|Analysis Review) \\(Round \\d+\\)"
38
44
  },
@@ -15,22 +15,20 @@ Rules:
15
15
  - Do not mix text from multiple scenarios
16
16
  - If `Blocker > 0`, never use an approved template
17
17
  - Never count manual-validation items as blocker / major / minor or use them to trigger Scenario B/C/D
18
- - The selected scenario must include all TUI command formats
18
+ - The selected scenario must generate `{next-step-commands}` through the shared helper
19
19
  - The count line shows 4 numbers. `Human-decision` (`{h}`) counts this stage's `needs-human-decision` rows; because those rows are unresolved, `{h} > 0` means `canAdvance=false`. Expand the "Pending human-decision pre-block" from `.agents/rules/next-step-output.md` and show revision and re-review paths only.
20
20
 
21
- For Scenarios B/C/D, follow the revision commands with re-review commands: `/review-analysis {task-ref}`, `/{{project}}:review-analysis {task-ref}`, and `$review-analysis {task-ref}`.
22
-
23
21
  ### Scenario A: Approved with no findings
24
22
 
23
+ Populate `{next-step-commands}` for this scenario by running `agent-infra-internal agent-client next-steps --skill plan-task --task-ref {task-ref}`.
24
+
25
25
  ```text
26
26
  Task {task-id} requirement analysis review completed. Verdict: approved.
27
27
  - Blockers: 0 | Major issues: 0 | Minor issues: 0 | Human-decision: {h}
28
28
  [- Review report: .agents/workspace/active/{task-id}/{review-artifact}]
29
29
 
30
30
  Next step - write the technical plan:
31
- - Claude Code / OpenCode: /plan-task {task-ref}
32
- - Gemini CLI: /{{project}}:plan-task {task-ref}
33
- - Codex CLI: $plan-task {task-ref}
31
+ {next-step-commands}
34
32
 
35
33
  [When manual-validation > 0, append:]
36
34
  Reminder: manual-validation items belong in the PR description manual verification checklist and should not trigger /analyze-task.
@@ -38,15 +36,15 @@ Reminder: manual-validation items belong in the PR description manual verificati
38
36
 
39
37
  ### Scenario B: Changes requested (major / minor)
40
38
 
39
+ Populate `{next-step-commands}` for this scenario by running `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}`.
40
+
41
41
  ```text
42
42
  Task {task-id} requirement analysis review completed. Verdict: changes requested.
43
43
  - Blockers: 0 | Major issues: {n} | Minor issues: {n} | Human-decision: {h}
44
44
  - Review report: .agents/workspace/active/{task-id}/{review-artifact}
45
45
 
46
46
  Next step - revise requirement analysis:
47
- - Claude Code / OpenCode: /analyze-task {task-ref}
48
- - Gemini CLI: /{{project}}:analyze-task {task-ref}
49
- - Codex CLI: $analyze-task {task-ref}
47
+ {next-step-commands}
50
48
 
51
49
  [When manual-validation > 0, append:]
52
50
  Reminder: manual-validation items belong in the PR description manual verification checklist and should not trigger /analyze-task.
@@ -54,15 +52,15 @@ Reminder: manual-validation items belong in the PR description manual verificati
54
52
 
55
53
  ### Scenario C: Changes requested
56
54
 
55
+ Populate `{next-step-commands}` for this scenario by running `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}`.
56
+
57
57
  ```text
58
58
  Task {task-id} requirement analysis review completed. Verdict: changes requested.
59
59
  - Blockers: {n} | Major issues: {n} | Minor issues: {n} | Human-decision: {h}
60
60
  - Review report: .agents/workspace/active/{task-id}/{review-artifact}
61
61
 
62
62
  Next step - revise requirement analysis:
63
- - Claude Code / OpenCode: /analyze-task {task-ref}
64
- - Gemini CLI: /{{project}}:analyze-task {task-ref}
65
- - Codex CLI: $analyze-task {task-ref}
63
+ {next-step-commands}
66
64
 
67
65
  [When manual-validation > 0, append:]
68
66
  Reminder: manual-validation items belong in the PR description manual verification checklist and should not trigger /analyze-task.
@@ -70,15 +68,15 @@ Reminder: manual-validation items belong in the PR description manual verificati
70
68
 
71
69
  ### Scenario D: Rejected
72
70
 
71
+ Populate `{next-step-commands}` for this scenario by running `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}`.
72
+
73
73
  ```text
74
74
  Task {task-id} requirement analysis review completed. Verdict: rejected, fresh analysis or requirement clarification required.
75
75
  - Blockers: {n} | Major issues: {n} | Minor issues: {n} | Human-decision: {h}
76
76
  - Review report: .agents/workspace/active/{task-id}/{review-artifact}
77
77
 
78
78
  Next step - re-analyze:
79
- - Claude Code / OpenCode: /analyze-task {task-ref}
80
- - Gemini CLI: /{{project}}:analyze-task {task-ref}
81
- - Codex CLI: $analyze-task {task-ref}
79
+ {next-step-commands}
82
80
 
83
81
  [When manual-validation > 0, append:]
84
82
  Reminder: manual-validation items belong in the PR description manual verification checklist and should not trigger /analyze-task.
@@ -15,22 +15,20 @@
15
15
  - 不要混用不同场景的文案
16
16
  - 只要 `Blocker > 0`,就绝对不能输出通过模板
17
17
  - manual-validation 项绝对不能被计入 blocker / major / minor 计数,也不能用作触发场景 B/C/D 的依据
18
- - 所选场景中必须包含所有 TUI 命令格式
18
+ - 所选场景必须通过统一 helper 生成 `{next-step-commands}`
19
19
  - 计数行固定显示 4 个数字。`人工裁决`(`{h}`)是本阶段 `needs-human-decision` 行数;它属于未闭环账本状态,因此 `{h} > 0` 时 `canAdvance=false`,必须按 `.agents/rules/next-step-output.md` 的「人工裁决待办前置块」展开详情,并只输出修订与复审路径。
20
20
 
21
- 场景 B/C/D 在修订命令后继续列出复审命令:`/review-analysis {task-ref}`、`/{{project}}:review-analysis {task-ref}`、`$review-analysis {task-ref}`。
22
-
23
21
  ### 场景 A:通过且无问题
24
22
 
23
+ 使用 `agent-infra-internal agent-client next-steps --skill plan-task --task-ref {task-ref}` 生成本场景的 `{next-step-commands}`。
24
+
25
25
  ```text
26
26
  任务 {task-id} 需求分析审查完成。结论:通过。
27
27
  - 阻塞项:0 | 主要问题:0 | 次要问题:0 | 人工裁决:{h}
28
28
  [- 审查报告:.agents/workspace/active/{task-id}/{review-artifact}]
29
29
 
30
30
  下一步 - 编写技术方案:
31
- - Claude Code / OpenCode:/plan-task {task-ref}
32
- - Gemini CLI:/{{project}}:plan-task {task-ref}
33
- - Codex CLI:$plan-task {task-ref}
31
+ {next-step-commands}
34
32
 
35
33
  [当 manual-validation > 0 时,在最后附加一行:]
36
34
  提醒:manual-validation 项需在 PR description 的「待人工验证」清单中承接,不应触发 /analyze-task。
@@ -38,15 +36,15 @@
38
36
 
39
37
  ### 场景 B:需要修改(major / minor)
40
38
 
39
+ 使用 `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}` 生成本场景的 `{next-step-commands}`。
40
+
41
41
  ```text
42
42
  任务 {task-id} 需求分析审查完成。结论:需要修改。
43
43
  - 阻塞项:0 | 主要问题:{n} | 次要问题:{n} | 人工裁决:{h}
44
44
  - 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
45
45
 
46
46
  下一步 - 修订需求分析:
47
- - Claude Code / OpenCode:/analyze-task {task-ref}
48
- - Gemini CLI:/{{project}}:analyze-task {task-ref}
49
- - Codex CLI:$analyze-task {task-ref}
47
+ {next-step-commands}
50
48
 
51
49
  [当 manual-validation > 0 时,在最后附加一行:]
52
50
  提醒:manual-validation 项需在 PR description 的「待人工验证」清单中承接,不应触发 /analyze-task。
@@ -54,15 +52,15 @@
54
52
 
55
53
  ### 场景 C:需要修改
56
54
 
55
+ 使用 `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}` 生成本场景的 `{next-step-commands}`。
56
+
57
57
  ```text
58
58
  任务 {task-id} 需求分析审查完成。结论:需要修改。
59
59
  - 阻塞项:{n} | 主要问题:{n} | 次要问题:{n} | 人工裁决:{h}
60
60
  - 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
61
61
 
62
62
  下一步 - 修订需求分析:
63
- - Claude Code / OpenCode:/analyze-task {task-ref}
64
- - Gemini CLI:/{{project}}:analyze-task {task-ref}
65
- - Codex CLI:$analyze-task {task-ref}
63
+ {next-step-commands}
66
64
 
67
65
  [当 manual-validation > 0 时,在最后附加一行:]
68
66
  提醒:manual-validation 项需在 PR description 的「待人工验证」清单中承接,不应触发 /analyze-task。
@@ -70,15 +68,15 @@
70
68
 
71
69
  ### 场景 D:拒绝
72
70
 
71
+ 使用 `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}` 生成本场景的 `{next-step-commands}`。
72
+
73
73
  ```text
74
74
  任务 {task-id} 需求分析审查完成。结论:拒绝,需要重新分析或补充需求澄清。
75
75
  - 阻塞项:{n} | 主要问题:{n} | 次要问题:{n} | 人工裁决:{h}
76
76
  - 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
77
77
 
78
78
  下一步 - 重新分析:
79
- - Claude Code / OpenCode:/analyze-task {task-ref}
80
- - Gemini CLI:/{{project}}:analyze-task {task-ref}
81
- - Codex CLI:$analyze-task {task-ref}
79
+ {next-step-commands}
82
80
 
83
81
  [当 manual-validation > 0 时,在最后附加一行:]
84
82
  提醒:manual-validation 项需在 PR description 的「待人工验证」清单中承接,不应触发 /analyze-task。
@@ -22,7 +22,45 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
22
22
  - **Review Time**: {timestamp}
23
23
  - **Scope**: {file-count and major modules}
24
24
  - **Overall Verdict**: {Approved / Changes Requested / Rejected}
25
- - **Findings (AI-actionable)**: 0 blockers, 0 majors, 0 minors / **Manual validation**: 0
25
+ - **Findings (AI-actionable)**: {unresolved-blockers} blockers, {unresolved-major} majors, {unresolved-minor} minors / **Manual validation**: 0
26
+
27
+ ## Review Coverage Declaration
28
+
29
+ | pass_id | scope | evidence | result | gaps_or_assumptions |
30
+ |---------|-------|----------|--------|---------------------|
31
+ | pass-1..5 | {scope actually reviewed} | {artifact / file:line / command} | {finding or conclusion} | {gap or assumption} |
32
+
33
+ | lens_id | trigger_evidence | loaded | result |
34
+ |---------|------------------|--------|--------|
35
+ | {registry token} | {trigger or non-trigger evidence} | {yes / no / not-applicable} | {lens result} |
36
+
37
+ ## Requirement Analysis Coverage
38
+
39
+ | perspective_id | applicability | reviewed_scope | evidence | result_or_gap |
40
+ |----------------|---------------|----------------|----------|---------------|
41
+ | user | {applicable / not-applicable} | {business goals, user outcomes, non-goals, and acceptance} | {source_id / artifact / file:line} | {covered / gap} |
42
+ | maintainer | {applicable / not-applicable} | {maintenance boundaries, dependencies, compatibility, and ownership} | {source_id / artifact / file:line} | {covered / gap} |
43
+ | operations | {applicable / not-applicable} | {deployment, runtime, observability, recovery, and support constraints} | {source_id / artifact / file:line} | {covered / gap} |
44
+ | security | {applicable / not-applicable} | {trust boundaries, permissions, data, and abuse risks} | {source_id / artifact / file:line} | {covered / gap} |
45
+ | testing | {applicable / not-applicable} | {inputs, actions, results, boundaries, and verification environment} | {source_id / artifact / file:line} | {covered / gap} |
46
+
47
+ | quality_id | source | stakeholder | priority_or_tradeoff | verification | result_or_gap |
48
+ |------------|--------|-------------|----------------------|--------------|---------------|
49
+ | {stable identifier} | {source_id} | {stakeholder} | {priority or trade-off state} | {observable verification} | {covered / gap} |
50
+
51
+ | evolution_id | source | confirmation_status | classification | boundary_evidence | result_or_gap |
52
+ |--------------|--------|---------------------|----------------|-------------------|---------------|
53
+ | {stable identifier} | {source_id} | {confirmed / unconfirmed} | {design-input / assumption / open-question} | {evidence preventing current-scope expansion} | {covered / gap} |
54
+
55
+ | acceptance_id | observable_input | action | expected_result | status_or_gap |
56
+ |---------------|------------------|--------|-----------------|---------------|
57
+ | {stable identifier} | {observable input} | {review or verification action} | {expected result} | {verifiable / open / gap} |
58
+
59
+ ## Traceability Matrix
60
+
61
+ | source_id | upstream | reviewed_target | verification | status_or_gap |
62
+ |-----------|----------|-----------------|--------------|---------------|
63
+ | {source identifier} | {upstream requirement or fact} | {requirement/acceptance/impact/risk} | {verification evidence} | {covered / gap} |
26
64
 
27
65
  ## Findings
28
66
 
@@ -30,15 +68,23 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
30
68
 
31
69
  #### 1. {Issue title}
32
70
  **File**: `{file-path}:{line-number}`
33
- **Description**: {details}
34
- **Suggested Fix**: {fix suggestion}
71
+ **Scenario**: {scenario}
72
+ **Impact**: {impact}
73
+ **Evidence**: {reproducible evidence}
74
+ **Confidence**: {high / medium / low}
75
+ **Unverified Assumptions**: {assumptions or none}
76
+ **Fix Direction**: {fix direction}
35
77
 
36
78
  ### Major Issues (should fix)
37
79
 
38
80
  #### 1. {Issue title}
39
81
  **File**: `{file-path}:{line-number}`
40
- **Description**: {details}
41
- **Suggested Fix**: {fix suggestion}
82
+ **Scenario**: {scenario}
83
+ **Impact**: {impact}
84
+ **Evidence**: {reproducible evidence}
85
+ **Confidence**: {high / medium / low}
86
+ **Unverified Assumptions**: {assumptions or none}
87
+ **Fix Direction**: {fix direction}
42
88
 
43
89
  ### Minor Issues (low impact, closure required)
44
90
 
@@ -5,7 +5,7 @@
5
5
  ## 输出模板
6
6
 
7
7
  ```markdown
8
- # 代码审查报告
8
+ # 需求分析审查报告
9
9
 
10
10
  - **审查轮次**:第 {review-round} 轮
11
11
  - **产物文件**:`{review-artifact}`
@@ -22,7 +22,45 @@
22
22
  - **审查时间**:{timestamp}
23
23
  - **审查范围**:{file-count and major modules}
24
24
  - **总体结论**:{通过 / 需要修改 / 拒绝}
25
- - **发现(AI 可处理)**:0 阻塞项,0 主要,0 次要 / **人工校验**:0
25
+ - **发现(AI 可处理)**:{unresolved-blockers} 阻塞项,{unresolved-major} 主要,{unresolved-minor} 次要 / **人工校验**:0
26
+
27
+ ## 检视覆盖声明
28
+
29
+ | pass_id | scope | evidence | result | gaps_or_assumptions |
30
+ |---------|-------|----------|--------|---------------------|
31
+ | pass-1..5 | {本遍实际范围} | {artifact / file:line / command} | {发现或结论} | {缺口或假设} |
32
+
33
+ | lens_id | trigger_evidence | loaded | result |
34
+ |---------|------------------|--------|--------|
35
+ | {registry token} | {命中或未命中证据} | {yes / no / not-applicable} | {专项结论} |
36
+
37
+ ## 需求分析专项覆盖
38
+
39
+ | perspective_id | applicability | reviewed_scope | evidence | result_or_gap |
40
+ |----------------|---------------|----------------|----------|---------------|
41
+ | user | {applicable / not-applicable} | {业务目标、使用结果、非目标与验收} | {source_id / artifact / file:line} | {covered / gap} |
42
+ | maintainer | {applicable / not-applicable} | {维护边界、依赖、兼容性与长期责任} | {source_id / artifact / file:line} | {covered / gap} |
43
+ | operations | {applicable / not-applicable} | {部署、运行、可观测性、恢复与支持约束} | {source_id / artifact / file:line} | {covered / gap} |
44
+ | security | {applicable / not-applicable} | {信任边界、权限、数据与滥用风险} | {source_id / artifact / file:line} | {covered / gap} |
45
+ | testing | {applicable / not-applicable} | {输入、动作、结果、边界与验证环境} | {source_id / artifact / file:line} | {covered / gap} |
46
+
47
+ | quality_id | source | stakeholder | priority_or_tradeoff | verification | result_or_gap |
48
+ |------------|--------|-------------|----------------------|--------------|---------------|
49
+ | {稳定标识} | {source_id} | {利益相关者} | {优先级或权衡状态} | {可观察验证方式} | {covered / gap} |
50
+
51
+ | evolution_id | source | confirmation_status | classification | boundary_evidence | result_or_gap |
52
+ |--------------|--------|---------------------|----------------|-------------------|---------------|
53
+ | {稳定标识} | {source_id} | {confirmed / unconfirmed} | {design-input / assumption / open-question} | {不扩张为当前需求的证据} | {covered / gap} |
54
+
55
+ | acceptance_id | observable_input | action | expected_result | status_or_gap |
56
+ |---------------|------------------|--------|-----------------|---------------|
57
+ | {稳定标识} | {可观察输入} | {审查或验证动作} | {预期结果} | {verifiable / open / gap} |
58
+
59
+ ## 追踪矩阵
60
+
61
+ | source_id | upstream | reviewed_target | verification | status_or_gap |
62
+ |-----------|----------|-----------------|--------------|---------------|
63
+ | {来源标识} | {上游需求或事实} | {需求/验收/影响/风险} | {验证证据} | {covered / gap} |
26
64
 
27
65
  ## 问题清单
28
66
 
@@ -30,15 +68,23 @@
30
68
 
31
69
  #### 1. {问题标题}
32
70
  **文件**:`{file-path}:{line-number}`
33
- **说明**:{details}
34
- **修复建议**:{fix suggestion}
71
+ **场景**:{scenario}
72
+ **影响**:{impact}
73
+ **证据**:{reproducible evidence}
74
+ **置信度**:{high / medium / low}
75
+ **未验证假设**:{assumptions or none}
76
+ **修复方向**:{fix direction}
35
77
 
36
78
  ### 主要问题(建议修复)
37
79
 
38
80
  #### 1. {问题标题}
39
81
  **文件**:`{file-path}:{line-number}`
40
- **说明**:{details}
41
- **修复建议**:{fix suggestion}
82
+ **场景**:{scenario}
83
+ **影响**:{impact}
84
+ **证据**:{reproducible evidence}
85
+ **置信度**:{high / medium / low}
86
+ **未验证假设**:{assumptions or none}
87
+ **修复方向**:{fix direction}
42
88
 
43
89
  ### 次要问题(低影响但需闭环)
44
90
 
@@ -23,35 +23,38 @@ Follow the `analysis-review` step in `.agents/workflows/feature-development.yaml
23
23
  - Presenting uncertain information as fact without marking assumptions or open questions
24
24
  - Asserting a `file:line` or behavior from memory or impression without verifying via rg/nl
25
25
 
26
- ## Common Review Principles
26
+ ## Requirement Analysis Coverage
27
27
 
28
- 1. **Strict but fair**: identify issues and acknowledge solid work
29
- 2. **Specific**: cite exact file paths and line numbers
30
- 3. **Actionable**: suggest a concrete fix
31
- 4. **Severity-based**: clearly distinguish blockers, major issues, and minor issues
28
+ ### Perspectives
32
29
 
33
- ## Three-category Decision Tree
30
+ Every review must examine these minimum perspectives and use their stable `perspective_id` values in the report:
34
31
 
35
- 1. A gap in requirements, constraints, risks, affected scope, or verifiable acceptance criteria is a formal finding. Assign blocker / major / minor by impact; severity does not control closure, so minor findings must also reach a terminal state.
36
- 2. When there is no known defect but validation requires a real environment, permission, or human operation, classify it as manual-validation.
37
- 3. Only a future optimization that does not affect the current analysis's completeness, correctness, or acceptance is an advisory. Put it only in Non-blocking Advisories; do not add it to the ledger, finding counts, or verdict.
32
+ - `user`: business goals, user outcomes, non-goals, and acceptance
33
+ - `maintainer`: maintenance boundaries, dependencies, compatibility, and long-term ownership
34
+ - `operations`: deployment, runtime, observability, recovery, and support constraints
35
+ - `security`: trust boundaries, permissions, data, and abuse risks
36
+ - `testing`: observable inputs, actions, results, boundary conditions, and verification environments
38
37
 
39
- ## Manual Validation Classification
38
+ For an applicable perspective, record the reviewed scope, evidence, and `covered/gap`. A `not-applicable` result requires reviewable evidence or it is a gap. Add stable tokens for other stakeholders triggered by task sources or risk evidence; do not turn every possible role into a fixed checklist.
40
39
 
41
- Some findings cannot be closed by an AI agent in the current execution environment, for example:
40
+ ### Quality Attributes
42
41
 
43
- - Missing Docker / sandbox access for end-to-end validation
44
- - Missing a specific OS for macOS-only behavior
45
- - Missing third-party accounts / OAuth
46
- - Missing privileged operations such as root, sudo, or special network access
42
+ Record only quality attributes triggered by sources, constraints, or perspectives; do not impose a fixed vocabulary. Each item needs a stable `quality_id`, its source and stakeholder, a priority or trade-off state, a verifiable expression, and `covered/gap`. A candidate without a source may only be an assumption, open question, or non-blocking advisory, not a confirmed requirement.
47
43
 
48
- **Decision tree**: "Can the AI agent close this item independently without changing the environment?"
49
- - Yes -> blocker / major / minor, based on risk
50
- - No -> **manual-validation** (a manual-validation meta-category, not part of severity ordering)
44
+ ### Evolution Scenarios
51
45
 
52
- Where manual-validation items go:
53
- - Record them in an independent review report section named "Manual Validation Items"
54
- - Record the done-note source field as `Manual-validation: 1`; `ai task log` normalizes it into review rows
55
- - Do **not** include them in the code-task fix loop; maintainers carry them in the PR description under manual verification
46
+ Each reasonable future change needs a stable `evolution_id`, source, `confirmed/unconfirmed` state, `design-input/assumption/open-question` classification, boundary evidence, and `covered/gap`. An `unconfirmed` scenario must not become a current requirement or directly drive an architecture or implementation choice.
47
+
48
+ ### Acceptance Criteria
49
+
50
+ For every criterion, record a stable `acceptance_id`, observable input, review action, expected result, and `verifiable/open/gap`. A non-behavioral constraint may use an observable verification method instead of a behavioral step; anything that cannot close must become an open question or finding.
51
+
52
+ ### Traceability and Boundary
53
+
54
+ The shared traceability matrix remains the only mapping from sources to analysis conclusions. Its `source_id` values should cover user requests, Issues, task facts and decisions, and acceptance criteria; stage-specific tables refer back through their source or evidence. This stage only judges whether analysis is ready for design. It does not select architecture styles, design patterns, or implementation technologies, and it does not duplicate the shared five-pass protocol or finding evidence fields.
55
+
56
+ ## Shared Method and Classification Boundary
57
+
58
+ Read `.agents/rules/review-method.md` first and apply its five-pass protocol, risk lenses, and finding evidence contract. Finding, manual-validation, advisory, and `needs-human-decision` state semantics remain governed by `.agents/rules/review-handshake.md`. This file adds only analysis-stage criteria.
56
59
 
57
60
  Also inspect the latest requirement analysis artifact and `task.md` Activity Log so the report reflects the full analysis context.
@@ -23,35 +23,38 @@
23
23
  - 对无法确认的信息直接下结论,没有标记假设或开放问题
24
24
  - 凭印象或记忆断言 `file:line`/行为,没有用 rg/nl 复核就下结论
25
25
 
26
- ## 通用审查原则
26
+ ## 需求分析专项覆盖
27
27
 
28
- 1. **严格但公正**:既要指出问题,也要承认做得好的部分
29
- 2. **具体**:引用准确的文件路径和行号
30
- 3. **可执行**:给出明确可落地的修复建议
31
- 4. **按严重程度分类**:明确区分 blocker、major 和 minor
28
+ ### 角色视角
32
29
 
33
- ## 三类审查项决策树
30
+ 每轮必须逐项检视以下最低视角,并在报告中使用稳定的 `perspective_id`:
34
31
 
35
- 1. 若问题揭示当前需求分析缺少需求、约束、风险、影响范围或可验证验收标准,登记为正式 finding,并按影响赋予 blocker / major / minor;severity 只表示影响大小,minor 也必须闭环。
36
- 2. 若没有已知缺陷,但只能依赖真实环境、权限或人工操作完成验证,归为 manual-validation。
37
- 3. 仅当建议属于未来优化且不影响当前分析的完整性、正确性和验收时,归为 advisory。advisory 只写入「非阻塞建议」,不进入账本、问题计数或 verdict。
32
+ - `user`:业务目标、使用结果、非目标和验收
33
+ - `maintainer`:维护边界、依赖、兼容性和长期责任
34
+ - `operations`:部署、运行、可观测性、恢复和支持约束
35
+ - `security`:信任边界、权限、数据和滥用风险
36
+ - `testing`:可观察的输入、动作、结果、边界条件和验证环境
38
37
 
39
- ## 人工校验项分类
38
+ 适用视角记录实际范围、证据和 `covered/gap`;`not-applicable` 必须附可复核依据,否则视为 gap。若任务来源或风险证据出现其他利益相关者,追加稳定 token;不要把可能角色扩张成固定全集。
40
39
 
41
- 某些发现项是 AI agent 在本执行环境**无法闭环**的,例如:
40
+ ### 质量属性
42
41
 
43
- - 缺 Docker / 沙箱而无法跑端到端验证
44
- - 缺特定 OS(macOS-only 行为)
45
- - 缺第三方账号 / OAuth
46
- - 缺特权操作(root、sudo、特殊网络)
42
+ 只记录由来源、约束或角色视角实际触发的质量属性,不使用固定名词全集。每项需有稳定 `quality_id`、来源与利益相关者、优先级或权衡状态、可验证表达及 `covered/gap`。缺少来源的候选项只能作为假设、开放问题或非阻塞建议,不能作为已确认需求。
47
43
 
48
- **分类决策树**:「AI agent 能否在不改环境的前提下独立闭环这一项?」
49
- - 是 -> blocker / major / minor 之一(按风险定档)
50
- - 否 -> **manual-validation**(人工校验元类目,不参与严重程度排序)
44
+ ### 演进场景
51
45
 
52
- manual-validation 项的去向:
53
- - 写入 review 报告独立段落「人工校验项」
54
- - 在 done note 中写入源字段 `Manual-validation: 1`;`ai task log` 归一化展示到 review 行
55
- - **不**进入 code-task 修复循环;维护者在 PR description 中以「待人工验证」清单形式承接
46
+ 合理未来变化需有稳定 `evolution_id`、来源、`confirmed/unconfirmed` 状态、`design-input/assumption/open-question` 分类、边界证据及 `covered/gap`。`unconfirmed` 场景不得升级为当前需求,也不得直接驱动架构或实现选择。
47
+
48
+ ### 验收标准
49
+
50
+ 逐项记录稳定 `acceptance_id`、可观察输入、审查动作、预期结果和 `verifiable/open/gap`。非行为型约束可用可观察验证方式替代行为步骤;无法闭环时必须进入开放问题或 finding。
51
+
52
+ ### 追踪与边界
53
+
54
+ 共享追踪矩阵仍是来源到分析结论的唯一映射。其 `source_id` 应覆盖用户请求、Issue、任务事实/决策和验收标准;专项表通过来源或证据回指这些稳定标识。本阶段只判断分析是否足以进入设计,不选择架构风格、设计模式或实现技术,也不复制共享五遍协议和 finding 证据字段。
55
+
56
+ ## 共享方法与分类边界
57
+
58
+ 先读取 `.agents/rules/review-method.md`,按其五遍协议、风险镜头和 finding 证据契约执行;finding、manual-validation、advisory 与 `needs-human-decision` 的状态语义以 `.agents/rules/review-handshake.md` 为准。本文件只补充需求分析阶段的专项判断。
56
59
 
57
60
  同时检查最新需求分析产物和 `task.md` Activity Log,确保报告反映完整的分析上下文。
@@ -7,6 +7,9 @@ description: >
7
7
  ---
8
8
 
9
9
  # Code Review
10
+ > `--agent` values follow the "Collaborator Token Specification" in `.agents/rules/task-management.md`: standard AI short tokens (`claude`/`codex`/`antigravity`/`opencode`/`cursor`), long-name normalization (`claude-code`->`claude`, `antigravity-cli`->`antigravity`), or the `human` manual exception.
11
+
12
+ If the entry operands contain `--orchestrated`, bind `{execution-flag}` to `--orchestrated` and forward it unchanged to both the summary finalizer and completed event; otherwise bind it to an empty value. Never infer it from `orchestration.json`, environment variables, or prior artifacts.
10
13
 
11
14
  Review the latest code round and produce `review-code.md` or `review-code-r{N}.md`.
12
15
 
@@ -46,7 +49,7 @@ Before the state check is complete, do not make external-state assertions such a
46
49
 
47
50
  ## Step Start: Write the started Marker
48
51
 
49
- After resolving the artifact context and before this round's first artifact action, run `agent-infra-internal task-event {task-id} review-code.started --agent {agent}`.
52
+ After resolving the artifact context and before this round's first artifact action, run `agent-infra-internal task-event {task-id} review-code.started --agent {standard-agent-token}`.
50
53
 
51
54
  ## Steps
52
55
 
@@ -67,13 +70,23 @@ Read the highest-round code artifact and, if present, the highest-round fix arti
67
70
  ### 4. Perform the Review
68
71
 
69
72
  Follow `.agents/workflows/feature-development.yaml` and inspect the full change context:
70
- - Capture `R=$(git rev-parse HEAD)` exactly once; reuse that R for this round's report, fingerprint, and task review fact, and do not re-read HEAD later as a substitute
71
- - `git diff --binary "$R" -- <post-review-globs>` for tracked changes
73
+ - Capture the reviewed commit `R=$(git rev-parse HEAD)` exactly once; reuse R for this round's report, snapshot tree, and task review fact, and do not re-read HEAD later as a substitute
74
+ - Call `agent-infra-internal platform-pr inspect {task-id}`. When a bound PR provides a base SHA, set the diff base to `D=$(git merge-base "$R" "{base-sha}")`. Without a PR, set `D=$R` only when tracked or untracked worktree changes exist. A clean worktree without a bound PR has no reliable complete committed range: stop and require a bound PR instead of reviewing an empty diff
75
+ - `git diff --binary "$D" -- <post-review-globs>` covers committed and uncommitted tracked changes from D to the current worktree
72
76
  - `git ls-files -o --exclude-standard -z -- <post-review-globs>` for untracked new files
73
- - Write `mode=worktree` and baseline `R` to a temporary JSON file, then call `agent-infra-internal git-workflow snapshot --input {file}` to generate the reviewed diff fingerprint `F` and reviewed snapshot tree `T` together; write both into the report
77
+ - Write `mode=worktree`, `baseline=R`, and `diffBase=D` to a temporary JSON file, then call `agent-infra-internal git-workflow snapshot --input {file}` to generate a reviewed diff fingerprint `F` for the complete committed range and a reviewed snapshot tree `T` for the current worktree; write R, D, F, and T into the report
74
78
 
79
+ > After collecting those facts, read `.agents/rules/review-method.md`, use them as readiness evidence, and run Passes 2–5 for traceability, risk lenses, counterevidence, and classification; the report must record all five passes.
75
80
  > Detailed review criteria, severity rules, and reviewer expectations live in `reference/review-criteria.md`. Read `reference/review-criteria.md` before reviewing.
76
- > Test review gate: when `git diff` touches test files, read `.agents/rules/testing-discipline.md` first and check it item by item, especially "do not add negative assertions when a positive assertion already covers the behavior".
81
+
82
+ Apply the shared five-pass protocol to code in this order:
83
+ - Pass 1 reads the complete diff, untracked files, latest code artifact, approved plan/review-plan, task source, and raw test results.
84
+ - Pass 2 maps acceptance/plan → implementation → verification and records changed lines, necessary callers/callees, state/data flow, and uncovered areas per file.
85
+ - Pass 3 reviews overall design before per-file semantics, evaluates every shared registry trigger, and reads every matched reference in full. Test changes load `.agents/rules/testing-discipline.md` through the registry's `testing-discipline` lens; do not maintain a second trigger list.
86
+ - Pass 4 checks guards, call constraints, test coverage, and narrower impact boundaries as counterevidence.
87
+ - Pass 5 reconciles findings, manual-validation, advisories, evidence types, unverified assumptions, ledger state, and verdict.
88
+
89
+ Complete the code implementation coverage in `reference/report-template.md`. Approval is forbidden when a matched reference is missing or unloaded, or when a risk gap remains unclassified.
77
90
 
78
91
  ### 5. Write the Review Report
79
92
 
@@ -85,18 +98,28 @@ Create `.agents/workspace/active/{task-id}/{review-artifact}`.
85
98
 
86
99
  Update task.md:
87
100
  - After the report, submit each new finding with `agent-infra-internal task-ledger {task-id} finding-upsert --stage code --review-artifact {review-artifact} --ordinal {n} --severity {blocker|major|minor} --evidence {review-artifact}#{anchor}`; submit prior-response dispositions with `finding-review --id {ledger-id} --status {confirmed|closed|open|needs-human-decision} --evidence {evidence}`. Do not scan ids or edit ledger rows
88
- - After all ledger writes, call `agent-infra-internal task-ledger {task-id} stage-status --stage code` exactly once. Derive the verdict and next-step branch from `stageStatus.canAdvance`, and blocker/major/minor event counts from `unresolvedFindingCounts`; only `canAdvance=true` permits Approved
101
+ - After all ledger writes, call `agent-infra-internal task-review {task-id} finalize-summary --stage code --artifact {review-artifact} {execution-flag}` exactly once
102
+
103
+ Bind and reuse this structured mapping from that one response:
104
+
105
+ ```text
106
+ {unresolved-blockers} = stageStatus.unresolvedFindingCounts.blocker
107
+ {unresolved-major} = stageStatus.unresolvedFindingCounts.major
108
+ {unresolved-minor} = stageStatus.unresolvedFindingCounts.minor
109
+ ```
110
+
111
+ The intent atomically finalizes the report summary and returns the same ledger snapshot. Do not call `stage-status`, replace placeholders manually, or rescan the finding list. If finalization fails or a response field is missing, stop before the completion event. Derive the verdict and next-step branch from the same response's `stageStatus.canAdvance`; only `canAdvance=true` permits Approved
89
112
  - Only when `canAdvance=true`, the verdict is Approved, and `T == R^{tree}`, write `last_reviewed_commit: {R}`. Clear an old value for an Approved snapshot with uncommitted differences; otherwise preserve the existing value and do not advance it
90
113
  - For an Approved exit, collect PR and required-checks facts as defined in `reference/output-templates.md`: route uncommitted/unpushed code to `commit`, no PR to `create-pr` (except no-PR flow), non-terminal checks to `watch-pr`, and route to `complete-task` only when `HEAD == last_reviewed_commit == PR head` with checks `passed|no-required`; never route by review round alone
91
- - After handling `last_reviewed_commit`, run `agent-infra-internal task-event {task-id} review-code.completed --agent {agent} --artifact {review-artifact} --verdict {approved|changes-requested|rejected} --blockers {n} --major {n} --minor {n} --manual-validation {n}`
114
+ - After handling `last_reviewed_commit`, run `agent-infra-internal task-event {task-id} review-code.completed --agent {standard-agent-token} --artifact {review-artifact} --verdict {approved|changes-requested|rejected} --blockers {unresolved-blockers} --major {unresolved-major} --minor {unresolved-minor} --manual-validation {n} {execution-flag}`
92
115
 
93
116
  Always include the `Manual-validation: {n}` field in the done log, including when it is 0.
94
117
  `manual-validation` is the data source for the `Manual-validation` count folded into review rows in `ai task log`; do not add a parallel manual-verification field.
95
118
 
96
119
  If task.md contains a valid `issue_number`, perform these sync actions (skip and continue on any failure):
97
- - Run `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status in-progress`
98
- - Run `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
99
- - Run `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {review-artifact} --agent {agent}`
120
+ - Run `agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --status in-progress`
121
+ - Run `agent-infra-internal platform-comment sync {task-id} --kind task --agent {standard-agent-token}`
122
+ - Run `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {review-artifact} --agent {standard-agent-token}`
100
123
 
101
124
  ### 7. Verification Gate
102
125
 
@@ -130,7 +153,7 @@ manual-validation counts do not influence branch selection; they are displayed o
130
153
 
131
154
  > Before rendering the final output, read `.agents/rules/next-step-output.md` and apply both of its rules: (1) render `{task-ref}` in the "Next steps" commands as the current task's short id `NN` (see that file for lookup and fallback), while other `{task-id}` placeholders (report titles, paths) keep the full TASK-id form; (2) append the `Completed at` line as the very last line of the user-facing output (this applies to every user-facing output — success, error, and early-return paths alike, not only the success path).
132
155
 
133
- Include all TUI command formats in the next-step output. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
156
+ render the selected next-step commands through the shared helper. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
134
157
 
135
158
  ## Completion Checklist
136
159
 
@@ -138,7 +161,7 @@ Include all TUI command formats in the next-step output. If `.agents/.airc.json`
138
161
  - [ ] Created `{review-artifact}`
139
162
  - [ ] Updated task.md and appended the Activity Log entry
140
163
  - [ ] Chose exactly one verdict branch in the user output
141
- - [ ] Informed the user of the next step (must include all TUI command formats, including any custom TUIs; do not filter)
164
+ - [ ] Rendered the selected next-step commands through the shared helper
142
165
 
143
166
  ## Notes
144
167