@fitlab-ai/agent-infra 0.9.1 → 0.9.3
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/README.md +24 -11
- package/README.zh-CN.md +24 -11
- package/bin/cli.ts +12 -0
- package/dist/bin/cli.js +14 -0
- package/dist/bin/internal-cli.js +30 -0
- package/dist/lib/agent-client.js +163 -0
- package/dist/lib/agent-clients/adapter.js +337 -0
- package/dist/lib/agent-clients/adapters/antigravity-cli.js +64 -0
- package/dist/lib/agent-clients/adapters/claude-code.js +71 -0
- package/dist/lib/agent-clients/adapters/codex-sandbox.js +210 -0
- package/dist/lib/agent-clients/adapters/codex.js +63 -0
- package/dist/lib/agent-clients/adapters/index.js +20 -0
- package/dist/lib/agent-clients/adapters/opencode.js +73 -0
- package/dist/lib/agent-clients/config.js +215 -0
- package/dist/lib/agent-clients/custom-tuis.js +99 -0
- package/dist/lib/agent-clients/invocation.js +9 -0
- package/dist/lib/agent-clients/next-steps.js +47 -0
- package/dist/lib/agent-clients/project-assets.js +45 -0
- package/dist/lib/agent-clients/reconcile.js +236 -0
- package/dist/lib/agent-clients/registry.js +78 -0
- package/dist/lib/agent-clients/schema.js +75 -0
- package/dist/lib/agent-clients/tokens.js +49 -0
- package/dist/lib/agent-clients/types.js +29 -0
- package/dist/lib/builtin-tuis.js +9 -14
- package/dist/lib/defaults.json +85 -73
- package/dist/lib/git/review-snapshot.js +25 -10
- package/dist/lib/git/reviewed-commit-equivalence.js +110 -0
- package/dist/lib/git/workflow.js +54 -1
- package/dist/lib/init.js +47 -91
- package/dist/lib/internal/agent-client.js +174 -0
- package/dist/lib/internal/git-workflow.js +7 -2
- package/dist/lib/internal/platform-checks.js +3 -3
- package/dist/lib/internal/platform-comment.js +29 -2
- package/dist/lib/internal/platform-issue.js +7 -0
- package/dist/lib/internal/platform-pr-review.js +132 -0
- package/dist/lib/internal/platform-pr.js +20 -2
- package/dist/lib/internal/platform-release-notes.js +52 -16
- package/dist/lib/internal/pr-review-grade.js +140 -0
- package/dist/lib/internal/release-workflow.js +82 -20
- package/dist/lib/internal/task-activity.js +73 -0
- package/dist/lib/internal/task-event.js +17 -1
- package/dist/lib/internal/task-lifecycle.js +7 -0
- package/dist/lib/internal/task-orchestration.js +196 -0
- package/dist/lib/internal/task-review.js +70 -0
- package/dist/lib/merge.js +2 -1
- package/dist/lib/platform/adapters.js +45 -1
- package/dist/lib/platform/change-request-git-evidence.js +113 -0
- package/dist/lib/platform/completion-backfill.js +122 -0
- package/dist/lib/platform/issue-comments.js +3 -2
- package/dist/lib/platform/merged-pr-equivalence.js +156 -16
- package/dist/lib/platform/pr-checks.js +101 -50
- package/dist/lib/platform/pr-review.js +166 -0
- package/dist/lib/platform/pull-requests.js +432 -7
- package/dist/lib/platform/release-notes.js +85 -3
- package/dist/lib/platform/releases.js +1 -1
- package/dist/lib/platform/verification-required.js +8 -10
- package/dist/lib/pr-review/evidence-grading.js +229 -0
- package/dist/lib/prompt.js +15 -3
- package/dist/lib/release/channels.js +4 -1
- package/dist/lib/release/workflow.js +4 -2
- package/dist/lib/remove-dir.js +25 -0
- package/dist/lib/run/tui.js +11 -7
- package/dist/lib/sandbox/agent-client-reconciler.js +234 -0
- package/dist/lib/sandbox/clipboard/linux.js +2 -1
- package/dist/lib/sandbox/commands/create.js +76 -200
- package/dist/lib/sandbox/commands/enter.js +17 -1
- package/dist/lib/sandbox/commands/prune.js +2 -2
- package/dist/lib/sandbox/commands/rm.js +3 -2
- package/dist/lib/sandbox/commands/show.js +1 -1
- package/dist/lib/sandbox/config.js +21 -4
- package/dist/lib/sandbox/constants.js +3 -0
- package/dist/lib/sandbox/dockerfile.js +2 -1
- package/dist/lib/sandbox/managed-fs.js +10 -5
- package/dist/lib/sandbox/recovery.js +52 -36
- package/dist/lib/sandbox/shell.js +1 -1
- package/dist/lib/sandbox/tool-types.js +8 -0
- package/dist/lib/sandbox/tools.js +2 -126
- package/dist/lib/task/activity-intent.js +101 -0
- package/dist/lib/task/artifact-lifecycle.js +3 -50
- package/dist/lib/task/commands/decisions.js +50 -20
- package/dist/lib/task/commands/log.js +15 -14
- package/dist/lib/task/delegation-receipts.js +128 -0
- package/dist/lib/task/events.js +146 -8
- package/dist/lib/task/finalization-artifacts.js +35 -0
- package/dist/lib/task/lifecycle-execution.js +46 -0
- package/dist/lib/task/orchestration.js +784 -0
- package/dist/lib/task/review-artifacts.js +143 -59
- package/dist/lib/task/review-finalization.js +186 -0
- package/dist/lib/task/review-fingerprint.js +4 -0
- package/dist/lib/task/task-execution-lock.js +231 -0
- package/dist/lib/task/verification-checks.js +2 -1
- package/dist/lib/task/verification-engine.js +372 -28
- package/dist/lib/task/verification-review.js +1 -1
- package/dist/lib/task/verification.js +5 -2
- package/dist/lib/task/workspace-snapshot.js +46 -0
- package/dist/lib/update.js +42 -161
- package/lib/agent-client.ts +214 -0
- package/lib/agent-clients/adapter.ts +534 -0
- package/lib/agent-clients/adapters/antigravity-cli.ts +65 -0
- package/lib/agent-clients/adapters/claude-code.ts +79 -0
- package/lib/agent-clients/adapters/codex-sandbox.ts +245 -0
- package/lib/agent-clients/adapters/codex.ts +67 -0
- package/lib/agent-clients/adapters/index.ts +27 -0
- package/lib/agent-clients/adapters/opencode.ts +75 -0
- package/lib/agent-clients/config.ts +323 -0
- package/lib/agent-clients/custom-tuis.ts +149 -0
- package/lib/agent-clients/invocation.ts +19 -0
- package/lib/agent-clients/next-steps.ts +85 -0
- package/lib/agent-clients/project-assets.ts +96 -0
- package/lib/agent-clients/reconcile.ts +325 -0
- package/lib/agent-clients/registry.ts +154 -0
- package/lib/agent-clients/schema.ts +80 -0
- package/lib/agent-clients/tokens.ts +53 -0
- package/lib/agent-clients/types.ts +92 -0
- package/lib/benchmark/schemas/v1.0.0/case-manifest.schema.json +120 -0
- package/lib/benchmark/schemas/v1.0.0/common.schema.json +109 -0
- package/lib/benchmark/schemas/v1.0.0/grader-result.schema.json +160 -0
- package/lib/benchmark/schemas/v1.0.0/run-manifest.schema.json +122 -0
- package/lib/benchmark/schemas/v1.0.0/subject.schema.json +227 -0
- package/lib/builtin-tuis.ts +16 -15
- package/lib/defaults.json +24 -12
- package/lib/git/review-snapshot.ts +39 -9
- package/lib/git/reviewed-commit-equivalence.ts +135 -0
- package/lib/git/workflow.ts +66 -2
- package/lib/init.ts +53 -121
- package/lib/internal/agent-client.ts +186 -0
- package/lib/internal/git-workflow.ts +6 -2
- package/lib/internal/platform-checks.ts +4 -4
- package/lib/internal/platform-comment.ts +17 -2
- package/lib/internal/platform-issue.ts +4 -0
- package/lib/internal/platform-pr-review.ts +104 -0
- package/lib/internal/platform-pr.ts +14 -1
- package/lib/internal/platform-release-notes.ts +59 -16
- package/lib/internal/pr-review-grade.ts +130 -0
- package/lib/internal/release-workflow.ts +79 -20
- package/lib/internal/task-activity.ts +55 -0
- package/lib/internal/task-event.ts +9 -1
- package/lib/internal/task-lifecycle.ts +4 -0
- package/lib/internal/task-orchestration.ts +171 -0
- package/lib/internal/task-review.ts +70 -0
- package/lib/merge.ts +2 -1
- package/lib/platform/adapters.ts +169 -3
- package/lib/platform/change-request-git-evidence.ts +159 -0
- package/lib/platform/completion-backfill.ts +134 -0
- package/lib/platform/issue-comments.ts +3 -2
- package/lib/platform/merged-pr-equivalence.ts +178 -19
- package/lib/platform/pr-checks.ts +121 -66
- package/lib/platform/pr-review.ts +201 -0
- package/lib/platform/pull-requests.ts +529 -27
- package/lib/platform/release-notes.ts +100 -4
- package/lib/platform/releases.ts +1 -1
- package/lib/platform/verification-required.ts +12 -10
- package/lib/pr-review/evidence-grading.ts +318 -0
- package/lib/prompt.ts +16 -3
- package/lib/release/channels.ts +4 -1
- package/lib/release/workflow.ts +4 -3
- package/lib/remove-dir.ts +28 -0
- package/lib/run/tui.ts +12 -5
- package/lib/sandbox/agent-client-reconciler.ts +378 -0
- package/lib/sandbox/clipboard/linux.ts +2 -1
- package/lib/sandbox/commands/create.ts +111 -212
- package/lib/sandbox/commands/enter.ts +23 -1
- package/lib/sandbox/commands/prune.ts +2 -2
- package/lib/sandbox/commands/rm.ts +3 -2
- package/lib/sandbox/commands/show.ts +1 -1
- package/lib/sandbox/config.ts +31 -4
- package/lib/sandbox/constants.ts +6 -0
- package/lib/sandbox/dockerfile.ts +2 -1
- package/lib/sandbox/managed-fs.ts +18 -5
- package/lib/sandbox/recovery.ts +98 -67
- package/lib/sandbox/shell.ts +1 -1
- package/lib/sandbox/tool-types.ts +143 -0
- package/lib/sandbox/tools.ts +5 -157
- package/lib/server/server.schema.json +2 -2
- package/lib/task/activity-intent.ts +128 -0
- package/lib/task/artifact-lifecycle.ts +3 -39
- package/lib/task/commands/decisions.ts +53 -20
- package/lib/task/commands/log.ts +15 -14
- package/lib/task/delegation-receipts.ts +199 -0
- package/lib/task/events.ts +164 -11
- package/lib/task/finalization-artifacts.ts +58 -0
- package/lib/task/lifecycle-execution.ts +106 -0
- package/lib/task/orchestration.ts +1022 -0
- package/lib/task/review-artifacts.ts +201 -69
- package/lib/task/review-finalization.ts +306 -0
- package/lib/task/review-fingerprint.ts +5 -0
- package/lib/task/task-execution-lock.ts +296 -0
- package/lib/task/verification-checks.ts +2 -1
- package/lib/task/verification-engine.ts +424 -28
- package/lib/task/verification-review.ts +1 -0
- package/lib/task/verification.ts +8 -3
- package/lib/task/workspace-snapshot.ts +57 -0
- package/lib/update.ts +48 -184
- package/package.json +4 -4
- package/templates/.agents/QUICKSTART.en.md +25 -8
- package/templates/.agents/QUICKSTART.zh-CN.md +25 -8
- package/templates/.agents/README.en.md +29 -25
- package/templates/.agents/README.zh-CN.md +29 -25
- package/templates/.agents/hooks/lifecycle-delegation.js +75 -0
- package/templates/.agents/rules/README.en.md +2 -0
- package/templates/.agents/rules/README.zh-CN.md +2 -0
- package/templates/.agents/rules/commit-and-pr.en.md +1 -0
- package/templates/.agents/rules/commit-and-pr.zh-CN.md +1 -0
- package/templates/.agents/rules/create-issue.github.en.md +4 -2
- package/templates/.agents/rules/create-issue.github.zh-CN.md +4 -2
- package/templates/.agents/rules/human-decision-context.en.md +14 -12
- package/templates/.agents/rules/human-decision-context.zh-CN.md +14 -12
- package/templates/.agents/rules/issue-fields.github.en.md +3 -1
- package/templates/.agents/rules/issue-fields.github.zh-CN.md +3 -1
- package/templates/.agents/rules/issue-pr-commands.en.md +5 -3
- package/templates/.agents/rules/issue-pr-commands.github.en.md +5 -3
- package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +5 -3
- package/templates/.agents/rules/issue-pr-commands.zh-CN.md +5 -3
- package/templates/.agents/rules/issue-sync.github.en.md +7 -3
- package/templates/.agents/rules/issue-sync.github.zh-CN.md +8 -4
- package/templates/.agents/rules/lifecycle-orchestration.en.md +24 -0
- package/templates/.agents/rules/lifecycle-orchestration.zh-CN.md +24 -0
- package/templates/.agents/rules/milestone-inference.github.en.md +4 -2
- package/templates/.agents/rules/milestone-inference.github.zh-CN.md +4 -2
- package/templates/.agents/rules/next-step-output.en.md +18 -0
- package/templates/.agents/rules/next-step-output.zh-CN.md +18 -0
- package/templates/.agents/rules/no-mid-flow-questions.en.md +19 -0
- package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +19 -0
- package/templates/.agents/rules/pr-checks-commands.en.md +3 -3
- package/templates/.agents/rules/pr-checks-commands.github.en.md +2 -2
- package/templates/.agents/rules/pr-checks-commands.github.zh-CN.md +2 -2
- package/templates/.agents/rules/pr-checks-commands.zh-CN.md +3 -3
- package/templates/.agents/rules/pr-sync.en.md +3 -1
- package/templates/.agents/rules/pr-sync.github.en.md +11 -1
- package/templates/.agents/rules/pr-sync.github.zh-CN.md +11 -1
- package/templates/.agents/rules/pr-sync.zh-CN.md +3 -1
- package/templates/.agents/rules/release-commands.en.md +1 -1
- package/templates/.agents/rules/release-commands.github.en.md +21 -5
- package/templates/.agents/rules/release-commands.github.zh-CN.md +21 -5
- package/templates/.agents/rules/release-commands.zh-CN.md +1 -1
- package/templates/.agents/rules/review-handshake.en.md +4 -4
- package/templates/.agents/rules/review-handshake.zh-CN.md +4 -4
- package/templates/.agents/rules/review-method.en.md +113 -0
- package/templates/.agents/rules/review-method.zh-CN.md +98 -0
- package/templates/.agents/rules/task-management.en.md +11 -0
- package/templates/.agents/rules/task-management.zh-CN.md +11 -0
- package/templates/.agents/skills/analyze-task/SKILL.en.md +15 -12
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +15 -12
- package/templates/.agents/skills/block-task/SKILL.en.md +11 -9
- package/templates/.agents/skills/block-task/SKILL.zh-CN.md +11 -9
- package/templates/.agents/skills/cancel-task/SKILL.en.md +10 -8
- package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +11 -9
- package/templates/.agents/skills/check-task/SKILL.en.md +16 -16
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +16 -16
- package/templates/.agents/skills/close-codescan/SKILL.en.md +7 -5
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +7 -5
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +7 -5
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +7 -5
- package/templates/.agents/skills/code-task/SKILL.en.md +10 -7
- package/templates/.agents/skills/code-task/SKILL.zh-CN.md +13 -10
- package/templates/.agents/skills/code-task/reference/fix-mode.en.md +14 -16
- package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +14 -16
- package/templates/.agents/skills/code-task/reference/output-template.en.md +3 -3
- package/templates/.agents/skills/code-task/reference/output-template.zh-CN.md +3 -3
- package/templates/.agents/skills/commit/SKILL.en.md +13 -1
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +13 -1
- package/templates/.agents/skills/commit/reference/commit-message.en.md +1 -1
- package/templates/.agents/skills/commit/reference/commit-message.zh-CN.md +1 -1
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +1 -1
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +1 -1
- package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +1 -1
- package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +1 -1
- package/templates/.agents/skills/commit/reference/task-status-update.en.md +24 -28
- package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +24 -28
- package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +6 -4
- package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +6 -4
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +1 -1
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +1 -1
- package/templates/.agents/skills/complete-task/SKILL.en.md +23 -8
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +23 -8
- package/templates/.agents/skills/complete-task/config/verify.en.json +1 -0
- package/templates/.agents/skills/complete-task/config/verify.zh-CN.json +1 -0
- package/templates/.agents/skills/complete-task/reference/external-delivery.en.md +17 -0
- package/templates/.agents/skills/complete-task/reference/external-delivery.zh-CN.md +17 -0
- package/templates/.agents/skills/create-pr/SKILL.en.md +13 -11
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +13 -11
- package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +1 -1
- package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +1 -1
- package/templates/.agents/skills/create-pr/reference/pr-body-template.en.md +3 -3
- package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +3 -3
- package/templates/.agents/skills/create-release-note/SKILL.en.md +17 -16
- package/templates/.agents/skills/create-release-note/SKILL.zh-CN.md +17 -16
- package/templates/.agents/skills/create-task/SKILL.en.md +16 -14
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +16 -14
- package/templates/.agents/skills/import-codescan/SKILL.en.md +5 -5
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +5 -5
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +5 -5
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +5 -5
- package/templates/.agents/skills/import-issue/SKILL.en.md +10 -8
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +10 -8
- package/templates/.agents/skills/init-labels/SKILL.en.md +4 -4
- package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/init-milestones/SKILL.en.md +4 -4
- package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/plan-task/SKILL.en.md +13 -10
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +13 -10
- package/templates/.agents/skills/post-release/SKILL.en.md +2 -0
- package/templates/.agents/skills/post-release/SKILL.zh-CN.md +2 -0
- 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 -10
- package/templates/.agents/skills/release/SKILL.zh-CN.md +16 -10
- package/templates/.agents/skills/restore-task/SKILL.en.md +4 -1
- package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +4 -1
- package/templates/.agents/skills/review-analysis/SKILL.en.md +18 -4
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +19 -5
- package/templates/.agents/skills/review-analysis/config/verify.en.json +6 -0
- package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +6 -0
- package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +13 -15
- package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +13 -15
- package/templates/.agents/skills/review-analysis/reference/report-template.en.md +51 -5
- package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +52 -6
- package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +25 -22
- package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +25 -22
- package/templates/.agents/skills/review-code/SKILL.en.md +35 -12
- package/templates/.agents/skills/review-code/SKILL.zh-CN.md +35 -12
- package/templates/.agents/skills/review-code/config/verify.en.json +7 -0
- package/templates/.agents/skills/review-code/config/verify.zh-CN.json +7 -0
- package/templates/.agents/skills/review-code/reference/concurrency-risks.en.md +25 -0
- package/templates/.agents/skills/review-code/reference/concurrency-risks.zh-CN.md +25 -0
- package/templates/.agents/skills/review-code/reference/cross-platform-risks.en.md +27 -0
- package/templates/.agents/skills/review-code/reference/cross-platform-risks.zh-CN.md +27 -0
- package/templates/.agents/skills/review-code/reference/documentation-antipatterns.en.md +13 -0
- package/templates/.agents/skills/review-code/reference/documentation-antipatterns.zh-CN.md +13 -0
- package/templates/.agents/skills/review-code/reference/migration-risks.en.md +25 -0
- package/templates/.agents/skills/review-code/reference/migration-risks.zh-CN.md +25 -0
- package/templates/.agents/skills/review-code/reference/output-templates.en.md +22 -24
- package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +22 -24
- package/templates/.agents/skills/review-code/reference/report-template.en.md +54 -7
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +54 -7
- package/templates/.agents/skills/review-code/reference/review-criteria.en.md +29 -24
- package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +29 -24
- package/templates/.agents/skills/review-code/reference/security-risks.en.md +25 -0
- package/templates/.agents/skills/review-code/reference/security-risks.zh-CN.md +25 -0
- package/templates/.agents/skills/review-plan/SKILL.en.md +18 -4
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +19 -5
- package/templates/.agents/skills/review-plan/config/verify.en.json +6 -0
- package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +6 -0
- package/templates/.agents/skills/review-plan/reference/output-templates.en.md +13 -15
- package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +13 -15
- package/templates/.agents/skills/review-plan/reference/report-template.en.md +61 -5
- package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +61 -5
- package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +21 -24
- package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +21 -24
- package/templates/.agents/skills/review-pr/SKILL.en.md +158 -0
- package/templates/.agents/skills/review-pr/SKILL.zh-CN.md +158 -0
- package/templates/.agents/skills/review-pr/config/verify.en.json +37 -0
- package/templates/.agents/skills/review-pr/config/verify.zh-CN.json +37 -0
- package/templates/.agents/skills/review-pr/reference/evidence-grading.en.md +65 -0
- package/templates/.agents/skills/review-pr/reference/evidence-grading.zh-CN.md +65 -0
- package/templates/.agents/skills/review-pr/reference/output-guidance.en.md +18 -0
- package/templates/.agents/skills/review-pr/reference/output-guidance.zh-CN.md +18 -0
- package/templates/.agents/skills/review-pr/reference/report-template.en.md +85 -0
- package/templates/.agents/skills/review-pr/reference/report-template.zh-CN.md +85 -0
- package/templates/.agents/skills/run-task/SKILL.en.md +22 -0
- package/templates/.agents/skills/run-task/SKILL.zh-CN.md +22 -0
- package/templates/.agents/skills/run-task/config/verify.en.json +10 -0
- package/templates/.agents/skills/run-task/config/verify.zh-CN.json +10 -0
- package/templates/.agents/skills/run-task/reference/host-validation.en.md +20 -0
- package/templates/.agents/skills/run-task/reference/host-validation.zh-CN.md +20 -0
- package/templates/.agents/skills/test/SKILL.en.md +4 -4
- package/templates/.agents/skills/test/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/test-integration/SKILL.en.md +4 -4
- package/templates/.agents/skills/test-integration/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/update-agent-infra/SKILL.en.md +5 -5
- package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +5 -5
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +664 -246
- package/templates/.agents/skills/upgrade-dependency/SKILL.en.md +4 -4
- package/templates/.agents/skills/upgrade-dependency/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/watch-pr/SKILL.en.md +21 -21
- package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +21 -21
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +27 -6
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +26 -5
- package/templates/.agents/templates/task.en.md +1 -1
- package/templates/.agents/templates/task.zh-CN.md +1 -1
- package/templates/.agents/workflows/bug-fix.en.yaml +3 -3
- package/templates/.agents/workflows/bug-fix.zh-CN.yaml +3 -3
- package/templates/.agents/workflows/code-review.en.yaml +1 -1
- package/templates/.agents/workflows/code-review.zh-CN.yaml +1 -1
- package/templates/.agents/workflows/feature-development.en.yaml +4 -4
- package/templates/.agents/workflows/feature-development.zh-CN.yaml +4 -4
- package/templates/.agents/workflows/refactoring.en.yaml +3 -3
- package/templates/.agents/workflows/refactoring.zh-CN.yaml +3 -3
- package/templates/.claude/agents/agent-infra-lifecycle-executor.en.md +6 -0
- package/templates/.claude/agents/agent-infra-lifecycle-executor.zh-CN.md +6 -0
- package/templates/.claude/agents/agent-infra-lifecycle-reviewer.en.md +6 -0
- package/templates/.claude/agents/agent-infra-lifecycle-reviewer.zh-CN.md +6 -0
- package/templates/.claude/commands/post-release.en.md +1 -0
- package/templates/.claude/commands/post-release.zh-CN.md +1 -0
- package/templates/.claude/commands/review-pr.en.md +8 -0
- package/templates/.claude/commands/review-pr.zh-CN.md +8 -0
- package/templates/.claude/commands/run-task.en.md +8 -0
- package/templates/.claude/commands/run-task.zh-CN.md +8 -0
- package/templates/.claude/settings.json +24 -0
- package/templates/.codex/agents/agent-infra-lifecycle-executor.en.toml +3 -0
- package/templates/.codex/agents/agent-infra-lifecycle-executor.zh-CN.toml +3 -0
- package/templates/.codex/agents/agent-infra-lifecycle-reviewer.en.toml +3 -0
- package/templates/.codex/agents/agent-infra-lifecycle-reviewer.zh-CN.toml +3 -0
- package/templates/.gemini/commands/_project_/review-pr.en.toml +10 -0
- package/templates/.gemini/commands/_project_/review-pr.zh-CN.toml +10 -0
- package/templates/.opencode/commands/post-release.en.md +2 -0
- package/templates/.opencode/commands/post-release.zh-CN.md +2 -0
- package/templates/.opencode/commands/review-pr.en.md +11 -0
- package/templates/.opencode/commands/review-pr.zh-CN.md +11 -0
- package/templates/.opencode/commands/run-task.en.md +11 -0
- package/templates/.opencode/commands/run-task.zh-CN.md +11 -0
- package/templates/.gemini/commands/_project_/analyze-task.en.toml +0 -10
- package/templates/.gemini/commands/_project_/analyze-task.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/archive-tasks.en.toml +0 -10
- package/templates/.gemini/commands/_project_/archive-tasks.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/block-task.en.toml +0 -10
- package/templates/.gemini/commands/_project_/block-task.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/cancel-task.en.toml +0 -10
- package/templates/.gemini/commands/_project_/cancel-task.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/check-task.en.toml +0 -10
- package/templates/.gemini/commands/_project_/check-task.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/close-codescan.en.toml +0 -8
- package/templates/.gemini/commands/_project_/close-codescan.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/close-dependabot.en.toml +0 -8
- package/templates/.gemini/commands/_project_/close-dependabot.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/code-task.en.toml +0 -10
- package/templates/.gemini/commands/_project_/code-task.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/commit.en.toml +0 -10
- package/templates/.gemini/commands/_project_/commit.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/complete-manual-validation.en.toml +0 -10
- package/templates/.gemini/commands/_project_/complete-manual-validation.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/complete-task.en.toml +0 -10
- package/templates/.gemini/commands/_project_/complete-task.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/create-pr.en.toml +0 -10
- package/templates/.gemini/commands/_project_/create-pr.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/create-release-note.en.toml +0 -8
- package/templates/.gemini/commands/_project_/create-release-note.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/create-task.en.toml +0 -8
- package/templates/.gemini/commands/_project_/create-task.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/import-codescan.en.toml +0 -8
- package/templates/.gemini/commands/_project_/import-codescan.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/import-dependabot.en.toml +0 -8
- package/templates/.gemini/commands/_project_/import-dependabot.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/import-issue.en.toml +0 -8
- package/templates/.gemini/commands/_project_/import-issue.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/init-labels.en.toml +0 -8
- package/templates/.gemini/commands/_project_/init-labels.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/init-milestones.en.toml +0 -10
- package/templates/.gemini/commands/_project_/init-milestones.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/plan-task.en.toml +0 -10
- package/templates/.gemini/commands/_project_/plan-task.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/post-release.en.toml +0 -6
- package/templates/.gemini/commands/_project_/post-release.zh-CN.toml +0 -6
- package/templates/.gemini/commands/_project_/refine-title.en.toml +0 -8
- package/templates/.gemini/commands/_project_/refine-title.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/release.en.toml +0 -8
- package/templates/.gemini/commands/_project_/release.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/restore-task.en.toml +0 -8
- package/templates/.gemini/commands/_project_/restore-task.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/review-analysis.en.toml +0 -10
- package/templates/.gemini/commands/_project_/review-analysis.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/review-code.en.toml +0 -10
- package/templates/.gemini/commands/_project_/review-code.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/review-plan.en.toml +0 -10
- package/templates/.gemini/commands/_project_/review-plan.zh-CN.toml +0 -10
- package/templates/.gemini/commands/_project_/test-integration.en.toml +0 -6
- package/templates/.gemini/commands/_project_/test-integration.zh-CN.toml +0 -6
- package/templates/.gemini/commands/_project_/test.en.toml +0 -6
- package/templates/.gemini/commands/_project_/test.zh-CN.toml +0 -6
- package/templates/.gemini/commands/_project_/update-agent-infra.en.toml +0 -6
- package/templates/.gemini/commands/_project_/update-agent-infra.zh-CN.toml +0 -6
- package/templates/.gemini/commands/_project_/upgrade-dependency.en.toml +0 -8
- package/templates/.gemini/commands/_project_/upgrade-dependency.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/watch-pr.en.toml +0 -10
- package/templates/.gemini/commands/_project_/watch-pr.zh-CN.toml +0 -10
- package/templates/.gemini/settings.json +0 -3
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"file_pattern": "review-analysis.md|review-analysis-r{N}.md",
|
|
20
20
|
"required_sections": [
|
|
21
21
|
"Review Summary",
|
|
22
|
+
"Review Coverage Declaration",
|
|
23
|
+
"Requirement Analysis Coverage",
|
|
24
|
+
"Traceability Matrix",
|
|
22
25
|
"Findings",
|
|
23
26
|
"Non-blocking Advisories",
|
|
24
27
|
"Manual Validation Items",
|
|
@@ -33,6 +36,9 @@
|
|
|
33
36
|
"^\\$ "
|
|
34
37
|
]
|
|
35
38
|
},
|
|
39
|
+
"review-summary": {
|
|
40
|
+
"stage": "analysis"
|
|
41
|
+
},
|
|
36
42
|
"activity-log": {
|
|
37
43
|
"expected_action_pattern": "(Review Analysis|Analysis Review) \\(Round \\d+\\)"
|
|
38
44
|
},
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"file_pattern": "review-analysis.md|review-analysis-r{N}.md",
|
|
20
20
|
"required_sections": [
|
|
21
21
|
"审查摘要",
|
|
22
|
+
"检视覆盖声明",
|
|
23
|
+
"需求分析专项覆盖",
|
|
24
|
+
"追踪矩阵",
|
|
22
25
|
"问题清单",
|
|
23
26
|
"非阻塞建议",
|
|
24
27
|
"人工校验项",
|
|
@@ -33,6 +36,9 @@
|
|
|
33
36
|
"^\\$ "
|
|
34
37
|
]
|
|
35
38
|
},
|
|
39
|
+
"review-summary": {
|
|
40
|
+
"stage": "analysis"
|
|
41
|
+
},
|
|
36
42
|
"activity-log": {
|
|
37
43
|
"expected_action_pattern": "(Review Analysis|Analysis Review) \\(Round \\d+\\)"
|
|
38
44
|
},
|
|
@@ -15,22 +15,20 @@ Rules:
|
|
|
15
15
|
- Do not mix text from multiple scenarios
|
|
16
16
|
- If `Blocker > 0`, never use an approved template
|
|
17
17
|
- Never count manual-validation items as blocker / major / minor or use them to trigger Scenario B/C/D
|
|
18
|
-
- The selected scenario must
|
|
18
|
+
- The selected scenario must generate `{next-step-commands}` through the shared helper
|
|
19
19
|
- The count line shows 4 numbers. `Human-decision` (`{h}`) counts this stage's `needs-human-decision` rows; because those rows are unresolved, `{h} > 0` means `canAdvance=false`. Expand the "Pending human-decision pre-block" from `.agents/rules/next-step-output.md` and show revision and re-review paths only.
|
|
20
20
|
|
|
21
|
-
For Scenarios B/C/D, follow the revision commands with re-review commands: `/review-analysis {task-ref}`, `/{{project}}:review-analysis {task-ref}`, and `$review-analysis {task-ref}`.
|
|
22
|
-
|
|
23
21
|
### Scenario A: Approved with no findings
|
|
24
22
|
|
|
23
|
+
Populate `{next-step-commands}` for this scenario by running `agent-infra-internal agent-client next-steps --skill plan-task --task-ref {task-ref}`.
|
|
24
|
+
|
|
25
25
|
```text
|
|
26
26
|
Task {task-id} requirement analysis review completed. Verdict: approved.
|
|
27
27
|
- Blockers: 0 | Major issues: 0 | Minor issues: 0 | Human-decision: {h}
|
|
28
28
|
[- Review report: .agents/workspace/active/{task-id}/{review-artifact}]
|
|
29
29
|
|
|
30
30
|
Next step - write the technical plan:
|
|
31
|
-
|
|
32
|
-
- Gemini CLI: /{{project}}:plan-task {task-ref}
|
|
33
|
-
- Codex CLI: $plan-task {task-ref}
|
|
31
|
+
{next-step-commands}
|
|
34
32
|
|
|
35
33
|
[When manual-validation > 0, append:]
|
|
36
34
|
Reminder: manual-validation items belong in the PR description manual verification checklist and should not trigger /analyze-task.
|
|
@@ -38,15 +36,15 @@ Reminder: manual-validation items belong in the PR description manual verificati
|
|
|
38
36
|
|
|
39
37
|
### Scenario B: Changes requested (major / minor)
|
|
40
38
|
|
|
39
|
+
Populate `{next-step-commands}` for this scenario by running `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}`.
|
|
40
|
+
|
|
41
41
|
```text
|
|
42
42
|
Task {task-id} requirement analysis review completed. Verdict: changes requested.
|
|
43
43
|
- Blockers: 0 | Major issues: {n} | Minor issues: {n} | Human-decision: {h}
|
|
44
44
|
- Review report: .agents/workspace/active/{task-id}/{review-artifact}
|
|
45
45
|
|
|
46
46
|
Next step - revise requirement analysis:
|
|
47
|
-
|
|
48
|
-
- Gemini CLI: /{{project}}:analyze-task {task-ref}
|
|
49
|
-
- Codex CLI: $analyze-task {task-ref}
|
|
47
|
+
{next-step-commands}
|
|
50
48
|
|
|
51
49
|
[When manual-validation > 0, append:]
|
|
52
50
|
Reminder: manual-validation items belong in the PR description manual verification checklist and should not trigger /analyze-task.
|
|
@@ -54,15 +52,15 @@ Reminder: manual-validation items belong in the PR description manual verificati
|
|
|
54
52
|
|
|
55
53
|
### Scenario C: Changes requested
|
|
56
54
|
|
|
55
|
+
Populate `{next-step-commands}` for this scenario by running `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}`.
|
|
56
|
+
|
|
57
57
|
```text
|
|
58
58
|
Task {task-id} requirement analysis review completed. Verdict: changes requested.
|
|
59
59
|
- Blockers: {n} | Major issues: {n} | Minor issues: {n} | Human-decision: {h}
|
|
60
60
|
- Review report: .agents/workspace/active/{task-id}/{review-artifact}
|
|
61
61
|
|
|
62
62
|
Next step - revise requirement analysis:
|
|
63
|
-
|
|
64
|
-
- Gemini CLI: /{{project}}:analyze-task {task-ref}
|
|
65
|
-
- Codex CLI: $analyze-task {task-ref}
|
|
63
|
+
{next-step-commands}
|
|
66
64
|
|
|
67
65
|
[When manual-validation > 0, append:]
|
|
68
66
|
Reminder: manual-validation items belong in the PR description manual verification checklist and should not trigger /analyze-task.
|
|
@@ -70,15 +68,15 @@ Reminder: manual-validation items belong in the PR description manual verificati
|
|
|
70
68
|
|
|
71
69
|
### Scenario D: Rejected
|
|
72
70
|
|
|
71
|
+
Populate `{next-step-commands}` for this scenario by running `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}`.
|
|
72
|
+
|
|
73
73
|
```text
|
|
74
74
|
Task {task-id} requirement analysis review completed. Verdict: rejected, fresh analysis or requirement clarification required.
|
|
75
75
|
- Blockers: {n} | Major issues: {n} | Minor issues: {n} | Human-decision: {h}
|
|
76
76
|
- Review report: .agents/workspace/active/{task-id}/{review-artifact}
|
|
77
77
|
|
|
78
78
|
Next step - re-analyze:
|
|
79
|
-
|
|
80
|
-
- Gemini CLI: /{{project}}:analyze-task {task-ref}
|
|
81
|
-
- Codex CLI: $analyze-task {task-ref}
|
|
79
|
+
{next-step-commands}
|
|
82
80
|
|
|
83
81
|
[When manual-validation > 0, append:]
|
|
84
82
|
Reminder: manual-validation items belong in the PR description manual verification checklist and should not trigger /analyze-task.
|
|
@@ -15,22 +15,20 @@
|
|
|
15
15
|
- 不要混用不同场景的文案
|
|
16
16
|
- 只要 `Blocker > 0`,就绝对不能输出通过模板
|
|
17
17
|
- manual-validation 项绝对不能被计入 blocker / major / minor 计数,也不能用作触发场景 B/C/D 的依据
|
|
18
|
-
-
|
|
18
|
+
- 所选场景必须通过统一 helper 生成 `{next-step-commands}`
|
|
19
19
|
- 计数行固定显示 4 个数字。`人工裁决`(`{h}`)是本阶段 `needs-human-decision` 行数;它属于未闭环账本状态,因此 `{h} > 0` 时 `canAdvance=false`,必须按 `.agents/rules/next-step-output.md` 的「人工裁决待办前置块」展开详情,并只输出修订与复审路径。
|
|
20
20
|
|
|
21
|
-
场景 B/C/D 在修订命令后继续列出复审命令:`/review-analysis {task-ref}`、`/{{project}}:review-analysis {task-ref}`、`$review-analysis {task-ref}`。
|
|
22
|
-
|
|
23
21
|
### 场景 A:通过且无问题
|
|
24
22
|
|
|
23
|
+
使用 `agent-infra-internal agent-client next-steps --skill plan-task --task-ref {task-ref}` 生成本场景的 `{next-step-commands}`。
|
|
24
|
+
|
|
25
25
|
```text
|
|
26
26
|
任务 {task-id} 需求分析审查完成。结论:通过。
|
|
27
27
|
- 阻塞项:0 | 主要问题:0 | 次要问题:0 | 人工裁决:{h}
|
|
28
28
|
[- 审查报告:.agents/workspace/active/{task-id}/{review-artifact}]
|
|
29
29
|
|
|
30
30
|
下一步 - 编写技术方案:
|
|
31
|
-
|
|
32
|
-
- Gemini CLI:/{{project}}:plan-task {task-ref}
|
|
33
|
-
- Codex CLI:$plan-task {task-ref}
|
|
31
|
+
{next-step-commands}
|
|
34
32
|
|
|
35
33
|
[当 manual-validation > 0 时,在最后附加一行:]
|
|
36
34
|
提醒:manual-validation 项需在 PR description 的「待人工验证」清单中承接,不应触发 /analyze-task。
|
|
@@ -38,15 +36,15 @@
|
|
|
38
36
|
|
|
39
37
|
### 场景 B:需要修改(major / minor)
|
|
40
38
|
|
|
39
|
+
使用 `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}` 生成本场景的 `{next-step-commands}`。
|
|
40
|
+
|
|
41
41
|
```text
|
|
42
42
|
任务 {task-id} 需求分析审查完成。结论:需要修改。
|
|
43
43
|
- 阻塞项:0 | 主要问题:{n} | 次要问题:{n} | 人工裁决:{h}
|
|
44
44
|
- 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
|
|
45
45
|
|
|
46
46
|
下一步 - 修订需求分析:
|
|
47
|
-
|
|
48
|
-
- Gemini CLI:/{{project}}:analyze-task {task-ref}
|
|
49
|
-
- Codex CLI:$analyze-task {task-ref}
|
|
47
|
+
{next-step-commands}
|
|
50
48
|
|
|
51
49
|
[当 manual-validation > 0 时,在最后附加一行:]
|
|
52
50
|
提醒:manual-validation 项需在 PR description 的「待人工验证」清单中承接,不应触发 /analyze-task。
|
|
@@ -54,15 +52,15 @@
|
|
|
54
52
|
|
|
55
53
|
### 场景 C:需要修改
|
|
56
54
|
|
|
55
|
+
使用 `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}` 生成本场景的 `{next-step-commands}`。
|
|
56
|
+
|
|
57
57
|
```text
|
|
58
58
|
任务 {task-id} 需求分析审查完成。结论:需要修改。
|
|
59
59
|
- 阻塞项:{n} | 主要问题:{n} | 次要问题:{n} | 人工裁决:{h}
|
|
60
60
|
- 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
|
|
61
61
|
|
|
62
62
|
下一步 - 修订需求分析:
|
|
63
|
-
|
|
64
|
-
- Gemini CLI:/{{project}}:analyze-task {task-ref}
|
|
65
|
-
- Codex CLI:$analyze-task {task-ref}
|
|
63
|
+
{next-step-commands}
|
|
66
64
|
|
|
67
65
|
[当 manual-validation > 0 时,在最后附加一行:]
|
|
68
66
|
提醒:manual-validation 项需在 PR description 的「待人工验证」清单中承接,不应触发 /analyze-task。
|
|
@@ -70,15 +68,15 @@
|
|
|
70
68
|
|
|
71
69
|
### 场景 D:拒绝
|
|
72
70
|
|
|
71
|
+
使用 `agent-infra-internal agent-client next-steps --skill analyze-task --task-ref {task-ref}` 生成本场景的 `{next-step-commands}`。
|
|
72
|
+
|
|
73
73
|
```text
|
|
74
74
|
任务 {task-id} 需求分析审查完成。结论:拒绝,需要重新分析或补充需求澄清。
|
|
75
75
|
- 阻塞项:{n} | 主要问题:{n} | 次要问题:{n} | 人工裁决:{h}
|
|
76
76
|
- 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
|
|
77
77
|
|
|
78
78
|
下一步 - 重新分析:
|
|
79
|
-
|
|
80
|
-
- Gemini CLI:/{{project}}:analyze-task {task-ref}
|
|
81
|
-
- Codex CLI:$analyze-task {task-ref}
|
|
79
|
+
{next-step-commands}
|
|
82
80
|
|
|
83
81
|
[当 manual-validation > 0 时,在最后附加一行:]
|
|
84
82
|
提醒:manual-validation 项需在 PR description 的「待人工验证」清单中承接,不应触发 /analyze-task。
|
|
@@ -22,7 +22,45 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
|
|
|
22
22
|
- **Review Time**: {timestamp}
|
|
23
23
|
- **Scope**: {file-count and major modules}
|
|
24
24
|
- **Overall Verdict**: {Approved / Changes Requested / Rejected}
|
|
25
|
-
- **Findings (AI-actionable)**:
|
|
25
|
+
- **Findings (AI-actionable)**: {unresolved-blockers} blockers, {unresolved-major} majors, {unresolved-minor} minors / **Manual validation**: 0
|
|
26
|
+
|
|
27
|
+
## Review Coverage Declaration
|
|
28
|
+
|
|
29
|
+
| pass_id | scope | evidence | result | gaps_or_assumptions |
|
|
30
|
+
|---------|-------|----------|--------|---------------------|
|
|
31
|
+
| pass-1..5 | {scope actually reviewed} | {artifact / file:line / command} | {finding or conclusion} | {gap or assumption} |
|
|
32
|
+
|
|
33
|
+
| lens_id | trigger_evidence | loaded | result |
|
|
34
|
+
|---------|------------------|--------|--------|
|
|
35
|
+
| {registry token} | {trigger or non-trigger evidence} | {yes / no / not-applicable} | {lens result} |
|
|
36
|
+
|
|
37
|
+
## Requirement Analysis Coverage
|
|
38
|
+
|
|
39
|
+
| perspective_id | applicability | reviewed_scope | evidence | result_or_gap |
|
|
40
|
+
|----------------|---------------|----------------|----------|---------------|
|
|
41
|
+
| user | {applicable / not-applicable} | {business goals, user outcomes, non-goals, and acceptance} | {source_id / artifact / file:line} | {covered / gap} |
|
|
42
|
+
| maintainer | {applicable / not-applicable} | {maintenance boundaries, dependencies, compatibility, and ownership} | {source_id / artifact / file:line} | {covered / gap} |
|
|
43
|
+
| operations | {applicable / not-applicable} | {deployment, runtime, observability, recovery, and support constraints} | {source_id / artifact / file:line} | {covered / gap} |
|
|
44
|
+
| security | {applicable / not-applicable} | {trust boundaries, permissions, data, and abuse risks} | {source_id / artifact / file:line} | {covered / gap} |
|
|
45
|
+
| testing | {applicable / not-applicable} | {inputs, actions, results, boundaries, and verification environment} | {source_id / artifact / file:line} | {covered / gap} |
|
|
46
|
+
|
|
47
|
+
| quality_id | source | stakeholder | priority_or_tradeoff | verification | result_or_gap |
|
|
48
|
+
|------------|--------|-------------|----------------------|--------------|---------------|
|
|
49
|
+
| {stable identifier} | {source_id} | {stakeholder} | {priority or trade-off state} | {observable verification} | {covered / gap} |
|
|
50
|
+
|
|
51
|
+
| evolution_id | source | confirmation_status | classification | boundary_evidence | result_or_gap |
|
|
52
|
+
|--------------|--------|---------------------|----------------|-------------------|---------------|
|
|
53
|
+
| {stable identifier} | {source_id} | {confirmed / unconfirmed} | {design-input / assumption / open-question} | {evidence preventing current-scope expansion} | {covered / gap} |
|
|
54
|
+
|
|
55
|
+
| acceptance_id | observable_input | action | expected_result | status_or_gap |
|
|
56
|
+
|---------------|------------------|--------|-----------------|---------------|
|
|
57
|
+
| {stable identifier} | {observable input} | {review or verification action} | {expected result} | {verifiable / open / gap} |
|
|
58
|
+
|
|
59
|
+
## Traceability Matrix
|
|
60
|
+
|
|
61
|
+
| source_id | upstream | reviewed_target | verification | status_or_gap |
|
|
62
|
+
|-----------|----------|-----------------|--------------|---------------|
|
|
63
|
+
| {source identifier} | {upstream requirement or fact} | {requirement/acceptance/impact/risk} | {verification evidence} | {covered / gap} |
|
|
26
64
|
|
|
27
65
|
## Findings
|
|
28
66
|
|
|
@@ -30,15 +68,23 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
|
|
|
30
68
|
|
|
31
69
|
#### 1. {Issue title}
|
|
32
70
|
**File**: `{file-path}:{line-number}`
|
|
33
|
-
**
|
|
34
|
-
**
|
|
71
|
+
**Scenario**: {scenario}
|
|
72
|
+
**Impact**: {impact}
|
|
73
|
+
**Evidence**: {reproducible evidence}
|
|
74
|
+
**Confidence**: {high / medium / low}
|
|
75
|
+
**Unverified Assumptions**: {assumptions or none}
|
|
76
|
+
**Fix Direction**: {fix direction}
|
|
35
77
|
|
|
36
78
|
### Major Issues (should fix)
|
|
37
79
|
|
|
38
80
|
#### 1. {Issue title}
|
|
39
81
|
**File**: `{file-path}:{line-number}`
|
|
40
|
-
**
|
|
41
|
-
**
|
|
82
|
+
**Scenario**: {scenario}
|
|
83
|
+
**Impact**: {impact}
|
|
84
|
+
**Evidence**: {reproducible evidence}
|
|
85
|
+
**Confidence**: {high / medium / low}
|
|
86
|
+
**Unverified Assumptions**: {assumptions or none}
|
|
87
|
+
**Fix Direction**: {fix direction}
|
|
42
88
|
|
|
43
89
|
### Minor Issues (low impact, closure required)
|
|
44
90
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## 输出模板
|
|
6
6
|
|
|
7
7
|
```markdown
|
|
8
|
-
#
|
|
8
|
+
# 需求分析审查报告
|
|
9
9
|
|
|
10
10
|
- **审查轮次**:第 {review-round} 轮
|
|
11
11
|
- **产物文件**:`{review-artifact}`
|
|
@@ -22,7 +22,45 @@
|
|
|
22
22
|
- **审查时间**:{timestamp}
|
|
23
23
|
- **审查范围**:{file-count and major modules}
|
|
24
24
|
- **总体结论**:{通过 / 需要修改 / 拒绝}
|
|
25
|
-
- **发现(AI 可处理)**:
|
|
25
|
+
- **发现(AI 可处理)**:{unresolved-blockers} 阻塞项,{unresolved-major} 主要,{unresolved-minor} 次要 / **人工校验**:0
|
|
26
|
+
|
|
27
|
+
## 检视覆盖声明
|
|
28
|
+
|
|
29
|
+
| pass_id | scope | evidence | result | gaps_or_assumptions |
|
|
30
|
+
|---------|-------|----------|--------|---------------------|
|
|
31
|
+
| pass-1..5 | {本遍实际范围} | {artifact / file:line / command} | {发现或结论} | {缺口或假设} |
|
|
32
|
+
|
|
33
|
+
| lens_id | trigger_evidence | loaded | result |
|
|
34
|
+
|---------|------------------|--------|--------|
|
|
35
|
+
| {registry token} | {命中或未命中证据} | {yes / no / not-applicable} | {专项结论} |
|
|
36
|
+
|
|
37
|
+
## 需求分析专项覆盖
|
|
38
|
+
|
|
39
|
+
| perspective_id | applicability | reviewed_scope | evidence | result_or_gap |
|
|
40
|
+
|----------------|---------------|----------------|----------|---------------|
|
|
41
|
+
| user | {applicable / not-applicable} | {业务目标、使用结果、非目标与验收} | {source_id / artifact / file:line} | {covered / gap} |
|
|
42
|
+
| maintainer | {applicable / not-applicable} | {维护边界、依赖、兼容性与长期责任} | {source_id / artifact / file:line} | {covered / gap} |
|
|
43
|
+
| operations | {applicable / not-applicable} | {部署、运行、可观测性、恢复与支持约束} | {source_id / artifact / file:line} | {covered / gap} |
|
|
44
|
+
| security | {applicable / not-applicable} | {信任边界、权限、数据与滥用风险} | {source_id / artifact / file:line} | {covered / gap} |
|
|
45
|
+
| testing | {applicable / not-applicable} | {输入、动作、结果、边界与验证环境} | {source_id / artifact / file:line} | {covered / gap} |
|
|
46
|
+
|
|
47
|
+
| quality_id | source | stakeholder | priority_or_tradeoff | verification | result_or_gap |
|
|
48
|
+
|------------|--------|-------------|----------------------|--------------|---------------|
|
|
49
|
+
| {稳定标识} | {source_id} | {利益相关者} | {优先级或权衡状态} | {可观察验证方式} | {covered / gap} |
|
|
50
|
+
|
|
51
|
+
| evolution_id | source | confirmation_status | classification | boundary_evidence | result_or_gap |
|
|
52
|
+
|--------------|--------|---------------------|----------------|-------------------|---------------|
|
|
53
|
+
| {稳定标识} | {source_id} | {confirmed / unconfirmed} | {design-input / assumption / open-question} | {不扩张为当前需求的证据} | {covered / gap} |
|
|
54
|
+
|
|
55
|
+
| acceptance_id | observable_input | action | expected_result | status_or_gap |
|
|
56
|
+
|---------------|------------------|--------|-----------------|---------------|
|
|
57
|
+
| {稳定标识} | {可观察输入} | {审查或验证动作} | {预期结果} | {verifiable / open / gap} |
|
|
58
|
+
|
|
59
|
+
## 追踪矩阵
|
|
60
|
+
|
|
61
|
+
| source_id | upstream | reviewed_target | verification | status_or_gap |
|
|
62
|
+
|-----------|----------|-----------------|--------------|---------------|
|
|
63
|
+
| {来源标识} | {上游需求或事实} | {需求/验收/影响/风险} | {验证证据} | {covered / gap} |
|
|
26
64
|
|
|
27
65
|
## 问题清单
|
|
28
66
|
|
|
@@ -30,15 +68,23 @@
|
|
|
30
68
|
|
|
31
69
|
#### 1. {问题标题}
|
|
32
70
|
**文件**:`{file-path}:{line-number}`
|
|
33
|
-
|
|
34
|
-
|
|
71
|
+
**场景**:{scenario}
|
|
72
|
+
**影响**:{impact}
|
|
73
|
+
**证据**:{reproducible evidence}
|
|
74
|
+
**置信度**:{high / medium / low}
|
|
75
|
+
**未验证假设**:{assumptions or none}
|
|
76
|
+
**修复方向**:{fix direction}
|
|
35
77
|
|
|
36
78
|
### 主要问题(建议修复)
|
|
37
79
|
|
|
38
80
|
#### 1. {问题标题}
|
|
39
81
|
**文件**:`{file-path}:{line-number}`
|
|
40
|
-
|
|
41
|
-
|
|
82
|
+
**场景**:{scenario}
|
|
83
|
+
**影响**:{impact}
|
|
84
|
+
**证据**:{reproducible evidence}
|
|
85
|
+
**置信度**:{high / medium / low}
|
|
86
|
+
**未验证假设**:{assumptions or none}
|
|
87
|
+
**修复方向**:{fix direction}
|
|
42
88
|
|
|
43
89
|
### 次要问题(低影响但需闭环)
|
|
44
90
|
|
|
@@ -23,35 +23,38 @@ Follow the `analysis-review` step in `.agents/workflows/feature-development.yaml
|
|
|
23
23
|
- Presenting uncertain information as fact without marking assumptions or open questions
|
|
24
24
|
- Asserting a `file:line` or behavior from memory or impression without verifying via rg/nl
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## Requirement Analysis Coverage
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
2. **Specific**: cite exact file paths and line numbers
|
|
30
|
-
3. **Actionable**: suggest a concrete fix
|
|
31
|
-
4. **Severity-based**: clearly distinguish blockers, major issues, and minor issues
|
|
28
|
+
### Perspectives
|
|
32
29
|
|
|
33
|
-
|
|
30
|
+
Every review must examine these minimum perspectives and use their stable `perspective_id` values in the report:
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
- `user`: business goals, user outcomes, non-goals, and acceptance
|
|
33
|
+
- `maintainer`: maintenance boundaries, dependencies, compatibility, and long-term ownership
|
|
34
|
+
- `operations`: deployment, runtime, observability, recovery, and support constraints
|
|
35
|
+
- `security`: trust boundaries, permissions, data, and abuse risks
|
|
36
|
+
- `testing`: observable inputs, actions, results, boundary conditions, and verification environments
|
|
38
37
|
|
|
39
|
-
|
|
38
|
+
For an applicable perspective, record the reviewed scope, evidence, and `covered/gap`. A `not-applicable` result requires reviewable evidence or it is a gap. Add stable tokens for other stakeholders triggered by task sources or risk evidence; do not turn every possible role into a fixed checklist.
|
|
40
39
|
|
|
41
|
-
|
|
40
|
+
### Quality Attributes
|
|
42
41
|
|
|
43
|
-
-
|
|
44
|
-
- Missing a specific OS for macOS-only behavior
|
|
45
|
-
- Missing third-party accounts / OAuth
|
|
46
|
-
- Missing privileged operations such as root, sudo, or special network access
|
|
42
|
+
Record only quality attributes triggered by sources, constraints, or perspectives; do not impose a fixed vocabulary. Each item needs a stable `quality_id`, its source and stakeholder, a priority or trade-off state, a verifiable expression, and `covered/gap`. A candidate without a source may only be an assumption, open question, or non-blocking advisory, not a confirmed requirement.
|
|
47
43
|
|
|
48
|
-
|
|
49
|
-
- Yes -> blocker / major / minor, based on risk
|
|
50
|
-
- No -> **manual-validation** (a manual-validation meta-category, not part of severity ordering)
|
|
44
|
+
### Evolution Scenarios
|
|
51
45
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
46
|
+
Each reasonable future change needs a stable `evolution_id`, source, `confirmed/unconfirmed` state, `design-input/assumption/open-question` classification, boundary evidence, and `covered/gap`. An `unconfirmed` scenario must not become a current requirement or directly drive an architecture or implementation choice.
|
|
47
|
+
|
|
48
|
+
### Acceptance Criteria
|
|
49
|
+
|
|
50
|
+
For every criterion, record a stable `acceptance_id`, observable input, review action, expected result, and `verifiable/open/gap`. A non-behavioral constraint may use an observable verification method instead of a behavioral step; anything that cannot close must become an open question or finding.
|
|
51
|
+
|
|
52
|
+
### Traceability and Boundary
|
|
53
|
+
|
|
54
|
+
The shared traceability matrix remains the only mapping from sources to analysis conclusions. Its `source_id` values should cover user requests, Issues, task facts and decisions, and acceptance criteria; stage-specific tables refer back through their source or evidence. This stage only judges whether analysis is ready for design. It does not select architecture styles, design patterns, or implementation technologies, and it does not duplicate the shared five-pass protocol or finding evidence fields.
|
|
55
|
+
|
|
56
|
+
## Shared Method and Classification Boundary
|
|
57
|
+
|
|
58
|
+
Read `.agents/rules/review-method.md` first and apply its five-pass protocol, risk lenses, and finding evidence contract. Finding, manual-validation, advisory, and `needs-human-decision` state semantics remain governed by `.agents/rules/review-handshake.md`. This file adds only analysis-stage criteria.
|
|
56
59
|
|
|
57
60
|
Also inspect the latest requirement analysis artifact and `task.md` Activity Log so the report reflects the full analysis context.
|
|
@@ -23,35 +23,38 @@
|
|
|
23
23
|
- 对无法确认的信息直接下结论,没有标记假设或开放问题
|
|
24
24
|
- 凭印象或记忆断言 `file:line`/行为,没有用 rg/nl 复核就下结论
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## 需求分析专项覆盖
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
2. **具体**:引用准确的文件路径和行号
|
|
30
|
-
3. **可执行**:给出明确可落地的修复建议
|
|
31
|
-
4. **按严重程度分类**:明确区分 blocker、major 和 minor
|
|
28
|
+
### 角色视角
|
|
32
29
|
|
|
33
|
-
|
|
30
|
+
每轮必须逐项检视以下最低视角,并在报告中使用稳定的 `perspective_id`:
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
- `user`:业务目标、使用结果、非目标和验收
|
|
33
|
+
- `maintainer`:维护边界、依赖、兼容性和长期责任
|
|
34
|
+
- `operations`:部署、运行、可观测性、恢复和支持约束
|
|
35
|
+
- `security`:信任边界、权限、数据和滥用风险
|
|
36
|
+
- `testing`:可观察的输入、动作、结果、边界条件和验证环境
|
|
38
37
|
|
|
39
|
-
|
|
38
|
+
适用视角记录实际范围、证据和 `covered/gap`;`not-applicable` 必须附可复核依据,否则视为 gap。若任务来源或风险证据出现其他利益相关者,追加稳定 token;不要把可能角色扩张成固定全集。
|
|
40
39
|
|
|
41
|
-
|
|
40
|
+
### 质量属性
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
- 缺特定 OS(macOS-only 行为)
|
|
45
|
-
- 缺第三方账号 / OAuth
|
|
46
|
-
- 缺特权操作(root、sudo、特殊网络)
|
|
42
|
+
只记录由来源、约束或角色视角实际触发的质量属性,不使用固定名词全集。每项需有稳定 `quality_id`、来源与利益相关者、优先级或权衡状态、可验证表达及 `covered/gap`。缺少来源的候选项只能作为假设、开放问题或非阻塞建议,不能作为已确认需求。
|
|
47
43
|
|
|
48
|
-
|
|
49
|
-
- 是 -> blocker / major / minor 之一(按风险定档)
|
|
50
|
-
- 否 -> **manual-validation**(人工校验元类目,不参与严重程度排序)
|
|
44
|
+
### 演进场景
|
|
51
45
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
46
|
+
合理未来变化需有稳定 `evolution_id`、来源、`confirmed/unconfirmed` 状态、`design-input/assumption/open-question` 分类、边界证据及 `covered/gap`。`unconfirmed` 场景不得升级为当前需求,也不得直接驱动架构或实现选择。
|
|
47
|
+
|
|
48
|
+
### 验收标准
|
|
49
|
+
|
|
50
|
+
逐项记录稳定 `acceptance_id`、可观察输入、审查动作、预期结果和 `verifiable/open/gap`。非行为型约束可用可观察验证方式替代行为步骤;无法闭环时必须进入开放问题或 finding。
|
|
51
|
+
|
|
52
|
+
### 追踪与边界
|
|
53
|
+
|
|
54
|
+
共享追踪矩阵仍是来源到分析结论的唯一映射。其 `source_id` 应覆盖用户请求、Issue、任务事实/决策和验收标准;专项表通过来源或证据回指这些稳定标识。本阶段只判断分析是否足以进入设计,不选择架构风格、设计模式或实现技术,也不复制共享五遍协议和 finding 证据字段。
|
|
55
|
+
|
|
56
|
+
## 共享方法与分类边界
|
|
57
|
+
|
|
58
|
+
先读取 `.agents/rules/review-method.md`,按其五遍协议、风险镜头和 finding 证据契约执行;finding、manual-validation、advisory 与 `needs-human-decision` 的状态语义以 `.agents/rules/review-handshake.md` 为准。本文件只补充需求分析阶段的专项判断。
|
|
56
59
|
|
|
57
60
|
同时检查最新需求分析产物和 `task.md` Activity Log,确保报告反映完整的分析上下文。
|
|
@@ -7,6 +7,9 @@ description: >
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Code Review
|
|
10
|
+
> `--agent` values follow the "Collaborator Token Specification" in `.agents/rules/task-management.md`: standard AI short tokens (`claude`/`codex`/`antigravity`/`opencode`/`cursor`), long-name normalization (`claude-code`->`claude`, `antigravity-cli`->`antigravity`), or the `human` manual exception.
|
|
11
|
+
|
|
12
|
+
If the entry operands contain `--orchestrated`, bind `{execution-flag}` to `--orchestrated` and forward it unchanged to both the summary finalizer and completed event; otherwise bind it to an empty value. Never infer it from `orchestration.json`, environment variables, or prior artifacts.
|
|
10
13
|
|
|
11
14
|
Review the latest code round and produce `review-code.md` or `review-code-r{N}.md`.
|
|
12
15
|
|
|
@@ -46,7 +49,7 @@ Before the state check is complete, do not make external-state assertions such a
|
|
|
46
49
|
|
|
47
50
|
## Step Start: Write the started Marker
|
|
48
51
|
|
|
49
|
-
After resolving the artifact context and before this round's first artifact action, run `agent-infra-internal task-event {task-id} review-code.started --agent {agent}`.
|
|
52
|
+
After resolving the artifact context and before this round's first artifact action, run `agent-infra-internal task-event {task-id} review-code.started --agent {standard-agent-token}`.
|
|
50
53
|
|
|
51
54
|
## Steps
|
|
52
55
|
|
|
@@ -67,13 +70,23 @@ Read the highest-round code artifact and, if present, the highest-round fix arti
|
|
|
67
70
|
### 4. Perform the Review
|
|
68
71
|
|
|
69
72
|
Follow `.agents/workflows/feature-development.yaml` and inspect the full change context:
|
|
70
|
-
- Capture `R=$(git rev-parse HEAD)` exactly once; reuse
|
|
71
|
-
- `
|
|
73
|
+
- Capture the reviewed commit `R=$(git rev-parse HEAD)` exactly once; reuse R for this round's report, snapshot tree, and task review fact, and do not re-read HEAD later as a substitute
|
|
74
|
+
- Call `agent-infra-internal platform-pr inspect {task-id}`. When a bound PR provides a base SHA, set the diff base to `D=$(git merge-base "$R" "{base-sha}")`. Without a PR, set `D=$R` only when tracked or untracked worktree changes exist. A clean worktree without a bound PR has no reliable complete committed range: stop and require a bound PR instead of reviewing an empty diff
|
|
75
|
+
- `git diff --binary "$D" -- <post-review-globs>` covers committed and uncommitted tracked changes from D to the current worktree
|
|
72
76
|
- `git ls-files -o --exclude-standard -z -- <post-review-globs>` for untracked new files
|
|
73
|
-
- Write `mode=worktree` and
|
|
77
|
+
- Write `mode=worktree`, `baseline=R`, and `diffBase=D` to a temporary JSON file, then call `agent-infra-internal git-workflow snapshot --input {file}` to generate a reviewed diff fingerprint `F` for the complete committed range and a reviewed snapshot tree `T` for the current worktree; write R, D, F, and T into the report
|
|
74
78
|
|
|
79
|
+
> After collecting those facts, read `.agents/rules/review-method.md`, use them as readiness evidence, and run Passes 2–5 for traceability, risk lenses, counterevidence, and classification; the report must record all five passes.
|
|
75
80
|
> Detailed review criteria, severity rules, and reviewer expectations live in `reference/review-criteria.md`. Read `reference/review-criteria.md` before reviewing.
|
|
76
|
-
|
|
81
|
+
|
|
82
|
+
Apply the shared five-pass protocol to code in this order:
|
|
83
|
+
- Pass 1 reads the complete diff, untracked files, latest code artifact, approved plan/review-plan, task source, and raw test results.
|
|
84
|
+
- Pass 2 maps acceptance/plan → implementation → verification and records changed lines, necessary callers/callees, state/data flow, and uncovered areas per file.
|
|
85
|
+
- Pass 3 reviews overall design before per-file semantics, evaluates every shared registry trigger, and reads every matched reference in full. Test changes load `.agents/rules/testing-discipline.md` through the registry's `testing-discipline` lens; do not maintain a second trigger list.
|
|
86
|
+
- Pass 4 checks guards, call constraints, test coverage, and narrower impact boundaries as counterevidence.
|
|
87
|
+
- Pass 5 reconciles findings, manual-validation, advisories, evidence types, unverified assumptions, ledger state, and verdict.
|
|
88
|
+
|
|
89
|
+
Complete the code implementation coverage in `reference/report-template.md`. Approval is forbidden when a matched reference is missing or unloaded, or when a risk gap remains unclassified.
|
|
77
90
|
|
|
78
91
|
### 5. Write the Review Report
|
|
79
92
|
|
|
@@ -85,18 +98,28 @@ Create `.agents/workspace/active/{task-id}/{review-artifact}`.
|
|
|
85
98
|
|
|
86
99
|
Update task.md:
|
|
87
100
|
- After the report, submit each new finding with `agent-infra-internal task-ledger {task-id} finding-upsert --stage code --review-artifact {review-artifact} --ordinal {n} --severity {blocker|major|minor} --evidence {review-artifact}#{anchor}`; submit prior-response dispositions with `finding-review --id {ledger-id} --status {confirmed|closed|open|needs-human-decision} --evidence {evidence}`. Do not scan ids or edit ledger rows
|
|
88
|
-
- After all ledger writes, call `agent-infra-internal task-
|
|
101
|
+
- After all ledger writes, call `agent-infra-internal task-review {task-id} finalize-summary --stage code --artifact {review-artifact} {execution-flag}` exactly once
|
|
102
|
+
|
|
103
|
+
Bind and reuse this structured mapping from that one response:
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
{unresolved-blockers} = stageStatus.unresolvedFindingCounts.blocker
|
|
107
|
+
{unresolved-major} = stageStatus.unresolvedFindingCounts.major
|
|
108
|
+
{unresolved-minor} = stageStatus.unresolvedFindingCounts.minor
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
The intent atomically finalizes the report summary and returns the same ledger snapshot. Do not call `stage-status`, replace placeholders manually, or rescan the finding list. If finalization fails or a response field is missing, stop before the completion event. Derive the verdict and next-step branch from the same response's `stageStatus.canAdvance`; only `canAdvance=true` permits Approved
|
|
89
112
|
- Only when `canAdvance=true`, the verdict is Approved, and `T == R^{tree}`, write `last_reviewed_commit: {R}`. Clear an old value for an Approved snapshot with uncommitted differences; otherwise preserve the existing value and do not advance it
|
|
90
113
|
- For an Approved exit, collect PR and required-checks facts as defined in `reference/output-templates.md`: route uncommitted/unpushed code to `commit`, no PR to `create-pr` (except no-PR flow), non-terminal checks to `watch-pr`, and route to `complete-task` only when `HEAD == last_reviewed_commit == PR head` with checks `passed|no-required`; never route by review round alone
|
|
91
|
-
- After handling `last_reviewed_commit`, run `agent-infra-internal task-event {task-id} review-code.completed --agent {agent} --artifact {review-artifact} --verdict {approved|changes-requested|rejected} --blockers {
|
|
114
|
+
- After handling `last_reviewed_commit`, run `agent-infra-internal task-event {task-id} review-code.completed --agent {standard-agent-token} --artifact {review-artifact} --verdict {approved|changes-requested|rejected} --blockers {unresolved-blockers} --major {unresolved-major} --minor {unresolved-minor} --manual-validation {n} {execution-flag}`
|
|
92
115
|
|
|
93
116
|
Always include the `Manual-validation: {n}` field in the done log, including when it is 0.
|
|
94
117
|
`manual-validation` is the data source for the `Manual-validation` count folded into review rows in `ai task log`; do not add a parallel manual-verification field.
|
|
95
118
|
|
|
96
119
|
If task.md contains a valid `issue_number`, perform these sync actions (skip and continue on any failure):
|
|
97
|
-
- Run `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status in-progress`
|
|
98
|
-
- Run `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
|
|
99
|
-
- Run `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {review-artifact} --agent {agent}`
|
|
120
|
+
- Run `agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --status in-progress`
|
|
121
|
+
- Run `agent-infra-internal platform-comment sync {task-id} --kind task --agent {standard-agent-token}`
|
|
122
|
+
- Run `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {review-artifact} --agent {standard-agent-token}`
|
|
100
123
|
|
|
101
124
|
### 7. Verification Gate
|
|
102
125
|
|
|
@@ -130,7 +153,7 @@ manual-validation counts do not influence branch selection; they are displayed o
|
|
|
130
153
|
|
|
131
154
|
> 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).
|
|
132
155
|
|
|
133
|
-
|
|
156
|
+
render the selected next-step commands through the shared helper. 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).
|
|
134
157
|
|
|
135
158
|
## Completion Checklist
|
|
136
159
|
|
|
@@ -138,7 +161,7 @@ Include all TUI command formats in the next-step output. If `.agents/.airc.json`
|
|
|
138
161
|
- [ ] Created `{review-artifact}`
|
|
139
162
|
- [ ] Updated task.md and appended the Activity Log entry
|
|
140
163
|
- [ ] Chose exactly one verdict branch in the user output
|
|
141
|
-
- [ ]
|
|
164
|
+
- [ ] Rendered the selected next-step commands through the shared helper
|
|
142
165
|
|
|
143
166
|
## Notes
|
|
144
167
|
|