@fitlab-ai/agent-infra 0.9.13 → 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 (280) hide show
  1. package/bin/cli.ts +26 -9
  2. package/dist/bin/cli.js +173 -157
  3. package/dist/bin/internal-cli.js +42 -21
  4. package/dist/lib/agent-client.js +5 -0
  5. package/dist/lib/internal/agent-client.js +5 -2
  6. package/dist/lib/internal/cli-route-inventory.js +152 -0
  7. package/dist/lib/internal/codex-lifecycle.js +9 -6
  8. package/dist/lib/internal/codex-sandbox-controller.js +8 -2
  9. package/dist/lib/internal/git-workflow.js +10 -6
  10. package/dist/lib/internal/platform-checks.js +16 -4
  11. package/dist/lib/internal/platform-comment.js +16 -4
  12. package/dist/lib/internal/platform-context.js +4 -1
  13. package/dist/lib/internal/platform-issue.js +12 -4
  14. package/dist/lib/internal/platform-metadata.js +88 -0
  15. package/dist/lib/internal/platform-pr-review.js +16 -3
  16. package/dist/lib/internal/platform-pr.js +24 -10
  17. package/dist/lib/internal/platform-release-notes.js +6 -3
  18. package/dist/lib/internal/platform-security.js +93 -0
  19. package/dist/lib/internal/pr-review-grade.js +14 -3
  20. package/dist/lib/internal/release-workflow.js +19 -5
  21. package/dist/lib/internal/sandbox-control.js +22 -5
  22. package/dist/lib/internal/task-activity.js +13 -4
  23. package/dist/lib/internal/task-artifact.js +186 -27
  24. package/dist/lib/internal/task-context.js +4 -1
  25. package/dist/lib/internal/task-create.js +48 -15
  26. package/dist/lib/internal/task-delivery.js +4 -1
  27. package/dist/lib/internal/task-event.js +4 -1
  28. package/dist/lib/internal/task-finalization.js +4 -1
  29. package/dist/lib/internal/task-invalidation.js +4 -1
  30. package/dist/lib/internal/task-ledger.js +12 -1
  31. package/dist/lib/internal/task-lifecycle.js +4 -1
  32. package/dist/lib/internal/task-operation-registry.js +421 -0
  33. package/dist/lib/internal/task-orchestration.js +12 -0
  34. package/dist/lib/internal/task-override.js +10 -3
  35. package/dist/lib/internal/task-qualification.js +90 -0
  36. package/dist/lib/internal/task-review.js +4 -1
  37. package/dist/lib/internal/task-short-id.js +11 -1
  38. package/dist/lib/internal/task-snapshot.js +4 -1
  39. package/dist/lib/internal/task-validate.js +7 -2
  40. package/dist/lib/internal/task-verify.js +5 -1
  41. package/dist/lib/internal/task-warning.js +8 -1
  42. package/dist/lib/platform/comment-safety.js +226 -0
  43. package/dist/lib/platform/github-provider.js +233 -6
  44. package/dist/lib/platform/issue-comments.js +146 -34
  45. package/dist/lib/platform/pr-change-report.js +6 -12
  46. package/dist/lib/platform/pr-summary.js +28 -7
  47. package/dist/lib/platform/provider-contract.d.ts +67 -1
  48. package/dist/lib/platform/provider-contract.js +6 -2
  49. package/dist/lib/platform/provider-validation.js +76 -3
  50. package/dist/lib/platform/pull-requests.js +115 -170
  51. package/dist/lib/platform/repository-metadata.js +377 -0
  52. package/dist/lib/platform/security-alerts.js +155 -0
  53. package/dist/lib/platform/verification-sync.js +33 -26
  54. package/dist/lib/process-data/index.js +7 -0
  55. package/dist/lib/run/index.js +5 -0
  56. package/dist/lib/sandbox/commands/control-status.js +22 -0
  57. package/dist/lib/sandbox/commands/create.js +32 -6
  58. package/dist/lib/sandbox/commands/ls.js +5 -0
  59. package/dist/lib/sandbox/commands/rm.js +827 -120
  60. package/dist/lib/sandbox/commands/show.js +16 -0
  61. package/dist/lib/sandbox/control/client.js +83 -9
  62. package/dist/lib/sandbox/control/completed-reentry.js +85 -0
  63. package/dist/lib/sandbox/control/container-identity.js +28 -31
  64. package/dist/lib/sandbox/control/executor.js +149 -14
  65. package/dist/lib/sandbox/control/lifecycle.js +621 -127
  66. package/dist/lib/sandbox/control/native-file-lock.js +177 -0
  67. package/dist/lib/sandbox/control/server.js +305 -35
  68. package/dist/lib/sandbox/control/state.js +5 -3
  69. package/dist/lib/sandbox/control/task-view.js +183 -0
  70. package/dist/lib/sandbox/engines/authority.js +289 -0
  71. package/dist/lib/sandbox/engines/docker-exact-discovery.js +97 -0
  72. package/dist/lib/sandbox/index.js +5 -0
  73. package/dist/lib/sandbox/recovery.js +21 -1
  74. package/dist/lib/sandbox/workspace-view.js +2 -1
  75. package/dist/lib/sandbox/worktree-safety.js +4 -1
  76. package/dist/lib/server/index.js +8 -0
  77. package/dist/lib/task/artifact-lifecycle.js +42 -13
  78. package/dist/lib/task/artifact-operations.js +520 -0
  79. package/dist/lib/task/artifact-repair-intent.js +59 -0
  80. package/dist/lib/task/artifact-schema.js +135 -0
  81. package/dist/lib/task/capabilities.js +72 -1
  82. package/dist/lib/task/control-authority.js +4 -0
  83. package/dist/lib/task/create-service.js +103 -4
  84. package/dist/lib/task/create.js +25 -0
  85. package/dist/lib/task/events.js +186 -67
  86. package/dist/lib/task/index.js +11 -3
  87. package/dist/lib/task/local-artifact-finalization.js +75 -150
  88. package/dist/lib/task/orchestration.js +192 -52
  89. package/dist/lib/task/qualification-audit.js +490 -0
  90. package/dist/lib/task/qualification-confirmation.js +109 -0
  91. package/dist/lib/task/qualification-intents.js +148 -0
  92. package/dist/lib/task/review-artifacts.js +22 -23
  93. package/dist/lib/task/review-finalization.js +121 -4
  94. package/dist/lib/task/sections.js +6 -4
  95. package/dist/lib/task/verification-config.js +11 -0
  96. package/dist/lib/task/verification-engine.js +54 -4
  97. package/dist/lifecycle-build-manifest.json +3 -3
  98. package/lib/agent-client.ts +9 -0
  99. package/lib/internal/agent-client.ts +4 -2
  100. package/lib/internal/cli-route-inventory.ts +140 -0
  101. package/lib/internal/codex-lifecycle.ts +8 -6
  102. package/lib/internal/codex-sandbox-controller.ts +7 -2
  103. package/lib/internal/git-workflow.ts +9 -6
  104. package/lib/internal/platform-checks.ts +12 -4
  105. package/lib/internal/platform-comment.ts +12 -4
  106. package/lib/internal/platform-context.ts +3 -1
  107. package/lib/internal/platform-issue.ts +11 -4
  108. package/lib/internal/platform-metadata.ts +70 -0
  109. package/lib/internal/platform-pr-review.ts +14 -3
  110. package/lib/internal/platform-pr.ts +23 -10
  111. package/lib/internal/platform-release-notes.ts +5 -3
  112. package/lib/internal/platform-security.ts +83 -0
  113. package/lib/internal/pr-review-grade.ts +10 -3
  114. package/lib/internal/release-workflow.ts +17 -5
  115. package/lib/internal/sandbox-control.ts +19 -5
  116. package/lib/internal/task-activity.ts +12 -4
  117. package/lib/internal/task-artifact.ts +164 -25
  118. package/lib/internal/task-context.ts +3 -1
  119. package/lib/internal/task-create.ts +76 -15
  120. package/lib/internal/task-delivery.ts +3 -1
  121. package/lib/internal/task-event.ts +3 -1
  122. package/lib/internal/task-finalization.ts +3 -1
  123. package/lib/internal/task-invalidation.ts +3 -1
  124. package/lib/internal/task-ledger.ts +11 -1
  125. package/lib/internal/task-lifecycle.ts +3 -1
  126. package/lib/internal/task-operation-registry.ts +482 -0
  127. package/lib/internal/task-orchestration.ts +12 -0
  128. package/lib/internal/task-override.ts +9 -3
  129. package/lib/internal/task-qualification.ts +61 -0
  130. package/lib/internal/task-review.ts +3 -1
  131. package/lib/internal/task-short-id.ts +10 -1
  132. package/lib/internal/task-snapshot.ts +3 -1
  133. package/lib/internal/task-validate.ts +6 -2
  134. package/lib/internal/task-verify.ts +4 -1
  135. package/lib/internal/task-warning.ts +7 -1
  136. package/lib/platform/comment-safety.ts +250 -0
  137. package/lib/platform/github-provider.ts +229 -7
  138. package/lib/platform/issue-comments.ts +160 -35
  139. package/lib/platform/pr-change-report.ts +6 -12
  140. package/lib/platform/pr-summary.ts +27 -6
  141. package/lib/platform/provider-contract.ts +78 -3
  142. package/lib/platform/provider-validation.ts +85 -3
  143. package/lib/platform/pull-requests.ts +126 -178
  144. package/lib/platform/repository-metadata.ts +453 -0
  145. package/lib/platform/security-alerts.ts +191 -0
  146. package/lib/platform/verification-sync.ts +32 -28
  147. package/lib/process-data/index.ts +7 -0
  148. package/lib/run/index.ts +5 -0
  149. package/lib/sandbox/commands/control-status.ts +26 -0
  150. package/lib/sandbox/commands/create.ts +46 -6
  151. package/lib/sandbox/commands/ls.ts +7 -0
  152. package/lib/sandbox/commands/rm.ts +1000 -87
  153. package/lib/sandbox/commands/show.ts +16 -0
  154. package/lib/sandbox/control/client.ts +103 -9
  155. package/lib/sandbox/control/completed-reentry.ts +98 -0
  156. package/lib/sandbox/control/container-identity.ts +27 -43
  157. package/lib/sandbox/control/executor.ts +177 -12
  158. package/lib/sandbox/control/lifecycle.ts +629 -17
  159. package/lib/sandbox/control/native-file-lock.ts +209 -0
  160. package/lib/sandbox/control/protocol.ts +5 -2
  161. package/lib/sandbox/control/server.ts +319 -37
  162. package/lib/sandbox/control/state.ts +6 -3
  163. package/lib/sandbox/control/task-view.ts +240 -0
  164. package/lib/sandbox/engines/authority.ts +365 -0
  165. package/lib/sandbox/engines/docker-exact-discovery.ts +132 -0
  166. package/lib/sandbox/index.ts +7 -0
  167. package/lib/sandbox/recovery.ts +21 -1
  168. package/lib/sandbox/workspace-view.ts +9 -3
  169. package/lib/sandbox/worktree-safety.ts +4 -1
  170. package/lib/server/index.ts +10 -0
  171. package/lib/task/artifact-lifecycle.ts +38 -16
  172. package/lib/task/artifact-operations.ts +626 -0
  173. package/lib/task/artifact-repair-intent.ts +71 -0
  174. package/lib/task/artifact-schema.ts +192 -0
  175. package/lib/task/capabilities.ts +70 -1
  176. package/lib/task/control-authority.ts +11 -1
  177. package/lib/task/create-service.ts +131 -6
  178. package/lib/task/create.ts +27 -0
  179. package/lib/task/events.ts +161 -65
  180. package/lib/task/index.ts +16 -3
  181. package/lib/task/local-artifact-finalization.ts +87 -218
  182. package/lib/task/orchestration.ts +172 -49
  183. package/lib/task/qualification-audit.ts +599 -0
  184. package/lib/task/qualification-confirmation.ts +117 -0
  185. package/lib/task/qualification-intents.ts +150 -0
  186. package/lib/task/review-artifacts.ts +21 -22
  187. package/lib/task/review-finalization.ts +133 -4
  188. package/lib/task/sections.ts +6 -4
  189. package/lib/task/verification-config.ts +12 -0
  190. package/lib/task/verification-engine.ts +55 -4
  191. package/package.json +6 -1
  192. package/templates/.agents/rules/README.en.md +2 -0
  193. package/templates/.agents/rules/README.zh-CN.md +2 -0
  194. package/templates/.agents/rules/decision-qualification.en.md +22 -0
  195. package/templates/.agents/rules/decision-qualification.zh-CN.md +22 -0
  196. package/templates/.agents/rules/evidence-reporting.en.md +28 -0
  197. package/templates/.agents/rules/evidence-reporting.zh-CN.md +28 -0
  198. package/templates/.agents/rules/label-milestone-setup.en.md +7 -7
  199. package/templates/.agents/rules/label-milestone-setup.zh-CN.md +7 -7
  200. package/templates/.agents/rules/local-artifact-repair.en.md +5 -1
  201. package/templates/.agents/rules/local-artifact-repair.zh-CN.md +5 -1
  202. package/templates/.agents/rules/security-alerts.en.md +8 -8
  203. package/templates/.agents/rules/security-alerts.zh-CN.md +8 -8
  204. package/templates/.agents/skills/analyze-task/SKILL.en.md +15 -2
  205. package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +19 -2
  206. package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -12
  207. package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -12
  208. package/templates/.agents/skills/close-codescan/SKILL.en.md +2 -2
  209. package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +2 -2
  210. package/templates/.agents/skills/close-dependabot/SKILL.en.md +2 -2
  211. package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +2 -2
  212. package/templates/.agents/skills/code-task/SKILL.en.md +14 -1
  213. package/templates/.agents/skills/code-task/SKILL.zh-CN.md +14 -1
  214. package/templates/.agents/skills/code-task/config/verify.en.json +5 -14
  215. package/templates/.agents/skills/code-task/config/verify.zh-CN.json +5 -14
  216. package/templates/.agents/skills/code-task/reference/code-rules.en.md +5 -4
  217. package/templates/.agents/skills/code-task/reference/code-rules.zh-CN.md +5 -4
  218. package/templates/.agents/skills/code-task/reference/dual-mode.en.md +1 -1
  219. package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +1 -1
  220. package/templates/.agents/skills/code-task/reference/fix-mode.en.md +3 -1
  221. package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +3 -1
  222. package/templates/.agents/skills/code-task/reference/report-template.en.md +42 -15
  223. package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +39 -12
  224. package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +5 -1
  225. package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +5 -1
  226. package/templates/.agents/skills/complete-manual-validation/reference/report-template.en.md +2 -0
  227. package/templates/.agents/skills/complete-manual-validation/reference/report-template.zh-CN.md +2 -0
  228. package/templates/.agents/skills/complete-task/SKILL.en.md +9 -22
  229. package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +9 -22
  230. package/templates/.agents/skills/create-task/SKILL.en.md +8 -0
  231. package/templates/.agents/skills/create-task/SKILL.zh-CN.md +7 -0
  232. package/templates/.agents/skills/import-codescan/SKILL.en.md +1 -1
  233. package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +1 -1
  234. package/templates/.agents/skills/import-dependabot/SKILL.en.md +1 -1
  235. package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +1 -1
  236. package/templates/.agents/skills/init-labels/SKILL.en.md +8 -8
  237. package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +8 -8
  238. package/templates/.agents/skills/init-milestones/SKILL.en.md +9 -11
  239. package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +9 -11
  240. package/templates/.agents/skills/plan-task/SKILL.en.md +14 -1
  241. package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +16 -1
  242. package/templates/.agents/skills/plan-task/config/verify.en.json +4 -14
  243. package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +4 -14
  244. package/templates/.agents/skills/review-analysis/SKILL.en.md +14 -1
  245. package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +14 -1
  246. package/templates/.agents/skills/review-analysis/config/verify.en.json +1 -18
  247. package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +1 -18
  248. package/templates/.agents/skills/review-analysis/reference/report-template.en.md +50 -23
  249. package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +45 -18
  250. package/templates/.agents/skills/review-code/SKILL.en.md +14 -1
  251. package/templates/.agents/skills/review-code/SKILL.zh-CN.md +14 -1
  252. package/templates/.agents/skills/review-code/config/verify.en.json +1 -23
  253. package/templates/.agents/skills/review-code/config/verify.zh-CN.json +1 -23
  254. package/templates/.agents/skills/review-code/reference/report-template.en.md +49 -22
  255. package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +45 -18
  256. package/templates/.agents/skills/review-plan/SKILL.en.md +14 -1
  257. package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +14 -1
  258. package/templates/.agents/skills/review-plan/config/verify.en.json +1 -18
  259. package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +1 -18
  260. package/templates/.agents/skills/review-plan/reference/report-template.en.md +49 -22
  261. package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +45 -18
  262. package/templates/.agents/skills/review-pr/SKILL.en.md +5 -1
  263. package/templates/.agents/skills/review-pr/SKILL.zh-CN.md +5 -1
  264. package/templates/.agents/skills/review-pr/reference/report-template.en.md +4 -3
  265. package/templates/.agents/skills/review-pr/reference/report-template.zh-CN.md +4 -3
  266. package/templates/.agents/skills/run-manual-validation/SKILL.en.md +5 -1
  267. package/templates/.agents/skills/run-manual-validation/SKILL.zh-CN.md +5 -1
  268. package/templates/.agents/skills/run-manual-validation/reference/report-template.en.md +3 -1
  269. package/templates/.agents/skills/run-manual-validation/reference/report-template.zh-CN.md +3 -1
  270. package/templates/.agents/skills/test/SKILL.en.md +13 -2
  271. package/templates/.agents/skills/test/SKILL.zh-CN.md +13 -2
  272. package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +14 -0
  273. package/templates/.agents/templates/task.en.md +6 -0
  274. package/templates/.agents/templates/task.zh-CN.md +6 -0
  275. package/templates/.agents/scripts/security-alerts.github.sh +0 -151
  276. package/templates/.agents/scripts/security-alerts.sh +0 -31
  277. package/templates/.agents/skills/init-labels/scripts/init-labels.github.sh +0 -146
  278. package/templates/.agents/skills/init-labels/scripts/init-labels.sh +0 -32
  279. package/templates/.agents/skills/init-milestones/scripts/init-milestones.github.sh +0 -294
  280. package/templates/.agents/skills/init-milestones/scripts/init-milestones.sh +0 -6
