@fitlab-ai/agent-infra 0.9.12 → 0.9.14

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 (402) hide show
  1. package/README.md +11 -11
  2. package/README.zh-CN.md +11 -11
  3. package/bin/cli.ts +26 -9
  4. package/dist/bin/cli.js +173 -157
  5. package/dist/bin/internal-cli.js +66 -40
  6. package/dist/lib/agent-client.js +5 -0
  7. package/dist/lib/agent-clients/next-steps.js +6 -1
  8. package/dist/lib/decide.js +3 -3
  9. package/dist/lib/internal/agent-client.js +5 -2
  10. package/dist/lib/internal/cli-route-inventory.js +152 -0
  11. package/dist/lib/internal/codex-lifecycle.js +9 -6
  12. package/dist/lib/internal/codex-sandbox-controller.js +8 -2
  13. package/dist/lib/internal/git-workflow.js +10 -6
  14. package/dist/lib/internal/platform-checks.js +19 -7
  15. package/dist/lib/internal/platform-comment.js +25 -13
  16. package/dist/lib/internal/platform-context.js +6 -3
  17. package/dist/lib/internal/platform-issue.js +20 -13
  18. package/dist/lib/internal/platform-metadata.js +88 -0
  19. package/dist/lib/internal/platform-pr-review.js +26 -13
  20. package/dist/lib/internal/platform-pr.js +84 -31
  21. package/dist/lib/internal/platform-release-notes.js +9 -6
  22. package/dist/lib/internal/platform-security.js +93 -0
  23. package/dist/lib/internal/pr-review-grade.js +25 -12
  24. package/dist/lib/internal/release-workflow.js +23 -9
  25. package/dist/lib/internal/sandbox-control.js +50 -7
  26. package/dist/lib/internal/task-activity.js +16 -7
  27. package/dist/lib/internal/task-artifact.js +235 -24
  28. package/dist/lib/internal/task-context.js +4 -1
  29. package/dist/lib/internal/task-create.js +50 -17
  30. package/dist/lib/internal/task-delivery.js +4 -1
  31. package/dist/lib/internal/task-event.js +10 -4
  32. package/dist/lib/internal/task-finalization.js +6 -3
  33. package/dist/lib/internal/task-invalidation.js +63 -0
  34. package/dist/lib/internal/task-ledger.js +20 -6
  35. package/dist/lib/internal/task-lifecycle.js +6 -3
  36. package/dist/lib/internal/task-operation-registry.js +421 -0
  37. package/dist/lib/internal/task-orchestration.js +12 -0
  38. package/dist/lib/internal/task-override.js +14 -7
  39. package/dist/lib/internal/task-qualification.js +90 -0
  40. package/dist/lib/internal/task-review.js +7 -4
  41. package/dist/lib/internal/task-short-id.js +11 -1
  42. package/dist/lib/internal/task-snapshot.js +4 -1
  43. package/dist/lib/internal/task-validate.js +7 -2
  44. package/dist/lib/internal/task-verify.js +11 -7
  45. package/dist/lib/internal/task-warning.js +11 -4
  46. package/dist/lib/platform/adapters.js +1 -3
  47. package/dist/lib/platform/change-request-git-evidence.js +27 -7
  48. package/dist/lib/platform/comment-safety.js +226 -0
  49. package/dist/lib/platform/completion-backfill.js +6 -5
  50. package/dist/lib/platform/context.js +70 -130
  51. package/dist/lib/platform/github-client.js +1 -1
  52. package/dist/lib/platform/github-provider.js +1130 -0
  53. package/dist/lib/platform/in-label-sync.js +143 -0
  54. package/dist/lib/platform/issue-comments.js +237 -72
  55. package/dist/lib/platform/issues.js +335 -189
  56. package/dist/lib/platform/metadata-labels.js +6 -2
  57. package/dist/lib/platform/none-provider.js +28 -0
  58. package/dist/lib/platform/pr-change-report.js +545 -0
  59. package/dist/lib/platform/pr-checks.js +119 -104
  60. package/dist/lib/platform/pr-review.js +88 -72
  61. package/dist/lib/platform/pr-summary.js +541 -50
  62. package/dist/lib/platform/provider-bridge.js +45 -0
  63. package/dist/lib/platform/provider-contract.d.ts +553 -0
  64. package/dist/lib/platform/provider-contract.js +99 -0
  65. package/dist/lib/platform/provider-loader.js +251 -0
  66. package/dist/lib/platform/provider-validation.js +577 -0
  67. package/dist/lib/platform/pull-request-metadata.js +8 -6
  68. package/dist/lib/platform/pull-requests.js +734 -543
  69. package/dist/lib/platform/release-notes.js +78 -55
  70. package/dist/lib/platform/releases.js +79 -50
  71. package/dist/lib/platform/repository-metadata.js +377 -0
  72. package/dist/lib/platform/resource-identity.d.ts +26 -0
  73. package/dist/lib/platform/resource-identity.js +92 -0
  74. package/dist/lib/platform/security-alerts.js +155 -0
  75. package/dist/lib/platform/task-identities.js +31 -0
  76. package/dist/lib/platform/verification-required.js +11 -12
  77. package/dist/lib/platform/verification-sync.js +129 -248
  78. package/dist/lib/pr-review/evidence-grading.js +19 -6
  79. package/dist/lib/process-data/index.js +7 -0
  80. package/dist/lib/run/index.js +68 -23
  81. package/dist/lib/sandbox/commands/control-status.js +22 -0
  82. package/dist/lib/sandbox/commands/create.js +32 -6
  83. package/dist/lib/sandbox/commands/ls.js +5 -0
  84. package/dist/lib/sandbox/commands/rm.js +827 -120
  85. package/dist/lib/sandbox/commands/show.js +16 -0
  86. package/dist/lib/sandbox/control/client.js +174 -19
  87. package/dist/lib/sandbox/control/completed-reentry.js +85 -0
  88. package/dist/lib/sandbox/control/container-identity.js +28 -31
  89. package/dist/lib/sandbox/control/executor.js +151 -16
  90. package/dist/lib/sandbox/control/lifecycle.js +621 -127
  91. package/dist/lib/sandbox/control/native-file-lock.js +177 -0
  92. package/dist/lib/sandbox/control/protocol.js +77 -0
  93. package/dist/lib/sandbox/control/server.js +677 -34
  94. package/dist/lib/sandbox/control/state.js +209 -4
  95. package/dist/lib/sandbox/control/task-view.js +183 -0
  96. package/dist/lib/sandbox/engines/authority.js +289 -0
  97. package/dist/lib/sandbox/engines/docker-exact-discovery.js +97 -0
  98. package/dist/lib/sandbox/index.js +5 -0
  99. package/dist/lib/sandbox/recovery.js +21 -1
  100. package/dist/lib/sandbox/workspace-view.js +2 -1
  101. package/dist/lib/sandbox/worktree-safety.js +4 -1
  102. package/dist/lib/server/index.js +8 -0
  103. package/dist/lib/server/protocol.js +38 -1
  104. package/dist/lib/task/activity-log.js +8 -1
  105. package/dist/lib/task/artifact-lifecycle.js +75 -18
  106. package/dist/lib/task/artifact-operations.js +520 -0
  107. package/dist/lib/task/artifact-repair-intent.js +59 -0
  108. package/dist/lib/task/artifact-schema.js +135 -0
  109. package/dist/lib/task/capabilities.js +310 -0
  110. package/dist/lib/task/commands/status.js +32 -0
  111. package/dist/lib/task/commit-operation.js +12 -1
  112. package/dist/lib/task/control-authority.js +12 -5
  113. package/dist/lib/task/create-service.js +111 -12
  114. package/dist/lib/task/create.js +25 -0
  115. package/dist/lib/task/current-contract.js +5 -1
  116. package/dist/lib/task/decision-details.js +1 -1
  117. package/dist/lib/task/events.js +416 -17
  118. package/dist/lib/task/finalization.js +37 -13
  119. package/dist/lib/task/human-override.js +58 -36
  120. package/dist/lib/task/index.js +11 -3
  121. package/dist/lib/task/invalidation-command.js +86 -0
  122. package/dist/lib/task/invalidation.js +260 -0
  123. package/dist/lib/task/ledger-intents.js +37 -0
  124. package/dist/lib/task/local-artifact-finalization.js +299 -0
  125. package/dist/lib/task/orchestration.js +240 -144
  126. package/dist/lib/task/pr-delivery-fact.js +102 -101
  127. package/dist/lib/task/qualification-audit.js +490 -0
  128. package/dist/lib/task/qualification-confirmation.js +109 -0
  129. package/dist/lib/task/qualification-intents.js +148 -0
  130. package/dist/lib/task/review-artifacts.js +22 -23
  131. package/dist/lib/task/review-finalization.js +121 -4
  132. package/dist/lib/task/review-fingerprint.js +24 -2
  133. package/dist/lib/task/rework-intent.js +138 -0
  134. package/dist/lib/task/sections.js +6 -4
  135. package/dist/lib/task/skill-scope.js +23 -0
  136. package/dist/lib/task/task-execution-lock.js +27 -17
  137. package/dist/lib/task/verification-config.js +11 -0
  138. package/dist/lib/task/verification-engine.js +93 -16
  139. package/dist/lib/task/verification.js +3 -3
  140. package/dist/lib/task/workflow-warning-intents.js +1 -1
  141. package/dist/lib/task/write.js +11 -0
  142. package/dist/lib/version.js +11 -1
  143. package/dist/lifecycle-build-manifest.json +3 -3
  144. package/lib/agent-client.ts +9 -0
  145. package/lib/agent-clients/next-steps.ts +6 -1
  146. package/lib/decide.ts +3 -3
  147. package/lib/init.ts +1 -1
  148. package/lib/internal/agent-client.ts +4 -2
  149. package/lib/internal/cli-route-inventory.ts +140 -0
  150. package/lib/internal/codex-lifecycle.ts +8 -6
  151. package/lib/internal/codex-sandbox-controller.ts +7 -2
  152. package/lib/internal/git-workflow.ts +9 -6
  153. package/lib/internal/platform-checks.ts +14 -6
  154. package/lib/internal/platform-comment.ts +20 -12
  155. package/lib/internal/platform-context.ts +5 -3
  156. package/lib/internal/platform-issue.ts +17 -11
  157. package/lib/internal/platform-metadata.ts +70 -0
  158. package/lib/internal/platform-pr-review.ts +23 -12
  159. package/lib/internal/platform-pr.ts +65 -27
  160. package/lib/internal/platform-release-notes.ts +8 -6
  161. package/lib/internal/platform-security.ts +83 -0
  162. package/lib/internal/pr-review-grade.ts +20 -11
  163. package/lib/internal/release-workflow.ts +21 -9
  164. package/lib/internal/sandbox-control.ts +44 -6
  165. package/lib/internal/task-activity.ts +15 -7
  166. package/lib/internal/task-artifact.ts +204 -22
  167. package/lib/internal/task-context.ts +3 -1
  168. package/lib/internal/task-create.ts +78 -17
  169. package/lib/internal/task-delivery.ts +3 -1
  170. package/lib/internal/task-event.ts +9 -4
  171. package/lib/internal/task-finalization.ts +6 -4
  172. package/lib/internal/task-invalidation.ts +41 -0
  173. package/lib/internal/task-ledger.ts +21 -8
  174. package/lib/internal/task-lifecycle.ts +5 -3
  175. package/lib/internal/task-operation-registry.ts +482 -0
  176. package/lib/internal/task-orchestration.ts +12 -0
  177. package/lib/internal/task-override.ts +15 -9
  178. package/lib/internal/task-qualification.ts +61 -0
  179. package/lib/internal/task-review.ts +6 -4
  180. package/lib/internal/task-short-id.ts +10 -1
  181. package/lib/internal/task-snapshot.ts +3 -1
  182. package/lib/internal/task-validate.ts +6 -2
  183. package/lib/internal/task-verify.ts +10 -7
  184. package/lib/internal/task-warning.ts +10 -4
  185. package/lib/platform/adapters.ts +3 -2
  186. package/lib/platform/change-request-git-evidence.ts +36 -9
  187. package/lib/platform/comment-safety.ts +250 -0
  188. package/lib/platform/completion-backfill.ts +9 -8
  189. package/lib/platform/context.ts +97 -134
  190. package/lib/platform/github-client.ts +2 -2
  191. package/lib/platform/github-provider.ts +1132 -0
  192. package/lib/platform/in-label-sync.ts +208 -0
  193. package/lib/platform/issue-comments.ts +255 -80
  194. package/lib/platform/issues.ts +344 -174
  195. package/lib/platform/metadata-labels.ts +5 -2
  196. package/lib/platform/none-provider.ts +35 -0
  197. package/lib/platform/pr-change-report.ts +639 -0
  198. package/lib/platform/pr-checks.ts +126 -106
  199. package/lib/platform/pr-review.ts +88 -85
  200. package/lib/platform/pr-summary.ts +581 -53
  201. package/lib/platform/provider-bridge.ts +82 -0
  202. package/lib/platform/provider-contract.ts +611 -0
  203. package/lib/platform/provider-loader.ts +307 -0
  204. package/lib/platform/provider-validation.ts +611 -0
  205. package/lib/platform/pull-request-metadata.ts +10 -7
  206. package/lib/platform/pull-requests.ts +781 -550
  207. package/lib/platform/release-notes.ts +76 -59
  208. package/lib/platform/releases.ts +77 -43
  209. package/lib/platform/repository-metadata.ts +453 -0
  210. package/lib/platform/resource-identity.ts +121 -0
  211. package/lib/platform/security-alerts.ts +191 -0
  212. package/lib/platform/task-identities.ts +40 -0
  213. package/lib/platform/types.ts +4 -2
  214. package/lib/platform/verification-required.ts +11 -13
  215. package/lib/platform/verification-sync.ts +128 -304
  216. package/lib/pr-review/evidence-grading.ts +25 -8
  217. package/lib/process-data/index.ts +7 -0
  218. package/lib/run/index.ts +62 -22
  219. package/lib/sandbox/commands/control-status.ts +26 -0
  220. package/lib/sandbox/commands/create.ts +46 -6
  221. package/lib/sandbox/commands/ls.ts +7 -0
  222. package/lib/sandbox/commands/rm.ts +1000 -87
  223. package/lib/sandbox/commands/show.ts +16 -0
  224. package/lib/sandbox/control/client.ts +203 -19
  225. package/lib/sandbox/control/completed-reentry.ts +98 -0
  226. package/lib/sandbox/control/container-identity.ts +27 -43
  227. package/lib/sandbox/control/executor.ts +180 -15
  228. package/lib/sandbox/control/lifecycle.ts +629 -17
  229. package/lib/sandbox/control/native-file-lock.ts +209 -0
  230. package/lib/sandbox/control/protocol.ts +118 -2
  231. package/lib/sandbox/control/server.ts +724 -34
  232. package/lib/sandbox/control/state.ts +257 -4
  233. package/lib/sandbox/control/task-view.ts +240 -0
  234. package/lib/sandbox/engines/authority.ts +365 -0
  235. package/lib/sandbox/engines/docker-exact-discovery.ts +132 -0
  236. package/lib/sandbox/index.ts +7 -0
  237. package/lib/sandbox/recovery.ts +21 -1
  238. package/lib/sandbox/workspace-view.ts +9 -3
  239. package/lib/sandbox/worktree-safety.ts +4 -1
  240. package/lib/server/index.ts +10 -0
  241. package/lib/server/protocol.ts +36 -1
  242. package/lib/task/activity-log.ts +8 -0
  243. package/lib/task/artifact-lifecycle.ts +70 -22
  244. package/lib/task/artifact-operations.ts +626 -0
  245. package/lib/task/artifact-repair-intent.ts +71 -0
  246. package/lib/task/artifact-schema.ts +192 -0
  247. package/lib/task/capabilities.ts +331 -0
  248. package/lib/task/commands/status.ts +38 -0
  249. package/lib/task/commit-operation.ts +12 -1
  250. package/lib/task/control-authority.ts +22 -9
  251. package/lib/task/create-service.ts +139 -14
  252. package/lib/task/create.ts +27 -0
  253. package/lib/task/current-contract.ts +6 -1
  254. package/lib/task/decision-details.ts +6 -2
  255. package/lib/task/events.ts +392 -16
  256. package/lib/task/finalization.ts +50 -14
  257. package/lib/task/human-override.ts +70 -46
  258. package/lib/task/index.ts +16 -3
  259. package/lib/task/invalidation-command.ts +86 -0
  260. package/lib/task/invalidation.ts +332 -0
  261. package/lib/task/ledger-intents.ts +35 -1
  262. package/lib/task/local-artifact-finalization.ts +432 -0
  263. package/lib/task/orchestration.ts +223 -133
  264. package/lib/task/pr-delivery-fact.ts +131 -148
  265. package/lib/task/qualification-audit.ts +599 -0
  266. package/lib/task/qualification-confirmation.ts +117 -0
  267. package/lib/task/qualification-intents.ts +150 -0
  268. package/lib/task/review-artifacts.ts +21 -22
  269. package/lib/task/review-finalization.ts +133 -4
  270. package/lib/task/review-fingerprint.ts +23 -2
  271. package/lib/task/rework-intent.ts +165 -0
  272. package/lib/task/sections.ts +6 -4
  273. package/lib/task/skill-scope.ts +24 -0
  274. package/lib/task/task-execution-lock.ts +23 -14
  275. package/lib/task/verification-config.ts +12 -0
  276. package/lib/task/verification-engine.ts +103 -17
  277. package/lib/task/verification.ts +4 -4
  278. package/lib/task/workflow-warning-intents.ts +1 -1
  279. package/lib/task/write.ts +19 -0
  280. package/lib/update.ts +1 -1
  281. package/lib/version.ts +15 -1
  282. package/package.json +12 -1
  283. package/templates/.agents/rules/README.en.md +3 -1
  284. package/templates/.agents/rules/README.zh-CN.md +3 -1
  285. package/templates/.agents/rules/decision-qualification.en.md +22 -0
  286. package/templates/.agents/rules/decision-qualification.zh-CN.md +22 -0
  287. package/templates/.agents/rules/evidence-reporting.en.md +28 -0
  288. package/templates/.agents/rules/evidence-reporting.zh-CN.md +28 -0
  289. package/templates/.agents/rules/issue-pr-commands.en.md +1 -1
  290. package/templates/.agents/rules/issue-pr-commands.zh-CN.md +1 -1
  291. package/templates/.agents/rules/issue-sync.en.md +2 -0
  292. package/templates/.agents/rules/issue-sync.zh-CN.md +2 -0
  293. package/templates/.agents/rules/label-milestone-setup.en.md +7 -7
  294. package/templates/.agents/rules/label-milestone-setup.zh-CN.md +7 -7
  295. package/templates/.agents/rules/local-artifact-repair.en.md +13 -2
  296. package/templates/.agents/rules/local-artifact-repair.zh-CN.md +13 -2
  297. package/templates/.agents/rules/pr-sync.en.md +10 -4
  298. package/templates/.agents/rules/pr-sync.zh-CN.md +17 -4
  299. package/templates/.agents/rules/security-alerts.en.md +8 -8
  300. package/templates/.agents/rules/security-alerts.zh-CN.md +8 -8
  301. package/templates/.agents/rules/task-short-id.en.md +1 -4
  302. package/templates/.agents/rules/task-short-id.zh-CN.md +1 -3
  303. package/templates/.agents/skills/analyze-task/SKILL.en.md +28 -5
  304. package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +29 -5
  305. package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -12
  306. package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -12
  307. package/templates/.agents/skills/check-task/SKILL.en.md +16 -37
  308. package/templates/.agents/skills/check-task/SKILL.zh-CN.md +16 -37
  309. package/templates/.agents/skills/close-codescan/SKILL.en.md +2 -2
  310. package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +2 -2
  311. package/templates/.agents/skills/close-dependabot/SKILL.en.md +2 -2
  312. package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +2 -2
  313. package/templates/.agents/skills/code-task/SKILL.en.md +41 -9
  314. package/templates/.agents/skills/code-task/SKILL.zh-CN.md +43 -11
  315. package/templates/.agents/skills/code-task/config/verify.en.json +6 -14
  316. package/templates/.agents/skills/code-task/config/verify.zh-CN.json +6 -14
  317. package/templates/.agents/skills/code-task/reference/code-rules.en.md +5 -4
  318. package/templates/.agents/skills/code-task/reference/code-rules.zh-CN.md +5 -4
  319. package/templates/.agents/skills/code-task/reference/dual-mode.en.md +1 -1
  320. package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +1 -1
  321. package/templates/.agents/skills/code-task/reference/fix-mode.en.md +3 -1
  322. package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +3 -1
  323. package/templates/.agents/skills/code-task/reference/report-template.en.md +42 -15
  324. package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +39 -12
  325. package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +2 -0
  326. package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +2 -0
  327. package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +3 -3
  328. package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +3 -3
  329. package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +10 -4
  330. package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +10 -4
  331. package/templates/.agents/skills/complete-manual-validation/reference/report-template.en.md +2 -0
  332. package/templates/.agents/skills/complete-manual-validation/reference/report-template.zh-CN.md +2 -0
  333. package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +4 -3
  334. package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +4 -3
  335. package/templates/.agents/skills/complete-task/SKILL.en.md +26 -21
  336. package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +25 -21
  337. package/templates/.agents/skills/create-pr/SKILL.en.md +7 -6
  338. package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +7 -7
  339. package/templates/.agents/skills/create-pr/config/verify.json +1 -0
  340. package/templates/.agents/skills/create-pr/reference/change-report.en.md +16 -4
  341. package/templates/.agents/skills/create-pr/reference/change-report.zh-CN.md +16 -4
  342. package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +5 -3
  343. package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +5 -3
  344. package/templates/.agents/skills/create-pr/reference/pr-body-template.en.md +1 -1
  345. package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +1 -1
  346. package/templates/.agents/skills/create-pr/scripts/change-report.mjs +3 -0
  347. package/templates/.agents/skills/create-task/SKILL.en.md +8 -0
  348. package/templates/.agents/skills/create-task/SKILL.zh-CN.md +7 -0
  349. package/templates/.agents/skills/import-codescan/SKILL.en.md +1 -1
  350. package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +1 -1
  351. package/templates/.agents/skills/import-dependabot/SKILL.en.md +1 -1
  352. package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +1 -1
  353. package/templates/.agents/skills/init-labels/SKILL.en.md +8 -8
  354. package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +8 -8
  355. package/templates/.agents/skills/init-milestones/SKILL.en.md +9 -11
  356. package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +9 -11
  357. package/templates/.agents/skills/plan-task/SKILL.en.md +27 -4
  358. package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +26 -4
  359. package/templates/.agents/skills/plan-task/config/verify.en.json +4 -14
  360. package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +4 -14
  361. package/templates/.agents/skills/review-analysis/SKILL.en.md +17 -4
  362. package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +17 -4
  363. package/templates/.agents/skills/review-analysis/config/verify.en.json +1 -18
  364. package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +1 -18
  365. package/templates/.agents/skills/review-analysis/reference/report-template.en.md +50 -23
  366. package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +45 -18
  367. package/templates/.agents/skills/review-code/SKILL.en.md +18 -5
  368. package/templates/.agents/skills/review-code/SKILL.zh-CN.md +18 -5
  369. package/templates/.agents/skills/review-code/config/verify.en.json +1 -23
  370. package/templates/.agents/skills/review-code/config/verify.zh-CN.json +1 -23
  371. package/templates/.agents/skills/review-code/reference/report-template.en.md +49 -22
  372. package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +45 -18
  373. package/templates/.agents/skills/review-plan/SKILL.en.md +17 -4
  374. package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +17 -4
  375. package/templates/.agents/skills/review-plan/config/verify.en.json +1 -18
  376. package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +1 -18
  377. package/templates/.agents/skills/review-plan/reference/report-template.en.md +49 -22
  378. package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +45 -18
  379. package/templates/.agents/skills/review-pr/SKILL.en.md +5 -1
  380. package/templates/.agents/skills/review-pr/SKILL.zh-CN.md +5 -1
  381. package/templates/.agents/skills/review-pr/reference/report-template.en.md +4 -3
  382. package/templates/.agents/skills/review-pr/reference/report-template.zh-CN.md +4 -3
  383. package/templates/.agents/skills/run-manual-validation/SKILL.en.md +9 -3
  384. package/templates/.agents/skills/run-manual-validation/SKILL.zh-CN.md +9 -3
  385. package/templates/.agents/skills/run-manual-validation/reference/report-template.en.md +3 -1
  386. package/templates/.agents/skills/run-manual-validation/reference/report-template.zh-CN.md +3 -1
  387. package/templates/.agents/skills/test/SKILL.en.md +13 -2
  388. package/templates/.agents/skills/test/SKILL.zh-CN.md +13 -2
  389. package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +14 -0
  390. package/templates/.agents/skills/watch-pr/SKILL.en.md +2 -2
  391. package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +2 -2
  392. package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +6 -0
  393. package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +6 -0
  394. package/templates/.agents/templates/task.en.md +24 -1
  395. package/templates/.agents/templates/task.zh-CN.md +24 -1
  396. package/templates/.github/workflows/pr-label.yml +7 -26
  397. package/templates/.agents/scripts/security-alerts.github.sh +0 -151
  398. package/templates/.agents/scripts/security-alerts.sh +0 -31
  399. package/templates/.agents/skills/init-labels/scripts/init-labels.github.sh +0 -146
  400. package/templates/.agents/skills/init-labels/scripts/init-labels.sh +0 -32
  401. package/templates/.agents/skills/init-milestones/scripts/init-milestones.github.sh +0 -294
  402. package/templates/.agents/skills/init-milestones/scripts/init-milestones.sh +0 -6
