@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
|
@@ -13,15 +13,9 @@ Dismiss the specified Dependabot security alert and record a justified reason.
|
|
|
13
13
|
|
|
14
14
|
> If `{task-id}` matches `^[#]?[0-9]+$` (bare numeric or `#`-prefixed), follow the "SKILL parameter resolver" section of `.agents/rules/task-short-id.md`; treat `{task-id}` as the resolved full `TASK-YYYYMMDD-HHMMSS` form for every downstream command.
|
|
15
15
|
|
|
16
|
-
## Step Start:
|
|
16
|
+
## Step Start: Local Lifecycle Boundary
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Close Dependabot [started]** by {agent} — started
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
`ai task log` pairs it with the done entry written on completion onto one row (in progress → done). See the "Activity Log started / done dual-marker convention" in `.agents/rules/task-management.md`.
|
|
18
|
+
The skill still owns the security-alert API. When a related task exists, Step 7 declares exactly one local lifecycle intent that commits base metadata, the log pair, archival placement, and short-id handling.
|
|
25
19
|
|
|
26
20
|
## Execution Flow
|
|
27
21
|
|
|
@@ -93,27 +87,17 @@ Dismiss the alert by following the Dependabot dismiss command in `.agents/rules/
|
|
|
93
87
|
### 7. Record in the Task (If Any)
|
|
94
88
|
|
|
95
89
|
If a related task exists (search for `security_alert_number: <alert-number>`):
|
|
96
|
-
Get the current time:
|
|
97
90
|
|
|
98
91
|
```bash
|
|
99
|
-
|
|
92
|
+
agent-infra-internal task-lifecycle {task-id} close-dependabot --agent {agent} \
|
|
93
|
+
--alert-number {alert-number} --reason "{reason}"
|
|
100
94
|
```
|
|
101
95
|
|
|
102
|
-
-
|
|
103
|
-
- **Append** to `## Activity Log` (do NOT overwrite previous entries):
|
|
104
|
-
```
|
|
105
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Close Dependabot** by {agent} — Dependabot alert #{alert-number} dismissed: {reason}
|
|
106
|
-
```
|
|
107
|
-
- Archive the task
|
|
108
|
-
- **Release short id** (after the archive `mv` succeeded; the script is idempotent):
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
node .agents/scripts/task-short-id.js release "$task_id" || true
|
|
112
|
-
```
|
|
96
|
+
Only `status=applied|no-op` means local archival completed. If the API dismissal succeeded but lifecycle returns `failed`, explicitly report that remote is dismissed while local recovery remains, show recovery steps, and retry the same intent. Do not hand-edit task.md, move directories, or release the short id.
|
|
113
97
|
|
|
114
98
|
### 8. Inform User
|
|
115
99
|
|
|
116
|
-
> **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
|
|
100
|
+
> **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).
|
|
117
101
|
|
|
118
102
|
> **Optional sandbox-cleanup hint (gated)**: Render the "Optional: clean up this task's sandbox" block — placed after the "Note:" line and before "Next step" in the output below — only when ALL of (1) `.agents/.airc.json` has a `sandbox` field, (2) step 7 located a related task by the alert number, and (3) that related task's task.md `branch` field exists and is not `main` / `master`; otherwise omit the whole block. `{branch}` is the `branch` value from the related task.md located in step 7. This block is independent of "Next step" semantics.
|
|
119
103
|
|
|
@@ -153,5 +137,3 @@ Next step - complete and archive the task if a related task exists:
|
|
|
153
137
|
- Already closed: output "Alert #{number} is already {state}"
|
|
154
138
|
- Permission error: output "No permission to modify alerts"
|
|
155
139
|
- User canceled: output "Cancellation acknowledged"
|
|
156
|
-
|
|
157
|
-
|
|
@@ -13,15 +13,9 @@ description: >
|
|
|
13
13
|
|
|
14
14
|
> 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## 步骤开始:本地生命周期边界
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Close Dependabot [started]** by {agent} — started
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
`ai task log` 会把它与完成时写入的 done 条目配对成一行(进行中 → 已完成)。约定见 `.agents/rules/task-management.md` 的「Activity Log started / done 双标记约定」。
|
|
18
|
+
安全告警 API 仍由本技能处理;若存在关联任务,步骤 7 只声明一个本地 lifecycle intent,由核心统一提交基础元数据、日志、归档目录和短号。
|
|
25
19
|
|
|
26
20
|
## 执行流程
|
|
27
21
|
|
|
@@ -93,27 +87,17 @@ CVE:{cve-id}
|
|
|
93
87
|
### 7. 记录到任务(如存在)
|
|
94
88
|
|
|
95
89
|
如果有关联任务(搜索 `security_alert_number: <alert-number>`):
|
|
96
|
-
获取当前时间:
|
|
97
90
|
|
|
98
91
|
```bash
|
|
99
|
-
|
|
92
|
+
agent-infra-internal task-lifecycle {task-id} close-dependabot --agent {agent} \
|
|
93
|
+
--alert-number {alert-number} --reason "{reason}"
|
|
100
94
|
```
|
|
101
95
|
|
|
102
|
-
-
|
|
103
|
-
- **追加**到 `## Activity Log`(不要覆盖之前的记录):
|
|
104
|
-
```
|
|
105
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Close Dependabot** by {agent} — Dependabot alert #{alert-number} dismissed: {reason}
|
|
106
|
-
```
|
|
107
|
-
- 归档任务
|
|
108
|
-
- **释放短号**(归档目录已 mv 成功,再 release;脚本幂等):
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
node .agents/scripts/task-short-id.js release "$task_id" || true
|
|
112
|
-
```
|
|
96
|
+
仅 `status=applied|no-op` 视为本地归档完成。若 API 已关闭但 lifecycle 返回 `failed`,必须明确报告“远端已关闭、本地待恢复”,展示 recovery steps,并以同一 intent 重试;不得手工更新 task.md、移动目录或释放短号。
|
|
113
97
|
|
|
114
98
|
### 8. 告知用户
|
|
115
99
|
|
|
116
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染最终输出前,先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令把 `{task-ref}` 渲染为短号
|
|
100
|
+
> **重要**:以下「下一步」中列出的所有 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` 收尾行(成功、错误、早退等任何面向用户输出都适用,不限于校验通过的成功态)。
|
|
117
101
|
|
|
118
102
|
> **可选沙箱清理提示(门控渲染)**:仅当同时满足 (1) `.agents/.airc.json` 存在 `sandbox` 字段、(2) 第 7 步按告警号定位到了关联任务、(3) 该关联任务 task.md 的 `branch` 字段存在且不是 `main` / `master` 时,才渲染下方输出中「注意:…」之后、「下一步」之前的「可选:清理本任务的沙箱」块;任一不满足则整段省略。`{branch}` 取第 7 步定位到的关联任务 task.md 的 `branch` 值。该块独立于「下一步」语义。
|
|
119
103
|
|
|
@@ -153,5 +137,3 @@ ai sandbox rm {branch}
|
|
|
153
137
|
- 已关闭:提示 "Alert #{number} is already {state}"
|
|
154
138
|
- 权限错误:提示 "No permission to modify alerts"
|
|
155
139
|
- 用户取消:提示 "Cancellation acknowledged"
|
|
156
|
-
|
|
157
|
-
|
|
@@ -3,17 +3,18 @@ name: code-task
|
|
|
3
3
|
description: >
|
|
4
4
|
Implement code from the technical plan and output a report.
|
|
5
5
|
Use when an approved technical plan needs implementing, or code review found issues to fix.
|
|
6
|
+
Only invoke this skill automatically when the conversation includes a resolvable task reference.
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# Code Task
|
|
9
10
|
|
|
10
|
-
Implement the approved plan and produce `code.md` or `code-r{N}.md`. This skill supports initial implementation
|
|
11
|
+
Implement the approved plan and produce `code.md` or `code-r{N}.md`. This skill supports initial implementation, fix mode based on `review-code` feedback, and human-decision-driven implementation.
|
|
11
12
|
|
|
12
13
|
## Boundary / Critical Rules
|
|
13
14
|
|
|
14
15
|
- Follow the latest plan artifact: `plan.md` or `plan-r{N}.md`
|
|
15
16
|
- Fix mode verifies each finding of the latest `review-code` one by one: fix it if it holds, or rebut it and record it under unresolved if it is unfounded/hallucinated; do not expand to issues the review did not list; manual-validation items are out of scope
|
|
16
|
-
- If implementation encounters a key design decision not covered by the plan,
|
|
17
|
+
- If implementation encounters a key design decision not covered by the plan, run `agent-infra-internal task-ledger {task-id} decision-next-id`, write the returned `HD-N` detail block per `.agents/rules/human-decision-context.md`, then run `decision-upsert --id {HD-N} --stage code --artifact {code-artifact}`. Do not scan ids, assemble ledger rows, ask mid-flow, or silently expand scope
|
|
17
18
|
- Never auto-run `git add` or `git commit`
|
|
18
19
|
- Create a new code artifact for each round and never overwrite an older one
|
|
19
20
|
- After executing this skill, you **must** immediately update task.md
|
|
@@ -27,24 +28,18 @@ After loading workflow / skill / rules instructions, and before any task-state j
|
|
|
27
28
|
Run these commands and paste the raw output into both the user-facing reply and this round's `## State Check` section:
|
|
28
29
|
|
|
29
30
|
```bash
|
|
30
|
-
|
|
31
|
-
ls -la .agents/workspace/active/{task-id}/
|
|
32
|
-
tail .agents/workspace/active/{task-id}/task.md
|
|
31
|
+
agent-infra-internal task-snapshot {task-id} --format text
|
|
33
32
|
```
|
|
34
33
|
|
|
35
|
-
## Task
|
|
34
|
+
## Task Context Resolution
|
|
36
35
|
|
|
37
|
-
>
|
|
36
|
+
> 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.
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
After prerequisites (step 1) and mode/round (step 4) are confirmed 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`):
|
|
38
|
+
> 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.
|
|
42
39
|
|
|
43
|
-
|
|
44
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Code Task (Round {N}) [started]** by {agent} — started
|
|
45
|
-
```
|
|
40
|
+
## Step Start: Write the started Marker
|
|
46
41
|
|
|
47
|
-
|
|
42
|
+
After prerequisites and mode are confirmed and before this round's first artifact action, run `agent-infra-internal task-event {task-id} code.started --agent {agent}`. Append `--fix-for {review-artifact}` in fix mode or `--implementation-input {input-id}` in decision mode. The core derives and validates the round and input identity; record the returned `artifactContext`.
|
|
48
43
|
|
|
49
44
|
## Steps
|
|
50
45
|
|
|
@@ -58,16 +53,16 @@ Read `reference/branch-management.md`, ensure the current branch matches the tas
|
|
|
58
53
|
|
|
59
54
|
### 3. Narrow the Milestone
|
|
60
55
|
|
|
61
|
-
**Mandatory; do not skip.** If task.md has a valid `issue_number`,
|
|
56
|
+
**Mandatory; do not skip.** If task.md has a valid `issue_number`, run `agent-infra-internal platform-issue sync {task-id} --agent {agent} --milestone specific`.
|
|
62
57
|
|
|
63
|
-
> If
|
|
58
|
+
> If the milestone remains `X.Y.x`, step 11 `task-verify code.completed` blocks through the typed milestone check.
|
|
64
59
|
|
|
65
60
|
### 4. Determine Mode and Round
|
|
66
61
|
|
|
67
62
|
Run mode detection and preserve its exit code:
|
|
68
63
|
|
|
69
64
|
```bash
|
|
70
|
-
result=$(
|
|
65
|
+
result=$(agent-infra-internal task-artifact {task-id} inspect --family code)
|
|
71
66
|
status=$?
|
|
72
67
|
echo "$result"
|
|
73
68
|
```
|
|
@@ -76,18 +71,19 @@ Dispatch by `$status` and `result.mode`:
|
|
|
76
71
|
|
|
77
72
|
- `0` + `"init"`: initial implementation; record `{code-artifact}` and `{code-round}`
|
|
78
73
|
- `0` + `"fix"`: fix mode; record `{code-artifact}`, `{code-round}`, and `{review-artifact}`
|
|
74
|
+
- `0` + `"decision"`: decision implementation mode; record `{code-artifact}`, `{code-round}`, `{input-id}`, `{decision-id}`, and `{decision-evidence}`
|
|
79
75
|
- `1` + `"refused"`: print `result.message`, stop, and do not write an artifact or Activity Log entry
|
|
80
76
|
- `2` + `"error"`: print `result.message`, stop, and do not write an artifact or Activity Log entry
|
|
81
77
|
|
|
82
78
|
> Read `reference/dual-mode.md` before this step.
|
|
83
79
|
|
|
84
|
-
### 5.
|
|
80
|
+
### 5. Read Structured Inputs
|
|
85
81
|
|
|
86
|
-
|
|
82
|
+
Use only the structured result from step 4: read the selected plan artifact and, in fix mode, the selected review artifact. Use `next.name` as `{code-artifact}` and `next.round` as `{code-round}`. In decision mode, take the unified identity from `implementation_input`, `decision_id`, and `decision_evidence`; do not rescan or construct identities in the skill.
|
|
87
83
|
|
|
88
84
|
### 6. Read the Technical Plan
|
|
89
85
|
|
|
90
|
-
Extract implementation steps, files, test strategy, constraints, risks, and approved tradeoffs.
|
|
86
|
+
Extract implementation steps, files, test strategy, constraints, risks, and approved tradeoffs. In decision mode, also read the `{input-id}` row and its `{decision-evidence}` record in task.md, and implement only that ruling's requested behavior change.
|
|
91
87
|
|
|
92
88
|
### 7. Implement the Code
|
|
93
89
|
|
|
@@ -111,30 +107,21 @@ Create `.agents/workspace/active/{task-id}/{code-artifact}`.
|
|
|
111
107
|
|
|
112
108
|
### 10. Update Task Status
|
|
113
109
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
date "+%Y-%m-%d %H:%M:%S%z" | sed 's/\([+-][0-9][0-9]\)\([0-9][0-9]\)$/\1:\2/'
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Set `current_step` to `code`, refresh task metadata, and append one Activity Log entry:
|
|
121
|
-
|
|
122
|
-
- initial implementation: `Code Task (Round {N})`
|
|
123
|
-
- fix mode: `Code Task (Round {N}, fix for {review-artifact})`
|
|
110
|
+
After requirement checkboxes are updated, run the initial event `agent-infra-internal task-event {task-id} code.completed --agent {agent} --artifact {code-artifact} --files-modified {n} --tests-passed {n}`; in fix mode use `--fix-for {review-artifact} --blockers {n} --major {n} --minor {n} --manual-validation {n}` instead; in decision mode add `--implementation-input {input-id}` to the initial counts. The core atomically records the artifact link, stage, metadata, done log, and decision-input consumption.
|
|
124
111
|
|
|
125
112
|
If task.md has a valid `issue_number`, read `.agents/rules/issue-sync.md`, then:
|
|
126
|
-
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
113
|
+
- Run `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status in-progress`
|
|
114
|
+
- Run `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
|
|
115
|
+
- Run `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {code-artifact} --agent {agent}`
|
|
129
116
|
|
|
130
117
|
### 11. Run Completion Gate
|
|
131
118
|
|
|
132
119
|
```bash
|
|
133
|
-
|
|
120
|
+
agent-infra-internal task-verify {task-id} code.completed --artifact {code-artifact} --format text
|
|
134
121
|
```
|
|
135
122
|
|
|
136
123
|
### 12. Tell the User
|
|
137
124
|
|
|
138
125
|
Use `reference/output-template.md` (or `reference/fix-mode.md` in fix mode) and show all TUI command formats.
|
|
139
126
|
|
|
140
|
-
> Before rendering the final output, read `.agents/rules/next-step-output.md` and apply both of its rules: (1) render `{task-ref}` in the "Next steps" commands as the current task's short id
|
|
127
|
+
> Before rendering the final output, read `.agents/rules/next-step-output.md` and apply both of its rules: (1) render `{task-ref}` in the "Next steps" commands as the current task's short id `NN` (see that file for lookup and fallback), while other `{task-id}` placeholders (report titles, paths) keep the full TASK-id form; (2) append the `Completed at` line as the very last line of the user-facing output (this applies to every user-facing output — success, error, and early-return paths alike, not only the success path).
|
|
@@ -3,17 +3,18 @@ name: code-task
|
|
|
3
3
|
description: >
|
|
4
4
|
根据技术方案编码任务并输出报告。
|
|
5
5
|
当技术方案已批准需要落地实现,或代码审查发现问题需要修复时使用。
|
|
6
|
+
仅当对话包含可解析的任务引用时才可自动调用本技能。
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# 编码任务
|
|
9
10
|
|
|
10
|
-
根据已批准的技术方案编码任务,并产出 `code.md` 或 `code-r{N}.md
|
|
11
|
+
根据已批准的技术方案编码任务,并产出 `code.md` 或 `code-r{N}.md`。本技能支持初次实现、基于 `review-code` 反馈的修复,以及人工裁决驱动实现三种模式。
|
|
11
12
|
|
|
12
13
|
## 行为边界 / 关键规则
|
|
13
14
|
|
|
14
15
|
- 严格遵循最新方案产物:`plan.md` 或 `plan-r{N}.md`
|
|
15
16
|
- 修复模式逐条核实最新 `review-code` 的发现:成立则修复,判定为不成立/幻觉则在报告中反驳并记入 unresolved;不擅自扩大到审查未列出的问题;manual-validation 项不在修复范围
|
|
16
|
-
-
|
|
17
|
+
- 实现中遇到方案未覆盖的关键设计决策时,先调用 `agent-infra-internal task-ledger {task-id} decision-next-id` 取得 `HD-N`,按 `.agents/rules/human-decision-context.md` 写入实现报告的 `## 人工裁决待办` 详情块,再调用 `decision-upsert --id {HD-N} --stage code --artifact {code-artifact}`;不得扫描编号、手写账本行、中途提问或擅自扩范围
|
|
17
18
|
- 绝不自动执行 `git add` 或 `git commit`
|
|
18
19
|
- 每轮实现都创建新的实现产物,不覆盖旧文件
|
|
19
20
|
- 执行本技能后,你**必须**立即更新 task.md
|
|
@@ -39,26 +40,20 @@ description: >
|
|
|
39
40
|
运行以下命令,并把原文粘贴到回复正文和本轮产物的 `## 状态核对` 段:
|
|
40
41
|
|
|
41
42
|
```bash
|
|
42
|
-
|
|
43
|
-
ls -la .agents/workspace/active/{task-id}/
|
|
44
|
-
tail .agents/workspace/active/{task-id}/task.md
|
|
43
|
+
agent-infra-internal task-snapshot {task-id} --format text
|
|
45
44
|
```
|
|
46
45
|
|
|
47
46
|
状态核对完成前,禁止任何关于外部状态的断言(例如“代码没变”“测试已通过”“没有其他引用”),包括思考阶段。本门禁只提供结构下限;逐条证据配对和真实性仍需按报告模板与审查要求核对。
|
|
48
47
|
|
|
49
|
-
##
|
|
48
|
+
## 任务上下文解析
|
|
50
49
|
|
|
51
|
-
>
|
|
50
|
+
> 入口允许省略 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`。解析失败时透传非零退出码,不自行扫描任务。
|
|
52
51
|
|
|
53
|
-
|
|
52
|
+
> 解析任务引用,并确认任务位于本技能支持的状态或目录且存在 `task.md`;无法定位时按未找到任务处理并停止。
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
## 步骤开始:声明 started 事件
|
|
56
55
|
|
|
57
|
-
|
|
58
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Code Task (Round {N}) [started]** by {agent} — started
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
修复模式的基名须与本轮 done 一致,即 `Code Task (Round {N}, fix for {review-artifact}) [started]`。`ai task log` 会把它与步骤完成时(步骤 10)写入的 done 条目配对成一行(进行中 → 已完成)。格式与配对规则见 `.agents/rules/task-management.md` 的「Activity Log started / done 双标记约定」。
|
|
56
|
+
确认前置条件与模式后、本轮第一个产出动作之前执行 `agent-infra-internal task-event {task-id} code.started --agent {agent}`。修复模式追加 `--fix-for {review-artifact}`,裁决模式追加 `--implementation-input {input-id}`。核心根据 artifact context 推导并校验轮次与输入身份;以返回的 `artifactContext` 记录本轮身份。
|
|
62
57
|
|
|
63
58
|
## 执行步骤
|
|
64
59
|
### 1. 验证前置条件
|
|
@@ -84,16 +79,16 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
84
79
|
|
|
85
80
|
### 3. 收窄里程碑
|
|
86
81
|
|
|
87
|
-
**必须执行,不得跳过。** 如果 task.md 中存在有效的 `issue_number
|
|
82
|
+
**必须执行,不得跳过。** 如果 task.md 中存在有效的 `issue_number`,调用 `agent-infra-internal platform-issue sync {task-id} --agent {agent} --milestone specific`;里程碑推断、权限降级与幂等写入由 internal core 处理。
|
|
88
83
|
|
|
89
|
-
>
|
|
84
|
+
> 若跳过或收窄后仍为 `X.Y.x`,步骤 11 的 `task-verify code.completed` 会通过 typed milestone check 截停本轮。
|
|
90
85
|
|
|
91
86
|
### 4. 确定模式与轮次
|
|
92
87
|
|
|
93
|
-
|
|
88
|
+
执行共享产物查询,先保存 exit code 再处理输出:
|
|
94
89
|
|
|
95
90
|
```bash
|
|
96
|
-
result=$(
|
|
91
|
+
result=$(agent-infra-internal task-artifact {task-id} inspect --family code)
|
|
97
92
|
status=$?
|
|
98
93
|
echo "$result"
|
|
99
94
|
```
|
|
@@ -104,6 +99,7 @@ echo "$result"
|
|
|
104
99
|
|---|---|---|
|
|
105
100
|
| 0 | `"init"` | 进入初次实现模式。记录 `{code-artifact}` = `result.next_artifact`、`{code-round}` = `result.next_round` |
|
|
106
101
|
| 0 | `"fix"` | 进入修复模式。记录 `{code-artifact}` = `result.next_artifact`、`{code-round}` = `result.next_round`、`{review-artifact}` = `result.review_artifact` |
|
|
102
|
+
| 0 | `"decision"` | 进入裁决实现模式。记录 `{code-artifact}`、`{code-round}`、`{input-id}`、`{decision-id}` 与 `{decision-evidence}` |
|
|
107
103
|
| 1 | `"refused"` | 输出 `result.message` 给用户;立即停止;不写 Activity Log、不创建产物 |
|
|
108
104
|
| 2 | `"error"` | 输出 `result.message` 给用户;立即停止;不写 Activity Log、不创建产物 |
|
|
109
105
|
| 其他 | 任意 | 视为脚本异常,输出 `Mode detection failed: status={status}, output={result}` 并停止 |
|
|
@@ -112,12 +108,7 @@ echo "$result"
|
|
|
112
108
|
|
|
113
109
|
### 5. 确定输入方案
|
|
114
110
|
|
|
115
|
-
|
|
116
|
-
- 最高轮次的方案文件为 `{plan-artifact}`
|
|
117
|
-
- 使用步骤 4 记录的 `{code-round}` 与 `{code-artifact}`
|
|
118
|
-
- 若为修复模式,同时记录 `{review-artifact}`
|
|
119
|
-
|
|
120
|
-
如果存在 `plan-r{N}.md`,读取最高轮次的方案文件;否则读取 `plan.md`。
|
|
111
|
+
只使用步骤 4 的结构化结果:从 `inputs` 取得 `{plan-artifact}`,从 `next_round` / `next_artifact` 取得 `{code-round}` / `{code-artifact}`;修复模式从 `review_artifact` 取得 `{review-artifact}`;裁决模式从 `implementation_input`、`decision_id`、`decision_evidence` 取得统一输入身份。不得自行扫描轮次或拼装文件名。
|
|
121
112
|
|
|
122
113
|
### 6. 阅读技术方案
|
|
123
114
|
|
|
@@ -129,6 +120,8 @@ echo "$result"
|
|
|
129
120
|
|
|
130
121
|
修复模式还必须读取 `{review-artifact}`,并只处理其中标记的问题。
|
|
131
122
|
|
|
123
|
+
裁决模式还必须读取 task.md 中 `{input-id}` 对应行及 `{decision-evidence}` 指向的裁决记录,并只实现该裁决要求的行为变化。
|
|
124
|
+
|
|
132
125
|
### 7. 执行代码实现
|
|
133
126
|
|
|
134
127
|
按照 `.agents/workflows/feature-development.yaml` 和方案顺序实施。
|
|
@@ -153,34 +146,25 @@ echo "$result"
|
|
|
153
146
|
|
|
154
147
|
### 10. 更新任务状态
|
|
155
148
|
|
|
156
|
-
获取当前时间:
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
date "+%Y-%m-%d %H:%M:%S%z" | sed 's/\([+-][0-9][0-9]\)\([0-9][0-9]\)$/\1:\2/'
|
|
160
|
-
```
|
|
161
|
-
|
|
162
149
|
更新 `.agents/workspace/active/{task-id}/task.md`:
|
|
163
|
-
- `current_step`:code
|
|
164
|
-
- `assigned_to`:{当前代理}
|
|
165
|
-
- `updated_at`:{当前时间}
|
|
166
|
-
- `agent_infra_version`:按 `.agents/rules/version-stamp.md` 取值
|
|
167
150
|
- 审查 `## 需求` 段落,仅把本轮已由代码实现且有测试通过支撑的条目从 `- [ ]` 勾为 `- [x]`
|
|
168
|
-
-
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
151
|
+
- 产物链接、阶段与完成日志由 completed 事件统一登记
|
|
152
|
+
- 完成业务内容更新后声明完成事件:
|
|
153
|
+
- 初次实现:`agent-infra-internal task-event {task-id} code.completed --agent {agent} --artifact {code-artifact} --files-modified {n} --tests-passed {n}`
|
|
154
|
+
- 修复模式:`agent-infra-internal task-event {task-id} code.completed --agent {agent} --artifact {code-artifact} --fix-for {review-artifact} --blockers {n} --major {n} --minor {n} --manual-validation {n}`
|
|
155
|
+
- 裁决模式:`agent-infra-internal task-event {task-id} code.completed --agent {agent} --artifact {code-artifact} --implementation-input {input-id} --files-modified {n} --tests-passed {n}`
|
|
172
156
|
|
|
173
|
-
如果 task.md 中存在有效的 `issue_number
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
157
|
+
如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则记录 warning 并继续;Issue 元数据边界仍见 `.agents/rules/issue-sync.md`):
|
|
158
|
+
- 调用 `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status in-progress`
|
|
159
|
+
- 调用 `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
|
|
160
|
+
- 调用 `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {code-artifact} --agent {agent}`
|
|
177
161
|
|
|
178
162
|
### 11. 完成校验
|
|
179
163
|
|
|
180
164
|
运行完成校验,确认任务产物和同步状态符合规范:
|
|
181
165
|
|
|
182
166
|
```bash
|
|
183
|
-
|
|
167
|
+
agent-infra-internal task-verify {task-id} code.completed --artifact {code-artifact} --format text
|
|
184
168
|
```
|
|
185
169
|
|
|
186
170
|
处理结果:
|
|
@@ -196,7 +180,7 @@ node .agents/scripts/validate-artifact.js gate code-task .agents/workspace/activ
|
|
|
196
180
|
|
|
197
181
|
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。输出格式见 `reference/output-template.md`;修复模式输出见 `reference/fix-mode.md`。
|
|
198
182
|
|
|
199
|
-
> 渲染最终输出前先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令的 `{task-ref}` 渲染为当前任务短号
|
|
183
|
+
> 渲染最终输出前先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令的 `{task-ref}` 渲染为当前任务短号 `NN`(取值与回退见该文件),其他 `{task-id}` 占位(报告标题、路径)保持完整 TASK-id 形式;(2) 在面向用户输出的绝对最后一行追加 `Completed at` 收尾行(成功、错误、早退等任何面向用户输出都适用,不限于校验通过的成功态)。
|
|
200
184
|
|
|
201
185
|
## 完成检查清单
|
|
202
186
|
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"artifact": {
|
|
19
19
|
"file_pattern": "code.md|code-r{N}.md",
|
|
20
20
|
"required_sections": [
|
|
21
|
+
"Implementation Input",
|
|
21
22
|
"Modified Files",
|
|
22
23
|
"Key Code Explanation",
|
|
23
24
|
"Test Results",
|
|
@@ -26,14 +27,13 @@
|
|
|
26
27
|
"State Check",
|
|
27
28
|
"Evidence"
|
|
28
29
|
],
|
|
29
|
-
"freshness_minutes": 30,
|
|
30
30
|
"required_patterns": [
|
|
31
31
|
"^\\$ "
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
|
+
"implementation-input": {},
|
|
34
35
|
"activity-log": {
|
|
35
|
-
"expected_action_pattern": "(Code Task|Code) \\(Round \\d+(?:, fix for review-code(?:-r\\d+)?\\.md)?\\)"
|
|
36
|
-
"freshness_minutes": 30
|
|
36
|
+
"expected_action_pattern": "(Code Task|Code) \\(Round \\d+(?:(?:, fix for review-code(?:-r\\d+)?\\.md)|(?:, decision II-[1-9]\\d*))?\\)"
|
|
37
37
|
},
|
|
38
38
|
"review-ledger": {
|
|
39
39
|
"stage_scope": ["analysis", "plan"]
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"artifact": {
|
|
19
19
|
"file_pattern": "code.md|code-r{N}.md",
|
|
20
20
|
"required_sections": [
|
|
21
|
+
"实现输入",
|
|
21
22
|
"变更文件",
|
|
22
23
|
"关键代码说明",
|
|
23
24
|
"测试结果",
|
|
@@ -26,14 +27,13 @@
|
|
|
26
27
|
"状态核对",
|
|
27
28
|
"证据原文"
|
|
28
29
|
],
|
|
29
|
-
"freshness_minutes": 30,
|
|
30
30
|
"required_patterns": [
|
|
31
31
|
"^\\$ "
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
|
+
"implementation-input": {},
|
|
34
35
|
"activity-log": {
|
|
35
|
-
"expected_action_pattern": "(Code Task|Code) \\(Round \\d+(?:, fix for review-code(?:-r\\d+)?\\.md)?\\)"
|
|
36
|
-
"freshness_minutes": 30
|
|
36
|
+
"expected_action_pattern": "(Code Task|Code) \\(Round \\d+(?:(?:, fix for review-code(?:-r\\d+)?\\.md)|(?:, decision II-[1-9]\\d*))?\\)"
|
|
37
37
|
},
|
|
38
38
|
"review-ledger": {
|
|
39
39
|
"stage_scope": ["analysis", "plan"]
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
# code-task
|
|
1
|
+
# code-task three-mode decision
|
|
2
2
|
|
|
3
|
-
This file documents
|
|
3
|
+
This file documents the core artifact lifecycle's code-mode decision. The `task-artifact` command is the source of truth; update this document whenever the core decision changes.
|
|
4
4
|
|
|
5
5
|
## Input
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
8
|
+
agent-infra-internal task-artifact {task-id} inspect --family code
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
The
|
|
11
|
+
The core scans `plan.md` / `plan-r{N}.md`, `review-plan.md` / `review-plan-r{N}.md`, `code.md` / `code-r{N}.md`, and `review-code.md` / `review-code-r{N}.md` in the task directory.
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Eight Branches
|
|
14
14
|
|
|
15
15
|
> Branches are evaluated top-down in this table; the first match returns and skips later rows.
|
|
16
16
|
|
|
17
17
|
| Condition | mode | exit | Behavior |
|
|
18
18
|
|---|---|---:|---|
|
|
19
|
-
| no code artifact | `init` | 0 | initial implementation, output `code.md` |
|
|
20
|
-
| latest review-plan is
|
|
19
|
+
| no code artifact, and the latest review-plan is exactly `Approved` and references the latest plan | `init` | 0 | initial implementation, output `code.md`; a missing matching approval or `Approved-with-issues` returns an error |
|
|
20
|
+
| latest review-plan is exactly `Approved`, references the latest plan, and is newer than the latest code | `init` | 0 | enter a new implementation round. `Approved-with-issues` remains parse-compatible for history but is not cross-stage approval |
|
|
21
21
|
| `rev_max < code_max` | `error` | 2 | latest code round is unreviewed; run `review-code` first |
|
|
22
|
+
| latest review-code is Approved and a pending implementation input was decided after that review completed | `decision` | 0 | select the earliest `II-N` and enter decision-driven implementation; false/not-required and consumed inputs do not trigger |
|
|
22
23
|
| latest review-code is Approved with 0/0/0 | `refused` | 1 | already approved; do not run `code-task` again |
|
|
23
24
|
| latest review-code is Approved with major/minor findings | `fix` | 0 | optional fix mode |
|
|
24
25
|
| latest review-code is Changes Requested | `fix` | 0 | required fix mode |
|
|
25
26
|
| latest review-code is Rejected | `refused` | 1 | re-plan instead of local fixing |
|
|
26
27
|
|
|
27
|
-
> The
|
|
28
|
+
> The five review-code branches above fire when `rev_max >= code_max`, decided by the latest `review-code-r{rev_max}` verdict and implementation inputs:
|
|
28
29
|
> - `rev_max == code_max`: AI fix round (`review-code` reviews the same-numbered code artifact produced by `code-task`).
|
|
29
30
|
> - `rev_max > code_max`: human-supplemented review round — after a PR is opened a maintainer appends a `review-code-r{N}` round against the existing latest code. `fix` mode then uses `next_round = code_max + 1`.
|
|
30
31
|
>
|
|
@@ -61,6 +62,9 @@ The script prints JSON:
|
|
|
61
62
|
"next_round": 1,
|
|
62
63
|
"next_artifact": "code.md",
|
|
63
64
|
"review_artifact": null,
|
|
65
|
+
"implementation_input": null,
|
|
66
|
+
"decision_id": null,
|
|
67
|
+
"decision_evidence": null,
|
|
64
68
|
"message": "..."
|
|
65
69
|
}
|
|
66
70
|
```
|
|
@@ -69,6 +73,6 @@ In the replan-driven init branch (row #2), `review_artifact` points to the `revi
|
|
|
69
73
|
|
|
70
74
|
exit code:
|
|
71
75
|
|
|
72
|
-
- `0`: continue, `mode` is `init` or `
|
|
76
|
+
- `0`: continue, `mode` is `init`, `fix`, or `decision`
|
|
73
77
|
- `1`: stop, `mode` is `refused`
|
|
74
78
|
- `2`: inconsistent state, `mode` is `error`
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
# code-task
|
|
1
|
+
# code-task 三模式判定
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本文件说明核心 artifact lifecycle 的 code 模式判定。`task-artifact` 命令是单点真相;修改核心判定时必须同步更新本文档。
|
|
4
4
|
|
|
5
5
|
## 输入
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
8
|
+
agent-infra-internal task-artifact {task-id} inspect --family code
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
核心扫描任务目录中的 `plan.md` / `plan-r{N}.md`、`review-plan.md` / `review-plan-r{N}.md`、`code.md` / `code-r{N}.md` 和 `review-code.md` / `review-code-r{N}.md`。
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## 8 个分支
|
|
14
14
|
|
|
15
15
|
> 分支按表中自上而下的顺序评估,命中即返回;后续分支不再判定。
|
|
16
16
|
|
|
17
17
|
| 条件 | mode | exit | 行为 |
|
|
18
18
|
|---|---|---:|---|
|
|
19
|
-
| 无 code
|
|
20
|
-
| 最新 review-plan
|
|
19
|
+
| 无 code 产物,且最新 review-plan 精确为 `Approved` 并引用最新 plan | `init` | 0 | 初次实现,产物为 `code.md`;缺少匹配审批或为 `Approved-with-issues` 时返回 error |
|
|
20
|
+
| 最新 review-plan 精确为 `Approved`,且其「审查输入」/「Review Input」字段引用最新 plan,mtime 又晚于最新 code | `init` | 0 | plan 已在 code 之后获批;进入新一轮实现。`Approved-with-issues` 仅保留历史解析兼容,不构成跨阶段批准 |
|
|
21
21
|
| `rev_max < code_max` | `error` | 2 | 最新代码未审查,先运行 `review-code` |
|
|
22
|
+
| 最新 review-code 为 Approved 且存在审查完成后产生的 pending 实现输入 | `decision` | 0 | 选择最早 `II-N`,进入裁决驱动实现;false/not-required 与 consumed 输入不触发 |
|
|
22
23
|
| 最新 review-code 为 Approved 且 0/0/0 | `refused` | 1 | 已通过,无需再次运行 `code-task` |
|
|
23
24
|
| 最新 review-code 为 Approved 但有 major/minor | `fix` | 0 | 可选修复模式 |
|
|
24
25
|
| 最新 review-code 为 Changes Requested | `fix` | 0 | 必需修复模式 |
|
|
25
26
|
| 最新 review-code 为 Rejected | `refused` | 1 | 需要重新设计,不进入局部修复 |
|
|
26
27
|
|
|
27
|
-
> 上表
|
|
28
|
+
> 上表 5 个 review-code 分支在 `rev_max >= code_max` 时命中,均以最新 `review-code-r{rev_max}` 的结论及实现输入决定:
|
|
28
29
|
> - `rev_max == code_max`:AI 修复轮(`code-task` 产出代码后由 `review-code` 审查同号产物)。
|
|
29
30
|
> - `rev_max > code_max`:人工补审轮——PR 创建后维护者追加一轮 `review-code-r{N}` 审查既有最新代码。此时 `fix` 模式的 `next_round = code_max + 1`。
|
|
30
31
|
>
|
|
@@ -61,6 +62,9 @@ manual-validation 计数不参与 mode 判定。
|
|
|
61
62
|
"next_round": 1,
|
|
62
63
|
"next_artifact": "code.md",
|
|
63
64
|
"review_artifact": null,
|
|
65
|
+
"implementation_input": null,
|
|
66
|
+
"decision_id": null,
|
|
67
|
+
"decision_evidence": null,
|
|
64
68
|
"message": "..."
|
|
65
69
|
}
|
|
66
70
|
```
|
|
@@ -69,6 +73,6 @@ manual-validation 计数不参与 mode 判定。
|
|
|
69
73
|
|
|
70
74
|
exit code:
|
|
71
75
|
|
|
72
|
-
- `0`:可继续,`mode` 为 `init` 或 `
|
|
76
|
+
- `0`:可继续,`mode` 为 `init`、`fix` 或 `decision`
|
|
73
77
|
- `1`:拒绝继续,`mode` 为 `refused`
|
|
74
78
|
- `2`:状态异常,`mode` 为 `error`
|
|
@@ -4,7 +4,7 @@ Read this file before changing code during fix mode.
|
|
|
4
4
|
|
|
5
5
|
## Plan the Fixes
|
|
6
6
|
|
|
7
|
-
**Verify each finding first (mandatory before editing)**: for every finding in `{review-artifact}`, Read/Grep the cited `file:line` and
|
|
7
|
+
**Verify each finding first (mandatory before editing)**: for every finding in `{review-artifact}`, Read/Grep the cited `file:line` and corresponding `git diff`, then choose one of the four states in `.agents/rules/review-handshake.md`. Submit it through `agent-infra-internal task-ledger {task-id} finding-respond --id {ledger-id} --round {code-round} --status {state} --evidence {evidence}` (every state needs commensurate evidence; "accept" is not a zero-cost default):
|
|
8
8
|
- `accepted` → include it in the classification and fixes below; evidence cites the fix `file:line`
|
|
9
9
|
- `adjusted` → use an alternative fix, with rationale; awaits review-code confirmation
|
|
10
10
|
- `refuted` → verification judged it unfounded / a wrong `file:line` / hallucinated → do not change code; give a counter-argument in the report's `## Per-Finding Verification` section; awaits review-code confirmation
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## 规划修复
|
|
6
6
|
|
|
7
|
-
**先逐条核实(动手前必做)**:对 `{review-artifact}` 的每一条发现,先 Read/Grep 其引用的 `file:line` 与对应 `git diff`,确认问题真实存在,再按 `.agents/rules/review-handshake.md`
|
|
7
|
+
**先逐条核实(动手前必做)**:对 `{review-artifact}` 的每一条发现,先 Read/Grep 其引用的 `file:line` 与对应 `git diff`,确认问题真实存在,再按 `.agents/rules/review-handshake.md` 的四态处置;完成相称证据后逐条调用 `agent-infra-internal task-ledger {task-id} finding-respond --id {ledger-id} --round {code-round} --status {四态} --evidence {相称证据}`("接受"不是零成本默认):
|
|
8
8
|
- `accepted` → 纳入下方分类与修复,证据指向修复点 `file:line`
|
|
9
9
|
- `adjusted` → 采用替代修法,附理由,待 review-code 复核确认
|
|
10
10
|
- `refuted` → 核实判定不成立 / 基于错误 `file:line` / 幻觉 → 不改代码,在报告 `## 对审查发现的逐条核实` 给出反证,待 review-code 复核确认
|