@@ -23,7 +23,7 @@ The skill still owns the security-alert API. When a related task exists, Step 7
23
23
 
24
24
  ### 1. Retrieve Alert Information
25
25
 
26
- Read `.agents/rules/security-alerts.md` before this step, then run `bash .agents/scripts/security-alerts.sh read-dependabot --number {alert-number}` and parse its JSON result to fetch the alert details.
26
+ Read `.agents/rules/security-alerts.md` before this step, then run `agent-infra-internal platform-security read --kind dependabot --number {alert-number}` and parse its JSON result to fetch the alert details.
27
27
 
28
28
  Verify that the alert is in the `open` state. If it is already dismissed or fixed, inform the user and exit.
29
29
 
@@ -77,7 +77,7 @@ Confirm? (y/N)
77
77
 
78
78
  ### 6. Execute the Dismissal
79
79
 
80
- Write the user's explanation to `{comment-file}`, then run `bash .agents/scripts/security-alerts.sh dismiss-dependabot --number {alert-number} --reason {api-reason} --comment-file {comment-file}`. Parse the JSON result and continue only when the dismissal is `applied` or `no-op`.
80
+ Write the user's explanation to `{comment-file}`, then run `agent-infra-internal platform-security dismiss --kind dependabot --number {alert-number} --reason {api-reason} --comment-file {comment-file}`. Parse the JSON result and continue only when the dismissal is `applied` or `no-op`.
81
81
 