@@ -9,16 +9,22 @@ description: >
9
9
  # 编码任务
10
10
  > `--agent` 取值见 `.agents/rules/task-management.md`「合作者 token 规范」。
11
11
 
12
- 若入口业务操作数包含 `--orchestrated`,绑定 `{execution-flag}` = `--orchestrated` 并原样转发给 completed 事件;否则绑定为空。不得从 `orchestration.json`、环境变量或历史产物推断该标记。
12
+ 若入口业务操作数包含 `--orchestrated`,绑定 `{execution-flag}` = `--orchestrated` 并原样转发给 completed 事件;否则绑定为空。不得从 `orchestration.json`、环境变量或历史产物推断该标记。生命周期事件还必须携带显式触发信息:编排调用使用 `{trigger-initiator}=orchestrator`,否则使用 `model`;`{request-id}` 是本任务与本轮产物的稳定单行标识,`{reason-code}` 初次实现使用 `user-request`,修复或裁决使用 `review-finding`;started 与 completed 使用同一组值。
13
13
 
14
14
  根据已批准的技术方案编码任务,并产出 `code.md` 或 `code-r{N}.md`。本技能支持初次实现、基于 `review-code` 反馈的修复,以及人工裁决驱动实现三种模式。
15
15
 
16
16
  ## 行为边界 / 关键规则
