@fitlab-ai/agent-infra 0.8.5 → 0.9.1

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 (467) hide show
  1. package/README.md +6 -1
  2. package/README.zh-CN.md +5 -1
  3. package/bin/cli.ts +2 -2
  4. package/dist/bin/cli.js +2 -2
  5. package/dist/bin/internal-cli.js +103 -0
  6. package/dist/lib/decide.js +81 -90
  7. package/dist/lib/defaults.json +1 -0
  8. package/dist/lib/git/review-snapshot.js +79 -0
  9. package/dist/lib/git/workflow.js +101 -0
  10. package/dist/lib/internal/git-workflow.js +42 -0
  11. package/dist/lib/internal/platform-checks.js +119 -0
  12. package/dist/lib/internal/platform-comment.js +129 -0
  13. package/dist/lib/internal/platform-context.js +46 -0
  14. package/dist/lib/internal/platform-issue.js +142 -0
  15. package/dist/lib/internal/platform-pr.js +146 -0
  16. package/dist/lib/internal/platform-release-notes.js +53 -0
  17. package/dist/lib/internal/release-workflow.js +320 -0
  18. package/dist/lib/internal/task-artifact.js +67 -0
  19. package/dist/lib/internal/task-context.js +43 -0
  20. package/dist/lib/internal/task-event.js +70 -0
  21. package/dist/lib/internal/task-ledger.js +114 -0
  22. package/dist/lib/internal/task-lifecycle.js +58 -0
  23. package/dist/lib/internal/task-short-id.js +83 -0
  24. package/dist/lib/internal/task-snapshot.js +47 -0
  25. package/dist/lib/internal/task-verify.js +50 -0
  26. package/dist/lib/internal/task-warning.js +74 -0
  27. package/dist/lib/platform/adapters.js +14 -0
  28. package/dist/lib/platform/context.js +146 -0
  29. package/dist/lib/platform/github-client.js +124 -0
  30. package/dist/lib/platform/github-release-notes.js +96 -0
  31. package/dist/lib/platform/issue-comments.js +409 -0
  32. package/dist/lib/platform/issue-metadata.js +183 -0
  33. package/dist/lib/platform/issues.js +619 -0
  34. package/dist/lib/platform/merged-pr-equivalence.js +54 -0
  35. package/dist/lib/platform/metadata-labels.js +28 -0
  36. package/dist/lib/platform/pr-checks.js +216 -0
  37. package/dist/lib/platform/pr-summary.js +88 -0
  38. package/dist/lib/platform/pull-request-metadata.js +38 -0
  39. package/dist/lib/platform/pull-requests.js +340 -0
  40. package/dist/lib/platform/release-notes.js +143 -0
  41. package/dist/lib/platform/releases.js +82 -0
  42. package/dist/lib/platform/types.js +22 -0
  43. package/dist/lib/platform/verification-required.js +102 -0
  44. package/dist/lib/platform/verification-sync.js +1014 -0
  45. package/dist/lib/platform/verification.js +6 -0
  46. package/dist/lib/release/channels.js +31 -0
  47. package/dist/lib/release/workflow.js +32 -0
  48. package/dist/lib/render.js +3 -2
  49. package/dist/lib/run/index.js +24 -7
  50. package/dist/lib/sandbox/build-proxy.js +63 -0
  51. package/dist/lib/sandbox/capture.js +25 -3
  52. package/dist/lib/sandbox/commands/create.js +93 -31
  53. package/dist/lib/sandbox/commands/enter.js +34 -11
  54. package/dist/lib/sandbox/commands/list-running.js +10 -8
  55. package/dist/lib/sandbox/commands/rebuild.js +24 -7
  56. package/dist/lib/sandbox/commands/show.js +2 -2
  57. package/dist/lib/sandbox/commands/start.js +53 -15
  58. package/dist/lib/sandbox/image-build.js +2 -1
  59. package/dist/lib/sandbox/index.js +6 -6
  60. package/dist/lib/sandbox/mounts.js +36 -0
  61. package/dist/lib/sandbox/recovery.js +562 -0
  62. package/dist/lib/sandbox/runtimes/ai-tools.dockerfile +24 -3
  63. package/dist/lib/sandbox/runtimes/base.dockerfile +8 -1
  64. package/dist/lib/sandbox/runtimes/java17.dockerfile +8 -1
  65. package/dist/lib/sandbox/runtimes/java21.dockerfile +8 -1
  66. package/dist/lib/sandbox/runtimes/node20.dockerfile +8 -1
  67. package/dist/lib/sandbox/runtimes/node22.dockerfile +8 -1
  68. package/dist/lib/sandbox/runtimes/python3.dockerfile +8 -1
  69. package/dist/lib/sandbox/shell.js +2 -1
  70. package/dist/lib/sandbox/task-resolver.js +5 -1
  71. package/dist/lib/sandbox/tools.js +19 -0
  72. package/dist/lib/server/protocol.js +5 -5
  73. package/dist/lib/task/activity-log.js +61 -0
  74. package/dist/lib/task/artifact-lifecycle.js +427 -0
  75. package/dist/lib/task/command-options.js +30 -0
  76. package/dist/lib/task/commands/cat.js +36 -6
  77. package/dist/lib/task/commands/decisions.js +80 -46
  78. package/dist/lib/task/commands/files.js +21 -7
  79. package/dist/lib/task/commands/grep.js +55 -7
  80. package/dist/lib/task/commands/issue-body.js +33 -19
  81. package/dist/lib/task/commands/log.js +27 -70
  82. package/dist/lib/task/commands/show.js +20 -7
  83. package/dist/lib/task/commands/status.js +18 -8
  84. package/dist/lib/task/decision-intents.js +154 -0
  85. package/dist/lib/task/decision-items.js +53 -0
  86. package/dist/lib/task/events.js +318 -0
  87. package/dist/lib/task/frontmatter.js +159 -1
  88. package/dist/lib/task/implementation-inputs.js +117 -0
  89. package/dist/lib/task/index.js +12 -9
  90. package/dist/lib/task/issue-form.js +21 -6
  91. package/dist/lib/task/ledger-intents.js +185 -0
  92. package/dist/lib/task/ledger.js +65 -35
  93. package/dist/lib/task/lifecycle.js +484 -0
  94. package/dist/lib/task/resolve-ref.js +152 -32
  95. package/dist/lib/task/review-artifacts.js +101 -0
  96. package/dist/lib/task/review-fingerprint.js +55 -0
  97. package/dist/lib/task/sections.js +358 -4
  98. package/dist/lib/task/short-id.js +292 -7
  99. package/dist/lib/task/snapshot.js +95 -0
  100. package/dist/lib/task/verification-checks.js +8 -0
  101. package/dist/lib/task/verification-config.js +14 -0
  102. package/dist/lib/task/verification-engine.js +923 -0
  103. package/dist/lib/task/verification-review.js +3 -0
  104. package/dist/lib/task/verification-types.js +2 -0
  105. package/dist/lib/task/verification.js +113 -0
  106. package/dist/lib/task/workflow-warning-intents.js +131 -0
  107. package/dist/lib/task/workflow-warnings.js +10 -78
  108. package/dist/lib/task/write.js +241 -0
  109. package/lib/decide.ts +57 -97
  110. package/lib/defaults.json +1 -0
  111. package/lib/git/review-snapshot.ts +73 -0
  112. package/lib/git/workflow.ts +101 -0
  113. package/lib/internal/git-workflow.ts +37 -0
  114. package/lib/internal/platform-checks.ts +101 -0
  115. package/lib/internal/platform-comment.ts +99 -0
  116. package/lib/internal/platform-context.ts +33 -0
  117. package/lib/internal/platform-issue.ts +116 -0
  118. package/lib/internal/platform-pr.ts +119 -0
  119. package/lib/internal/platform-release-notes.ts +55 -0
  120. package/lib/internal/release-workflow.ts +288 -0
  121. package/lib/internal/task-artifact.ts +47 -0
  122. package/lib/internal/task-context.ts +35 -0
  123. package/lib/internal/task-event.ts +51 -0
  124. package/lib/internal/task-ledger.ts +86 -0
  125. package/lib/internal/task-lifecycle.ts +41 -0
  126. package/lib/internal/task-short-id.ts +55 -0
  127. package/lib/internal/task-snapshot.ts +32 -0
  128. package/lib/internal/task-verify.ts +33 -0
  129. package/lib/internal/task-warning.ts +50 -0
  130. package/lib/platform/adapters.ts +30 -0
  131. package/lib/platform/context.ts +164 -0
  132. package/lib/platform/github-client.ts +146 -0
  133. package/lib/platform/github-release-notes.ts +132 -0
  134. package/lib/platform/issue-comments.ts +479 -0
  135. package/lib/platform/issue-metadata.ts +250 -0
  136. package/lib/platform/issues.ts +693 -0
  137. package/lib/platform/merged-pr-equivalence.ts +70 -0
  138. package/lib/platform/metadata-labels.ts +33 -0
  139. package/lib/platform/pr-checks.ts +247 -0
  140. package/lib/platform/pr-summary.ts +90 -0
  141. package/lib/platform/pull-request-metadata.ts +69 -0
  142. package/lib/platform/pull-requests.ts +386 -0
  143. package/lib/platform/release-notes.ts +167 -0
  144. package/lib/platform/releases.ts +71 -0
  145. package/lib/platform/types.ts +74 -0
  146. package/lib/platform/verification-required.ts +109 -0
  147. package/{runtime/platform-adapters/platform-sync.github.js → lib/platform/verification-sync.ts} +198 -367
  148. package/lib/platform/verification.ts +11 -0
  149. package/lib/release/channels.ts +30 -0
  150. package/lib/release/workflow.ts +31 -0
  151. package/lib/render.ts +3 -2
  152. package/lib/run/index.ts +25 -7
  153. package/lib/sandbox/build-proxy.ts +94 -0
  154. package/lib/sandbox/capture.ts +29 -3
  155. package/lib/sandbox/commands/create.ts +120 -36
  156. package/lib/sandbox/commands/enter.ts +38 -11
  157. package/lib/sandbox/commands/list-running.ts +10 -8
  158. package/lib/sandbox/commands/rebuild.ts +29 -7
  159. package/lib/sandbox/commands/show.ts +2 -2
  160. package/lib/sandbox/commands/start.ts +50 -16
  161. package/lib/sandbox/image-build.ts +4 -1
  162. package/lib/sandbox/index.ts +6 -6
  163. package/lib/sandbox/mounts.ts +55 -0
  164. package/lib/sandbox/recovery.ts +828 -0
  165. package/lib/sandbox/runtimes/ai-tools.dockerfile +24 -3
  166. package/lib/sandbox/runtimes/base.dockerfile +8 -1
  167. package/lib/sandbox/runtimes/java17.dockerfile +8 -1
  168. package/lib/sandbox/runtimes/java21.dockerfile +8 -1
  169. package/lib/sandbox/runtimes/node20.dockerfile +8 -1
  170. package/lib/sandbox/runtimes/node22.dockerfile +8 -1
  171. package/lib/sandbox/runtimes/python3.dockerfile +8 -1
  172. package/lib/sandbox/shell.ts +3 -1
  173. package/lib/sandbox/task-resolver.ts +5 -1
  174. package/lib/sandbox/tools.ts +31 -0
  175. package/lib/server/protocol.ts +5 -5
  176. package/lib/task/activity-log.ts +62 -0
  177. package/lib/task/artifact-lifecycle.ts +484 -0
  178. package/lib/task/command-options.ts +32 -0
  179. package/lib/task/commands/cat.ts +22 -9
  180. package/lib/task/commands/decisions.ts +49 -47
  181. package/lib/task/commands/files.ts +14 -6
  182. package/lib/task/commands/grep.ts +34 -7
  183. package/lib/task/commands/issue-body.ts +26 -21
  184. package/lib/task/commands/log.ts +17 -70
  185. package/lib/task/commands/show.ts +14 -6
  186. package/lib/task/commands/status.ts +17 -7
  187. package/lib/task/decision-intents.ts +163 -0
  188. package/lib/task/decision-items.ts +64 -0
  189. package/lib/task/events.ts +320 -0
  190. package/lib/task/frontmatter.ts +202 -2
  191. package/lib/task/implementation-inputs.ts +137 -0
  192. package/lib/task/index.ts +12 -9
  193. package/lib/task/issue-form.ts +24 -6
  194. package/lib/task/ledger-intents.ts +201 -0
  195. package/lib/task/ledger.ts +77 -31
  196. package/lib/task/lifecycle.ts +458 -0
  197. package/lib/task/resolve-ref.ts +197 -36
  198. package/{templates/.agents/scripts/lib/review-artifacts.js → lib/task/review-artifacts.ts} +11 -12
  199. package/{templates/.agents/scripts/lib/post-review-commit.js → lib/task/review-fingerprint.ts} +26 -12
  200. package/lib/task/sections.ts +486 -4
  201. package/lib/task/short-id.ts +403 -9
  202. package/lib/task/snapshot.ts +143 -0
  203. package/lib/task/verification-checks.ts +9 -0
  204. package/lib/task/verification-config.ts +20 -0
  205. package/{templates/.agents/scripts/validate-artifact.js → lib/task/verification-engine.ts} +230 -421
  206. package/lib/task/verification-review.ts +10 -0
  207. package/lib/task/verification-types.ts +29 -0
  208. package/lib/task/verification.ts +156 -0
  209. package/lib/task/workflow-warning-intents.ts +142 -0
  210. package/lib/task/workflow-warnings.ts +10 -78
  211. package/lib/task/write.ts +468 -0
  212. package/package.json +4 -2
  213. package/templates/.agents/README.en.md +4 -3
  214. package/templates/.agents/README.zh-CN.md +4 -3
  215. package/templates/.agents/rules/README.en.md +6 -5
  216. package/templates/.agents/rules/README.zh-CN.md +6 -5
  217. package/templates/.agents/rules/create-issue.en.md +1 -1
  218. package/templates/.agents/rules/create-issue.github.en.md +5 -184
  219. package/templates/.agents/rules/create-issue.github.zh-CN.md +12 -178
  220. package/templates/.agents/rules/create-issue.zh-CN.md +1 -1
  221. package/templates/.agents/rules/human-decision-context.en.md +36 -0
  222. package/templates/.agents/rules/human-decision-context.zh-CN.md +36 -0
  223. package/templates/.agents/rules/issue-fields.github.en.md +4 -148
  224. package/templates/.agents/rules/issue-fields.github.zh-CN.md +9 -144
  225. package/templates/.agents/rules/issue-pr-commands.en.md +43 -3
  226. package/templates/.agents/rules/issue-pr-commands.github.en.md +15 -220
  227. package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +23 -213
  228. package/templates/.agents/rules/issue-pr-commands.zh-CN.md +45 -3
  229. package/templates/.agents/rules/issue-sync.en.md +1 -1
  230. package/templates/.agents/rules/issue-sync.github.en.md +14 -301
  231. package/templates/.agents/rules/issue-sync.github.zh-CN.md +36 -287
  232. package/templates/.agents/rules/issue-sync.zh-CN.md +1 -1
  233. package/templates/.agents/rules/milestone-inference.en.md +1 -1
  234. package/templates/.agents/rules/milestone-inference.github.en.md +7 -119
  235. package/templates/.agents/rules/milestone-inference.github.zh-CN.md +8 -108
  236. package/templates/.agents/rules/milestone-inference.zh-CN.md +1 -1
  237. package/templates/.agents/rules/next-step-output.en.md +12 -11
  238. package/templates/.agents/rules/next-step-output.zh-CN.md +12 -11
  239. package/templates/.agents/rules/no-mid-flow-questions.en.md +3 -3
  240. package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +3 -3
  241. package/templates/.agents/rules/pr-checks-commands.en.md +16 -3
  242. package/templates/.agents/rules/pr-checks-commands.github.en.md +10 -54
  243. package/templates/.agents/rules/pr-checks-commands.github.zh-CN.md +19 -47
  244. package/templates/.agents/rules/pr-checks-commands.zh-CN.md +30 -3
  245. package/templates/.agents/rules/pr-sync.en.md +30 -3
  246. package/templates/.agents/rules/pr-sync.github.en.md +12 -115
  247. package/templates/.agents/rules/pr-sync.github.zh-CN.md +26 -104
  248. package/templates/.agents/rules/pr-sync.zh-CN.md +43 -3
  249. package/templates/.agents/rules/release-commands.en.md +2 -2
  250. package/templates/.agents/rules/release-commands.github.en.md +10 -40
  251. package/templates/.agents/rules/release-commands.github.zh-CN.md +9 -39
  252. package/templates/.agents/rules/release-commands.zh-CN.md +2 -2
  253. package/templates/.agents/rules/review-handshake.en.md +10 -6
  254. package/templates/.agents/rules/review-handshake.zh-CN.md +10 -6
  255. package/templates/.agents/rules/task-management.en.md +11 -2
  256. package/templates/.agents/rules/task-management.zh-CN.md +11 -3
  257. package/templates/.agents/rules/task-short-id.en.md +25 -29
  258. package/templates/.agents/rules/task-short-id.zh-CN.md +20 -23
  259. package/templates/.agents/rules/testing-discipline.en.md +20 -2
  260. package/templates/.agents/rules/testing-discipline.zh-CN.md +20 -2
  261. package/templates/.agents/scripts/lib/agent-infra-package.js +1 -9
  262. package/templates/.agents/scripts/task-short-id.js +71 -533
  263. package/templates/.agents/skills/analyze-task/SKILL.en.md +26 -56
  264. package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +30 -60
  265. package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -3
  266. package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -3
  267. package/templates/.agents/skills/block-task/SKILL.en.md +21 -47
  268. package/templates/.agents/skills/block-task/SKILL.zh-CN.md +23 -47
  269. package/templates/.agents/skills/block-task/config/verify.json +1 -2
  270. package/templates/.agents/skills/cancel-task/SKILL.en.md +16 -45
  271. package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +16 -45
  272. package/templates/.agents/skills/cancel-task/config/verify.json +1 -2
  273. package/templates/.agents/skills/check-task/SKILL.en.md +6 -3
  274. package/templates/.agents/skills/check-task/SKILL.zh-CN.md +6 -3
  275. package/templates/.agents/skills/close-codescan/SKILL.en.md +6 -24
  276. package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +6 -24
  277. package/templates/.agents/skills/close-dependabot/SKILL.en.md +6 -24
  278. package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +6 -24
  279. package/templates/.agents/skills/code-task/SKILL.en.md +22 -35
  280. package/templates/.agents/skills/code-task/SKILL.zh-CN.md +28 -44
  281. package/templates/.agents/skills/code-task/config/verify.en.json +3 -3
  282. package/templates/.agents/skills/code-task/config/verify.zh-CN.json +3 -3
  283. package/templates/.agents/skills/code-task/reference/dual-mode.en.md +13 -9
  284. package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +13 -9
  285. package/templates/.agents/skills/code-task/reference/fix-mode.en.md +1 -1
  286. package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +1 -1
  287. package/templates/.agents/skills/code-task/reference/report-template.en.md +11 -1
  288. package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +11 -1
  289. package/templates/.agents/skills/commit/SKILL.en.md +13 -11
  290. package/templates/.agents/skills/commit/SKILL.zh-CN.md +13 -11
  291. package/templates/.agents/skills/commit/config/verify.json +1 -2
  292. package/templates/.agents/skills/commit/reference/commit-message.en.md +1 -11
  293. package/templates/.agents/skills/commit/reference/commit-message.zh-CN.md +1 -11
  294. package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +4 -8
  295. package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +4 -8
  296. package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +6 -18
  297. package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +5 -17
  298. package/templates/.agents/skills/commit/reference/task-status-update.en.md +13 -0
  299. package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +13 -0
  300. package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +13 -36
  301. package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +13 -36
  302. package/templates/.agents/skills/complete-manual-validation/config/verify.en.json +1 -3
  303. package/templates/.agents/skills/complete-manual-validation/config/verify.zh-CN.json +1 -3
  304. package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +10 -54
  305. package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +10 -79
  306. package/templates/.agents/skills/complete-task/SKILL.en.md +59 -63
  307. package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +59 -63
  308. package/templates/.agents/skills/complete-task/config/verify.en.json +10 -7
  309. package/templates/.agents/skills/complete-task/config/verify.zh-CN.json +10 -7
  310. package/templates/.agents/skills/create-pr/SKILL.en.md +19 -44
  311. package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +19 -43
  312. package/templates/.agents/skills/create-pr/config/verify.json +1 -2
  313. package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +8 -12
  314. package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +7 -11
  315. package/templates/.agents/skills/create-release-note/SKILL.en.md +17 -38
  316. package/templates/.agents/skills/create-release-note/SKILL.zh-CN.md +16 -37
  317. package/templates/.agents/skills/create-task/SKILL.en.md +16 -13
  318. package/templates/.agents/skills/create-task/SKILL.zh-CN.md +16 -13
  319. package/templates/.agents/skills/create-task/config/verify.json +1 -2
  320. package/templates/.agents/skills/create-task/reference/context-capture.en.md +29 -0
  321. package/templates/.agents/skills/create-task/reference/context-capture.zh-CN.md +29 -0
  322. package/templates/.agents/skills/import-codescan/SKILL.en.md +2 -2
  323. package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +2 -2
  324. package/templates/.agents/skills/import-codescan/config/verify.json +1 -2
  325. package/templates/.agents/skills/import-dependabot/SKILL.en.md +2 -2
  326. package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +2 -2
  327. package/templates/.agents/skills/import-dependabot/config/verify.json +1 -2
  328. package/templates/.agents/skills/import-issue/SKILL.en.md +9 -13
  329. package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +10 -14
  330. package/templates/.agents/skills/import-issue/config/verify.json +1 -2
  331. package/templates/.agents/skills/plan-task/SKILL.en.md +17 -42
  332. package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +22 -49
  333. package/templates/.agents/skills/plan-task/config/verify.en.json +1 -3
  334. package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +1 -3
  335. package/templates/.agents/skills/post-release/SKILL.en.md +11 -81
  336. package/templates/.agents/skills/post-release/SKILL.zh-CN.md +8 -78
  337. package/templates/.agents/skills/refine-title/SKILL.en.md +1 -1
  338. package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -1
  339. package/templates/.agents/skills/release/SKILL.en.md +16 -163
  340. package/templates/.agents/skills/release/SKILL.zh-CN.md +15 -162
  341. package/templates/.agents/skills/restore-task/SKILL.en.md +11 -29
  342. package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +11 -29
  343. package/templates/.agents/skills/restore-task/config/verify.json +1 -2
  344. package/templates/.agents/skills/review-analysis/SKILL.en.md +13 -25
  345. package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +13 -33
  346. package/templates/.agents/skills/review-analysis/config/verify.en.json +3 -4
  347. package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +3 -4
  348. package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +9 -12
  349. package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +9 -12
  350. package/templates/.agents/skills/review-analysis/reference/report-template.en.md +9 -2
  351. package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +9 -2
  352. package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +7 -0
  353. package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +7 -0
  354. package/templates/.agents/skills/review-code/SKILL.en.md +22 -36
  355. package/templates/.agents/skills/review-code/SKILL.zh-CN.md +23 -41
  356. package/templates/.agents/skills/review-code/config/verify.en.json +3 -4
  357. package/templates/.agents/skills/review-code/config/verify.zh-CN.json +3 -4
  358. package/templates/.agents/skills/review-code/reference/output-templates.en.md +56 -18
  359. package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +56 -18
  360. package/templates/.agents/skills/review-code/reference/report-template.en.md +11 -4
  361. package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +11 -4
  362. package/templates/.agents/skills/review-code/reference/review-criteria.en.md +7 -0
  363. package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +7 -0
  364. package/templates/.agents/skills/review-plan/SKILL.en.md +13 -25
  365. package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +13 -33
  366. package/templates/.agents/skills/review-plan/config/verify.en.json +3 -4
  367. package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +3 -4
  368. package/templates/.agents/skills/review-plan/reference/output-templates.en.md +9 -12
  369. package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +9 -12
  370. package/templates/.agents/skills/review-plan/reference/report-template.en.md +9 -2
  371. package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +9 -2
  372. package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +7 -0
  373. package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +7 -0
  374. package/templates/.agents/skills/update-agent-infra/SKILL.en.md +1 -2
  375. package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +1 -2
  376. package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +3 -15
  377. package/templates/.agents/skills/watch-pr/SKILL.en.md +24 -14
  378. package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +25 -15
  379. package/templates/.agents/skills/watch-pr/config/verify.json +1 -2
  380. package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +2 -2
  381. package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +2 -2
  382. package/templates/.agents/templates/task.en.md +24 -1
  383. package/templates/.agents/templates/task.zh-CN.md +24 -1
  384. package/templates/.claude/commands/analyze-task.en.md +1 -1
  385. package/templates/.claude/commands/analyze-task.zh-CN.md +1 -1
  386. package/templates/.claude/commands/block-task.en.md +1 -1
  387. package/templates/.claude/commands/block-task.zh-CN.md +1 -1
  388. package/templates/.claude/commands/cancel-task.en.md +1 -1
  389. package/templates/.claude/commands/cancel-task.zh-CN.md +1 -1
  390. package/templates/.claude/commands/check-task.en.md +1 -1
  391. package/templates/.claude/commands/check-task.zh-CN.md +1 -1
  392. package/templates/.claude/commands/code-task.en.md +1 -1
  393. package/templates/.claude/commands/code-task.zh-CN.md +1 -1
  394. package/templates/.claude/commands/commit.en.md +1 -0
  395. package/templates/.claude/commands/commit.zh-CN.md +1 -0
  396. package/templates/.claude/commands/complete-manual-validation.en.md +1 -1
  397. package/templates/.claude/commands/complete-manual-validation.zh-CN.md +1 -1
  398. package/templates/.claude/commands/complete-task.en.md +1 -1
  399. package/templates/.claude/commands/complete-task.zh-CN.md +1 -1
  400. package/templates/.claude/commands/create-pr.en.md +1 -1
  401. package/templates/.claude/commands/create-pr.zh-CN.md +1 -1
  402. package/templates/.claude/commands/plan-task.en.md +1 -1
  403. package/templates/.claude/commands/plan-task.zh-CN.md +1 -1
  404. package/templates/.claude/commands/review-analysis.en.md +1 -1
  405. package/templates/.claude/commands/review-analysis.zh-CN.md +1 -1
  406. package/templates/.claude/commands/review-code.en.md +1 -1
  407. package/templates/.claude/commands/review-code.zh-CN.md +1 -1
  408. package/templates/.claude/commands/review-plan.en.md +1 -1
  409. package/templates/.claude/commands/review-plan.zh-CN.md +1 -1
  410. package/templates/.claude/commands/watch-pr.en.md +1 -1
  411. package/templates/.claude/commands/watch-pr.zh-CN.md +1 -1
  412. package/templates/.gemini/commands/_project_/analyze-task.en.toml +2 -0
  413. package/templates/.gemini/commands/_project_/analyze-task.zh-CN.toml +2 -0
  414. package/templates/.gemini/commands/_project_/block-task.en.toml +2 -0
  415. package/templates/.gemini/commands/_project_/block-task.zh-CN.toml +2 -0
  416. package/templates/.gemini/commands/_project_/cancel-task.en.toml +2 -0
  417. package/templates/.gemini/commands/_project_/cancel-task.zh-CN.toml +2 -0
  418. package/templates/.gemini/commands/_project_/check-task.en.toml +2 -0
  419. package/templates/.gemini/commands/_project_/check-task.zh-CN.toml +2 -0
  420. package/templates/.gemini/commands/_project_/code-task.en.toml +2 -0
  421. package/templates/.gemini/commands/_project_/code-task.zh-CN.toml +2 -0
  422. package/templates/.gemini/commands/_project_/commit.en.toml +4 -0
  423. package/templates/.gemini/commands/_project_/commit.zh-CN.toml +4 -0
  424. package/templates/.gemini/commands/_project_/complete-manual-validation.en.toml +2 -0
  425. package/templates/.gemini/commands/_project_/complete-manual-validation.zh-CN.toml +2 -0
  426. package/templates/.gemini/commands/_project_/complete-task.en.toml +2 -0
  427. package/templates/.gemini/commands/_project_/complete-task.zh-CN.toml +2 -0
  428. package/templates/.gemini/commands/_project_/create-pr.en.toml +2 -0
  429. package/templates/.gemini/commands/_project_/create-pr.zh-CN.toml +2 -0
  430. package/templates/.gemini/commands/_project_/plan-task.en.toml +2 -0
  431. package/templates/.gemini/commands/_project_/plan-task.zh-CN.toml +2 -0
  432. package/templates/.gemini/commands/_project_/review-analysis.en.toml +2 -0
  433. package/templates/.gemini/commands/_project_/review-analysis.zh-CN.toml +2 -0
  434. package/templates/.gemini/commands/_project_/review-code.en.toml +2 -0
  435. package/templates/.gemini/commands/_project_/review-code.zh-CN.toml +2 -0
  436. package/templates/.gemini/commands/_project_/review-plan.en.toml +2 -0
  437. package/templates/.gemini/commands/_project_/review-plan.zh-CN.toml +2 -0
  438. package/templates/.gemini/commands/_project_/watch-pr.en.toml +2 -0
  439. package/templates/.gemini/commands/_project_/watch-pr.zh-CN.toml +2 -0
  440. package/templates/.git-hooks/check-large-files.cjs +92 -0
  441. package/templates/.git-hooks/check-version-format.sh +5 -1
  442. package/templates/.git-hooks/pre-commit +1 -0
  443. package/templates/.opencode/commands/analyze-task.en.md +1 -1
  444. package/templates/.opencode/commands/analyze-task.zh-CN.md +1 -1
  445. package/templates/.opencode/commands/check-task.en.md +1 -1
  446. package/templates/.opencode/commands/check-task.zh-CN.md +1 -1
  447. package/templates/.opencode/commands/code-task.en.md +1 -1
  448. package/templates/.opencode/commands/code-task.zh-CN.md +1 -1
  449. package/templates/.opencode/commands/commit.en.md +2 -0
  450. package/templates/.opencode/commands/commit.zh-CN.md +2 -0
  451. package/templates/.opencode/commands/complete-task.en.md +1 -1
  452. package/templates/.opencode/commands/complete-task.zh-CN.md +1 -1
  453. package/templates/.opencode/commands/plan-task.en.md +1 -1
  454. package/templates/.opencode/commands/plan-task.zh-CN.md +1 -1
  455. package/templates/.opencode/commands/review-analysis.en.md +1 -1
  456. package/templates/.opencode/commands/review-analysis.zh-CN.md +1 -1
  457. package/templates/.opencode/commands/review-code.en.md +1 -1
  458. package/templates/.opencode/commands/review-code.zh-CN.md +1 -1
  459. package/templates/.opencode/commands/review-plan.en.md +1 -1
  460. package/templates/.opencode/commands/review-plan.zh-CN.md +1 -1
  461. package/templates/.agents/scripts/platform-adapters/platform-sync.github.js +0 -40
  462. package/templates/.agents/scripts/platform-adapters/platform-sync.js +0 -13
  463. package/templates/.agents/scripts/review-diff-fingerprint.js +0 -170
  464. package/templates/.agents/scripts/workflow-warnings.js +0 -290
  465. package/templates/.agents/skills/code-task/scripts/detect-mode.js +0 -257
  466. package/templates/.agents/skills/release/scripts/manage-milestones.github.sh +0 -80
  467. package/templates/.agents/skills/release/scripts/manage-milestones.sh +0 -6