82
82
  **API reason mapping**:
83
83
  - False Positive -> `not_used` or `inaccurate`
@@ -23,7 +23,7 @@ description: >
23
23
 
24
24
  ### 1. 获取告警信息
25
25
 
26
- 执行前先读取 `.agents/rules/security-alerts.md`,然后运行 `bash .agents/scripts/security-alerts.sh read-dependabot --number {alert-number}`,解析其 JSON 结果获取告警详情。
26
+ 执行前先读取 `.agents/rules/security-alerts.md`,然后运行 `agent-infra-internal platform-security read --kind dependabot --number {alert-number}`,解析其 JSON 结果获取告警详情。
27
27
 
28
28
  验证告警处于 `open` 状态。如果已被关闭/修复,告知用户并退出。
29
29
 
@@ -77,7 +77,7 @@ CVE:{cve-id}
77
77
 
78
78
  ### 6. 执行关闭
79
79
 
80
- 将用户说明写入 `{comment-file}`,然后运行 `bash .agents/scripts/security-alerts.sh dismiss-dependabot --number {alert-number} --reason {api-reason} --comment-file {comment-file}`。解析 JSON 结果,仅当关闭状态为 `applied` 或 `no-op` 时继续。
80
+ 将用户说明写入 `{comment-file}`,然后运行 `agent-infra-internal platform-security dismiss --kind dependabot --number {alert-number} --reason {api-reason} --comment-file {comment-file}`。解析 JSON 结果,仅当关闭状态为 `applied` 或 `no-op` 时继续。
81
81
 
