@fitlab-ai/agent-infra 0.8.4 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.ts +2 -2
- package/dist/bin/cli.js +2 -2
- package/dist/bin/internal-cli.js +98 -0
- package/dist/lib/decide.js +81 -90
- package/dist/lib/defaults.json +9 -0
- package/dist/lib/git/review-snapshot.js +79 -0
- package/dist/lib/git/workflow.js +101 -0
- package/dist/lib/init.js +5 -0
- package/dist/lib/internal/git-workflow.js +42 -0
- package/dist/lib/internal/platform-checks.js +119 -0
- package/dist/lib/internal/platform-comment.js +129 -0
- package/dist/lib/internal/platform-context.js +46 -0
- package/dist/lib/internal/platform-issue.js +142 -0
- package/dist/lib/internal/platform-pr.js +146 -0
- package/dist/lib/internal/release-workflow.js +217 -0
- package/dist/lib/internal/task-artifact.js +67 -0
- package/dist/lib/internal/task-context.js +43 -0
- package/dist/lib/internal/task-event.js +70 -0
- package/dist/lib/internal/task-ledger.js +114 -0
- package/dist/lib/internal/task-lifecycle.js +58 -0
- package/dist/lib/internal/task-short-id.js +83 -0
- package/dist/lib/internal/task-snapshot.js +47 -0
- package/dist/lib/internal/task-verify.js +50 -0
- package/dist/lib/internal/task-warning.js +74 -0
- package/dist/lib/platform/adapters.js +14 -0
- package/dist/lib/platform/context.js +146 -0
- package/dist/lib/platform/github-client.js +124 -0
- package/dist/lib/platform/issue-comments.js +409 -0
- package/dist/lib/platform/issue-metadata.js +183 -0
- package/dist/lib/platform/issues.js +617 -0
- package/dist/lib/platform/metadata-labels.js +28 -0
- package/dist/lib/platform/pr-checks.js +216 -0
- package/dist/lib/platform/pr-summary.js +88 -0
- package/dist/lib/platform/pull-request-metadata.js +38 -0
- package/dist/lib/platform/pull-requests.js +338 -0
- package/dist/lib/platform/releases.js +82 -0
- package/dist/lib/platform/types.js +22 -0
- package/dist/lib/platform/verification-required.js +78 -0
- package/dist/lib/platform/verification-sync.js +1014 -0
- package/dist/lib/platform/verification.js +6 -0
- package/dist/lib/release/channels.js +31 -0
- package/dist/lib/release/workflow.js +32 -0
- package/dist/lib/render.js +3 -2
- package/dist/lib/run/index.js +24 -7
- package/dist/lib/sandbox/capture.js +25 -3
- package/dist/lib/sandbox/commands/create.js +66 -26
- package/dist/lib/sandbox/commands/enter.js +34 -11
- package/dist/lib/sandbox/commands/list-running.js +10 -8
- package/dist/lib/sandbox/commands/show.js +2 -2
- package/dist/lib/sandbox/commands/start.js +53 -15
- package/dist/lib/sandbox/engine.js +33 -3
- package/dist/lib/sandbox/engines/colima.js +2 -2
- package/dist/lib/sandbox/index.js +6 -6
- package/dist/lib/sandbox/mounts.js +36 -0
- package/dist/lib/sandbox/recovery.js +562 -0
- package/dist/lib/sandbox/runtimes/base.dockerfile +4 -0
- package/dist/lib/sandbox/task-resolver.js +5 -1
- package/dist/lib/sandbox/tools.js +19 -0
- package/dist/lib/server/daemon.js +9 -0
- package/dist/lib/server/process-control.js +66 -73
- package/dist/lib/server/process-state.js +168 -0
- package/dist/lib/server/protocol.js +5 -5
- package/dist/lib/task/activity-log.js +61 -0
- package/dist/lib/task/artifact-lifecycle.js +427 -0
- package/dist/lib/task/command-options.js +30 -0
- package/dist/lib/task/commands/cat.js +36 -6
- package/dist/lib/task/commands/decisions.js +80 -46
- package/dist/lib/task/commands/files.js +21 -7
- package/dist/lib/task/commands/grep.js +55 -7
- package/dist/lib/task/commands/issue-body.js +23 -14
- package/dist/lib/task/commands/log.js +27 -70
- package/dist/lib/task/commands/show.js +20 -7
- package/dist/lib/task/commands/status.js +18 -8
- package/dist/lib/task/decision-intents.js +154 -0
- package/dist/lib/task/decision-items.js +53 -0
- package/dist/lib/task/events.js +318 -0
- package/dist/lib/task/frontmatter.js +159 -1
- package/dist/lib/task/implementation-inputs.js +117 -0
- package/dist/lib/task/index.js +12 -9
- package/dist/lib/task/issue-form.js +19 -6
- package/dist/lib/task/ledger-intents.js +185 -0
- package/dist/lib/task/ledger.js +65 -35
- package/dist/lib/task/lifecycle.js +484 -0
- package/dist/lib/task/resolve-ref.js +152 -32
- package/dist/lib/task/review-artifacts.js +101 -0
- package/dist/lib/task/review-fingerprint.js +46 -0
- package/dist/lib/task/sections.js +358 -4
- package/dist/lib/task/short-id.js +292 -7
- package/dist/lib/task/snapshot.js +95 -0
- package/dist/lib/task/verification-checks.js +8 -0
- package/dist/lib/task/verification-config.js +14 -0
- package/dist/lib/task/verification-engine.js +906 -0
- package/dist/lib/task/verification-review.js +3 -0
- package/dist/lib/task/verification-types.js +2 -0
- package/dist/lib/task/verification.js +113 -0
- package/dist/lib/task/workflow-warning-intents.js +131 -0
- package/dist/lib/task/workflow-warnings.js +10 -78
- package/dist/lib/task/write.js +241 -0
- package/dist/lib/update.js +2 -0
- package/lib/decide.ts +57 -97
- package/lib/defaults.json +9 -0
- package/lib/git/review-snapshot.ts +73 -0
- package/lib/git/workflow.ts +101 -0
- package/lib/init.ts +9 -0
- package/lib/internal/git-workflow.ts +37 -0
- package/lib/internal/platform-checks.ts +101 -0
- package/lib/internal/platform-comment.ts +99 -0
- package/lib/internal/platform-context.ts +33 -0
- package/lib/internal/platform-issue.ts +116 -0
- package/lib/internal/platform-pr.ts +119 -0
- package/lib/internal/release-workflow.ts +186 -0
- package/lib/internal/task-artifact.ts +47 -0
- package/lib/internal/task-context.ts +35 -0
- package/lib/internal/task-event.ts +51 -0
- package/lib/internal/task-ledger.ts +86 -0
- package/lib/internal/task-lifecycle.ts +41 -0
- package/lib/internal/task-short-id.ts +55 -0
- package/lib/internal/task-snapshot.ts +32 -0
- package/lib/internal/task-verify.ts +33 -0
- package/lib/internal/task-warning.ts +50 -0
- package/lib/platform/adapters.ts +30 -0
- package/lib/platform/context.ts +164 -0
- package/lib/platform/github-client.ts +146 -0
- package/lib/platform/issue-comments.ts +479 -0
- package/lib/platform/issue-metadata.ts +250 -0
- package/lib/platform/issues.ts +691 -0
- package/lib/platform/metadata-labels.ts +33 -0
- package/lib/platform/pr-checks.ts +246 -0
- package/lib/platform/pr-summary.ts +90 -0
- package/lib/platform/pull-request-metadata.ts +69 -0
- package/lib/platform/pull-requests.ts +380 -0
- package/lib/platform/releases.ts +71 -0
- package/lib/platform/types.ts +74 -0
- package/lib/platform/verification-required.ts +83 -0
- package/{templates/.agents/scripts/platform-adapters/platform-sync.github.js → lib/platform/verification-sync.ts} +221 -363
- package/lib/platform/verification.ts +11 -0
- package/lib/release/channels.ts +30 -0
- package/lib/release/workflow.ts +31 -0
- package/lib/render.ts +3 -2
- package/lib/run/index.ts +25 -7
- package/lib/sandbox/capture.ts +29 -3
- package/lib/sandbox/commands/create.ts +75 -28
- package/lib/sandbox/commands/enter.ts +38 -11
- package/lib/sandbox/commands/list-running.ts +10 -8
- package/lib/sandbox/commands/show.ts +2 -2
- package/lib/sandbox/commands/start.ts +50 -16
- package/lib/sandbox/engine.ts +37 -3
- package/lib/sandbox/engines/colima.ts +2 -2
- package/lib/sandbox/index.ts +6 -6
- package/lib/sandbox/mounts.ts +55 -0
- package/lib/sandbox/recovery.ts +828 -0
- package/lib/sandbox/runtimes/base.dockerfile +4 -0
- package/lib/sandbox/task-resolver.ts +5 -1
- package/lib/sandbox/tools.ts +31 -0
- package/lib/server/daemon.ts +9 -0
- package/lib/server/process-control.ts +70 -71
- package/lib/server/process-state.ts +183 -0
- package/lib/server/protocol.ts +5 -5
- package/lib/task/activity-log.ts +62 -0
- package/lib/task/artifact-lifecycle.ts +484 -0
- package/lib/task/command-options.ts +32 -0
- package/lib/task/commands/cat.ts +22 -9
- package/lib/task/commands/decisions.ts +49 -47
- package/lib/task/commands/files.ts +14 -6
- package/lib/task/commands/grep.ts +34 -7
- package/lib/task/commands/issue-body.ts +16 -16
- package/lib/task/commands/log.ts +17 -70
- package/lib/task/commands/show.ts +14 -6
- package/lib/task/commands/status.ts +17 -7
- package/lib/task/decision-intents.ts +163 -0
- package/lib/task/decision-items.ts +64 -0
- package/lib/task/events.ts +320 -0
- package/lib/task/frontmatter.ts +202 -2
- package/lib/task/implementation-inputs.ts +137 -0
- package/lib/task/index.ts +12 -9
- package/lib/task/issue-form.ts +20 -6
- package/lib/task/ledger-intents.ts +201 -0
- package/lib/task/ledger.ts +77 -31
- package/lib/task/lifecycle.ts +458 -0
- package/lib/task/resolve-ref.ts +197 -36
- package/{templates/.agents/scripts/lib/review-artifacts.js → lib/task/review-artifacts.ts} +11 -12
- package/{templates/.agents/scripts/lib/post-review-commit.js → lib/task/review-fingerprint.ts} +20 -10
- package/lib/task/sections.ts +486 -4
- package/lib/task/short-id.ts +403 -9
- package/lib/task/snapshot.ts +143 -0
- package/lib/task/verification-checks.ts +9 -0
- package/lib/task/verification-config.ts +20 -0
- package/{templates/.agents/scripts/validate-artifact.js → lib/task/verification-engine.ts} +257 -451
- package/lib/task/verification-review.ts +9 -0
- package/lib/task/verification-types.ts +29 -0
- package/lib/task/verification.ts +156 -0
- package/lib/task/workflow-warning-intents.ts +142 -0
- package/lib/task/workflow-warnings.ts +10 -78
- package/lib/task/write.ts +468 -0
- package/lib/update.ts +6 -0
- package/package.json +5 -2
- package/templates/.agents/README.en.md +6 -3
- package/templates/.agents/README.zh-CN.md +6 -3
- package/templates/.agents/rules/README.en.md +6 -5
- package/templates/.agents/rules/README.zh-CN.md +6 -5
- package/templates/.agents/rules/create-issue.en.md +1 -1
- package/templates/.agents/rules/create-issue.github.en.md +5 -184
- package/templates/.agents/rules/create-issue.github.zh-CN.md +12 -178
- package/templates/.agents/rules/create-issue.zh-CN.md +1 -1
- package/templates/.agents/rules/human-decision-context.en.md +36 -0
- package/templates/.agents/rules/human-decision-context.zh-CN.md +36 -0
- package/templates/.agents/rules/issue-fields.github.en.md +4 -148
- package/templates/.agents/rules/issue-fields.github.zh-CN.md +9 -144
- package/templates/.agents/rules/issue-pr-commands.en.md +43 -3
- package/templates/.agents/rules/issue-pr-commands.github.en.md +15 -220
- package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +23 -213
- package/templates/.agents/rules/issue-pr-commands.zh-CN.md +45 -3
- package/templates/.agents/rules/issue-sync.en.md +1 -1
- package/templates/.agents/rules/issue-sync.github.en.md +14 -301
- package/templates/.agents/rules/issue-sync.github.zh-CN.md +36 -287
- package/templates/.agents/rules/issue-sync.zh-CN.md +1 -1
- package/templates/.agents/rules/milestone-inference.en.md +1 -1
- package/templates/.agents/rules/milestone-inference.github.en.md +7 -119
- package/templates/.agents/rules/milestone-inference.github.zh-CN.md +8 -108
- package/templates/.agents/rules/milestone-inference.zh-CN.md +1 -1
- package/templates/.agents/rules/next-step-output.en.md +12 -11
- package/templates/.agents/rules/next-step-output.zh-CN.md +12 -11
- package/templates/.agents/rules/no-mid-flow-questions.en.md +3 -3
- package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +3 -3
- package/templates/.agents/rules/pr-checks-commands.en.md +16 -3
- package/templates/.agents/rules/pr-checks-commands.github.en.md +10 -54
- package/templates/.agents/rules/pr-checks-commands.github.zh-CN.md +19 -47
- package/templates/.agents/rules/pr-checks-commands.zh-CN.md +30 -3
- package/templates/.agents/rules/pr-sync.en.md +30 -3
- package/templates/.agents/rules/pr-sync.github.en.md +12 -115
- package/templates/.agents/rules/pr-sync.github.zh-CN.md +26 -104
- package/templates/.agents/rules/pr-sync.zh-CN.md +43 -3
- package/templates/.agents/rules/review-handshake.en.md +13 -9
- package/templates/.agents/rules/review-handshake.zh-CN.md +13 -9
- package/templates/.agents/rules/task-management.en.md +11 -2
- package/templates/.agents/rules/task-management.zh-CN.md +11 -3
- package/templates/.agents/rules/task-short-id.en.md +25 -29
- package/templates/.agents/rules/task-short-id.zh-CN.md +20 -23
- package/templates/.agents/scripts/lib/agent-infra-package.js +141 -0
- package/templates/.agents/scripts/task-short-id.js +71 -533
- package/templates/.agents/skills/analyze-task/SKILL.en.md +22 -55
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +26 -59
- package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -3
- package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/block-task/SKILL.en.md +21 -47
- package/templates/.agents/skills/block-task/SKILL.zh-CN.md +23 -47
- package/templates/.agents/skills/block-task/config/verify.json +1 -2
- package/templates/.agents/skills/cancel-task/SKILL.en.md +16 -45
- package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +16 -45
- package/templates/.agents/skills/cancel-task/config/verify.json +1 -2
- package/templates/.agents/skills/check-task/SKILL.en.md +6 -3
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +6 -3
- package/templates/.agents/skills/close-codescan/SKILL.en.md +6 -24
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +6 -24
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +6 -24
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +6 -24
- package/templates/.agents/skills/code-task/SKILL.en.md +22 -35
- package/templates/.agents/skills/code-task/SKILL.zh-CN.md +28 -44
- package/templates/.agents/skills/code-task/config/verify.en.json +3 -3
- package/templates/.agents/skills/code-task/config/verify.zh-CN.json +3 -3
- package/templates/.agents/skills/code-task/reference/dual-mode.en.md +13 -9
- package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +13 -9
- package/templates/.agents/skills/code-task/reference/fix-mode.en.md +1 -1
- package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +1 -1
- package/templates/.agents/skills/code-task/reference/report-template.en.md +11 -1
- package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +11 -1
- package/templates/.agents/skills/commit/SKILL.en.md +18 -14
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +18 -14
- package/templates/.agents/skills/commit/config/verify.json +1 -2
- package/templates/.agents/skills/commit/reference/commit-message.en.md +1 -11
- package/templates/.agents/skills/commit/reference/commit-message.zh-CN.md +1 -11
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +4 -8
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +4 -8
- package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +6 -18
- package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +5 -17
- package/templates/.agents/skills/commit/reference/task-status-update.en.md +42 -2
- package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +42 -2
- package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +13 -36
- package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +13 -36
- package/templates/.agents/skills/complete-manual-validation/config/verify.en.json +1 -3
- package/templates/.agents/skills/complete-manual-validation/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +10 -54
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +10 -79
- package/templates/.agents/skills/complete-task/SKILL.en.md +59 -63
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +59 -63
- package/templates/.agents/skills/complete-task/config/verify.en.json +11 -6
- package/templates/.agents/skills/complete-task/config/verify.zh-CN.json +11 -6
- package/templates/.agents/skills/create-pr/SKILL.en.md +19 -44
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +19 -43
- package/templates/.agents/skills/create-pr/config/verify.json +1 -2
- package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +8 -12
- package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +7 -11
- package/templates/.agents/skills/create-task/SKILL.en.md +12 -13
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +12 -13
- package/templates/.agents/skills/create-task/config/verify.json +1 -2
- package/templates/.agents/skills/import-codescan/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-codescan/config/verify.json +1 -2
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-dependabot/config/verify.json +1 -2
- package/templates/.agents/skills/import-issue/SKILL.en.md +9 -13
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +10 -14
- package/templates/.agents/skills/import-issue/config/verify.json +1 -2
- package/templates/.agents/skills/init-milestones/SKILL.en.md +2 -2
- package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/init-milestones/scripts/init-milestones.github.sh +5 -4
- package/templates/.agents/skills/plan-task/SKILL.en.md +17 -42
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +22 -49
- package/templates/.agents/skills/plan-task/config/verify.en.json +1 -3
- package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/post-release/SKILL.en.md +11 -81
- package/templates/.agents/skills/post-release/SKILL.zh-CN.md +8 -78
- package/templates/.agents/skills/refine-title/SKILL.en.md +1 -1
- package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/release/SKILL.en.md +16 -163
- package/templates/.agents/skills/release/SKILL.zh-CN.md +15 -162
- package/templates/.agents/skills/restore-task/SKILL.en.md +11 -29
- package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +11 -29
- package/templates/.agents/skills/restore-task/config/verify.json +1 -2
- package/templates/.agents/skills/review-analysis/SKILL.en.md +13 -25
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +13 -33
- package/templates/.agents/skills/review-analysis/config/verify.en.json +3 -4
- package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +3 -4
- package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +9 -12
- package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +9 -12
- package/templates/.agents/skills/review-analysis/reference/report-template.en.md +9 -2
- package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +9 -2
- package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/review-code/SKILL.en.md +22 -36
- package/templates/.agents/skills/review-code/SKILL.zh-CN.md +23 -41
- package/templates/.agents/skills/review-code/config/verify.en.json +5 -5
- package/templates/.agents/skills/review-code/config/verify.zh-CN.json +5 -5
- package/templates/.agents/skills/review-code/reference/output-templates.en.md +56 -18
- package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +56 -18
- package/templates/.agents/skills/review-code/reference/report-template.en.md +12 -4
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +12 -4
- package/templates/.agents/skills/review-code/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/review-plan/SKILL.en.md +13 -25
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +13 -33
- package/templates/.agents/skills/review-plan/config/verify.en.json +3 -4
- package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +3 -4
- package/templates/.agents/skills/review-plan/reference/output-templates.en.md +9 -12
- package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +9 -12
- package/templates/.agents/skills/review-plan/reference/report-template.en.md +9 -2
- package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +9 -2
- package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/update-agent-infra/SKILL.en.md +6 -3
- package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +6 -3
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +177 -151
- package/templates/.agents/skills/watch-pr/SKILL.en.md +24 -14
- package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +25 -15
- package/templates/.agents/skills/watch-pr/config/verify.json +1 -2
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +2 -2
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +2 -2
- package/templates/.agents/templates/task.en.md +6 -1
- package/templates/.agents/templates/task.zh-CN.md +6 -1
- package/templates/.claude/commands/analyze-task.en.md +1 -1
- package/templates/.claude/commands/analyze-task.zh-CN.md +1 -1
- package/templates/.claude/commands/block-task.en.md +1 -1
- package/templates/.claude/commands/block-task.zh-CN.md +1 -1
- package/templates/.claude/commands/cancel-task.en.md +1 -1
- package/templates/.claude/commands/cancel-task.zh-CN.md +1 -1
- package/templates/.claude/commands/check-task.en.md +1 -1
- package/templates/.claude/commands/check-task.zh-CN.md +1 -1
- package/templates/.claude/commands/code-task.en.md +1 -1
- package/templates/.claude/commands/code-task.zh-CN.md +1 -1
- package/templates/.claude/commands/commit.en.md +1 -0
- package/templates/.claude/commands/commit.zh-CN.md +1 -0
- package/templates/.claude/commands/complete-manual-validation.en.md +1 -1
- package/templates/.claude/commands/complete-manual-validation.zh-CN.md +1 -1
- package/templates/.claude/commands/complete-task.en.md +1 -1
- package/templates/.claude/commands/complete-task.zh-CN.md +1 -1
- package/templates/.claude/commands/create-pr.en.md +1 -1
- package/templates/.claude/commands/create-pr.zh-CN.md +1 -1
- package/templates/.claude/commands/plan-task.en.md +1 -1
- package/templates/.claude/commands/plan-task.zh-CN.md +1 -1
- package/templates/.claude/commands/review-analysis.en.md +1 -1
- package/templates/.claude/commands/review-analysis.zh-CN.md +1 -1
- package/templates/.claude/commands/review-code.en.md +1 -1
- package/templates/.claude/commands/review-code.zh-CN.md +1 -1
- package/templates/.claude/commands/review-plan.en.md +1 -1
- package/templates/.claude/commands/review-plan.zh-CN.md +1 -1
- package/templates/.claude/commands/watch-pr.en.md +1 -1
- package/templates/.claude/commands/watch-pr.zh-CN.md +1 -1
- package/templates/.gemini/commands/_project_/analyze-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/analyze-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/block-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/block-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/cancel-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/cancel-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/check-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/check-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/code-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/code-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/commit.en.toml +4 -0
- package/templates/.gemini/commands/_project_/commit.zh-CN.toml +4 -0
- package/templates/.gemini/commands/_project_/complete-manual-validation.en.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-manual-validation.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/create-pr.en.toml +2 -0
- package/templates/.gemini/commands/_project_/create-pr.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/plan-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/plan-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-analysis.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-analysis.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-code.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-code.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-plan.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-plan.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/watch-pr.en.toml +2 -0
- package/templates/.gemini/commands/_project_/watch-pr.zh-CN.toml +2 -0
- package/templates/.git-hooks/check-large-files.cjs +92 -0
- package/templates/.git-hooks/check-version-format.sh +5 -1
- package/templates/.git-hooks/pre-commit +1 -0
- package/templates/.opencode/commands/analyze-task.en.md +1 -1
- package/templates/.opencode/commands/analyze-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/check-task.en.md +1 -1
- package/templates/.opencode/commands/check-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/code-task.en.md +1 -1
- package/templates/.opencode/commands/code-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/commit.en.md +2 -0
- package/templates/.opencode/commands/commit.zh-CN.md +2 -0
- package/templates/.opencode/commands/complete-task.en.md +1 -1
- package/templates/.opencode/commands/complete-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/plan-task.en.md +1 -1
- package/templates/.opencode/commands/plan-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-analysis.en.md +1 -1
- package/templates/.opencode/commands/review-analysis.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-code.en.md +1 -1
- package/templates/.opencode/commands/review-code.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-plan.en.md +1 -1
- package/templates/.opencode/commands/review-plan.zh-CN.md +1 -1
- package/templates/.agents/scripts/platform-adapters/platform-sync.js +0 -13
- package/templates/.agents/scripts/review-diff-fingerprint.js +0 -99
- package/templates/.agents/scripts/workflow-warnings.js +0 -290
- package/templates/.agents/skills/code-task/scripts/detect-mode.js +0 -257
- package/templates/.agents/skills/release/scripts/manage-milestones.github.sh +0 -80
- package/templates/.agents/skills/release/scripts/manage-milestones.sh +0 -6
|
@@ -3,6 +3,7 @@ name: plan-task
|
|
|
3
3
|
description: >
|
|
4
4
|
Design a technical plan for a task.
|
|
5
5
|
Use when a requirement is understood and you need a technical design before coding.
|
|
6
|
+
Only invoke this skill automatically when the conversation includes a resolvable task reference.
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# Design Technical Plan
|
|
@@ -22,26 +23,20 @@ After loading workflow / skill / rules instructions, and before any task-state j
|
|
|
22
23
|
Run these commands and paste the raw output into both the user-facing reply and this round's `## State Check` section:
|
|
23
24
|
|
|
24
25
|
```bash
|
|
25
|
-
|
|
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
|
Before the state check is complete, do not make external-state assertions such as "the code is unchanged", "tests passed", or "there are no other references", including in reasoning. This gate is only a structural floor; evidence pairing and authenticity still require the report template and review discipline.
|
|
31
30
|
|
|
32
|
-
## Task
|
|
31
|
+
## Task Context Resolution
|
|
33
32
|
|
|
34
|
-
>
|
|
33
|
+
> The entry point may omit the task ref and also accepts a legacy positional ref or `--task <ref>` / `-t <ref>`. Separate task scope from the full arguments while preserving every business operand, then call `agent-infra-internal task-context resolve {task-scope}` where `{task-scope}` is empty, one positional ref, or one task flag. Read only `taskId` from the structured result and bind `{task-id}` to that full `TASK-YYYYMMDD-HHMMSS` for downstream commands. Pass through resolution failures without scanning tasks locally.
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
After prerequisites pass and before this round's first artifact action, append a started marker to task.md `## Activity Log` (same base action as this round's done entry plus a ` [started]` suffix, note `started`):
|
|
35
|
+
> Resolve the task reference, then confirm that the task is in a state or directory supported by this skill and that `task.md` exists; if it cannot be located, handle it as a missing task and stop.
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N}) [started]** by {agent} — started
|
|
42
|
-
```
|
|
37
|
+
## Step Start: Write the started Marker
|
|
43
38
|
|
|
44
|
-
|
|
39
|
+
After resolving the artifact context and before this round's first artifact action, run `agent-infra-internal task-event {task-id} plan.started --agent {agent}` and verify the returned `artifactContext`.
|
|
45
40
|
|
|
46
41
|
## Steps
|
|
47
42
|
|
|
@@ -55,16 +50,9 @@ Note: `{task-id}` format is `TASK-{yyyyMMdd-HHmmss}`, for example `TASK-20260306
|
|
|
55
50
|
|
|
56
51
|
If any required file is missing, prompt the user to complete the prerequisite step first.
|
|
57
52
|
|
|
58
|
-
### 2.
|
|
59
|
-
|
|
60
|
-
Scan `.agents/workspace/active/{task-id}/` for plan artifact files:
|
|
61
|
-
- If neither `plan.md` nor `plan-r*.md` exists -> this is Round 1 and must create `plan.md`
|
|
62
|
-
- If `plan.md` exists and no `plan-r*.md` exists -> this is Round 2 and must create `plan-r2.md`
|
|
63
|
-
- If `plan-r{N}.md` exists -> this is Round N+1 and must create `plan-r{N+1}.md`
|
|
53
|
+
### 2. Resolve the Artifact Context
|
|
64
54
|
|
|
65
|
-
|
|
66
|
-
- `{plan-round}`: the current plan round
|
|
67
|
-
- `{plan-artifact}`: the artifact filename for this round
|
|
55
|
+
Run `agent-infra-internal task-artifact {task-id} inspect --family plan`. Continue only for `ready`; take the latest `{analysis-artifact}` from `inputs` and `{plan-round}` / `{plan-artifact}` from `next.round` / `next.name`. Do not scan rounds or construct names in the skill. Then run the started event and verify the returned identity.
|
|
68
56
|
|
|
69
57
|
### 3. Read Requirements Analysis
|
|
70
58
|
|
|
@@ -78,7 +66,7 @@ Use it to understand:
|
|
|
78
66
|
- identified technical risks
|
|
79
67
|
- effort and complexity assessment
|
|
80
68
|
|
|
81
|
-
**Round ≥ 2: respond to the prior review (only when a review artifact exists)**: if the task directory contains `review-plan.md` / `review-plan-r{N}.md`, read the highest-round review report; add a `## Response to Prior Review` section
|
|
69
|
+
**Round ≥ 2: respond to the prior review (only when a review artifact exists)**: if the task directory contains `review-plan.md` / `review-plan-r{N}.md`, read the highest-round review report; add a `## Response to Prior Review` section and verify every finding before choosing `accepted` / `adjusted` / `refuted` / `cannot-judge`. Submit each response through `agent-infra-internal task-ledger {task-id} finding-respond --id {ledger-id} --round {plan-round} --status {state} --evidence {evidence}`. Record open disagreements under `## Open Questions`. Round 1 skips this section.
|
|
82
70
|
|
|
83
71
|
### 4. Understand the Problem
|
|
84
72
|
|
|
@@ -99,7 +87,7 @@ Follow the `technical-design` step in `.agents/workflows/feature-development.yam
|
|
|
99
87
|
- [ ] Define the verification strategy (tests, manual checks)
|
|
100
88
|
- [ ] Assess impact and risks
|
|
101
89
|
|
|
102
|
-
When this round introduces a new key design decision,
|
|
90
|
+
When this round introduces a new key design decision, first run `agent-infra-internal task-ledger {task-id} decision-next-id`, write the returned `HD-N` as a self-contained block under `## 人工裁决待办` (Pending Human Decisions) according to `.agents/rules/human-decision-context.md`, then run `decision-upsert --id {HD-N} --stage plan --artifact {plan-artifact}`. Ordinary open questions still go under `## Open Questions`.
|
|
103
91
|
|
|
104
92
|
**Design principles**:
|
|
105
93
|
1. **Architectural soundness**: choose the structurally correct approach; diff size is not the primary criterion. Do not pile changes onto an unsound structure just to keep the diff small
|
|
@@ -114,17 +102,7 @@ Create `.agents/workspace/active/{task-id}/{plan-artifact}`.
|
|
|
114
102
|
|
|
115
103
|
### 7. Update Task Status
|
|
116
104
|
|
|
117
|
-
Get the current time:
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
date "+%Y-%m-%d %H:%M:%S%z" | sed 's/\([+-][0-9][0-9]\)\([0-9][0-9]\)$/\1:\2/'
|
|
121
|
-
```
|
|
122
|
-
|
|
123
105
|
Update `.agents/workspace/active/{task-id}/task.md`:
|
|
124
|
-
- `current_step`: technical-design
|
|
125
|
-
- `assigned_to`: {current AI agent}
|
|
126
|
-
- `updated_at`: {current time}
|
|
127
|
-
- `agent_infra_version`: value from `.agents/rules/version-stamp.md`
|
|
128
106
|
- Record the plan artifact for this round: `{plan-artifact}` (Round `{plan-round}`)
|
|
129
107
|
- If the task template contains a `## Design` section, update it to link to `{plan-artifact}`
|
|
130
108
|
- Mark technical-design as complete in workflow progress and include the actual round when the task template supports it
|
|
@@ -132,24 +110,21 @@ Update `.agents/workspace/active/{task-id}/task.md`:
|
|
|
132
110
|
- Overwrite the `effort` field in frontmatter with the new value
|
|
133
111
|
- Append a `## Effort Re-estimate` section to this round's plan artifact `{plan-artifact}`, recording: `effort {old} → {new} (rationale: {short basis grounded in this plan})`
|
|
134
112
|
If the re-estimated value matches the current value, skip it: do not write the `## Effort Re-estimate` section. The Flow A sync that follows reads the possibly updated frontmatter and propagates the new value to the Issue automatically.
|
|
135
|
-
-
|
|
136
|
-
```
|
|
113
|
+
After the business fields are updated, run `agent-infra-internal task-event {task-id} plan.completed --agent {agent} --artifact {plan-artifact}` so the core atomically records the link, stage, agent, metadata, and Activity Log.
|
|
137
114
|
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N})** by {agent} — Plan completed, awaiting human review → {artifact-filename}
|
|
138
115
|
```
|
|
139
116
|
|
|
140
117
|
If task.md contains a valid `issue_number`, perform these sync actions (skip and continue on any failure):
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
- Publish the `{plan-artifact}` comment
|
|
145
|
-
- Read `.agents/rules/issue-fields.md` and follow Flow A to sync every non-empty Issue field (`priority`/`effort`/`start_date`/`target_date`) from `task.md` to the Issue (idempotent; skip without blocking when `has_push=false` or the fetch/write fails)
|
|
118
|
+
- Run `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status pending-design-work --fields`
|
|
119
|
+
- Run `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
|
|
120
|
+
- Run `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {plan-artifact} --agent {agent}`
|
|
146
121
|
|
|
147
122
|
### 8. Verification Gate
|
|
148
123
|
|
|
149
124
|
Run the verification gate to confirm the task artifact and sync state are valid:
|
|
150
125
|
|
|
151
126
|
```bash
|
|
152
|
-
|
|
127
|
+
agent-infra-internal task-verify {task-id} plan.completed --artifact {plan-artifact} --format text
|
|
153
128
|
```
|
|
154
129
|
|
|
155
130
|
Handle the result as follows:
|
|
@@ -163,7 +138,7 @@ Keep the gate output in your reply as fresh evidence. Do not claim completion wi
|
|
|
163
138
|
|
|
164
139
|
> Execute this step only after the verification gate passes.
|
|
165
140
|
|
|
166
|
-
> **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). Before rendering the final output, read `.agents/rules/next-step-output.md` and apply both of its rules: (1) render `{task-ref}` in the "Next steps" commands as the short id
|
|
141
|
+
> **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). Before rendering the final output, read `.agents/rules/next-step-output.md` and apply both of its rules: (1) render `{task-ref}` in the "Next steps" commands as the short id `NN` (falling back to the full TASK-id when unallocated or released); (2) append the `Completed at` line as the very last line of the user-facing output (this applies to every user-facing output — success, error, and early-return paths alike, not only the success path).
|
|
167
142
|
|
|
168
143
|
Output format:
|
|
169
144
|
```
|
|
@@ -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
|
-
|
|
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
|
-
>
|
|
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
|
-
|
|
35
|
+
> 解析任务引用,并确认任务位于本技能支持的状态或目录且存在 `task.md`;无法定位时按未找到任务处理并停止。
|
|
37
36
|
|
|
38
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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`
|
|
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
|
-
-
|
|
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
|
-
-
|
|
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
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
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
|
-
|
|
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}` 渲染为短号
|
|
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
|
|
5
|
-
Use
|
|
4
|
+
Run post-release processing.
|
|
5
|
+
Use after a version has been published and needs finalization.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Post-release
|
|
8
|
+
# Post-release
|
|
9
9
|
|
|
10
|
-
|
|
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
|
-
|
|
13
|
+
agent-infra-internal release-workflow inspect {version}
|
|
49
14
|
```
|
|
50
15
|
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
26
|
+
## 3. Report the Snapshot
|
|
93
27
|
|
|
94
|
-
|
|
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
|
-
|
|
13
|
+
agent-infra-internal release-workflow inspect {version}
|
|
49
14
|
```
|
|
50
15
|
|
|
51
|
-
|
|
52
|
-
- 如果项目没有生成产物,请在项目特化版本中删除此步骤
|
|
16
|
+
pending/unknown 必须 blocked,确定失败必须 failed。
|
|
53
17
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<!-- TODO: 添加项目特定的发布后任务,例如录制演示、发布文档站或通知下游 -->
|
|
57
|
-
|
|
58
|
-
- 示例:录制终端演示、刷新文档站、通知下游团队、更新发布面板
|
|
59
|
-
- 如果这一步里的任务需要显示或捕获刚发布的版本号(例如录制 CLI 演示),把它挪到**第 3 步「准备下一个开发版本」之前**——否则会反映下一个开发版本号,而不是 released 版本号
|
|
60
|
-
- 如果没有额外任务,请在项目特化版本中删除此步骤
|
|
61
|
-
|
|
62
|
-
### 6. 创建后处理提交
|
|
18
|
+
## 2. 执行后处理
|
|
63
19
|
|
|
64
20
|
```bash
|
|
65
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|