17
17
 
18
+ ### 持久化报告证据
19
+
20
+ 生成实现报告时,先读取 `.agents/rules/evidence-reporting.md`。成功测试记录命令、目标范围、状态/结构化结果、实际结果和未覆盖部分;失败、阻塞或争议保留复现入口、准确位置和决定性摘录,不默认粘贴完整成功 stdout。
21
+
22
+ - 涉及候选资格或 `HD-N` 判断时,先读取 `.agents/rules/decision-qualification.md`,基于 task.md 规范化约束/候选完成资格审计,并在实现报告记录五张资格审计表;不得把来源不明或未确认约束自动升级为排除条件
18
23
  - 严格遵循最新方案产物:`plan.md` 或 `plan-r{N}.md`
19
24
  - 生成会同步到 Issue 的任务或生命周期 Markdown 前,先读取 `.agents/rules/sync-content-generation.md` 并遵循其中的生成端约束;同步端不解析或改写正文
20
25
  - 实现前读取 `.agents/rules/compatibility-policy.md`;只实现方案明确批准的兼容预算,不以“稳妥”为由保留旧分支、旧结果契约或迁移 shim
21
26
  - 修复模式逐条核实最新 `review-code` 的发现:成立则修复,判定为不成立/幻觉则在报告中反驳并记入 unresolved;不擅自扩大到审查未列出的问题;manual-validation 项不在修复范围