82
82
  **API reason 映射**:
83
83
  - 误报 -> `not_used` 或 `inaccurate`
@@ -15,6 +15,11 @@ Implement the approved plan and produce `code.md` or `code-r{N}.md`. This skill
15
15
 
16
16
  ## Boundary / Critical Rules
17
17
 
18
+ ### Persisted Report Evidence
19
+
20
+ Before generating the implementation report, read `.agents/rules/evidence-reporting.md`. Successful tests record the command, target scope, status or structured result, actual result, and uncovered parts; failures, blocking conditions, or disputes retain a reproducible entry point, exact location, and decisive excerpt instead of complete successful stdout.
21
+
22
+ - When evaluating candidate qualification or `HD-N`, read `.agents/rules/decision-qualification.md`, audit normalized task constraints/candidates, and record the five qualification-audit tables in the implementation report; unknown or unconfirmed constraints must not automatically exclude a candidate
18
23
  - Follow the latest plan artifact: `plan.md` or `plan-r{N}.md`
19
24
  - Before generating task or lifecycle Markdown that will be synchronized to an Issue, read `.agents/rules/sync-content-generation.md` and apply its producer-side constraints; the sync path does not parse or rewrite the body
20
25
  - Read `.agents/rules/compatibility-policy.md` before implementation. Implement only the compatibility budget explicitly approved by the plan; never retain old branches, result contracts, or migration shims merely to be “safe”