@@ -3,6 +3,7 @@ name: plan-task
3
3
  description: >
4
4
  为任务设计技术方案和实施计划。
5
5
  当需求已明确、需要在编码前形成技术方案时使用。
6
+ 仅当对话包含可解析的任务引用时才可自动调用本技能。
6
7
  ---
7
8
 
8
9
  # 设计技术方案
@@ -22,26 +23,24 @@ description: >
22
23
  运行以下命令,并把原文粘贴到回复正文和本轮产物的 `## 状态核对` 段:
23
24
 
24
25
  ```bash
25
- git status -s
26
- ls -la .agents/workspace/active/{task-id}/
27
- tail .agents/workspace/active/{task-id}/task.md
26
+ agent-infra-internal task-snapshot {task-id} --format text
28
27
  ```
29
28
 
30
29
  状态核对完成前,禁止任何关于外部状态的断言(例如“代码没变”“测试已通过”“没有其他引用”),包括思考阶段。本门禁只提供结构下限;逐条证据配对和真实性仍需按报告模板与审查要求核对。
31
30
 
32
- ## 任务入参短号别名
31
+ ## 任务上下文解析
33
32
 
34
- > 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
33
+ > 入口允许省略 task ref,也接受旧位置 task ref 或 `--task <ref>` / `-t <ref>`。先从完整参数中分离 task scope 并原样保留其他业务操作数,再调用 `agent-infra-internal task-context resolve {task-scope}`;`{task-scope}` 为空、位置 ref 或 task flag 之一。只读取结构化结果的 `taskId`,后续把 `{task-id}` 绑定为该完整 `TASK-YYYYMMDD-HHMMSS`。解析失败时透传非零退出码,不自行扫描任务。
35
34
 