27
+ - 实现报告在 `code.completed` 前必须通过 `task-artifact ... finalize-local --family code`;按 `.agents/rules/local-artifact-repair.md` 处理同一报告内可证明安全的最小结构修复,并只把同一次通过结果的摘要传给完成事件
22
28
  - 实现中遇到方案未覆盖的关键设计决策时,先调用 `agent-infra-internal task-ledger {task-id} decision-next-id` 取得 `HD-N`,按 `.agents/rules/human-decision-context.md` 写入实现报告的 `## 人工裁决待办` 详情块并判断是否需要实现,再调用 `decision-upsert --id {HD-N} --stage code --artifact {code-artifact} --needs-implementation {true|false}`;不得扫描编号、手写账本行、中途提问或擅自扩范围
23
29
  - 不调用 `commit` 技能,也不推送远端;测试通过后直接调用共享 commit core 的 `delivery: { mode: 'local' }` 创建本地 checkpoint。checkpoint 使用 durable intent,只有 checkpoint 与 task 状态同步成功后才发送 `code.completed`
24
30
  - 每轮实现都创建新的实现产物,不覆盖旧文件
@@ -43,7 +49,7 @@ description: >
43
49
 
44
50
  在加载 workflow / skill / rules 指令之后、做任何任务状态判断或用户可见结论之前,必须先执行状态核对。指令类文件读取不算对外动作或结论。
45
51
 
46
- 运行以下命令,并把原文粘贴到本轮产物的 `## 状态核对` 段:
52
+ 运行以下命令,并在本轮产物的 `## 状态核对` 段记录任务/产物范围、关键结果和未覆盖部分;正常成功不粘贴完整目录清单或 `task.md` 尾部。失败、阻塞、身份不一致或争议时,附决定性原文行:
47
53
 