@@ -31,7 +36,7 @@ Version stamp rule: when creating or updating `task.md` frontmatter, read `.agen
31
36
 
32
37
  After loading workflow / skill / rules instructions, and before any task-state judgment or user-visible conclusion, run the state check first.
33
38
 
34
- Run these commands and paste the raw output into this round's `## State Check` section:
39
+ 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:
35
40
 
36
41
  ```bash
37
42
  agent-infra-internal task-snapshot {task-id} --format text
@@ -111,6 +116,14 @@ After the checkpoint succeeds, when task.md has an `issue_number`, run `agent-in
111
116
 
112
117
  ### 9. Write the Code Report
113
118
 
119
+ Before writing this round's `{code-artifact}`, create the controlled report skeleton:
120
+
121
+ ```bash
122
+ agent-infra-internal task-artifact {task-id} init --family code --artifact {code-artifact} --locale en
123
+ ```
124
+
125
+ The skeleton contains identity metadata, stable section markers, and required headings only; real implementation and verification content is required before the completion gate can pass. If the finalizer returns one provably safe structural error, call `task-artifact {task-id} repair --family code --artifact {code-artifact} --expected-sha256 {artifact-sha256} --expected-semantic-digest {semantic-digest}`, then rerun the same finalizer.
126
+
114
127
  Create `.agents/workspace/active/{task-id}/{code-artifact}`.