36
- ## 步骤开始:写入 started 标记
35
+ > 解析任务引用,并确认任务位于本技能支持的状态或目录且存在 `task.md`;无法定位时按未找到任务处理并停止。
37
36
 
38
- 确认前置条件后、本轮第一个产出动作之前,向 task.md `## 活动日志` 追加一条 started 标记(与本轮 done 条目同基名 + ` [started]` 后缀,note 用 `started`):
37
+ ## 步骤开始:声明 started 事件
39
38
 
40
- ```
41
- - {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N}) [started]** by {agent} — started
42
- ```
39
+ 确认前置条件和轮次后、本轮第一个产出动作之前执行:
43
40
 
44
- `ai task log` 会把它与步骤完成时(步骤 7)写入的 done 条目配对成一行(进行中 → 已完成)。格式与配对规则见 `.agents/rules/task-management.md` 的「Activity Log started / done 双标记约定」。
41
+ ```bash
42
+ agent-infra-internal task-event {task-id} plan.started --agent {agent}
43
+ ```
45
44
 
46
45
  ## 执行步骤
47
46
  ### 1. 验证前置条件
@@ -54,22 +53,13 @@ tail .agents/workspace/active/{task-id}/task.md
54
53
 
55
54
  如果任一文件缺失,提示用户先完成前置步骤。