48
54
  ```bash
49
55
  agent-infra-internal task-snapshot {task-id} --format text
@@ -59,7 +65,7 @@ agent-infra-internal task-snapshot {task-id} --format text
59
65
 
60
66
  ## 步骤开始:声明 started 事件
61
67
 
62
- 确认前置条件与模式后、本轮第一个产出动作之前执行 `agent-infra-internal task-event {task-id} code.started --agent {standard-agent-token}`。修复模式追加 `--fix-for {review-artifact}`,裁决模式追加 `--implementation-input {input-id}`。核心根据 artifact context 推导并校验轮次与输入身份;以返回的 `artifactContext` 记录本轮身份。
68
+ 确认前置条件与模式后、本轮第一个产出动作之前执行 `agent-infra-internal task-event {task-id} code.started --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code}`。修复模式追加 `--fix-for {review-artifact}`,裁决模式追加 `--implementation-input {input-id}`。核心根据 artifact context 推导并校验轮次与输入身份;以返回的 `artifactContext` 记录本轮身份。
63
69
 
64
70
  ## 执行步骤
65
71
  ### 1. 验证前置条件
@@ -87,7 +93,7 @@ agent-infra-internal task-snapshot {task-id} --format text
87
93
 
88
94
  **必须执行,不得跳过。** 如果 task.md 中存在有效的 `issue_number`,调用 `agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --milestone specific`;里程碑推断、权限降级与幂等写入由 internal core 处理。
89
95
 
90
- > 若跳过或收窄后仍为 `X.Y.x`,步骤 11 的 `task-verify code.completed` 会通过 typed milestone check 截停本轮。
96
+ > 若跳过或收窄后仍为 `X.Y.x`,步骤 12 的 `task-verify code.completed` 会通过 typed milestone check 截停本轮。
91
97
 
92
98
  ### 4. 确定模式与轮次
93
99
 
@@ -144,30 +150,56 @@ echo "$result"
144
150
 
145
151
  测试通过后,通过 `agent-infra-internal git-workflow commit --input {checkpoint-input}` 调用共享 commit core,输入 `delivery: { "mode": "local" }`、明确 paths、expected HEAD/tree、task ref、agent 和 code round。该调用只创建本地 checkpoint,不访问远端;core 会在 commit 前写入 durable intent,并在 task writer 成功后清理 intent。checkpoint 失败或 task 状态未闭合时,不得发送 `code.completed`。
146
152
 
153
+ checkpoint 成功后,若任务存在 `issue_number`,调用 `agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --in-labels from-diff --base {delivery-base-ref}`,由 task-bound `delivery_base_ref` 产生 Issue 的 `in:` target;该同步失败时记录 warning 并停止本轮,不发送 `code.completed`。
154
+
147
155
  排查测试失败或行为不符合预期时,先读取 `.agents/rules/debugging-guide.md`,按其四阶段流程定位根因,禁止盲目改代码重试。
148
156
 
149
157
  ### 9. 编写实现报告
150
158
 
159
+ 在首次写入本轮 `{code-artifact}` 前,先创建受控报告骨架:
160
+
161
+ ```bash
162
+ agent-infra-internal task-artifact {task-id} init --family code --artifact {code-artifact}
163
+ ```
164
+
165
+ 骨架只包含身份元数据、稳定 section marker 和必需标题;必须填入真实实现与验证内容后才能通过完成门禁。finalizer 返回可证明的单个结构错误时,使用其 SHA 和 semantic digest 调用 `task-artifact {task-id} repair --family code --artifact {code-artifact} --expected-sha256 {artifact-sha256} --expected-semantic-digest {semantic-digest}`,然后完整重跑 finalizer。
166
+
151
167
  创建 `.agents/workspace/active/{task-id}/{code-artifact}`。
152
168
 
153
169
  > 报告结构、必填章节和完整模板见 `reference/report-template.md`。写报告前先读取 `reference/report-template.md`。
154
170
 
155
- ### 10. 更新任务状态
171
+ ### 10. 报告完成前门禁
172
+
173
+ 报告写入后、发布 `code.completed` 前,读取并遵循 `.agents/rules/local-artifact-repair.md`,执行:
174
+
175
+ ```bash
176
+ finalizer=$(agent-infra-internal task-artifact {task-id} finalize-local --family code --artifact {code-artifact})
177
+ status=$?
178
+ echo "$finalizer"
179
+ ```
180
+
181
+ - `status=0` 且 `finalizer.status="passed"`:绑定这一次返回的 `{artifact-sha256}` 和 `{semantic-digest}`。
182
+ - `status=1` 且返回 `repairable=true`、诊断明确为当前报告中的单行替换:确认任务、轮次、产物和 provenance 未变化后,只编辑该 `code*.md` 一次,确认字节确实变化,再完整重跑同一命令。
183
+ - 其他失败、无进展、诊断重复或达到 8 次实际报告编辑:停止,不发布 `code.completed`。
184
+
185
+ 不得重新扫描或手工补写摘要;完成事件必须携带本次 `passed` 结果的 `--artifact-sha256 {artifact-sha256} --semantic-digest {semantic-digest}`。
186
+
187
+ ### 11. 更新任务状态
156
188
 
157
189
  更新 `.agents/workspace/active/{task-id}/task.md`:
158
190
  - 审查 `## 需求` 段落,仅把本轮已由代码实现且有测试通过支撑的条目从 `- [ ]` 勾为 `- [x]`
159
191
  - 产物链接、阶段与完成日志由 completed 事件统一登记
160
192
  - 完成业务内容更新后声明完成事件:
161
- - 初次实现:`agent-infra-internal task-event {task-id} code.completed --agent {standard-agent-token} --artifact {code-artifact} --files-modified {n} --tests-passed {n} {execution-flag}`
162
- - 修复模式:`agent-infra-internal task-event {task-id} code.completed --agent {standard-agent-token} --artifact {code-artifact} --fix-for {review-artifact} --blockers {n} --major {n} --minor {n} --manual-validation {n} {execution-flag}`
163
- - 裁决模式:`agent-infra-internal task-event {task-id} code.completed --agent {standard-agent-token} --artifact {code-artifact} --implementation-input {input-id} --files-modified {n} --tests-passed {n} {execution-flag}`
193
+ - 初次实现:`agent-infra-internal task-event {task-id} code.completed --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code} --artifact {code-artifact} --artifact-sha256 {artifact-sha256} --semantic-digest {semantic-digest} --files-modified {n} --tests-passed {n} {execution-flag}`
194
+ - 修复模式:`agent-infra-internal task-event {task-id} code.completed --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code} --artifact {code-artifact} --artifact-sha256 {artifact-sha256} --semantic-digest {semantic-digest} --fix-for {review-artifact} --blockers {n} --major {n} --minor {n} --manual-validation {n} {execution-flag}`
195
+ - 裁决模式:`agent-infra-internal task-event {task-id} code.completed --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code} --artifact {code-artifact} --artifact-sha256 {artifact-sha256} --semantic-digest {semantic-digest} --implementation-input {input-id} --files-modified {n} --tests-passed {n} {execution-flag}`
164
196
 
165
- 如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则记录 warning 并继续;Issue 元数据边界仍见 `.agents/rules/issue-sync.md`):
197
+ 如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(状态/评论失败按规则记录 warning;Issue `in:` evidence 同步失败不得发送 `code.completed`;边界见 `.agents/rules/issue-sync.md`):
166
198
  - 调用 `agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --status in-progress`
167
199
  - 调用 `agent-infra-internal platform-comment sync {task-id} --kind task --agent {standard-agent-token}`
168
200
  - 调用 `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {code-artifact} --agent {standard-agent-token}`
169
201
 
170
- ### 11. 完成校验
202
+ ### 12. 完成校验
171
203
 
172
204
  运行完成校验,确认任务产物和同步状态符合规范:
173
205
 
@@ -182,7 +214,7 @@ agent-infra-internal task-verify {task-id} code.completed --artifact {code-artif
182
214
 
183
215
  将校验输出保留在回复中作为当次验证输出。没有当次校验输出,不得声明完成。
184
216
 
185
- ### 12. 告知用户
217
+ ### 13. 告知用户
186
218
 
187
219
  > 仅在校验通过后执行本步骤。
188
220
 
@@ -17,26 +17,17 @@
17
17
  },
18
18
  "artifact": {
19
19
  "file_pattern": "code.md|code-r{N}.md",
20
- "required_sections": [
21
- "Implementation Input",
22
- "Modified Files",
23
- "Key Code Explanation",
24
- "Test Results",
25
- "Differences from Plan",
26
- "Items for Review",
27
- "State Check",
28
- "Evidence"
29
- ],
30
- "required_patterns": [
31
- "^\\$ "
32
- ]
20
+ "schema": "code"
33
21
  },
34
22
  "implementation-input": {},
35
23
  "activity-log": {
36
24
  "expected_action_pattern": "(Code Task|Code) \\(Round \\d+(?:(?:, fix for review-code(?:-r\\d+)?\\.md)|(?:, decision II-[1-9]\\d*))?\\)"
37
25
  },
38
26
  "review-ledger": {
39
- "stage_scope": ["analysis", "plan"]
27
+ "stage_scope": [
28
+ "analysis",
29
+ "plan"
30
+ ]
40
31
  },
41
32
  "platform-sync": {
42
33
  "when": "issue_number_exists",
@@ -46,6 +37,7 @@
46
37
  "verify_task_comment_content": true,
47
38
  "verify_issue_type": true,
48
39
  "verify_issue_fields": false,
40
+ "verify_in_labels_computed": true,
49
41
  "verify_milestone": true,
50
42
  "verify_milestone_specific": true,
51
43
  "expected_status_label_key": "inProgress",
@@ -17,26 +17,17 @@
17
17
  },
18
18
  "artifact": {
19
19
  "file_pattern": "code.md|code-r{N}.md",
20
- "required_sections": [
21
- "实现输入",
22
- "变更文件",
23
- "关键代码说明",
24
- "测试结果",
25
- "与方案的差异",
26
- "供审查关注的内容",
27
- "状态核对",
28
- "证据原文"
29
- ],
30
- "required_patterns": [
31
- "^\\$ "
32
- ]
20
+ "schema": "code"
33
21
  },
34
22
  "implementation-input": {},
35
23
  "activity-log": {
36
24
  "expected_action_pattern": "(Code Task|Code) \\(Round \\d+(?:(?:, fix for review-code(?:-r\\d+)?\\.md)|(?:, decision II-[1-9]\\d*))?\\)"
37
25
  },
38
26
  "review-ledger": {
39
- "stage_scope": ["analysis", "plan"]
27
+ "stage_scope": [
28
+ "analysis",
29
+ "plan"
30
+ ]
40
31
  },