115
128
 
116
129
  > Read `reference/report-template.md` before writing the report.
@@ -15,6 +15,11 @@ description: >
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
@@ -44,7 +49,7 @@ description: >
44
49
 
45
50
  在加载 workflow / skill / rules 指令之后、做任何任务状态判断或用户可见结论之前,必须先执行状态核对。指令类文件读取不算对外动作或结论。
46
51
 
47
- 运行以下命令,并把原文粘贴到本轮产物的 `## 状态核对` 段:
52
+ 运行以下命令,并在本轮产物的 `## 状态核对` 段记录任务/产物范围、关键结果和未覆盖部分;正常成功不粘贴完整目录清单或 `task.md` 尾部。失败、阻塞、身份不一致或争议时,附决定性原文行:
48
53
 
49
54
  ```bash
50
55
  agent-infra-internal task-snapshot {task-id} --format text
@@ -151,6 +156,14 @@ checkpoint 成功后,若任务存在 `issue_number`,调用 `agent-infra-inte
151
156
 
152
157
  ### 9. 编写实现报告
153
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
+
154
167
  创建 `.agents/workspace/active/{task-id}/{code-artifact}`。
155
168
 
156
169
  > 报告结构、必填章节和完整模板见 `reference/report-template.md`。写报告前先读取 `reference/report-template.md`。
@@ -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",
@@ -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",
@@ -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,10 @@ Lifecycle events require explicit trigger data: use `{trigger-initiator}=orchest
14
14
 
15
15
  ## Boundary / Critical Rules
16
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
+
17
21
  - This skill closes the manual-validation status in an existing PR summary comment; it does not create a parallel ordinary validation comment.
18
22
  - It must write `manual-validation.md` or `manual-validation-r{N}.md` so later PR summary refreshes can reuse the validation result.
19
23
  - If the `sync-pr` summary comment is missing, fail instead of creating a partial fallback summary.
@@ -26,7 +30,7 @@ Version stamp rule: when creating or updating `task.md` frontmatter, read `.agen
26
30
 
27
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.
28
32
 
29
- 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:
30
34
 