56
55
 
57
- ### 2. 确定方案轮次
58
-
59
- 扫描 `.agents/workspace/active/{task-id}/` 目录中的方案产物文件:
60
- - 如果不存在 `plan.md` 且不存在 `plan-r*.md` → 本轮为第 1 轮,产出 `plan.md`
61
- - 如果存在 `plan.md` 且不存在 `plan-r*.md` → 本轮为第 2 轮,产出 `plan-r2.md`
62
- - 如果存在 `plan-r{N}.md` → 本轮为第 N+1 轮,产出 `plan-r{N+1}.md`
56
+ ### 2. 解析方案上下文
63
57
 
64
- 记录:
65
- - `{plan-round}`:本轮方案轮次
66
- - `{plan-artifact}`:本轮方案产物文件名
58
+ 运行 `agent-infra-internal task-artifact {task-id} inspect --family plan`。仅当结果为 `ready` 时继续;从 `inputs` 取得最新 `{analysis-artifact}`,从 `next.round` / `next.name` 取得 `{plan-round}` / `{plan-artifact}`。不得自行扫描轮次或拼装文件名。随后执行 started 事件并复核返回身份。
67
59
 
68
60
  ### 3. 阅读需求分析
69
61
 
70
- 扫描任务目录中的分析产物文件(`analysis.md`、`analysis-r{N}.md`):
71
- - 如果存在 `analysis-r{N}.md`,读取最高 N 的文件
72
- - 否则读取 `analysis.md`
62
+ 读取步骤 2 核心返回的最新 `{analysis-artifact}`,
73
63
  以理解:
74
64
  - 需求及其背景
75
65
  - 相关文件和代码结构
@@ -77,7 +67,7 @@ tail .agents/workspace/active/{task-id}/task.md
77
67
  - 已识别的技术风险
78
68
  - 工作量和复杂度评估
79
69
 
80
- **Round ≥ 2:响应上一轮审查(仅当存在审查产物时)**:若任务目录存在 `review-plan.md` / `review-plan-r{N}.md`,读取最高轮次的审查报告;在本轮方案产物中新增 `## 对上一轮审查的响应` 段,对每条发现先 Read/Grep 核实,再按 `.agents/rules/review-handshake.md` 的四态(`accepted` / `adjusted` / `refuted` / `cannot-judge`)处置——每态都要附相称证据,不默认顺从;并把处置回写 task.md `## 审查分歧账本` 对应行(stage=plan,round +1)。未决分歧写入 `## 未决问题`。Round 1 无审查,跳过本段。
70
+ **Round ≥ 2:响应上一轮审查(仅当存在审查产物时)**:若任务目录存在 `review-plan.md` / `review-plan-r{N}.md`,读取最高轮次的审查报告;在本轮方案产物中新增 `## 对上一轮审查的响应` 段,对每条发现先 Read/Grep 核实,再按 `.agents/rules/review-handshake.md` 的四态(`accepted` / `adjusted` / `refuted` / `cannot-judge`)处置——每态都要附相称证据,不默认顺从;随后逐条调用 `agent-infra-internal task-ledger {task-id} finding-respond --id {ledger-id} --round {plan-round} --status {四态} --evidence {相称证据}`。未决分歧写入 `## 未决问题`。Round 1 无审查,跳过本段。
81
71
 
82
72
  ### 4. 理解问题
83
73
 
@@ -98,7 +88,7 @@ tail .agents/workspace/active/{task-id}/task.md
98
88
  - [ ] 定义验证策略(测试、手动检查)
99
89
  - [ ] 评估方案的影响和风险
100
90
 
101
- 遇到本轮新增的关键设计决策时,按 `.agents/rules/no-mid-flow-questions.md` 判据,把详情块(背景/选项/影响/推荐)写入方案产物的 `## 人工裁决待办` 段 `### HD-N:<标题> [needs-human-decision]`(`HD-N` 全局唯一,规则见 `.agents/rules/review-handshake.md`),并回写 `HD-` 账本行(evidence 指向 `{plan-artifact}#HD-N`);普通未决问题仍写 `## 未决问题`。
91
+ 遇到本轮新增的关键设计决策时,按 `.agents/rules/no-mid-flow-questions.md` 判据,先调用 `agent-infra-internal task-ledger {task-id} decision-next-id` 取得 `HD-N`,按 `.agents/rules/human-decision-context.md` 写入方案产物的 `## 人工裁决待办` 段 `### HD-N:<标题> [needs-human-decision]`,再调用 `decision-upsert --id {HD-N} --stage plan --artifact {plan-artifact}`;普通未决问题仍写 `## 未决问题`。
102
92
 
103
93
  **设计原则**:
104
94
  1. **架构合理性**:选择结构正确的方案,改动大小不是首要依据。不要为了减少 diff 而在不合理的结构上叠加
@@ -113,42 +103,25 @@ tail .agents/workspace/active/{task-id}/task.md
113
103
 
114
104
  ### 7. 更新任务状态
115
105
 
116
- 获取当前时间:
117
-
118
- ```bash
119
- date "+%Y-%m-%d %H:%M:%S%z" | sed 's/\([+-][0-9][0-9]\)\([0-9][0-9]\)$/\1:\2/'
120
- ```
121
-
122
106
  更新 `.agents/workspace/active/{task-id}/task.md`:
123
- - `current_step`:technical-design
124
- - `assigned_to`:{当前 AI 代理}
125
- - `updated_at`:{当前时间}
126
- - `agent_infra_version`:按 `.agents/rules/version-stamp.md` 取值
127
- - 记录本轮方案产物:`{plan-artifact}`(Round `{plan-round}`)
128
- - 如任务模板包含 `## 设计` 段落,更新为指向 `{plan-artifact}` 的链接
129
- - 在工作流进度中标记 technical-design 为已完成,并注明实际轮次(如果任务模板支持)
107
+ - 仅更新工作量、审查响应等本技能拥有的业务内容;产物链接、阶段与完成日志由 completed 事件统一登记
130
108
  - 在追加工作流 Activity Log 条目之前,基于技术方案(实施步骤数、涉及文件、测试矩阵范围、集成面)重估 `effort`。若重估值与 `task.md` 当前值不一致:
131
109
  - 用新值覆盖 frontmatter 的 `effort` 字段
132
110
  - 在本轮方案产物 `{plan-artifact}` 中追加 `## 工作量重估` 段,记录一条:`effort {old} → {new} (rationale: {基于本轮方案的简短依据})`
133
111
  若重估值与当前值一致,跳过:不写入 `## 工作量重估` 段。后续 Flow A 同步会读取可能更新过的 frontmatter,并自动把新值同步到 Issue。
134
- - **追加**到 `## Activity Log`(不要覆盖之前的记录):
135
- ```
136
- - {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N})** by {agent} — Plan completed, awaiting human review → {artifact-filename}
137
- ```
112
+ - 完成业务内容更新后执行 `agent-infra-internal task-event {task-id} plan.completed --agent {agent} --artifact {plan-artifact}`,由核心原子登记链接、阶段、代理、时间、版本和 Activity Log。
138
113
 
139
114
  如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则跳过并继续):
140
- - 执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测
141
- - 按 issue-sync.md 设置 `status: pending-design-work`
142
- - 创建或更新 `.agents/rules/issue-sync.md` 中定义的 task 评论标记(按 issue-sync.md 的 task.md 评论同步规则)
143
- - 发布 `{plan-artifact}` 评论
144
- - 读取 `.agents/rules/issue-fields.md`,按流程 A 把 `task.md` 中所有非空的 Issue 字段(`priority`/`effort`/`start_date`/`target_date`)同步到 Issue(幂等;`has_push=false` 或取数/写入失败时跳过,不阻断)
115
+ - 调用 `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status pending-design-work --fields`
116
+ - 调用 `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
117
+ - 调用 `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {plan-artifact} --agent {agent}`
145
118
 
146
119
  ### 8. 完成校验
147
120
 
148
121
  运行完成校验,确认任务产物和同步状态符合规范:
149
122
 
150
123
  ```bash
151
- node .agents/scripts/validate-artifact.js gate plan-task .agents/workspace/active/{task-id} {plan-artifact} --format text
124
+ agent-infra-internal task-verify {task-id} plan.completed --artifact {plan-artifact} --format text
152
125
  ```
153
126
 
154
127
  处理结果:
@@ -162,7 +135,7 @@ node .agents/scripts/validate-artifact.js gate plan-task .agents/workspace/activ
162
135
 
163
136
  > 仅在校验通过后执行本步骤。
164
137
 
165
- > **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染最终输出前,先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令把 `{task-ref}` 渲染为短号 `#NN`(未分配/已释放时回退完整 TASK-id);(2) 在面向用户输出的绝对最后一行追加 `Completed at` 收尾行(成功、错误、早退等任何面向用户输出都适用,不限于校验通过的成功态)。
138
+ > **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染最终输出前,先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令把 `{task-ref}` 渲染为短号 `NN`(未分配/已释放时回退完整 TASK-id);(2) 在面向用户输出的绝对最后一行追加 `Completed at` 收尾行(成功、错误、早退等任何面向用户输出都适用,不限于校验通过的成功态)。
166
139
 
167
140
  输出格式:
168
141
  ```
@@ -27,14 +27,12 @@
27
27
  "Verification Strategy",
28
28
  "State Check"
29
29
  ],
30
- "freshness_minutes": 30,
31
30
  "required_patterns": [
32
31
  "^\\$ "
33
32
  ]
34
33
  },
35
34
  "activity-log": {
36
- "expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)",
37
- "freshness_minutes": 30
35
+ "expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)"
38
36
  },
39
37
  "review-ledger": {
40
38
  "stage_scope": ["analysis"]
@@ -27,14 +27,12 @@
27
27
  "验证策略",
28
28
  "状态核对"
29
29
  ],
30
- "freshness_minutes": 30,
31
30
  "required_patterns": [
32
31
  "^\\$ "
33
32
  ]
34
33
  },
35
34
  "activity-log": {
36
- "expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)",
37
- "freshness_minutes": 30
35
+ "expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)"
38
36
  },
39
37
  "review-ledger": {
40
38
  "stage_scope": ["analysis"]
@@ -1,98 +1,28 @@
1
1
  ---
2
2
  name: post-release
3
3
  description: >
4
- Run post-release follow-up tasks.
5
- Use when a release has shipped and follow-up housekeeping is needed.
4
+ Run post-release processing.
5
+ Use after a version has been published and needs finalization.
6
6
  ---
7
7
 
8
- # Post-release Tasks
8
+ # Post-release
9
9
 
10
- Run the standard follow-up workflow after a release tag has been pushed.
11
-
12
- ## Execution Flow
13
-
14
- ### 1. Detect the Latest Released Version
15
-
16
- ```bash
17
- git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1
18
- ```
19
-
20
- - Detect the latest `vX.Y.Z` tag, then strip the `v` prefix when you need the version number in later steps
21
- - If no tag is found, error: "No released version tag found. Please create and push a release tag first."
22
-
23
- ### 2. Verify Clean Workspace
24
-
25
- ```bash
26
- git status --short
27
- ```
28
-
29
- - If there are uncommitted changes, error: "Workspace has uncommitted changes. Please commit or stash first."
30
-
31
- ### 3. Prepare the Next Development Version
32
-
33
- <!-- TODO: Replace this step with your project's version bump command -->
34
-
35
- ```bash
36
- # TODO: Replace with your project's post-release version bump command
37
- # npm version prerelease --preid=alpha --no-git-tag-version
38
- ```
39
-
40
- - Update lockfiles or generated version metadata if your project needs them
41
- - Keep all version references in sync after the bump
42
-
43
- ### 4. Rebuild Generated Artifacts
44
-
45
- <!-- TODO: Replace this step with your project's rebuild command -->
10
+ ## 1. Inspect Channel Facts
46
11
 
47
12
  ```bash
48
- # TODO: Replace with your project's artifact rebuild command
13
+ agent-infra-internal release-workflow inspect {version}
49
14
  ```
50
15
 
51
- - Rebuild any generated files, embedded assets, or inline templates affected by the new version
52
- - If your project has no generated artifacts, remove this step in the project-specific copy
16
+ Pending or unknown is blocked; a definite failure is failed.
53
17
 
54
- ### 5. Run Other Post-release Tasks (Optional)
55
-
56
- <!-- TODO: Add project-specific follow-up tasks such as demo capture, docs publishing, or downstream notifications -->
57
-
58
- - Examples: record a terminal demo, refresh a docs site, notify downstream teams, update release dashboards
59
- - If a task here displays or captures the just-released version (e.g., recording a CLI demo), move it **before** Step 3 — otherwise it will reflect the next development version, not the release
60
- - If there are no extra tasks, remove this step in the project-specific copy
61
-
62
- ### 6. Create the Follow-up Commit
18
+ ## 2. Run Post-release
63
19
 
64
20
  ```bash