41
32
  "platform-sync": {
42
33
  "when": "issue_number_exists",
@@ -46,6 +37,7 @@
46
37
  "verify_task_comment_content": true,
47
38
  "verify_issue_type": true,
48
39
  "verify_issue_fields": false,
40
+ "verify_in_labels_computed": true,
49
41
  "verify_milestone": true,
50
42
  "verify_milestone_specific": true,
51
43
  "expected_status_label_key": "inProgress",
@@ -16,26 +16,27 @@ Follow the `code` step in `.agents/workflows/feature-development.yaml`.
16
16
  **Implementation principles**:
17
17
  1. **Follow the plan strictly**: do not deviate from the technical plan
18
18
  2. **Work step by step**: execute the planned sequence
19
- 3. **Keep testing continuously**: run the **smoke subset** continuously as work progresses (see the `test` skill)
19
+ 3. **Keep testing continuously**: run the **fast smoke subset** continuously as work progresses (see the `test` skill)
20
20
  4. **Keep it simple**: do not add unplanned features
21
21
 
22
22
  ## Run Test Verification
23
23
 
24
24
  During implementation:
25
- - **Inner loop**: after each change, run the project's **smoke subset** (see the `test` skill) for fast feedback
25
+ - **Inner loop**: after each change, run the project's **fast smoke subset** (see the `test` skill) for fast feedback without repeating the build
26
+ - **After each implementation step**: run the **smoke subset** to verify the complete build and unit tests
26
27
  - **Before writing the code report**: run the **core subset** as final verification so code entering review has passed the complete core checks
27
28
 
28
29
  > Refer to the `test` skill for project-specific commands; downstream projects without layered scripts should fall back to the full project test command.
29
30
 
30
31
  If tests fail:
31
32
  - analyze the failure first and prioritize fixing issues introduced by this implementation
32
- - after each fix, re-run at least the smoke subset, then upgrade to core for the next full-pass verification
33
+ - after each fix, re-run at least the fast smoke subset; after completing the implementation step, run smoke, then upgrade to core for the next full-pass verification
33
34
  - only stop without producing the implementation artifact when the failure is caused by an external blocker, missing environment, or unclear requirement that cannot be resolved inside the task
34
35
 
35
36
  Two-way failure handling:
36
37
  1. implementation-caused failures:
37
38
  - fix the code, tests, docs, or fixtures introduced by this implementation
38
- - re-run tests after each fix (smoke for the immediate fix verification, core for the round-level verification)
39
+ - re-run tests after each fix (fast smoke for the immediate fix verification, smoke for complete-build verification, core for the round-level verification)
39
40
  - continue until all required tests pass
40
41
  2. external blockers:
41
42
  - confirm the failure comes from missing environment, unrelated upstream breakage, or unclear requirements outside this task
@@ -16,26 +16,27 @@
16
16
  **实现原则**:
17
17
  1. **严格遵循方案**:不要偏离技术方案
18
18
  2. **按步骤推进**:按计划顺序执行
19
- 3. **持续测试**:实现过程中持续运行 **smoke 子集**(参见 `test` skill)
19
+ 3. **持续测试**:实现过程中持续运行 **fast smoke 子集**(参见 `test` skill)
20
20
  4. **保持简单**:不要加入未计划的功能
21
21
 
22
22
  ## 运行测试验证
23
23
 
24
24
  实现过程中:
25
- - **内循环**:每次修改后运行项目测试的 **smoke 子集**(参见 `test` skill),快速反馈
25
+ - **内循环**:每次修改后运行项目测试的 **fast smoke 子集**(参见 `test` skill),快速反馈且不重复构建
26
+ - **完成一个实施步骤后**:运行 **smoke 子集**,验证完整构建及单元测试
26
27
  - **写实现报告前**:运行 **core 子集**做最终验证,确保进入审查的代码已通过完整的核心测试
27
28
 
28
29
  > 项目特定命令请参考 `test` skill;不存在分层 script 的下游项目回退到完整项目测试命令。
29
30
 
30
31
  如果测试失败:
31
32
  - 先分析失败原因,并优先修复由本次实现引入的问题
32
- - 每次修复后重新运行至少 smoke 子集,进入下一轮再升级到 core
33
+ - 每次修复后重新运行至少 fast smoke 子集,完成实施步骤后再运行 smoke,并在进入下一轮前升级到 core
33
34
  - 只有当失败由外部阻塞、环境缺失或当前任务内无法澄清的需求问题导致时,才允许在不生成实现产物的情况下停止
34
35
 
35
36
  双分支失败处理:
36
37
  1. 本次实现引入的失败:
37
38
  - 修复由本次实现引入的代码、测试、文档或 fixture 问题
38
- - 每次修复后重新运行测试(smoke 用于本次修复验证,core 用于本轮整体验证)
39
+ - 每次修复后重新运行测试(fast smoke 用于本次修复验证,smoke 验证完整构建,core 用于本轮整体验证)
39
40
  - 持续处理直到所有必需测试通过
40
41
  2. 外部阻塞:
41
42
  - 确认失败来自缺失环境、无关的上游损坏,或任务范围外的需求不明确
@@ -20,7 +20,7 @@ The core scans `plan.md` / `plan-r{N}.md`, `review-plan.md` / `review-plan-r{N}.
20
20
  |---|---|---:|---|
21
21
  | no code artifact, and the latest review-plan is exactly `Approved` and references the latest plan | `init` | 0 | initial implementation, output `code.md`; a missing matching approval or `Approved-with-issues` returns an error |
22
22
  | latest review-plan is exactly `Approved`, references the latest plan, and the latest code completion receipt does not bind the same plan digest | `init` | 0 | enter a new implementation round. `Approved-with-issues` remains parse-compatible for history but is not cross-stage approval; missing or invalid receipts fail closed |
23
- | `rev_max < code_max` | `error` | 2 | latest code round is unreviewed; run `review-code` first |
23
+ | the latest review-code completion receipt does not bind the latest code identity/SHA | `error` | 2 | latest code is unreviewed; run `review-code`; code and review-code family rounds may advance independently |
24
24
  | latest review-code is Approved and a pending implementation input was decided after that review completed | `decision` | 0 | select the earliest `II-N` and enter decision-driven implementation; false/not-required and consumed inputs do not trigger |
25
25
  | latest review-code is Approved with 0/0/0 | `refused` | 1 | already approved; do not run `code-task` again |
26
26
  | latest review-code is Approved with major/minor findings | `fix` | 0 | optional fix mode |
@@ -20,7 +20,7 @@ agent-infra-internal task-artifact {task-id} inspect --family code
20
20
  |---|---|---:|---|
21
21
  | 无 code 产物,且最新 review-plan 精确为 `Approved` 并引用最新 plan | `init` | 0 | 初次实现,产物为 `code.md`;缺少匹配审批或为 `Approved-with-issues` 时返回 error |
22
22
  | 最新 review-plan 精确为 `Approved`,且其「审查输入」/「Review Input」字段引用最新 plan,而最新 code 的完成 receipt 未绑定相同 plan 摘要 | `init` | 0 | plan 内容在 code 输入之后获批;进入新一轮实现。`Approved-with-issues` 仅保留历史解析兼容,不构成跨阶段批准;缺失或无效 receipt 失败关闭 |
23
- | `rev_max < code_max` | `error` | 2 | 最新代码未审查,先运行 `review-code` |
23
+ | 最新 review-code 的完成收据未绑定最新 code identity/SHA | `error` | 2 | 最新代码未审查,先运行 `review-code`;code 与 review-code 的 family 轮次可独立增长 |
24
24
  | 最新 review-code 为 Approved 且存在审查完成后产生的 pending 实现输入 | `decision` | 0 | 选择最早 `II-N`,进入裁决驱动实现;false/not-required 与 consumed 输入不触发 |
25
25
  | 最新 review-code 为 Approved 且 0/0/0 | `refused` | 1 | 已通过,无需再次运行 `code-task` |
26
26
  | 最新 review-code 为 Approved 但有 major/minor | `fix` | 0 | 可选修复模式 |
@@ -41,7 +41,9 @@ For each fix:
41
41
  1. read the affected files
42
42
  2. apply the smallest necessary change
43
43
  3. verify the change addresses the review feedback
44
- 4. run the project's **smoke subset** for immediate feedback (see the `test` skill)
44
+ 4. run the project's **fast smoke subset** for immediate feedback (see the `test` skill)
45
+
46
+ After completing the repair round, run the **smoke subset** to verify the complete build and unit tests.
45
47
 
46
48
  ## Run Test Verification
47
49
 
@@ -41,7 +41,9 @@ manual-validation 项不在修复范围。处理规则:
41
41
  1. 读取受影响文件
42
42
  2. 施加最小必要改动
43
43
  3. 验证改动确实解决了审查反馈
44
- 4. 运行项目测试的 **smoke 子集**做即时反馈(参见 `test` skill)
44
+ 4. 运行项目测试的 **fast smoke 子集**做即时反馈(参见 `test` skill)
45
+
46
+ 完成本轮修复后,运行 **smoke 子集**,验证完整构建及单元测试。
45
47
 
46
48
  ## 运行测试验证
47
49
 
@@ -1,5 +1,7 @@
1
1
  # Code Report Template
2
2
 
3
+ > Before writing this report, use `task-artifact init` to create the skeleton and preserve every `artifact-section` marker; the skeleton contains no semantic result.
4
+
3
5
  Use this structure when creating `code.md` or `code-r{N}.md`.
4
6
 
5
7
  ## Output Template
@@ -20,11 +22,31 @@ Use this structure when creating `code.md` or `code-r{N}.md`.
20
22
  - **Decision Evidence**: `{decision-evidence or N/A}`
21
23
  - **Scope Summary**: {scope of this round's implementation input}
22
24
 
23
- ## State Check
25
+ ## Qualification Audit
26
+
27
+ > Use `.agents/rules/decision-qualification.md` and fill these five tables.
28
+
29
+ ### Constraint Dependencies
30
+ | constraint_id | constraint_digest | role | evidence |
31
+ | --- | --- | --- | --- |
32
+
33
+ ### Candidate Qualification
34
+ | candidate_id | status | impact | constraint_ids | evidence |
35
+ | --- | --- | --- | --- | --- |
36
+
37
+ ### Classification Results
38
+ | decision_id | classification | evidence |
39
+ | --- | --- | --- |
24
40
 
25
- > Paste the raw state-check command output; each command starts with `$ `.
41
+ ### Upstream Relations
42
+ | upstream_family | upstream_artifact | upstream_round | upstream_sha256 | relation |
43
+ | --- | --- | --- | --- | --- |
26
44
 
27
- ## Modified Files
45
+ ### Dependency Snapshot
46
+ | task_input_digest | non_constraint_input_digest | upstream_artifact_digest |
47
+ | --- | --- | --- |
48
+
49
+ ## Changed Files
28
50
 
29
51
  ### New Files
30
52
  - `{file-path}` - {description}
@@ -32,7 +54,7 @@ Use this structure when creating `code.md` or `code-r{N}.md`.
32
54
  ### Modified Files
33
55
  - `{file-path}` - {change summary}
34
56
 
35
- ## Key Code Explanation
57
+ ## Key Code Notes
36
58
 
37
59
  ### {Module/Feature Name}
38
60
  **File**: `{file-path}:{line-number}`
@@ -58,16 +80,6 @@ Use this structure when creating `code.md` or `code-r{N}.md`.
58
80
  ```
59
81
 
60
82
 
61
- ## Evidence
62
-
63
- > Pair each "I verified X" claim with the corresponding raw tool output; the gate only checks that this section exists and at least one `$ ` line is present.
64
-
65
- - Claim: {verified claim}
66
- ```text
67
- $ {command}
68
- {raw output}
69
- ```
70
-
71
83
  ## Differences from Plan
72
84
 
73
85
  {describe any deviation from the approved plan}
@@ -80,12 +92,27 @@ $ {command}
80
92
  |------|----------|----------|
81
93
  | {finding} | {accepted / adjusted / refuted / cannot-judge} | {fix file:line, or counter-evidence file:line / raw command output} |
82
94
 
83
- ## Items for Review
95
+ ## Review Focus
84
96
 
85
97
  **Focus areas for reviewers**:
86
98
  - {item 1}
87
99
  - {item 2}
88
100
 
101
+ ## State Check
102
+
103
+ > Record the state-check command, task/artifact scope, key result, and uncovered parts; each command starts with `$ `.
104
+ > Follow `.agents/rules/evidence-reporting.md`: record task/artifact scope, key result, and uncovered parts; do not paste complete successful stdout.
105
+
106
+ ## Raw Evidence
107
+
108
+ > Follow `.agents/rules/evidence-reporting.md`: pair each claim with a `$ ` command and proportionate result summary; include a decisive raw excerpt only for failures, blocking conditions, or disputes.
109
+
110
+ - Claim: {verified claim}
111
+ ```text
112
+ $ {command}
113
+ {result summary or decisive excerpt}
114
+ ```
115
+
89
116
  ## Known Issues
90
117
 
91
118
  {known issues or follow-up ideas}
@@ -1,5 +1,7 @@
1
1
  # 实现报告模板
2
2
 
3
+ > 写入本报告前,先用 `task-artifact init` 创建对应骨架,并保留每个 `artifact-section` marker;骨架不包含语义结果。
4
+
3
5
  创建 `code.md` 或 `code-r{N}.md` 时,使用以下结构。
4
6
 
5
7
  ## 输出模板
@@ -20,9 +22,29 @@
20
22
  - **裁决证据**:`{decision-evidence 或 N/A}`
21
23
  - **需求摘要**:{本轮实现输入的范围摘要}
22
24
 
23
- ## 状态核对
25
+ ## 资格审计
26
+
27
+ > 按 `.agents/rules/decision-qualification.md` 填写以下五张表。
28
+
29
+ ### 约束依赖
30
+ | constraint_id | constraint_digest | role | evidence |
31
+ | --- | --- | --- | --- |
32
+
33
+ ### 候选资格
34
+ | candidate_id | status | impact | constraint_ids | evidence |
35
+ | --- | --- | --- | --- | --- |
36
+
37
+ ### 分类结果
38
+ | decision_id | classification | evidence |
39
+ | --- | --- | --- |
40
+
41
+ ### 上游关系
42
+ | upstream_family | upstream_artifact | upstream_round | upstream_sha256 | relation |
43
+ | --- | --- | --- | --- | --- |
24
44
 
25
- > 粘贴状态核对命令原文;每条命令以 `$ ` 开头。
45
+ ### 依赖快照
46
+ | task_input_digest | non_constraint_input_digest | upstream_artifact_digest |
47
+ | --- | --- | --- |
26
48
 
27
49
  ## 变更文件
28
50
 
@@ -58,16 +80,6 @@
58
80
  ```
59
81
 
60
82
 
61
- ## 证据原文
62
-
63
- > 每条“我验证了 X”断言都要配对对应 tool output 原文;gate 仅校验本段存在和至少一行 `$ `。
64
-
65
- - 断言:{verified claim}
66
- ```text
67
- $ {command}
68
- {raw output}
69
- ```
70
-
71
83
  ## 与方案的差异
72
84
 
73
85
  {describe any deviation from the approved plan}
@@ -86,6 +98,21 @@ $ {command}
86
98
  - {item 1}
87
99
  - {item 2}
88
100
 
101
+ ## 状态核对
102
+
103
+ > 记录状态核对命令、任务/产物范围、关键结果和未覆盖部分;每条命令以 `$ ` 开头。
104
+ > 按 `.agents/rules/evidence-reporting.md` 同时记录任务/产物范围、关键结果和未覆盖部分;正常成功不粘贴完整 stdout。
105
+
106
+ ## 证据原文
107
+
108
+ > 遵循 `.agents/rules/evidence-reporting.md`:每条断言配对 `$ ` 命令和相称结果摘要;仅为失败、阻塞或争议附决定性原文摘录。
109
+
110
+ - 断言:{verified claim}
111
+ ```text
112
+ $ {command}
113
+ {result summary or decisive excerpt}
114
+ ```
115
+
89
116
  ## 已知问题
90
117
 
91
118
  {known issues or follow-up ideas}
@@ -14,6 +14,8 @@ Call one declarative intent. The internal core owns diff computation, repository
14
14
  agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --in-labels from-diff --base {base-branch} --requirements
15
15
  ```
16
16
 
17
+ If `--base` is supplied, it must exactly match task.md's `delivery_base_ref`; the core uses that task-bound ref as the only diff evidence and never falls back to `main` or a repository default. The `in:` target is the intersection of the `labels.in` mapping and repository labels, and unrelated labels are preserved.
18
+
17
19
  ## Error Handling
18
20
 
19
21
  Treat sync failures as warnings only. Do not block an already completed `git commit`.
@@ -14,6 +14,8 @@
14
14
  agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --in-labels from-diff --base {base-branch} --requirements
15
15
  ```
16
16
 
17
+ `--base`(如保留)必须与 task.md 的 `delivery_base_ref` 完全一致;core 以 task-bound base 作为唯一 diff evidence,不回退到 `main` 或仓库默认分支。`in:` target 只来自 `labels.in` 映射与仓库实际 labels 的交集,并保留其他 labels。
18
+
17
19
  ## 错误处理
18
20
 
19
21
  同步失败只记为警告,不阻塞已完成的 `git commit`。
@@ -2,8 +2,8 @@
2
2
 
3
3
  Run only when `{task-id}` is valid and task.md has a `bound/verified` `pr_delivery_fact`.
4
4
 
5
- 1. Run `agent-infra-internal platform-pr summary-context {task-id}`.
6
- 2. Generate the plain summary body per `.agents/rules/pr-sync.md` and write it to a temporary file.
7
- 3. Run `agent-infra-internal platform-pr summary-sync {task-id} --agent {standard-agent-token} --body-file {summary-body-file} --result no_op`. The commit path only synchronizes an existing PR summary and neither creates nor reuses a PR, so `no_op` explicitly represents the unchanged PR identity.
5
+ 1. Run `agent-infra-internal platform-pr summary-context {task-id}` to obtain canonical inputs and report status; rebuild a stale/missing sidecar through the `change-report` flow for the current head.
6
+ 2. Generate the plain summary body per `.agents/rules/pr-sync.md`, with exactly one `<!-- canonical-pr-change-report -->` placeholder, and write it to a temporary file.
7
+ 3. Run `agent-infra-internal platform-pr summary-sync {task-id} --agent {standard-agent-token} --body-file {summary-body-file} --change-report-file .agents/workspace/active/{task-id}/pr-change-report.json --result no_op`. The commit path only synchronizes an existing PR summary and neither creates nor reuses a PR, so `no_op` explicitly represents the unchanged PR identity.
8
8
 
9
9
  Failure records a warning but never blocks or rolls back the completed commit. `no-op` maps to `summary skipped (no diff)`.
@@ -2,8 +2,8 @@
2
2
 
3
3
  仅当 `{task-id}` 有效且 `task.md` 存在 `bound/verified` 的 `pr_delivery_fact` 时执行;否则跳过。
4
4
 
5
- 1. 调用 `agent-infra-internal platform-pr summary-context {task-id}` 获取 canonical 聚合输入。
6
- 2. 按 `.agents/rules/pr-sync.md` 生成纯摘要正文并写入临时文件。
7
- 3. 调用 `agent-infra-internal platform-pr summary-sync {task-id} --agent {standard-agent-token} --body-file {summary-body-file} --result no_op`。commit 路径只同步已有 PR 摘要,不创建或复用 PR,因此固定使用 `no_op` 表示 PR 身份未变化。
5
+ 1. 调用 `agent-infra-internal platform-pr summary-context {task-id}` 获取 canonical 聚合输入和报告状态;sidecar stale/missing 时先按 `change-report` 流程重建当前 head 报告。
6
+ 2. 按 `.agents/rules/pr-sync.md` 生成只含一次 `<!-- canonical-pr-change-report -->` 的纯摘要正文并写入临时文件。
7
+ 3. 调用 `agent-infra-internal platform-pr summary-sync {task-id} --agent {standard-agent-token} --body-file {summary-body-file} --change-report-file .agents/workspace/active/{task-id}/pr-change-report.json --result no_op`。commit 路径只同步已有 PR 摘要,不创建或复用 PR,因此固定使用 `no_op` 表示 PR 身份未变化。
8
8
 
9
9
  同步失败只记录 warning,不阻塞或回滚已经完成的 commit。`no-op` 回传 `summary skipped (no diff)`。
@@ -9,9 +9,15 @@ description: >
9
9
  # Complete Manual Validation
10
10
  > `--agent` values are defined in `.agents/rules/task-management.md` under “Collaborator Token Specification”.
11
11
 
12
+ Lifecycle events require explicit trigger data: use `{trigger-initiator}=orchestrator` for orchestration and `model` otherwise; `{request-id}` is a stable single-line identifier for this task and artifact round, and `{reason-code}` is `user-request` or `validation-rerun`. Reuse the same values for started and completed.
13
+
12
14
 
13
15
  ## Boundary / Critical Rules
14
16
 
17
+ ### Persisted Report Evidence
18
+
19
+ Before generating the validation completion report, read `.agents/rules/evidence-reporting.md`. Record commands, scope, structured results, actual conclusions, and uncovered parts for state checks and synchronization; keep the stricter basename-only and sanitized-result boundaries for manual validation.
20
+
15
21
  - This skill closes the manual-validation status in an existing PR summary comment; it does not create a parallel ordinary validation comment.
16
22
  - It must write `manual-validation.md` or `manual-validation-r{N}.md` so later PR summary refreshes can reuse the validation result.
17
23
  - If the `sync-pr` summary comment is missing, fail instead of creating a partial fallback summary.
@@ -24,7 +30,7 @@ Version stamp rule: when creating or updating `task.md` frontmatter, read `.agen
24
30
 
25
31
  After loading workflow / skill / rules instructions, and before any task-state judgment or user-visible conclusion, run the state check first. Reading instruction files does not count as an external-state action or conclusion.
26
32
 
27
- Run these commands and paste the raw output into this round's `## State Check` section:
33
+ Run these commands and record the task/artifact scope, key result, and uncovered parts in this round's `## State Check` section; do not paste complete directory listings or task tails on normal success. Retain decisive raw lines only for failures, blocking conditions, identity mismatches, or disputes:
28
34
 
29
35
  ```bash
30
36
  agent-infra-internal task-snapshot {task-id} --format text
@@ -38,7 +44,7 @@ agent-infra-internal task-snapshot {task-id} --format text
38
44
 
39
45
  ## Step Start: Write the started Marker
40
46
 
41
- After resolving the artifact context and before this round's first artifact action, run `agent-infra-internal task-event {task-id} manual-validation.started --agent {standard-agent-token}` and record the returned `artifactContext`.
47
+ After resolving the artifact context and before this round's first artifact action, run `agent-infra-internal task-event {task-id} manual-validation.started --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code}` and record the returned `artifactContext`.
42
48
 
43
49
  ## Steps
44
50
 
@@ -86,7 +92,7 @@ Before this step, read `reference/report-template.md`. Create `{manual-validatio
86
92
 
87
93
  ### 6. Update task.md
88
94
 
89
- Run `agent-infra-internal task-event {task-id} manual-validation.completed --agent {standard-agent-token} --artifact {manual-validation-artifact} --summary-result "{summary-result}"`. The core keeps `current_step` unchanged while atomically recording the implementation-notes link, metadata, and done log.
95
+ Run `agent-infra-internal task-event {task-id} manual-validation.completed --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code} --artifact {manual-validation-artifact} --summary-result "{summary-result}"`. The core keeps `current_step` unchanged while atomically recording the implementation-notes link, metadata, and done log.
90
96
 
91
97
  If the task has a valid `issue_number`, run `agent-infra-internal platform-comment sync {task-id} --kind task --agent {standard-agent-token}`, then `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {manual-validation-artifact} --agent {standard-agent-token}`.
92
98
 
@@ -109,7 +115,7 @@ Report:
109
115
  - Artifact path
110
116
  - PR summary sync result
111
117
  - Current verification output
112
- - Suggested next step: enter the final closing flow and run /complete-task {task-ref}
118
+ - Suggested next step: enter the final closing flow and run /complete-task --task {task-ref}
113
119
 
114
120
  Before rendering the final output, read `.agents/rules/next-step-output.md` and append `Completed at: YYYY-MM-DD HH:mm:ss` as the absolute last line.
115
121