31
35
  ```bash
32
36
  agent-infra-internal task-snapshot {task-id} --format text
@@ -14,6 +14,10 @@ description: >
14
14
 
15
15
  ## 行为边界 / 关键规则
16
16
 
17
+ ### 持久化报告证据
18
+
19
+ 生成验证完成报告时,先读取 `.agents/rules/evidence-reporting.md`。状态核对和同步结果记录命令、范围、结构化结果、实际结论和未覆盖部分;继续遵守人工验证的 basename-only 与 sanitized result 脱敏边界。
20
+
17
21
  - 本技能用于收尾已有 PR 摘要评论中的人工校验状态,不创建并行的普通验证留言。
18
22
  - 必须写入 `manual-validation.md` 或 `manual-validation-r{N}.md`,让后续 PR 摘要刷新可复用人工验证结果。
19
23
  - 找不到 `sync-pr` 摘要评论时失败,不创建部分摘要兜底。
@@ -26,7 +30,7 @@ description: >
26
30
 
27
31
  在加载 workflow / skill / rules 指令之后、做任何任务状态判断或用户可见结论之前,必须先执行状态核对。指令类文件读取不算对外动作或结论。
28
32
 
29
- 运行以下命令,并把原文粘贴到本轮产物的 `## 状态核对` 段:
33
+ 运行以下命令,并在本轮产物的 `## 状态核对` 段记录任务/产物范围、关键结果和未覆盖部分;正常成功不粘贴完整目录清单或 `task.md` 尾部。失败、阻塞、身份不一致或争议时,附决定性原文行:
30
34
 
31
35
  ```bash
32
36
  agent-infra-internal task-snapshot {task-id} --format text
@@ -15,6 +15,7 @@ $ git status -s
15
15
  $ ls -la .agents/workspace/active/{task-id}/
16
16
  $ tail .agents/workspace/active/{task-id}/task.md
17
17
  ```
18
+ > Follow `.agents/rules/evidence-reporting.md`: record task scope, key result, and uncovered parts; do not paste the complete directory listing or task tail for normal success.
18
19
 
19
20
  ## Validation Verdict
20
21
 
@@ -46,3 +47,4 @@ $ tail .agents/workspace/active/{task-id}/task.md
46
47
  - Derive `Validation Scope` from the PR summary's manual-verification section.
47
48
  - `PR Summary Sync` must record success, skip, or failure.
48
49
  - Only write a passing artifact after the summary comment is updated or skipped because there is no diff.
50
+ - Successful synchronization records the command, scope, structured result, and actual conclusion; failures, blocking conditions, or disputes retain decisive excerpts and manual-validation redaction boundaries.
@@ -15,6 +15,7 @@ $ git status -s
15
15
  $ ls -la .agents/workspace/active/{task-id}/
16
16
  $ tail .agents/workspace/active/{task-id}/task.md
17
17
  ```
18
+ > 按 `.agents/rules/evidence-reporting.md` 记录任务范围、关键结果和未覆盖部分;正常成功不粘贴完整目录清单或 task tail。
18
19
 
19
20
  ## 验证结论
20
21
 
@@ -46,3 +47,4 @@ $ tail .agents/workspace/active/{task-id}/task.md
46
47
  - `验证范围` 来自 PR 摘要评论中的 `### ⚠️ 需人工校验` 段。
47
48
  - `PR 摘要同步` 必须记录成功、跳过或失败结果。
48
49
  - 只有在摘要评论已成功更新或无 diff 跳过时,才写入通过产物。
50
+ - 成功同步记录命令、范围、结构化结果和实际结论;失败、阻塞或争议保留决定性摘录,并继续遵守人工验证脱敏边界。
@@ -14,6 +14,10 @@ Host finalization uses receipt v2 with an immutable `receiptId`, monotonic `revi
14
14
 
15
15
  ## Boundary / Critical Rules
16
16
 
17
+ ### Persisted Report Evidence
18
+
19
+ Before generating a completion report or synchronized content, read `.agents/rules/evidence-reporting.md`. Successful checks record the command, scope, status or structured result, actual result, and uncovered parts; failures, blocking conditions, or disputes retain a reproducible entry point, exact location, and decisive excerpt.
20
+
17
21
  - This command updates task metadata AND physically moves the task directory
18
22
  - Do not move a task that has incomplete workflow steps unless forced
19
23
  - The entry point accepts optional `--external-pr <N>` only to select among ambiguous external-delivery candidates; it never bypasses identity or platform gates
@@ -24,7 +28,7 @@ Version stamp rule: when creating or updating `task.md` frontmatter, read `.agen
24
28
 
25
29
  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
30
 
27
- Run these commands and paste the raw output into this round's `## State Check` section:
31
+ 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
32
 
