@fitlab-ai/agent-infra 0.9.12 → 0.9.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/README.zh-CN.md +11 -11
- package/bin/cli.ts +26 -9
- package/dist/bin/cli.js +173 -157
- package/dist/bin/internal-cli.js +66 -40
- package/dist/lib/agent-client.js +5 -0
- package/dist/lib/agent-clients/next-steps.js +6 -1
- package/dist/lib/decide.js +3 -3
- package/dist/lib/internal/agent-client.js +5 -2
- package/dist/lib/internal/cli-route-inventory.js +152 -0
- package/dist/lib/internal/codex-lifecycle.js +9 -6
- package/dist/lib/internal/codex-sandbox-controller.js +8 -2
- package/dist/lib/internal/git-workflow.js +10 -6
- package/dist/lib/internal/platform-checks.js +19 -7
- package/dist/lib/internal/platform-comment.js +25 -13
- package/dist/lib/internal/platform-context.js +6 -3
- package/dist/lib/internal/platform-issue.js +20 -13
- package/dist/lib/internal/platform-metadata.js +88 -0
- package/dist/lib/internal/platform-pr-review.js +26 -13
- package/dist/lib/internal/platform-pr.js +84 -31
- package/dist/lib/internal/platform-release-notes.js +9 -6
- package/dist/lib/internal/platform-security.js +93 -0
- package/dist/lib/internal/pr-review-grade.js +25 -12
- package/dist/lib/internal/release-workflow.js +23 -9
- package/dist/lib/internal/sandbox-control.js +50 -7
- package/dist/lib/internal/task-activity.js +16 -7
- package/dist/lib/internal/task-artifact.js +235 -24
- package/dist/lib/internal/task-context.js +4 -1
- package/dist/lib/internal/task-create.js +50 -17
- package/dist/lib/internal/task-delivery.js +4 -1
- package/dist/lib/internal/task-event.js +10 -4
- package/dist/lib/internal/task-finalization.js +6 -3
- package/dist/lib/internal/task-invalidation.js +63 -0
- package/dist/lib/internal/task-ledger.js +20 -6
- package/dist/lib/internal/task-lifecycle.js +6 -3
- package/dist/lib/internal/task-operation-registry.js +421 -0
- package/dist/lib/internal/task-orchestration.js +12 -0
- package/dist/lib/internal/task-override.js +14 -7
- package/dist/lib/internal/task-qualification.js +90 -0
- package/dist/lib/internal/task-review.js +7 -4
- package/dist/lib/internal/task-short-id.js +11 -1
- package/dist/lib/internal/task-snapshot.js +4 -1
- package/dist/lib/internal/task-validate.js +7 -2
- package/dist/lib/internal/task-verify.js +11 -7
- package/dist/lib/internal/task-warning.js +11 -4
- package/dist/lib/platform/adapters.js +1 -3
- package/dist/lib/platform/change-request-git-evidence.js +27 -7
- package/dist/lib/platform/comment-safety.js +226 -0
- package/dist/lib/platform/completion-backfill.js +6 -5
- package/dist/lib/platform/context.js +70 -130
- package/dist/lib/platform/github-client.js +1 -1
- package/dist/lib/platform/github-provider.js +1130 -0
- package/dist/lib/platform/in-label-sync.js +143 -0
- package/dist/lib/platform/issue-comments.js +237 -72
- package/dist/lib/platform/issues.js +335 -189
- package/dist/lib/platform/metadata-labels.js +6 -2
- package/dist/lib/platform/none-provider.js +28 -0
- package/dist/lib/platform/pr-change-report.js +545 -0
- package/dist/lib/platform/pr-checks.js +119 -104
- package/dist/lib/platform/pr-review.js +88 -72
- package/dist/lib/platform/pr-summary.js +541 -50
- package/dist/lib/platform/provider-bridge.js +45 -0
- package/dist/lib/platform/provider-contract.d.ts +553 -0
- package/dist/lib/platform/provider-contract.js +99 -0
- package/dist/lib/platform/provider-loader.js +251 -0
- package/dist/lib/platform/provider-validation.js +577 -0
- package/dist/lib/platform/pull-request-metadata.js +8 -6
- package/dist/lib/platform/pull-requests.js +734 -543
- package/dist/lib/platform/release-notes.js +78 -55
- package/dist/lib/platform/releases.js +79 -50
- package/dist/lib/platform/repository-metadata.js +377 -0
- package/dist/lib/platform/resource-identity.d.ts +26 -0
- package/dist/lib/platform/resource-identity.js +92 -0
- package/dist/lib/platform/security-alerts.js +155 -0
- package/dist/lib/platform/task-identities.js +31 -0
- package/dist/lib/platform/verification-required.js +11 -12
- package/dist/lib/platform/verification-sync.js +129 -248
- package/dist/lib/pr-review/evidence-grading.js +19 -6
- package/dist/lib/process-data/index.js +7 -0
- package/dist/lib/run/index.js +68 -23
- package/dist/lib/sandbox/commands/control-status.js +22 -0
- package/dist/lib/sandbox/commands/create.js +32 -6
- package/dist/lib/sandbox/commands/ls.js +5 -0
- package/dist/lib/sandbox/commands/rm.js +827 -120
- package/dist/lib/sandbox/commands/show.js +16 -0
- package/dist/lib/sandbox/control/client.js +174 -19
- package/dist/lib/sandbox/control/completed-reentry.js +85 -0
- package/dist/lib/sandbox/control/container-identity.js +28 -31
- package/dist/lib/sandbox/control/executor.js +151 -16
- package/dist/lib/sandbox/control/lifecycle.js +621 -127
- package/dist/lib/sandbox/control/native-file-lock.js +177 -0
- package/dist/lib/sandbox/control/protocol.js +77 -0
- package/dist/lib/sandbox/control/server.js +677 -34
- package/dist/lib/sandbox/control/state.js +209 -4
- package/dist/lib/sandbox/control/task-view.js +183 -0
- package/dist/lib/sandbox/engines/authority.js +289 -0
- package/dist/lib/sandbox/engines/docker-exact-discovery.js +97 -0
- package/dist/lib/sandbox/index.js +5 -0
- package/dist/lib/sandbox/recovery.js +21 -1
- package/dist/lib/sandbox/workspace-view.js +2 -1
- package/dist/lib/sandbox/worktree-safety.js +4 -1
- package/dist/lib/server/index.js +8 -0
- package/dist/lib/server/protocol.js +38 -1
- package/dist/lib/task/activity-log.js +8 -1
- package/dist/lib/task/artifact-lifecycle.js +75 -18
- package/dist/lib/task/artifact-operations.js +520 -0
- package/dist/lib/task/artifact-repair-intent.js +59 -0
- package/dist/lib/task/artifact-schema.js +135 -0
- package/dist/lib/task/capabilities.js +310 -0
- package/dist/lib/task/commands/status.js +32 -0
- package/dist/lib/task/commit-operation.js +12 -1
- package/dist/lib/task/control-authority.js +12 -5
- package/dist/lib/task/create-service.js +111 -12
- package/dist/lib/task/create.js +25 -0
- package/dist/lib/task/current-contract.js +5 -1
- package/dist/lib/task/decision-details.js +1 -1
- package/dist/lib/task/events.js +416 -17
- package/dist/lib/task/finalization.js +37 -13
- package/dist/lib/task/human-override.js +58 -36
- package/dist/lib/task/index.js +11 -3
- package/dist/lib/task/invalidation-command.js +86 -0
- package/dist/lib/task/invalidation.js +260 -0
- package/dist/lib/task/ledger-intents.js +37 -0
- package/dist/lib/task/local-artifact-finalization.js +299 -0
- package/dist/lib/task/orchestration.js +240 -144
- package/dist/lib/task/pr-delivery-fact.js +102 -101
- package/dist/lib/task/qualification-audit.js +490 -0
- package/dist/lib/task/qualification-confirmation.js +109 -0
- package/dist/lib/task/qualification-intents.js +148 -0
- package/dist/lib/task/review-artifacts.js +22 -23
- package/dist/lib/task/review-finalization.js +121 -4
- package/dist/lib/task/review-fingerprint.js +24 -2
- package/dist/lib/task/rework-intent.js +138 -0
- package/dist/lib/task/sections.js +6 -4
- package/dist/lib/task/skill-scope.js +23 -0
- package/dist/lib/task/task-execution-lock.js +27 -17
- package/dist/lib/task/verification-config.js +11 -0
- package/dist/lib/task/verification-engine.js +93 -16
- package/dist/lib/task/verification.js +3 -3
- package/dist/lib/task/workflow-warning-intents.js +1 -1
- package/dist/lib/task/write.js +11 -0
- package/dist/lib/version.js +11 -1
- package/dist/lifecycle-build-manifest.json +3 -3
- package/lib/agent-client.ts +9 -0
- package/lib/agent-clients/next-steps.ts +6 -1
- package/lib/decide.ts +3 -3
- package/lib/init.ts +1 -1
- package/lib/internal/agent-client.ts +4 -2
- package/lib/internal/cli-route-inventory.ts +140 -0
- package/lib/internal/codex-lifecycle.ts +8 -6
- package/lib/internal/codex-sandbox-controller.ts +7 -2
- package/lib/internal/git-workflow.ts +9 -6
- package/lib/internal/platform-checks.ts +14 -6
- package/lib/internal/platform-comment.ts +20 -12
- package/lib/internal/platform-context.ts +5 -3
- package/lib/internal/platform-issue.ts +17 -11
- package/lib/internal/platform-metadata.ts +70 -0
- package/lib/internal/platform-pr-review.ts +23 -12
- package/lib/internal/platform-pr.ts +65 -27
- package/lib/internal/platform-release-notes.ts +8 -6
- package/lib/internal/platform-security.ts +83 -0
- package/lib/internal/pr-review-grade.ts +20 -11
- package/lib/internal/release-workflow.ts +21 -9
- package/lib/internal/sandbox-control.ts +44 -6
- package/lib/internal/task-activity.ts +15 -7
- package/lib/internal/task-artifact.ts +204 -22
- package/lib/internal/task-context.ts +3 -1
- package/lib/internal/task-create.ts +78 -17
- package/lib/internal/task-delivery.ts +3 -1
- package/lib/internal/task-event.ts +9 -4
- package/lib/internal/task-finalization.ts +6 -4
- package/lib/internal/task-invalidation.ts +41 -0
- package/lib/internal/task-ledger.ts +21 -8
- package/lib/internal/task-lifecycle.ts +5 -3
- package/lib/internal/task-operation-registry.ts +482 -0
- package/lib/internal/task-orchestration.ts +12 -0
- package/lib/internal/task-override.ts +15 -9
- package/lib/internal/task-qualification.ts +61 -0
- package/lib/internal/task-review.ts +6 -4
- package/lib/internal/task-short-id.ts +10 -1
- package/lib/internal/task-snapshot.ts +3 -1
- package/lib/internal/task-validate.ts +6 -2
- package/lib/internal/task-verify.ts +10 -7
- package/lib/internal/task-warning.ts +10 -4
- package/lib/platform/adapters.ts +3 -2
- package/lib/platform/change-request-git-evidence.ts +36 -9
- package/lib/platform/comment-safety.ts +250 -0
- package/lib/platform/completion-backfill.ts +9 -8
- package/lib/platform/context.ts +97 -134
- package/lib/platform/github-client.ts +2 -2
- package/lib/platform/github-provider.ts +1132 -0
- package/lib/platform/in-label-sync.ts +208 -0
- package/lib/platform/issue-comments.ts +255 -80
- package/lib/platform/issues.ts +344 -174
- package/lib/platform/metadata-labels.ts +5 -2
- package/lib/platform/none-provider.ts +35 -0
- package/lib/platform/pr-change-report.ts +639 -0
- package/lib/platform/pr-checks.ts +126 -106
- package/lib/platform/pr-review.ts +88 -85
- package/lib/platform/pr-summary.ts +581 -53
- package/lib/platform/provider-bridge.ts +82 -0
- package/lib/platform/provider-contract.ts +611 -0
- package/lib/platform/provider-loader.ts +307 -0
- package/lib/platform/provider-validation.ts +611 -0
- package/lib/platform/pull-request-metadata.ts +10 -7
- package/lib/platform/pull-requests.ts +781 -550
- package/lib/platform/release-notes.ts +76 -59
- package/lib/platform/releases.ts +77 -43
- package/lib/platform/repository-metadata.ts +453 -0
- package/lib/platform/resource-identity.ts +121 -0
- package/lib/platform/security-alerts.ts +191 -0
- package/lib/platform/task-identities.ts +40 -0
- package/lib/platform/types.ts +4 -2
- package/lib/platform/verification-required.ts +11 -13
- package/lib/platform/verification-sync.ts +128 -304
- package/lib/pr-review/evidence-grading.ts +25 -8
- package/lib/process-data/index.ts +7 -0
- package/lib/run/index.ts +62 -22
- package/lib/sandbox/commands/control-status.ts +26 -0
- package/lib/sandbox/commands/create.ts +46 -6
- package/lib/sandbox/commands/ls.ts +7 -0
- package/lib/sandbox/commands/rm.ts +1000 -87
- package/lib/sandbox/commands/show.ts +16 -0
- package/lib/sandbox/control/client.ts +203 -19
- package/lib/sandbox/control/completed-reentry.ts +98 -0
- package/lib/sandbox/control/container-identity.ts +27 -43
- package/lib/sandbox/control/executor.ts +180 -15
- package/lib/sandbox/control/lifecycle.ts +629 -17
- package/lib/sandbox/control/native-file-lock.ts +209 -0
- package/lib/sandbox/control/protocol.ts +118 -2
- package/lib/sandbox/control/server.ts +724 -34
- package/lib/sandbox/control/state.ts +257 -4
- package/lib/sandbox/control/task-view.ts +240 -0
- package/lib/sandbox/engines/authority.ts +365 -0
- package/lib/sandbox/engines/docker-exact-discovery.ts +132 -0
- package/lib/sandbox/index.ts +7 -0
- package/lib/sandbox/recovery.ts +21 -1
- package/lib/sandbox/workspace-view.ts +9 -3
- package/lib/sandbox/worktree-safety.ts +4 -1
- package/lib/server/index.ts +10 -0
- package/lib/server/protocol.ts +36 -1
- package/lib/task/activity-log.ts +8 -0
- package/lib/task/artifact-lifecycle.ts +70 -22
- package/lib/task/artifact-operations.ts +626 -0
- package/lib/task/artifact-repair-intent.ts +71 -0
- package/lib/task/artifact-schema.ts +192 -0
- package/lib/task/capabilities.ts +331 -0
- package/lib/task/commands/status.ts +38 -0
- package/lib/task/commit-operation.ts +12 -1
- package/lib/task/control-authority.ts +22 -9
- package/lib/task/create-service.ts +139 -14
- package/lib/task/create.ts +27 -0
- package/lib/task/current-contract.ts +6 -1
- package/lib/task/decision-details.ts +6 -2
- package/lib/task/events.ts +392 -16
- package/lib/task/finalization.ts +50 -14
- package/lib/task/human-override.ts +70 -46
- package/lib/task/index.ts +16 -3
- package/lib/task/invalidation-command.ts +86 -0
- package/lib/task/invalidation.ts +332 -0
- package/lib/task/ledger-intents.ts +35 -1
- package/lib/task/local-artifact-finalization.ts +432 -0
- package/lib/task/orchestration.ts +223 -133
- package/lib/task/pr-delivery-fact.ts +131 -148
- package/lib/task/qualification-audit.ts +599 -0
- package/lib/task/qualification-confirmation.ts +117 -0
- package/lib/task/qualification-intents.ts +150 -0
- package/lib/task/review-artifacts.ts +21 -22
- package/lib/task/review-finalization.ts +133 -4
- package/lib/task/review-fingerprint.ts +23 -2
- package/lib/task/rework-intent.ts +165 -0
- package/lib/task/sections.ts +6 -4
- package/lib/task/skill-scope.ts +24 -0
- package/lib/task/task-execution-lock.ts +23 -14
- package/lib/task/verification-config.ts +12 -0
- package/lib/task/verification-engine.ts +103 -17
- package/lib/task/verification.ts +4 -4
- package/lib/task/workflow-warning-intents.ts +1 -1
- package/lib/task/write.ts +19 -0
- package/lib/update.ts +1 -1
- package/lib/version.ts +15 -1
- package/package.json +12 -1
- package/templates/.agents/rules/README.en.md +3 -1
- package/templates/.agents/rules/README.zh-CN.md +3 -1
- package/templates/.agents/rules/decision-qualification.en.md +22 -0
- package/templates/.agents/rules/decision-qualification.zh-CN.md +22 -0
- package/templates/.agents/rules/evidence-reporting.en.md +28 -0
- package/templates/.agents/rules/evidence-reporting.zh-CN.md +28 -0
- package/templates/.agents/rules/issue-pr-commands.en.md +1 -1
- package/templates/.agents/rules/issue-pr-commands.zh-CN.md +1 -1
- package/templates/.agents/rules/issue-sync.en.md +2 -0
- package/templates/.agents/rules/issue-sync.zh-CN.md +2 -0
- package/templates/.agents/rules/label-milestone-setup.en.md +7 -7
- package/templates/.agents/rules/label-milestone-setup.zh-CN.md +7 -7
- package/templates/.agents/rules/local-artifact-repair.en.md +13 -2
- package/templates/.agents/rules/local-artifact-repair.zh-CN.md +13 -2
- package/templates/.agents/rules/pr-sync.en.md +10 -4
- package/templates/.agents/rules/pr-sync.zh-CN.md +17 -4
- package/templates/.agents/rules/security-alerts.en.md +8 -8
- package/templates/.agents/rules/security-alerts.zh-CN.md +8 -8
- package/templates/.agents/rules/task-short-id.en.md +1 -4
- package/templates/.agents/rules/task-short-id.zh-CN.md +1 -3
- package/templates/.agents/skills/analyze-task/SKILL.en.md +28 -5
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +29 -5
- package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -12
- package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -12
- package/templates/.agents/skills/check-task/SKILL.en.md +16 -37
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +16 -37
- package/templates/.agents/skills/close-codescan/SKILL.en.md +2 -2
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/code-task/SKILL.en.md +41 -9
- package/templates/.agents/skills/code-task/SKILL.zh-CN.md +43 -11
- package/templates/.agents/skills/code-task/config/verify.en.json +6 -14
- package/templates/.agents/skills/code-task/config/verify.zh-CN.json +6 -14
- package/templates/.agents/skills/code-task/reference/code-rules.en.md +5 -4
- package/templates/.agents/skills/code-task/reference/code-rules.zh-CN.md +5 -4
- package/templates/.agents/skills/code-task/reference/dual-mode.en.md +1 -1
- package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +1 -1
- package/templates/.agents/skills/code-task/reference/fix-mode.en.md +3 -1
- package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +3 -1
- package/templates/.agents/skills/code-task/reference/report-template.en.md +42 -15
- package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +39 -12
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +2 -0
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +2 -0
- package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +3 -3
- package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +3 -3
- package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +10 -4
- package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +10 -4
- package/templates/.agents/skills/complete-manual-validation/reference/report-template.en.md +2 -0
- package/templates/.agents/skills/complete-manual-validation/reference/report-template.zh-CN.md +2 -0
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +4 -3
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +4 -3
- package/templates/.agents/skills/complete-task/SKILL.en.md +26 -21
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +25 -21
- package/templates/.agents/skills/create-pr/SKILL.en.md +7 -6
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +7 -7
- package/templates/.agents/skills/create-pr/config/verify.json +1 -0
- package/templates/.agents/skills/create-pr/reference/change-report.en.md +16 -4
- package/templates/.agents/skills/create-pr/reference/change-report.zh-CN.md +16 -4
- package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +5 -3
- package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +5 -3
- package/templates/.agents/skills/create-pr/reference/pr-body-template.en.md +1 -1
- package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +1 -1
- package/templates/.agents/skills/create-pr/scripts/change-report.mjs +3 -0
- package/templates/.agents/skills/create-task/SKILL.en.md +8 -0
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +7 -0
- package/templates/.agents/skills/import-codescan/SKILL.en.md +1 -1
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +1 -1
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/init-labels/SKILL.en.md +8 -8
- package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +8 -8
- package/templates/.agents/skills/init-milestones/SKILL.en.md +9 -11
- package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +9 -11
- package/templates/.agents/skills/plan-task/SKILL.en.md +27 -4
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +26 -4
- package/templates/.agents/skills/plan-task/config/verify.en.json +4 -14
- package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +4 -14
- package/templates/.agents/skills/review-analysis/SKILL.en.md +17 -4
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +17 -4
- package/templates/.agents/skills/review-analysis/config/verify.en.json +1 -18
- package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +1 -18
- package/templates/.agents/skills/review-analysis/reference/report-template.en.md +50 -23
- package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +45 -18
- package/templates/.agents/skills/review-code/SKILL.en.md +18 -5
- package/templates/.agents/skills/review-code/SKILL.zh-CN.md +18 -5
- package/templates/.agents/skills/review-code/config/verify.en.json +1 -23
- package/templates/.agents/skills/review-code/config/verify.zh-CN.json +1 -23
- package/templates/.agents/skills/review-code/reference/report-template.en.md +49 -22
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +45 -18
- package/templates/.agents/skills/review-plan/SKILL.en.md +17 -4
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +17 -4
- package/templates/.agents/skills/review-plan/config/verify.en.json +1 -18
- package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +1 -18
- package/templates/.agents/skills/review-plan/reference/report-template.en.md +49 -22
- package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +45 -18
- package/templates/.agents/skills/review-pr/SKILL.en.md +5 -1
- package/templates/.agents/skills/review-pr/SKILL.zh-CN.md +5 -1
- package/templates/.agents/skills/review-pr/reference/report-template.en.md +4 -3
- package/templates/.agents/skills/review-pr/reference/report-template.zh-CN.md +4 -3
- package/templates/.agents/skills/run-manual-validation/SKILL.en.md +9 -3
- package/templates/.agents/skills/run-manual-validation/SKILL.zh-CN.md +9 -3
- package/templates/.agents/skills/run-manual-validation/reference/report-template.en.md +3 -1
- package/templates/.agents/skills/run-manual-validation/reference/report-template.zh-CN.md +3 -1
- package/templates/.agents/skills/test/SKILL.en.md +13 -2
- package/templates/.agents/skills/test/SKILL.zh-CN.md +13 -2
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +14 -0
- package/templates/.agents/skills/watch-pr/SKILL.en.md +2 -2
- package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +6 -0
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +6 -0
- package/templates/.agents/templates/task.en.md +24 -1
- package/templates/.agents/templates/task.zh-CN.md +24 -1
- package/templates/.github/workflows/pr-label.yml +7 -26
- package/templates/.agents/scripts/security-alerts.github.sh +0 -151
- package/templates/.agents/scripts/security-alerts.sh +0 -31
- package/templates/.agents/skills/init-labels/scripts/init-labels.github.sh +0 -146
- package/templates/.agents/skills/init-labels/scripts/init-labels.sh +0 -32
- package/templates/.agents/skills/init-milestones/scripts/init-milestones.github.sh +0 -294
- package/templates/.agents/skills/init-milestones/scripts/init-milestones.sh +0 -6
|
@@ -17,24 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"artifact": {
|
|
19
19
|
"file_pattern": "review-analysis.md|review-analysis-r{N}.md",
|
|
20
|
-
"
|
|
21
|
-
"审查摘要",
|
|
22
|
-
"检视覆盖声明",
|
|
23
|
-
"需求分析专项覆盖",
|
|
24
|
-
"追踪矩阵",
|
|
25
|
-
"问题清单",
|
|
26
|
-
"非阻塞建议",
|
|
27
|
-
"人工校验项",
|
|
28
|
-
"结论与建议",
|
|
29
|
-
"状态核对",
|
|
30
|
-
"证据原文",
|
|
31
|
-
"自我质疑",
|
|
32
|
-
"审查分歧账本回写"
|
|
33
|
-
],
|
|
34
|
-
"required_patterns": [
|
|
35
|
-
"^### 审查决定$",
|
|
36
|
-
"^\\$ "
|
|
37
|
-
]
|
|
20
|
+
"schema": "review-analysis"
|
|
38
21
|
},
|
|
39
22
|
"decision-details": {},
|
|
40
23
|
"review-summary": {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Review Report Template
|
|
2
2
|
|
|
3
|
+
> Before writing this report, use `task-artifact init --family review-analysis` to create the skeleton and preserve every `artifact-section` marker; the skeleton contains no review conclusion.
|
|
4
|
+
|
|
3
5
|
Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`.
|
|
4
6
|
|
|
5
7
|
## Output Template
|
|
@@ -12,11 +14,31 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
|
|
|
12
14
|
- **Review Input**:
|
|
13
15
|
- `{analysis-artifact}` (the highest-round requirement-analysis artifact actually reviewed, e.g. `analysis-r2.md`; leave blank if it cannot be reliably determined)
|
|
14
16
|
|
|
15
|
-
##
|
|
17
|
+
## Review Summary
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
## Qualification Audit Review
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
> Use `.agents/rules/decision-qualification.md` to review the five tables: constraint dependencies, candidate qualification, classification results, upstream relations, and dependency snapshot.
|
|
22
|
+
|
|
23
|
+
### Constraint Dependencies
|
|
24
|
+
| constraint_id | constraint_digest | role | evidence |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
|
|
27
|
+
### Candidate Qualification
|
|
28
|
+
| candidate_id | status | impact | constraint_ids | evidence |
|
|
29
|
+
| --- | --- | --- | --- | --- |
|
|
30
|
+
|
|
31
|
+
### Classification Results
|
|
32
|
+
| decision_id | classification | evidence |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
|
|
35
|
+
### Upstream Relations
|
|
36
|
+
| upstream_family | upstream_artifact | upstream_round | upstream_sha256 | relation |
|
|
37
|
+
| --- | --- | --- | --- | --- |
|
|
38
|
+
|
|
39
|
+
### Dependency Snapshot
|
|
40
|
+
| task_input_digest | non_constraint_input_digest | upstream_artifact_digest |
|
|
41
|
+
| --- | --- | --- |
|
|
20
42
|
|
|
21
43
|
- **Reviewer**: {reviewer-name}
|
|
22
44
|
- **Review Time**: {timestamp}
|
|
@@ -24,7 +46,7 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
|
|
|
24
46
|
- **Overall Verdict**: {Approved / Changes Requested / Rejected}
|
|
25
47
|
- **Findings (AI-actionable)**: {unresolved-blockers} blockers, {unresolved-major} majors, {unresolved-minor} minors / **Manual validation**: 0
|
|
26
48
|
|
|
27
|
-
##
|
|
49
|
+
## Inspection Coverage
|
|
28
50
|
|
|
29
51
|
| pass_id | scope | evidence | result | gaps_or_assumptions |
|
|
30
52
|
|---------|-------|----------|--------|---------------------|
|
|
@@ -34,7 +56,7 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
|
|
|
34
56
|
|---------|------------------|--------|--------|
|
|
35
57
|
| {registry token} | {trigger or non-trigger evidence} | {yes / no / not-applicable} | {lens result} |
|
|
36
58
|
|
|
37
|
-
##
|
|
59
|
+
## Requirements Analysis Coverage
|
|
38
60
|
|
|
39
61
|
| perspective_id | applicability | reviewed_scope | evidence | result_or_gap |
|
|
40
62
|
|----------------|---------------|----------------|----------|---------------|
|
|
@@ -92,7 +114,7 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
|
|
|
92
114
|
**File**: `{file-path}:{line-number}`
|
|
93
115
|
**Suggestion**: {improvement suggestion}
|
|
94
116
|
|
|
95
|
-
## Non-blocking
|
|
117
|
+
## Non-blocking Suggestions
|
|
96
118
|
|
|
97
119
|
> Record only future optimizations that do not affect the current artifact's completeness, correctness, or acceptance. Advisories do not enter the disagreement ledger, finding counts, or verdict.
|
|
98
120
|
|
|
@@ -111,27 +133,42 @@ Use this template when writing `review-analysis.md` or `review-analysis-r{N}.md`
|
|
|
111
133
|
> If this round has no Manual validation items, keep the section heading and write "None".
|
|
112
134
|
|
|
113
135
|
|
|
114
|
-
##
|
|
136
|
+
## Conclusion and Recommendation
|
|
115
137
|
|
|
116
|
-
|
|
117
|
-
|
|
138
|
+
### Approval Decision
|
|
139
|
+
- [ ] Approved
|
|
140
|
+
- [ ] Changes Requested
|
|
141
|
+
- [ ] Rejected
|
|
142
|
+
|
|
143
|
+
### Next Steps
|
|
144
|
+
{recommended next step}
|
|
145
|
+
|
|
146
|
+
## State Check
|
|
118
147
|
|
|
119
|
-
|
|
148
|
+
> Record the state-check command, review scope, key result, and uncovered parts; each command starts with `$ `.
|
|
149
|
+
> Follow `.agents/rules/evidence-reporting.md`: record review scope, key result, and uncovered parts; do not paste complete successful stdout.
|
|
120
150
|
|
|
121
|
-
|
|
151
|
+
## Raw Evidence
|
|
152
|
+
|
|
153
|
+
> Follow `.agents/rules/evidence-reporting.md`: pair each claim with a `$ ` command and proportionate result summary; Blockers, failures, blocking conditions, or disputes require a reproducible command, exact location, and decisive excerpt; a judgment that cannot be reproduced must be downgraded or moved to Self-Doubt.
|
|
122
154
|
|
|
123
155
|
- Claim: {verified claim}
|
|
124
156
|
```text
|
|
125
157
|
$ {command}
|
|
126
|
-
{
|
|
158
|
+
{result summary or decisive excerpt}
|
|
127
159
|
```
|
|
128
160
|
|
|
129
|
-
## Self-
|
|
161
|
+
## Self-critique
|
|
130
162
|
|
|
131
163
|
> Explicitly declare conclusions, inferences, and assumptions in this review that were **not directly verified**; downstream can rebut them on this basis. Write "None" if there are none.
|
|
132
164
|
|
|
133
165
|
- {an unverified conclusion or inference; note why it was not verified and the impact if it is overturned}
|
|
134
166
|
|
|
167
|
+
## Review Disagreement Ledger Write-back
|
|
168
|
+
|
|
169
|
+
> Record the structured intents to submit: use `task-ledger finding-upsert` for new findings and `finding-review` for prior responses. The core allocates `AN-N` and validates transitions; do not edit task.md table rows.
|
|
170
|
+
> Every finding escalated to `needs-human-decision` must include a self-contained detail block per `.agents/rules/human-decision-context.md`, with evidence pointing to that stable anchor.
|
|
171
|
+
|
|
135
172
|
## Highlights
|
|
136
173
|
|
|
137
174
|
- {what went well}
|
|
@@ -140,14 +177,4 @@ $ {command}
|
|
|
140
177
|
|
|
141
178
|
- [ ] Implementation matches the technical plan
|
|
142
179
|
- [ ] No unintended scope expansion
|
|
143
|
-
|
|
144
|
-
## Conclusion and Recommendation
|
|
145
|
-
|
|
146
|
-
### Approval Decision
|
|
147
|
-
- [ ] Approved
|
|
148
|
-
- [ ] Changes Requested
|
|
149
|
-
- [ ] Rejected
|
|
150
|
-
|
|
151
|
-
### Next Steps
|
|
152
|
-
{recommended next step}
|
|
153
180
|
```
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# 审查报告模板
|
|
2
2
|
|
|
3
|
+
> 写入本报告前,先用 `task-artifact init --family review-analysis` 创建骨架,并保留每个 `artifact-section` marker;骨架不包含审查结论。
|
|
4
|
+
|
|
3
5
|
编写 `review-analysis.md` 或 `review-analysis-r{N}.md` 时使用本模板。
|
|
4
6
|
|
|
5
7
|
## 输出模板
|
|
@@ -12,11 +14,31 @@
|
|
|
12
14
|
- **审查输入**:
|
|
13
15
|
- `{analysis-artifact}`(本轮实际检视的最高轮需求分析产物,如 `analysis-r2.md`;无法可靠取得则留空)
|
|
14
16
|
|
|
15
|
-
##
|
|
17
|
+
## 审查摘要
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
## 资格审计复核
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
> 按 `.agents/rules/decision-qualification.md` 复核:约束依赖、候选资格、分类结果、上游关系和依赖快照五张表。
|
|
22
|
+
|
|
23
|
+
### 约束依赖
|
|
24
|
+
| constraint_id | constraint_digest | role | evidence |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
|
|
27
|
+
### 候选资格
|
|
28
|
+
| candidate_id | status | impact | constraint_ids | evidence |
|
|
29
|
+
| --- | --- | --- | --- | --- |
|
|
30
|
+
|
|
31
|
+
### 分类结果
|
|
32
|
+
| decision_id | classification | evidence |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
|
|
35
|
+
### 上游关系
|
|
36
|
+
| upstream_family | upstream_artifact | upstream_round | upstream_sha256 | relation |
|
|
37
|
+
| --- | --- | --- | --- | --- |
|
|
38
|
+
|
|
39
|
+
### 依赖快照
|
|
40
|
+
| task_input_digest | non_constraint_input_digest | upstream_artifact_digest |
|
|
41
|
+
| --- | --- | --- |
|
|
20
42
|
|
|
21
43
|
- **审查者**:{reviewer-name}
|
|
22
44
|
- **审查时间**:{timestamp}
|
|
@@ -111,19 +133,29 @@
|
|
|
111
133
|
> 如本轮无人工校验项,保留段落标题并写「(无)」。
|
|
112
134
|
|
|
113
135
|
|
|
114
|
-
##
|
|
136
|
+
## 结论与建议
|
|
115
137
|
|
|
116
|
-
|
|
117
|
-
|
|
138
|
+
### 审查决定
|
|
139
|
+
- [ ] 通过
|
|
140
|
+
- [ ] 需要修改
|
|
141
|
+
- [ ] 拒绝
|
|
142
|
+
|
|
143
|
+
### 下一步
|
|
144
|
+
{recommended next step}
|
|
145
|
+
|
|
146
|
+
## 状态核对
|
|
147
|
+
|
|
148
|
+
> 记录状态核对命令、审查范围、关键结果和未覆盖部分;每条命令以 `$ ` 开头。
|
|
149
|
+
> 按 `.agents/rules/evidence-reporting.md` 同时记录审查范围、关键结果和未覆盖部分;正常成功不粘贴完整 stdout。
|
|
118
150
|
|
|
119
151
|
## 证据原文
|
|
120
152
|
|
|
121
|
-
>
|
|
153
|
+
> 遵循 `.agents/rules/evidence-reporting.md`:每条断言配对 `$ ` 命令和相称结果摘要;Blocker、失败、阻塞或争议必须保留可复现命令、准确位置和决定性摘录;无法复现的判断须降级或移入「自我质疑」。
|
|
122
154
|
|
|
123
155
|
- 断言:{verified claim}
|
|
124
156
|
```text
|
|
125
157
|
$ {command}
|
|
126
|
-
{
|
|
158
|
+
{result summary or decisive excerpt}
|
|
127
159
|
```
|
|
128
160
|
|
|
129
161
|
## 自我质疑
|
|
@@ -132,6 +164,11 @@ $ {command}
|
|
|
132
164
|
|
|
133
165
|
- {未直接验证的结论或推断;说明为何未验证、若被推翻的影响}
|
|
134
166
|
|
|
167
|
+
## 审查分歧账本回写
|
|
168
|
+
|
|
169
|
+
> 本段记录将提交的结构化意图:新 finding 用 `task-ledger finding-upsert`,上一轮响应复核用 `finding-review`;由核心分配 `AN-N` 并校验状态机,禁止手写 task.md 表格。
|
|
170
|
+
> 凡升级为 `needs-human-decision` 的 finding,必须按 `.agents/rules/human-decision-context.md` 在本报告中提供自足详情块,并让 evidence 指向该稳定锚点。
|
|
171
|
+
|
|
135
172
|
## 亮点
|
|
136
173
|
|
|
137
174
|
- {what went well}
|
|
@@ -140,14 +177,4 @@ $ {command}
|
|
|
140
177
|
|
|
141
178
|
- [ ] 实现与技术方案一致
|
|
142
179
|
- [ ] 没有意外的范围扩张
|
|
143
|
-
|
|
144
|
-
## 结论与建议
|
|
145
|
-
|
|
146
|
-
### 审查决定
|
|
147
|
-
- [ ] 通过
|
|
148
|
-
- [ ] 需要修改
|
|
149
|
-
- [ ] 拒绝
|
|
150
|
-
|
|
151
|
-
### 下一步
|
|
152
|
-
{recommended next step}
|
|
153
180
|
```
|
|
@@ -9,12 +9,17 @@ description: >
|
|
|
9
9
|
# Code Review
|
|
10
10
|
> `--agent` values are defined in `.agents/rules/task-management.md` under “Collaborator Token Specification”.
|
|
11
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.
|
|
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. Lifecycle events also require explicit trigger data: use `{trigger-initiator}=orchestrator` for orchestration and `model` otherwise; `{request-id}` is a stable single-line identifier for this task and artifact round, and `{reason-code}` is `user-request` or `review-finding`. Reuse the same values for started and completed.
|
|
13
13
|
|
|
14
14
|
Review the latest code round and produce `review-code.md` or `review-code-r{N}.md`.
|
|
15
15
|
|
|
16
16
|
## Boundary / Critical Rules
|
|
17
17
|
|
|
18
|
+
### Persisted Report Evidence
|
|
19
|
+
|
|
20
|
+
Before generating the review report, read `.agents/rules/evidence-reporting.md`. Normal inspection records the command, scope, structured result, actual conclusion, and uncovered parts; findings, blocking conditions, or disputes retain reproducible locations and decisive excerpts, while identity fields remain exact.
|
|
21
|
+
|
|
22
|
+
- When reviewing candidate qualification or `HD-N`, read `.agents/rules/decision-qualification.md` and check the five qualification-audit tables, digests, QCR, and upstream relations; do not treat a process label as identity authentication
|
|
18
23
|
- This skill reviews code and writes a report; it does not modify product code
|
|
19
24
|
- Before generating task or lifecycle Markdown that will be synchronized to an Issue, read `.agents/rules/sync-content-generation.md` and apply its producer-side constraints; the sync path does not parse or rewrite the body
|
|
20
25
|
- After executing this skill, you **must** immediately update task.md
|
|
@@ -34,7 +39,7 @@ Version stamp rule: when creating or updating `task.md` frontmatter, read `.agen
|
|
|
34
39
|
|
|
35
40
|
After loading workflow / skill / rules instructions, and before any task-state judgment or user-visible conclusion, run the state check first. Reading instruction files does not count as an external-state action or conclusion.
|
|
36
41
|
|
|
37
|
-
Run these commands and
|
|
42
|
+
Run these commands and record the task/artifact scope, key result, and uncovered parts in this round's `## State Check` section; do not paste complete directory listings or task tails on normal success. Retain decisive raw lines only for failures, blocking conditions, identity mismatches, or disputes:
|
|
38
43
|
|
|
39
44
|
```bash
|
|
40
45
|
agent-infra-internal task-snapshot {task-id} --format text
|
|
@@ -50,7 +55,7 @@ Before the state check is complete, do not make external-state assertions such a
|
|
|
50
55
|
|
|
51
56
|
## Step Start: Write the started Marker
|
|
52
57
|
|
|
53
|
-
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}`.
|
|
58
|
+
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} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code}`.
|
|
54
59
|
|
|
55
60
|
## Steps
|
|
56
61
|
|
|
@@ -91,6 +96,14 @@ Complete the code implementation coverage in `reference/report-template.md`. App
|
|
|
91
96
|
|
|
92
97
|
### 5. Write the Review Report
|
|
93
98
|
|
|
99
|
+
Before writing this round's `{review-artifact}`, create the controlled review skeleton:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
agent-infra-internal task-artifact {task-id} init --family review-code --artifact {review-artifact} --locale en
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
The skeleton does not generate a verdict, findings, or counts; complete review content is required before summary finalization. If structural finalization returns one provably safe error, call `task-artifact {task-id} repair --family review-code --artifact {review-artifact} --expected-sha256 {artifact-sha256} --expected-semantic-digest {semantic-digest}`, then rerun the original finalizer.
|
|
106
|
+
|
|
94
107
|
Create `.agents/workspace/active/{task-id}/{review-artifact}`.
|
|
95
108
|
|
|
96
109
|
> The report format and severity layout live in `reference/report-template.md`. Read `reference/report-template.md` before writing the review.
|
|
@@ -109,10 +122,10 @@ Update task.md:
|
|
|
109
122
|
{unresolved-minor} = stageStatus.unresolvedFindingCounts.minor
|
|
110
123
|
```
|
|
111
124
|
|
|
112
|
-
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. After a failure, the model may edit the same controlled artifact and rerun the same intent only when the shared rule's mechanical gates pass; reassess convergence after every failure. The final complete result determines the verdict and counts from that same snapshot: `stageStatus.canAdvance=true` with an Approved conclusion permits cross-stage advancement; `stageStatus.canAdvance=false` still requires `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}`, using `changes-requested` and routing to same-stage revision/review (use `rejected` when the report explicitly rejects). On failure, model stop, lack of progress, or the emergency cap, do not publish a completion event or cross-stage command; use the `repair-stop` scenario in `reference/output-templates.md` to show existing summary/findings, the artifact, actual repair attempts, the last diagnostic, and the stop reason
|
|
125
|
+
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. After a failure, the model may edit the same controlled artifact and rerun the same intent only when the shared rule's mechanical gates pass; reassess convergence after every failure. The final complete result determines the verdict and counts from that same snapshot: `stageStatus.canAdvance=true` with an Approved conclusion permits cross-stage advancement; `stageStatus.canAdvance=false` still requires `agent-infra-internal task-event {task-id} review-code.completed --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code} --artifact {review-artifact} --verdict {approved|changes-requested|rejected} --blockers {unresolved-blockers} --major {unresolved-major} --minor {unresolved-minor} --manual-validation {n} {execution-flag}`, using `changes-requested` and routing to same-stage revision/review (use `rejected` when the report explicitly rejects). On failure, model stop, lack of progress, or the emergency cap, do not publish a completion event or cross-stage command; use the `repair-stop` scenario in `reference/output-templates.md` to show existing summary/findings, the artifact, actual repair attempts, the last diagnostic, and the stop reason
|
|
113
126
|
- 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
|
|
114
127
|
- For an Approved exit, collect PR and all-check 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
|
|
115
|
-
- 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}`
|
|
128
|
+
- After handling `last_reviewed_commit`, run `agent-infra-internal task-event {task-id} review-code.completed --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code} --artifact {review-artifact} --verdict {approved|changes-requested|rejected} --blockers {unresolved-blockers} --major {unresolved-major} --minor {unresolved-minor} --manual-validation {n} {execution-flag}`
|
|
116
129
|
|
|
117
130
|
Always include the `Manual-validation: {n}` field in the done log, including when it is 0.
|
|
118
131
|
`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.
|
|
@@ -9,12 +9,17 @@ description: >
|
|
|
9
9
|
# 代码审查
|
|
10
10
|
> `--agent` 取值见 `.agents/rules/task-management.md`「合作者 token 规范」。
|
|
11
11
|
|
|
12
|
-
若入口业务操作数包含 `--orchestrated`,绑定 `{execution-flag}` = `--orchestrated` 并原样转发给 summary finalizer 与 completed 事件;否则绑定为空。不得从 `orchestration.json
|
|
12
|
+
若入口业务操作数包含 `--orchestrated`,绑定 `{execution-flag}` = `--orchestrated` 并原样转发给 summary finalizer 与 completed 事件;否则绑定为空。不得从 `orchestration.json`、环境变量或历史产物推断该标记。生命周期事件还必须携带显式触发信息:编排调用使用 `{trigger-initiator}=orchestrator`,否则使用 `model`;`{request-id}` 是本任务与本轮产物的稳定单行标识,`{reason-code}` 使用 `user-request` 或 `review-finding`;started 与 completed 使用同一组值。
|
|
13
13
|
|
|
14
14
|
审查最新代码轮次,并产出 `review-code.md` 或 `review-code-r{N}.md`。
|
|
15
15
|
|
|
16
16
|
## 行为边界 / 关键规则
|
|
17
17
|
|
|
18
|
+
### 持久化报告证据
|
|
19
|
+
|
|
20
|
+
生成审查报告时,先读取 `.agents/rules/evidence-reporting.md`。正常检视记录命令、范围、结构化结果、实际结论和未覆盖部分;finding、阻塞或争议保留可复现位置与决定性摘录,身份字段必须精确保留。
|
|
21
|
+
|
|
22
|
+
- 审查候选资格或 `HD-N` 判断时,先读取 `.agents/rules/decision-qualification.md`,逐项复核产物中的五张资格审计表、digest、QCR 和上游关系;不得把流程标签当作身份认证
|
|
18
23
|
- 本技能只审查代码并写报告,不修改业务代码
|
|
19
24
|
- 生成会同步到 Issue 的任务或生命周期 Markdown 前,先读取 `.agents/rules/sync-content-generation.md` 并遵循其中的生成端约束;同步端不解析或改写正文
|
|
20
25
|
- 执行本技能后,你**必须**立即更新 task.md
|
|
@@ -34,7 +39,7 @@ description: >
|
|
|
34
39
|
|
|
35
40
|
在加载 workflow / skill / rules 指令之后、做任何任务状态判断或用户可见结论之前,必须先执行状态核对。指令类文件读取不算对外动作或结论。
|
|
36
41
|
|
|
37
|
-
|
|
42
|
+
运行以下命令,并在本轮产物的 `## 状态核对` 段记录任务/产物范围、关键结果和未覆盖部分;正常成功不粘贴完整目录清单或 `task.md` 尾部。失败、阻塞、身份不一致或争议时,附决定性原文行:
|
|
38
43
|
|
|
39
44
|
```bash
|
|
40
45
|
agent-infra-internal task-snapshot {task-id} --format text
|
|
@@ -50,7 +55,7 @@ agent-infra-internal task-snapshot {task-id} --format text
|
|
|
50
55
|
|
|
51
56
|
## 步骤开始:声明 started 事件
|
|
52
57
|
|
|
53
|
-
确认前置条件和产物上下文后、本轮第一个产出动作之前执行 `agent-infra-internal task-event {task-id} review-code.started --agent {standard-agent-token}`。
|
|
58
|
+
确认前置条件和产物上下文后、本轮第一个产出动作之前执行 `agent-infra-internal task-event {task-id} review-code.started --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code}`。
|
|
54
59
|
|
|
55
60
|
## 执行步骤
|
|
56
61
|
### 1. 验证前置条件
|
|
@@ -90,6 +95,14 @@ agent-infra-internal task-snapshot {task-id} --format text
|
|
|
90
95
|
|
|
91
96
|
### 5. 编写审查报告
|
|
92
97
|
|
|
98
|
+
在首次写入本轮 `{review-artifact}` 前,先创建受控审查骨架:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
agent-infra-internal task-artifact {task-id} init --family review-code --artifact {review-artifact}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
骨架不生成审查结论、发现或计数;完成审查内容后才能进入 summary finalizer。结构 finalizer 返回可证明的单个错误时,使用其 SHA 和 semantic digest 调用 `task-artifact {task-id} repair --family review-code --artifact {review-artifact} --expected-sha256 {artifact-sha256} --expected-semantic-digest {semantic-digest}`,再重跑原 finalizer。
|
|
105
|
+
|
|
93
106
|
创建 `.agents/workspace/active/{task-id}/{review-artifact}`。
|
|
94
107
|
|
|
95
108
|
> 报告格式和严重程度布局见 `reference/report-template.md`。写报告前先读取 `reference/report-template.md`。
|
|
@@ -107,10 +120,10 @@ agent-infra-internal task-snapshot {task-id} --format text
|
|
|
107
120
|
{unresolved-minor} = stageStatus.unresolvedFindingCounts.minor
|
|
108
121
|
```
|
|
109
122
|
|
|
110
|
-
该 intent 原子最终化报告摘要并返回同一次账本快照;不得再调用 `stage-status`、手工替换占位符或扫描问题清单。失败后,模型只能在共享规则的机械安全门通过时修改同一个受控 artifact,并完整重跑相同 intent;每次失败都重新判断是否收敛。最终一次完整成功返回决定同一快照的 verdict 和计数:`stageStatus.canAdvance=true` 且结论为 Approved 时允许跨阶段推进;`stageStatus.canAdvance=false` 时仍须执行 `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}`,使用 `changes-requested` 并路由到同阶段修订/复审(报告明确拒绝时使用 `rejected`)。失败、模型停止、无进展或紧急熔断时,不发布完成事件或跨阶段命令,但必须按 `reference/output-templates.md` 的 `repair-stop` 场景展示已有 summary/findings、artifact、实际修复次数、最后诊断和停止原因
|
|
123
|
+
该 intent 原子最终化报告摘要并返回同一次账本快照;不得再调用 `stage-status`、手工替换占位符或扫描问题清单。失败后,模型只能在共享规则的机械安全门通过时修改同一个受控 artifact,并完整重跑相同 intent;每次失败都重新判断是否收敛。最终一次完整成功返回决定同一快照的 verdict 和计数:`stageStatus.canAdvance=true` 且结论为 Approved 时允许跨阶段推进;`stageStatus.canAdvance=false` 时仍须执行 `agent-infra-internal task-event {task-id} review-code.completed --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code} --artifact {review-artifact} --verdict {approved|changes-requested|rejected} --blockers {unresolved-blockers} --major {unresolved-major} --minor {unresolved-minor} --manual-validation {n} {execution-flag}`,使用 `changes-requested` 并路由到同阶段修订/复审(报告明确拒绝时使用 `rejected`)。失败、模型停止、无进展或紧急熔断时,不发布完成事件或跨阶段命令,但必须按 `reference/output-templates.md` 的 `repair-stop` 场景展示已有 summary/findings、artifact、实际修复次数、最后诊断和停止原因
|
|
111
124
|
- 仅当 `canAdvance=true`、本轮结论为 Approved 且 `T == R^{tree}` 时写入 `last_reviewed_commit: {R}`;Approved 快照包含未提交差异时清除旧值。否则保留既有值,不得推进或清空
|
|
112
125
|
- Approved 出口继续按 `reference/output-templates.md` 采集 PR 与全部 checks 事实:未提交/未推送走 `commit`,无 PR 走 `create-pr`(无 PR 流程除外),checks 未终态走 `watch-pr`,仅 `HEAD == last_reviewed_commit == PR head` 且 checks 为 `passed|no-required` 时走 `complete-task`;不得仅按审查轮次分流
|
|
113
|
-
- 完成 `last_reviewed_commit` 处理后执行 `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}`
|
|
126
|
+
- 完成 `last_reviewed_commit` 处理后执行 `agent-infra-internal task-event {task-id} review-code.completed --agent {standard-agent-token} --initiator {trigger-initiator} --request-id {request-id} --reason-code {reason-code} --artifact {review-artifact} --verdict {approved|changes-requested|rejected} --blockers {unresolved-blockers} --major {unresolved-major} --minor {unresolved-minor} --manual-validation {n} {execution-flag}`
|
|
114
127
|
|
|
115
128
|
完成日志必须始终写入 `Manual-validation: {n}` 字段,0 也保留。
|
|
116
129
|
`manual-validation` 是 `ai task log` 中 review 行「人工校验点」(EN `Manual-validation`)计数的数据源;不要新增并行人工验证字段。
|
|
@@ -17,29 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"artifact": {
|
|
19
19
|
"file_pattern": "review-code.md|review-code-r{N}.md",
|
|
20
|
-
"
|
|
21
|
-
"Review Summary",
|
|
22
|
-
"Review Coverage Declaration",
|
|
23
|
-
"Code Implementation Coverage",
|
|
24
|
-
"Traceability Matrix",
|
|
25
|
-
"Findings",
|
|
26
|
-
"Non-blocking Advisories",
|
|
27
|
-
"Manual Validation Items",
|
|
28
|
-
"Conclusion and Recommendations",
|
|
29
|
-
"State Check",
|
|
30
|
-
"Evidence",
|
|
31
|
-
"Self-Doubt",
|
|
32
|
-
"Review Disagreement Ledger Writeback"
|
|
33
|
-
],
|
|
34
|
-
"required_patterns": [
|
|
35
|
-
"^### Approval Decision$",
|
|
36
|
-
"^\\$ ",
|
|
37
|
-
"^- \\*\\*Overall Verdict\\*\\*[::]\\s*(?:通过|需要修改|拒绝|Approved|Changes Requested|Rejected)\\s*$",
|
|
38
|
-
"^- \\*\\*Review Baseline Commit\\*\\*[::]\\s*\\S",
|
|
39
|
-
"^- \\*\\*Reviewed Diff Base\\*\\*[::]\\s*[0-9a-f]{40,64}\\s*$",
|
|
40
|
-
"^- \\*\\*Reviewed Diff Fingerprint\\*\\*[::]\\s*sha256:[0-9a-f]{64}\\s*$",
|
|
41
|
-
"^- \\*\\*Reviewed Snapshot Tree\\*\\*[::]\\s*[0-9a-f]{40,64}\\s*$"
|
|
42
|
-
]
|
|
20
|
+
"schema": "review-code"
|
|
43
21
|
},
|
|
44
22
|
"decision-details": {},
|
|
45
23
|
"review-summary": {
|
|
@@ -17,29 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"artifact": {
|
|
19
19
|
"file_pattern": "review-code.md|review-code-r{N}.md",
|
|
20
|
-
"
|
|
21
|
-
"审查摘要",
|
|
22
|
-
"检视覆盖声明",
|
|
23
|
-
"代码实现专项覆盖",
|
|
24
|
-
"追踪矩阵",
|
|
25
|
-
"问题清单",
|
|
26
|
-
"非阻塞建议",
|
|
27
|
-
"人工校验项",
|
|
28
|
-
"结论与建议",
|
|
29
|
-
"状态核对",
|
|
30
|
-
"证据原文",
|
|
31
|
-
"自我质疑",
|
|
32
|
-
"审查分歧账本回写"
|
|
33
|
-
],
|
|
34
|
-
"required_patterns": [
|
|
35
|
-
"^### 审查决定$",
|
|
36
|
-
"^\\$ ",
|
|
37
|
-
"^- \\*\\*总体结论\\*\\*[::]\\s*(?:通过|需要修改|拒绝|Approved|Changes Requested|Rejected)\\s*$",
|
|
38
|
-
"^- \\*\\*审查基线提交\\*\\*[::]\\s*\\S",
|
|
39
|
-
"^- \\*\\*审查差异基线\\*\\*[::]\\s*[0-9a-f]{40,64}\\s*$",
|
|
40
|
-
"^- \\*\\*审查差异指纹\\*\\*[::]\\s*sha256:[0-9a-f]{64}\\s*$",
|
|
41
|
-
"^- \\*\\*审查快照树\\*\\*[::]\\s*[0-9a-f]{40,64}\\s*$"
|
|
42
|
-
]
|
|
20
|
+
"schema": "review-code"
|
|
43
21
|
},
|
|
44
22
|
"decision-details": {},
|
|
45
23
|
"review-summary": {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Review Report Template
|
|
2
2
|
|
|
3
|
+
> Before writing this report, use `task-artifact init --family review-code` to create the skeleton and preserve every `artifact-section` marker; the skeleton contains no review conclusion.
|
|
4
|
+
|
|
3
5
|
Use this template when writing `review-code.md` or `review-code-r{N}.md`.
|
|
4
6
|
|
|
5
7
|
## Output Template
|
|
@@ -12,11 +14,31 @@ Use this template when writing `review-code.md` or `review-code-r{N}.md`.
|
|
|
12
14
|
- **Review Input**:
|
|
13
15
|
- `{code-artifact}` (the highest-round implementation artifact actually reviewed—plus the highest-round fix artifact if present, e.g. `code-r2.md`; leave blank if it cannot be reliably determined)
|
|
14
16
|
|
|
15
|
-
##
|
|
17
|
+
## Review Summary
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
## Qualification Audit Review
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
> Use `.agents/rules/decision-qualification.md` to review the five tables: constraint dependencies, candidate qualification, classification results, upstream relations, and dependency snapshot.
|
|
22
|
+
|
|
23
|
+
### Constraint Dependencies
|
|
24
|
+
| constraint_id | constraint_digest | role | evidence |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
|
|
27
|
+
### Candidate Qualification
|
|
28
|
+
| candidate_id | status | impact | constraint_ids | evidence |
|
|
29
|
+
| --- | --- | --- | --- | --- |
|
|
30
|
+
|
|
31
|
+
### Classification Results
|
|
32
|
+
| decision_id | classification | evidence |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
|
|
35
|
+
### Upstream Relations
|
|
36
|
+
| upstream_family | upstream_artifact | upstream_round | upstream_sha256 | relation |
|
|
37
|
+
| --- | --- | --- | --- | --- |
|
|
38
|
+
|
|
39
|
+
### Dependency Snapshot
|
|
40
|
+
| task_input_digest | non_constraint_input_digest | upstream_artifact_digest |
|
|
41
|
+
| --- | --- | --- |
|
|
20
42
|
|
|
21
43
|
- **Reviewer**: {reviewer-name}
|
|
22
44
|
- **Review Time**: {timestamp}
|
|
@@ -30,7 +52,7 @@ Use this template when writing `review-code.md` or `review-code-r{N}.md`.
|
|
|
30
52
|
- **Overall Verdict**: {Approved / Changes Requested / Rejected} (pick exactly one; combined phrases will fail the verify gate)
|
|
31
53
|
- **Findings (AI-actionable)**: {unresolved-blockers} blockers, {unresolved-major} majors, {unresolved-minor} minors / **Manual validation**: 0
|
|
32
54
|
|
|
33
|
-
##
|
|
55
|
+
## Inspection Coverage
|
|
34
56
|
|
|
35
57
|
| pass_id | scope | evidence | result | gaps_or_assumptions |
|
|
36
58
|
|---------|-------|----------|--------|---------------------|
|
|
@@ -98,7 +120,7 @@ Use this template when writing `review-code.md` or `review-code-r{N}.md`.
|
|
|
98
120
|
**File**: `{file-path}:{line-number}`
|
|
99
121
|
**Suggestion**: {improvement suggestion}
|
|
100
122
|
|
|
101
|
-
## Non-blocking
|
|
123
|
+
## Non-blocking Suggestions
|
|
102
124
|
|
|
103
125
|
> Record only future optimizations that do not affect the current artifact's completeness, correctness, or acceptance. Advisories do not enter the disagreement ledger, finding counts, or verdict.
|
|
104
126
|
|
|
@@ -117,27 +139,42 @@ Use this template when writing `review-code.md` or `review-code-r{N}.md`.
|
|
|
117
139
|
> If this round has no Manual validation items, keep the section heading and write "None".
|
|
118
140
|
|
|
119
141
|
|
|
120
|
-
##
|
|
142
|
+
## Conclusion and Recommendation
|
|
121
143
|
|
|
122
|
-
|
|
123
|
-
|
|
144
|
+
### Approval Decision
|
|
145
|
+
- [ ] Approved
|
|
146
|
+
- [ ] Changes Requested
|
|
147
|
+
- [ ] Rejected
|
|
148
|
+
|
|
149
|
+
### Next Steps
|
|
150
|
+
{recommended next step}
|
|
151
|
+
|
|
152
|
+
## State Check
|
|
124
153
|
|
|
125
|
-
|
|
154
|
+
> Record the state-check command, review scope, key result, and uncovered parts; each command starts with `$ `.
|
|
155
|
+
> Follow `.agents/rules/evidence-reporting.md`: record review scope, key result, and uncovered parts; do not paste complete successful stdout.
|
|
126
156
|
|
|
127
|
-
|
|
157
|
+
## Raw Evidence
|
|
158
|
+
|
|
159
|
+
> Follow `.agents/rules/evidence-reporting.md`: pair each claim with a `$ ` command and proportionate result summary; Blockers, failures, blocking conditions, or disputes require reproducible evidence, exact location, and a decisive excerpt; a judgment that cannot be reproduced must be downgraded or moved to Self-Doubt.
|
|
128
160
|
|
|
129
161
|
- Claim: {verified claim}
|
|
130
162
|
```text
|
|
131
163
|
$ {command}
|
|
132
|
-
{
|
|
164
|
+
{result summary or decisive excerpt}
|
|
133
165
|
```
|
|
134
166
|
|
|
135
|
-
## Self-
|
|
167
|
+
## Self-critique
|
|
136
168
|
|
|
137
169
|
> Explicitly declare conclusions, inferences, and assumptions in this review that were **not directly verified**; downstream can rebut them on this basis. Write "None" if there are none.
|
|
138
170
|
|
|
139
171
|
- {an unverified conclusion or inference; note why it was not verified and the impact if it is overturned}
|
|
140
172
|
|
|
173
|
+
## Review Disagreement Ledger Write-back
|
|
174
|
+
|
|
175
|
+
> Record the structured intents to submit: use `task-ledger finding-upsert` for new findings and `finding-review` for prior responses. The core allocates `CD-N` and validates transitions; do not edit task.md table rows.
|
|
176
|
+
> Every finding escalated to `needs-human-decision` must include a self-contained detail block per `.agents/rules/human-decision-context.md`, with evidence pointing to that stable anchor.
|
|
177
|
+
|
|
141
178
|
## Highlights
|
|
142
179
|
|
|
143
180
|
- {what went well}
|
|
@@ -146,14 +183,4 @@ $ {command}
|
|
|
146
183
|
|
|
147
184
|
- [ ] Implementation matches the technical plan
|
|
148
185
|
- [ ] No unintended scope expansion
|
|
149
|
-
|
|
150
|
-
## Conclusion and Recommendation
|
|
151
|
-
|
|
152
|
-
### Approval Decision
|
|
153
|
-
- [ ] Approved
|
|
154
|
-
- [ ] Changes Requested
|
|
155
|
-
- [ ] Rejected
|
|
156
|
-
|
|
157
|
-
### Next Steps
|
|
158
|
-
{recommended next step}
|
|
159
186
|
```
|