65
- git add -A
66
- git commit -m "chore: prepare next dev iteration after v{released-version}"
21
+ agent-infra-internal release-workflow post {version}
67
22
  ```
68
23
 
69
- ### 7. Output Summary
70
-
71
- > **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
72
-
73
- ```
74
- Post-release tasks completed.
75
-
76
- Summary:
77
- - Released version: {released-version}
78
- - Next development version: {new-version}
79
- - Extra tasks completed: {summary}
80
-
81
- Next step (manual):
82
- - Push branch: git push origin {current-branch}
83
- ```
84
-
85
- ## Notes
86
-
87
- 1. **No arguments**: Detect the released version from the latest tag instead of asking the user to repeat it
88
- 2. **Clean workspace required**: Avoid mixing unrelated edits into the post-release commit
89
- 3. **Project-specific customization**: Replace the TODO steps with the commands your project actually needs
90
- 4. **Local-only workflow**: This skill prepares local changes and does not push automatically
24
+ The core owns build, next development version, inline artifacts, explicit-path commit, normal push, and post-write inspection.
91
25
 
92
- ## Error Handling
26
+ ## 3. Report the Snapshot
93
27
 
94
- - No release tag found: Prompt the user to finish the release first
95
- - Dirty workspace: Prompt the user to commit or stash changes
96
- - Version bump failed: Display the command error and stop
97
- - Artifact rebuild failed: Display the build error and stop
98
- - Git commit failed: Display the error and leave the workspace intact for manual recovery
28
+ Report channel, smoke, commit, and push facts without presenting degraded or blocked as complete.
@@ -7,92 +7,22 @@ description: >
7
7
 
8
8
  # 发布后处理
9
9
 
10
- 在版本标签推送完成后,执行标准化的发布后收尾流程。
11
-
12
- ## 执行流程
13
-
14
- ### 1. 检测最新发布版本
15
-
16
- ```bash
17
- git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1
18
- ```
19
-
20
- - 检测最新 `vX.Y.Z` 标签,并在后续步骤中去除 `v` 前缀得到版本号
21
- - 如果没有找到标签,报错:"No released version tag found. Please create and push a release tag first."
22
-
23
- ### 2. 验证工作区干净
24
-
25
- ```bash
26
- git status --short
27
- ```
28
-
29
- - 如果存在未提交变更,报错:"Workspace has uncommitted changes. Please commit or stash first."
30
-
31
- ### 3. 准备下一个开发版本
32
-
33
- <!-- TODO: 将此步骤替换为你的项目版本 bump 命令 -->
34
-
35
- ```bash
36
- # TODO: 替换为你的项目发布后版本 bump 命令
37
- # npm version prerelease --preid=alpha --no-git-tag-version
38
- ```
39
-
40
- - 如果项目需要,记得同步锁文件或其他版本元数据
41
- - 版本 bump 后保持所有版本引用一致
42
-
43
- ### 4. 重新生成构建产物
44
-
45
- <!-- TODO: 将此步骤替换为你的项目产物重建命令 -->
10
+ ## 1. 检查渠道事实
46
11
 
47
12
  ```bash
48
- # TODO: 替换为你的项目产物重建命令
13
+ agent-infra-internal release-workflow inspect {version}
49
14
  ```
50
15
 
51
- - 重建所有受新版本号影响的生成文件、内嵌产物或内联模板
52
- - 如果项目没有生成产物,请在项目特化版本中删除此步骤
16
+ pending/unknown 必须 blocked,确定失败必须 failed。
53
17
 
54
- ### 5. 执行其他发布后任务(可选)
55
-
56
- <!-- TODO: 添加项目特定的发布后任务,例如录制演示、发布文档站或通知下游 -->
57
-
58
- - 示例:录制终端演示、刷新文档站、通知下游团队、更新发布面板
59
- - 如果这一步里的任务需要显示或捕获刚发布的版本号(例如录制 CLI 演示),把它挪到**第 3 步「准备下一个开发版本」之前**——否则会反映下一个开发版本号,而不是 released 版本号
60
- - 如果没有额外任务,请在项目特化版本中删除此步骤
61
-
62
- ### 6. 创建后处理提交
18
+ ## 2. 执行后处理
63
19
 
64
20
  ```bash
65
- git add -A
66
- git commit -m "chore: prepare next dev iteration after v{released-version}"
21
+ agent-infra-internal release-workflow post {version}
67
22
  ```
68
23
 
69
- ### 7. 输出摘要
70
-
71
- > **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
72
-
73
- ```
74
- 发布后处理已完成。
75
-
76
- 结果摘要:
77
- - 已发布版本:{released-version}
78
- - 新开发版本:{new-version}
79
- - 额外任务完成情况:{summary}
80
-
81
- 下一步(手动执行):
82
- - 推送分支:git push origin {current-branch}
83
- ```
84
-
85
- ## 注意事项
86
-
87
- 1. **无参数设计**:从最新标签自动检测已发布版本,不要求用户重复输入
88
- 2. **需要干净工作区**:避免把无关改动带入发布后提交
89
- 3. **项目定制**:将带 TODO 的步骤替换为你的项目实际命令
90
- 4. **仅本地执行**:本技能只准备本地变更,不自动推送
24
+ core 负责 build、下一开发版本、内联产物、显式路径 commit 与普通 push,并在写后复核。
91
25
 
92
- ## 错误处理
26
+ ## 3. 输出摘要
93
27
 
94
- - 未找到发布标签:提示用户先完成发布
95
- - 工作区不干净:提示先提交或暂存
96
- - 版本 bump 失败:显示命令错误并停止
97
- - 产物重建失败:显示构建错误并停止
98
- - Git 提交失败:显示错误并保留当前工作区供人工处理
28
+ 报告全部渠道、smoke、commit 与 push 事实,不把 degraded/blocked 表述为完成。
@@ -60,7 +60,7 @@ If the user confirms:
60
60
  - for an Issue, update the title by following the "Update Issues" command in `.agents/rules/issue-pr-commands.md`
61
61
  - for a PR, update the title by following the "Update PRs" command in `.agents/rules/issue-pr-commands.md`
62
62
 
63
- Title changes require write permission. Follow the permission-degradation rules in `.agents/rules/issue-pr-commands.md` and `.agents/rules/issue-sync.md`; if permission is unavailable, skip the change and inform the user.
63
+ Before changing a title, run `agent-infra-internal platform-context resolve` for upstream and capabilities, then follow the Issue metadata intent contract in `.agents/rules/issue-pr-commands.md`; if permission is unavailable, skip the change and inform the user.
64
64
 
65
65
  ### 5. Inform User
66
66
 
@@ -60,7 +60,7 @@ Issue/PR #{id} 分析结果:
60
60
  - 对于 Issue:按 `.agents/rules/issue-pr-commands.md` 中的 “Issue 更新” 命令设置标题
61
61
  - 对于 PR:按 `.agents/rules/issue-pr-commands.md` 中的 “PR 更新” 命令设置标题
62
62
 
63
- 标题修改需要写权限,按 `.agents/rules/issue-pr-commands.md` 与 `.agents/rules/issue-sync.md` 中的权限降级规则执行;无权限时跳过修改操作并告知用户。
63
+ 标题修改前调用 `agent-infra-internal platform-context resolve` 取得 upstream 与 capabilities,再按 `.agents/rules/issue-pr-commands.md` 的 Issue metadata intent 契约执行;无权限时跳过修改操作并告知用户。
64
64
 
65
65
  ### 5. 告知用户
66
66
 
@@ -2,188 +2,41 @@
2
2
  name: release
3
3
  description: >
4
4
  Run the version release workflow.
5
- Use when you are ready to cut and publish a new version.
5
+ Use when preparing and publishing a version. Parameter: X.Y.Z.
6
6
  ---
7
7
 
8
- # Version Release
8
+ # Release
9
9
 
10
- Execute the version release workflow for the specified version.
10
+ Release state is derived from external facts and prepare/publish require separate authorization.
11
11
 
12
- <!-- TODO: Adapt the steps below to your project's release process -->
12
+ ## 1. Validate Input and Entropy Report
13
13
 
14
- ## Execution Flow
14
+ Confirm SemVer and the human release checkpoint.
15
15
 
16
- ### 1. Parse and Validate Version
17
-
18
- Extract version from arguments. Must match `X.Y.Z` format.
19
-
20
- Parse components:
21
- - MAJOR = X, MINOR = Y, PATCH = Z
22
- - Release version = `X.Y.Z`
23
-
24
- If format is invalid, error: "Version format incorrect, expected X.Y.Z (e.g. 1.2.3)"
25
-
26
- ### 2. Verify Clean Workspace
16
+ ## 2. Inspect Facts
27
17
 
28
18
  ```bash