29
33
  ```bash
30
34
  agent-infra-internal task-snapshot {task-id} --format text
@@ -123,7 +127,7 @@ If a hard gate is not met, stop immediately and do not execute Steps 3-8.
123
127
  ### 3. Complete Business-Only Content
124
128
 
125
129
  Update only content that the lifecycle core does not own:
126
- - Add or update the `## State Check` section with the raw Step 0 audit command output, including `$ ` prompt lines, before `## Activity Log`
130
+ - Add or update the `## State Check` section with the Step 0 audit command, task/artifact scope, key result, and uncovered parts; for normal success, do not copy the full directory listing or `task.md` tail, and include decisive raw lines only for failures, blocking, identity mismatches, or disputes, before `## Activity Log`
127
131
  - Mark all workflow steps as complete
128
132
  - Verify and check off all items in `## Completion Checklist` (change `- [ ]` to `- [x]`)
129
133
 
@@ -167,36 +171,19 @@ If a summary must mirror a human-decided `post-review-commit` exemption, make a
167
171
 
168
172
  `--force` cannot lift identity, concurrency, local atomicity, or required-PR hard gates; failures there must stop. Other review, manual-validation, and platform evidence is recorded by terminal verification as warning/pending and can be repaired by retrying.
169
173
 
170
- ### 6. Run the Host Finalization Entry Point and Verify the Terminal State
174
+ ### 6. Run the Host Finalization Entry Point
171
175
 
172
176
  ```bash
173
177
  agent-infra-internal task-finalization {task-id} complete --agent {standard-agent-token}
174
178
  ```
175
179
 
176
- Finalization runs lifecycle -> the terminal task comment -> the `complete-task.completed` gate in a fixed order and records each step in the host receipt. `result=completed` means lifecycle completed safely; if peripheral warnings remain, return `result=completed_with_warnings`, warnings, and pending steps. Use `result=failed` or `result=blocked` only for hard or receipt/capability failures, then fix the cause and retry through the same entry point; do not claim completion or hand-repair partial state.
177
-
178
- ```bash
179
- ls .agents/workspace/completed/{task-id}/task.md
180
- ```
181
-
182
- Check the task directory only after finalization returns `status=completed`.
180
+ Finalization runs lifecycle -> the terminal task comment -> the `complete-task.completed` gate in a fixed order and records each step in the host receipt. `result=completed` means the host safely completed the task from structured results and the receipt; if peripheral warnings remain, return `result=completed_with_warnings`, warnings, and pending steps. Use `result=failed` or `result=blocked` only for hard or receipt/capability failures, then fix the cause and retry through the same entry point; do not claim completion or hand-repair partial state. A sandbox must not run `ls completed` or a local terminal verification against its historical mount to re-decide this result.
183
181
 
184
182
  ### 7. Handle Finalization Retries and Results
185
183
 
186
184
  Both Scenario A and Scenario B `finalization-retry` run the same `task-finalization` entry point from the host. The receipt is only a re-entry hint, not canonical truth: every re-entry revalidates the terminal task comment and completion gate; only an already `completed` task with its short-id registry entry released may skip the irreversible lifecycle. Do not split the operation into the former lifecycle, comment-sync, or completion-gate commands. If the task comment or gate is blocked by the network, preserve the receipt and completed steps, fix the network, and rerun complete-task. If lifecycle has not completed, keep the task active and resume the pending steps from the receipt.
187
185
 
188
- The result must include the structured output from this finalization run, confirming that the task artifact and sync state are valid:
189
-
190
- ```bash
191
- agent-infra-internal task-verify {task-id} complete-task.completed --format text
192
- ```
193
-
194
- Handle the result as follows:
195
- - `status=completed` / exit code 0 (all checks passed) -> continue to the "Inform User" step
196
- - `status=failed` / exit code 1 -> fix the reported issues and run finalization again
197
- - `status=blocked` / exit code 2 -> preserve the receipt and completed steps and stop; rerun complete-task later to enter `finalization-retry`
198
-
199
- Keep the gate output in your reply as fresh evidence. Do not claim completion without output from this run.
186
+ Consume the structured finalization result, receipt, and warning projection directly. Continue only for `completed` or `completed_with_warnings`; preserve the receipt and stop for `failed`, `blocked`, or `unknown`, then retry through the same finalization entry point. Do not run `ls completed` or `task-verify complete-task.completed` from a stale sandbox mount, and do not let that local result overrule the host result.
200
187
 
201
188
  ### Accepted sandbox-control result recovery
202
189