29
- git status --short
19
+ agent-infra-internal release-workflow inspect {version}
30
20
  ```
31
21
 
32
- If there are uncommitted changes, error: "Workspace has uncommitted changes. Please commit or stash first."
33
-
34
- ### 3. Pre-release Verification
35
-
36
- <!-- TODO: Replace with your project's pre-release verification steps -->
37
-
38
- Run any checks that must pass before preparing a release:
22
+ ## 3. Prepare
39
23
 
40
24
  ```bash
41
- git branch --show-current
42
- # TODO: Replace with your project's test/build verification commands
25
+ agent-infra-internal release-workflow prepare {version} --entropy-report {path}
43
26
  ```
44
27
 
45
- Verification guidance:
46
- - Confirm the release is being prepared from the correct branch for your project
47
- - Run the full validation commands required by your release process
48
-
49
- Handling rules:
50
- - If the current branch is unexpected, print a warning or exit based on your policy
51
- - If any verification command fails, stop the release process and fix the issue first
52
-
53
- ### 4. Update Version References
54
-
55
- <!-- TODO: Replace with your project's version update steps -->
56
-
57
- Search for version references in project files and update them:
58
-
59
- ```bash
60
- # Find files with version references
61
- # Search for current version pattern
62
- # Update version strings
63
- ```
28
+ Stop after prepare; never publish implicitly.
64
29
 
65
- **Common files to update**:
66
- - `package.json` (Node.js)
67
- - `package-lock.json` (Node.js; run `npm install --package-lock-only` after updating `package.json`)
68
- - `pom.xml` (Maven)
69
- - `setup.py` / `pyproject.toml` (Python)
70
- - `version.go` (Go)
71
- - `README.md` (documentation)
72
- - `SECURITY.md` / `SECURITY.zh-CN.md` (supported version table)
73
-
74
- **Exclude from version replacement**:
75
- - `.agents/`, `.agents/workspace/`, `.claude/`, `.codex/`, `.gemini/`, `.opencode/` (AI tool configs)
76
-
77
- If the project uses `package-lock.json`, run `npm install --package-lock-only` after updating `package.json` so the lockfile version stays in sync.
78
-
79
- ### 5. Rebuild Artifacts
80
-
81
- <!-- TODO: Replace with your project's artifact rebuild steps -->
82
-
83
- If version updates affect generated files, embedded metadata, or bundled assets, rebuild them now:
84
-
85
- ```bash
86
- # TODO: Replace with your project's rebuild command(s)
87
- ```
88
-
89
- Execution guidance:
90
- - Run this after updating version references so generated artifacts pick up the new version
91
- - If your project has no generated artifacts, document that explicitly in the project-specific skill
92
- - If the rebuild fails, stop the release process and fix the build first
93
-
94
- ### 6. Create Release Commit
95
-
96
- ```bash
97
- git add -A
98
- git commit -m "chore: release v{version}"
99
- ```
30
+ ## 4. Publish Separately
100
31
 
101
- ### 7. Create Git Tag
32
+ Only after explicit user authorization:
102
33
 
103
34
  ```bash
104
- git tag v{version}
35
+ agent-infra-internal release-workflow publish {version}
105
36
  ```
106
37
 
107
- ### 8. Manage Milestones
108
-
109
- Close the milestone for the released version when it exists, and create the missing planning milestones for the next cycle.
110
-
111
- Run:
112
-
113
- ```bash
114
- bash .agents/skills/release/scripts/manage-milestones.sh "$MAJOR" "$MINOR" "$PATCH"
115
- ```
116
-
117
- The script is responsible for:
118
- - Read `.agents/rules/label-milestone-setup.md` before this step
119
- - Use its milestone list and update commands to load and adjust current milestones
120
- - Closing `{MAJOR}.{MINOR}.{PATCH}` when it exists and is still open
121
- - Ensuring `{MAJOR}.{MINOR}.{PATCH+1}` and `{MAJOR}.{MINOR}.x` exist
122
- - When `PATCH=0`, also ensuring `{MAJOR}.{MINOR+1}.0` and `{MAJOR}.{MINOR+1}.x`
123
- - Printing a milestone summary with the released milestone action and new milestone count
124
-
125
- ### 9. Output Summary
126
-
127
- > **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
128
-
129
- ```
130
- Release v{version} prepared.
131
-
132
- Release info:
133
- - Version: {version}
134
- - Release commit: {commit-hash}
135
- - Tag: v{version}
136
-
137
- Files updated: {count}
138
-
139
- Next steps (manual):
140
-
141
- 1. Push branch:
142
- git push origin {current-branch}
143
-
144
- 2. Push tag:
145
- git push origin v{version}
146
-
147
- 3. (Optional) Generate release notes:
148
- - Claude Code / OpenCode: /create-release-note {version}
149
- - Gemini CLI: /{{project}}:create-release-note {version}
150
- - Codex CLI: $create-release-note {version}
151
-
152
- 4. (Optional) Run post-release follow-up tasks:
153
- - Claude Code / OpenCode: /post-release
154
- - Gemini CLI: /{{project}}:post-release
155
- - Codex CLI: $post-release
156
- ```
157
-
158
- ### Rollback Instructions
159
-
160
- If something went wrong:
161
- ```bash
162
- # Delete tag
163
- git tag -d v{version}
164
-
165
- # Reset commit
166
- git reset --soft HEAD~1
167
-
168
- # Restore files
169
- git checkout -- .
170
- ```
171
-
172
- ## Notes
173
-
174
- 1. **Clean workspace required**: Must have no uncommitted changes
175
- 2. **No auto-push**: All operations are local only; user pushes manually
176
- 3. **Pre-release verification**: Replace the Step 3 TODOs with the branch, test, and validation commands your release process requires
177
- 4. **Generated artifacts**: Replace the Step 5 TODOs when version changes affect generated files, bundled assets, or embedded metadata
178
- 5. **Release automation**: If pushing a tag triggers CI/CD or package publishing, confirm the required credentials and pipeline settings first
179
- 6. **Version replacement scope**: Search determines which files to update; exclude AI tool directories
180
- 7. **Adapt to your project**: The version update and rebuild steps above are generic; customize them for your project's versioning scheme
181
- 8. **Milestone coordination**: Releases should create the next planning milestones automatically; initialize the taxonomy first with `init-milestones` when needed
38
+ Push refs normally, preserve partial success for replay, and never force push.
182
39
 
183
- ## Error Handling
40
+ ## 5. Report Facts
184
41
 
185
- - Invalid version format: Prompt correct format and exit
186
- - Dirty workspace: Prompt to commit or stash
187
- - Verification failure: Display the failing check and stop the release
188
- - Artifact rebuild failure: Display the build error and stop the release
189
- - Git operation failure: Display error and provide rollback instructions
42
+ Show the snapshot and every TUI command. Treat unknown external state as blocked.