@fitlab-ai/agent-infra 0.9.11 → 0.9.13
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 +13 -13
- package/README.zh-CN.md +13 -13
- package/dist/bin/internal-cli.js +29 -19
- package/dist/lib/agent-clients/adapters/codex-lifecycle/build-identity.js +71 -10
- package/dist/lib/agent-clients/next-steps.js +6 -1
- package/dist/lib/decide.js +3 -3
- package/dist/lib/defaults.json +4 -0
- package/dist/lib/git/workflow.js +43 -1
- package/dist/lib/init.js +1 -0
- package/dist/lib/internal/git-workflow.js +8 -1
- package/dist/lib/internal/platform-checks.js +3 -3
- package/dist/lib/internal/platform-comment.js +9 -9
- package/dist/lib/internal/platform-context.js +2 -2
- package/dist/lib/internal/platform-issue.js +8 -9
- package/dist/lib/internal/platform-pr-review.js +10 -10
- package/dist/lib/internal/platform-pr.js +68 -23
- package/dist/lib/internal/platform-release-notes.js +3 -3
- package/dist/lib/internal/pr-review-grade.js +11 -9
- package/dist/lib/internal/release-workflow.js +4 -4
- package/dist/lib/internal/sandbox-control.js +30 -4
- package/dist/lib/internal/task-activity.js +3 -3
- package/dist/lib/internal/task-artifact.js +76 -24
- package/dist/lib/internal/task-create.js +2 -2
- package/dist/lib/internal/task-delivery.js +59 -0
- package/dist/lib/internal/task-event.js +6 -3
- package/dist/lib/internal/task-finalization.js +2 -2
- package/dist/lib/internal/task-invalidation.js +60 -0
- package/dist/lib/internal/task-ledger.js +9 -6
- package/dist/lib/internal/task-lifecycle.js +2 -2
- package/dist/lib/internal/task-override.js +4 -4
- package/dist/lib/internal/task-review.js +3 -3
- package/dist/lib/internal/task-verify.js +6 -6
- package/dist/lib/internal/task-warning.js +3 -3
- package/dist/lib/platform/adapters.js +1 -3
- package/dist/lib/platform/change-request-git-evidence.js +27 -7
- package/dist/lib/platform/completion-backfill.js +6 -5
- package/dist/lib/platform/context.js +70 -130
- package/dist/lib/platform/github-client.js +8 -2
- package/dist/lib/platform/github-provider.js +903 -0
- package/dist/lib/platform/in-label-sync.js +143 -0
- package/dist/lib/platform/issue-comments.js +94 -41
- 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 +551 -0
- package/dist/lib/platform/pr-checks.js +124 -106
- package/dist/lib/platform/pr-review.js +88 -72
- package/dist/lib/platform/pr-summary.js +523 -49
- package/dist/lib/platform/provider-bridge.js +45 -0
- package/dist/lib/platform/provider-contract.d.ts +487 -0
- package/dist/lib/platform/provider-contract.js +95 -0
- package/dist/lib/platform/provider-loader.js +251 -0
- package/dist/lib/platform/provider-validation.js +504 -0
- package/dist/lib/platform/pull-request-metadata.js +8 -6
- package/dist/lib/platform/pull-requests.js +1050 -502
- package/dist/lib/platform/release-notes.js +78 -55
- package/dist/lib/platform/releases.js +79 -50
- package/dist/lib/platform/resource-identity.d.ts +26 -0
- package/dist/lib/platform/resource-identity.js +92 -0
- package/dist/lib/platform/task-identities.js +31 -0
- package/dist/lib/platform/verification-required.js +22 -12
- package/dist/lib/platform/verification-sync.js +118 -239
- package/dist/lib/pr-review/evidence-grading.js +30 -9
- package/dist/lib/run/index.js +63 -23
- package/dist/lib/sandbox/config.js +5 -0
- package/dist/lib/sandbox/control/client.js +96 -15
- package/dist/lib/sandbox/control/executor.js +3 -3
- package/dist/lib/sandbox/control/lifecycle.js +29 -7
- package/dist/lib/sandbox/control/protocol.js +77 -0
- package/dist/lib/sandbox/control/server.js +398 -25
- package/dist/lib/sandbox/control/state.js +204 -1
- package/dist/lib/server/process-state.js +2 -2
- package/dist/lib/server/protocol.js +38 -1
- package/dist/lib/task/activity-log.js +8 -1
- package/dist/lib/task/artifact-lifecycle.js +35 -7
- package/dist/lib/task/capabilities.js +239 -0
- package/dist/lib/task/commands/status.js +32 -0
- package/dist/lib/task/commit-intent.js +100 -0
- package/dist/lib/task/commit-operation.js +207 -102
- package/dist/lib/task/control-authority.js +8 -5
- package/dist/lib/task/create-service.js +8 -8
- package/dist/lib/task/create.js +33 -7
- package/dist/lib/task/current-contract.js +5 -1
- package/dist/lib/task/decision-details.js +3 -48
- package/dist/lib/task/delivery-target.js +97 -0
- package/dist/lib/task/delivery.js +153 -0
- package/dist/lib/task/events.js +297 -17
- package/dist/lib/task/finalization.js +37 -13
- package/dist/lib/task/human-override.js +61 -36
- 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/lifecycle.js +106 -9
- package/dist/lib/task/local-artifact-finalization.js +374 -0
- package/dist/lib/task/orchestration.js +100 -151
- package/dist/lib/task/pr-delivery-fact.js +183 -0
- package/dist/lib/task/review-finalization.js +4 -8
- package/dist/lib/task/review-fingerprint.js +32 -2
- package/dist/lib/task/rework-intent.js +138 -0
- package/dist/lib/task/skill-scope.js +23 -0
- package/dist/lib/task/task-execution-lock.js +27 -17
- package/dist/lib/task/verification-engine.js +89 -38
- package/dist/lib/task/verification-review.js +1 -1
- 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/update.js +9 -0
- package/dist/lib/version.js +11 -1
- package/dist/lifecycle-build-manifest.json +3 -3
- package/lib/agent-clients/adapters/codex-lifecycle/build-identity.ts +105 -10
- package/lib/agent-clients/adapters/codex-lifecycle/manifest-files.json +12 -1
- package/lib/agent-clients/next-steps.ts +6 -1
- package/lib/decide.ts +3 -3
- package/lib/defaults.json +4 -0
- package/lib/git/workflow.ts +38 -1
- package/lib/init.ts +4 -1
- package/lib/internal/git-workflow.ts +7 -1
- package/lib/internal/platform-checks.ts +3 -3
- package/lib/internal/platform-comment.ts +8 -8
- package/lib/internal/platform-context.ts +2 -2
- package/lib/internal/platform-issue.ts +7 -8
- package/lib/internal/platform-pr-review.ts +9 -9
- package/lib/internal/platform-pr.ts +53 -21
- package/lib/internal/platform-release-notes.ts +3 -3
- package/lib/internal/pr-review-grade.ts +10 -8
- package/lib/internal/release-workflow.ts +4 -4
- package/lib/internal/sandbox-control.ts +27 -3
- package/lib/internal/task-activity.ts +3 -3
- package/lib/internal/task-artifact.ts +65 -22
- package/lib/internal/task-create.ts +2 -2
- package/lib/internal/task-delivery.ts +53 -0
- package/lib/internal/task-event.ts +6 -3
- package/lib/internal/task-finalization.ts +3 -3
- package/lib/internal/task-invalidation.ts +39 -0
- package/lib/internal/task-ledger.ts +11 -8
- package/lib/internal/task-lifecycle.ts +2 -2
- package/lib/internal/task-override.ts +6 -6
- package/lib/internal/task-review.ts +3 -3
- package/lib/internal/task-verify.ts +6 -6
- package/lib/internal/task-warning.ts +3 -3
- package/lib/platform/adapters.ts +3 -2
- package/lib/platform/change-request-git-evidence.ts +36 -9
- package/lib/platform/completion-backfill.ts +9 -8
- package/lib/platform/context.ts +97 -134
- package/lib/platform/github-client.ts +10 -3
- package/lib/platform/github-provider.ts +910 -0
- package/lib/platform/in-label-sync.ts +208 -0
- package/lib/platform/issue-comments.ts +97 -47
- 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 +645 -0
- package/lib/platform/pr-checks.ts +129 -107
- package/lib/platform/pr-review.ts +88 -85
- package/lib/platform/pr-summary.ts +562 -52
- package/lib/platform/provider-bridge.ts +82 -0
- package/lib/platform/provider-contract.ts +536 -0
- package/lib/platform/provider-loader.ts +307 -0
- package/lib/platform/provider-validation.ts +529 -0
- package/lib/platform/pull-request-metadata.ts +10 -7
- package/lib/platform/pull-requests.ts +1126 -505
- package/lib/platform/release-notes.ts +76 -59
- package/lib/platform/releases.ts +77 -43
- package/lib/platform/resource-identity.ts +121 -0
- package/lib/platform/task-identities.ts +40 -0
- package/lib/platform/types.ts +4 -2
- package/lib/platform/verification-required.ts +21 -13
- package/lib/platform/verification-sync.ts +118 -293
- package/lib/pr-review/evidence-grading.ts +31 -11
- package/lib/run/index.ts +57 -22
- package/lib/sandbox/config.ts +7 -0
- package/lib/sandbox/control/client.ts +105 -15
- package/lib/sandbox/control/executor.ts +4 -4
- package/lib/sandbox/control/lifecycle.ts +30 -8
- package/lib/sandbox/control/protocol.ts +113 -0
- package/lib/sandbox/control/server.ts +431 -23
- package/lib/sandbox/control/state.ts +251 -1
- package/lib/server/process-state.ts +2 -2
- package/lib/server/protocol.ts +36 -1
- package/lib/task/activity-log.ts +8 -0
- package/lib/task/artifact-lifecycle.ts +34 -8
- package/lib/task/capabilities.ts +262 -0
- package/lib/task/commands/status.ts +38 -0
- package/lib/task/commit-intent.ts +137 -0
- package/lib/task/commit-operation.ts +186 -88
- package/lib/task/control-authority.ts +11 -8
- package/lib/task/create-service.ts +8 -8
- package/lib/task/create.ts +34 -9
- package/lib/task/current-contract.ts +6 -1
- package/lib/task/decision-details.ts +8 -64
- package/lib/task/delivery-target.ts +130 -0
- package/lib/task/delivery.ts +160 -0
- package/lib/task/events.ts +296 -16
- package/lib/task/finalization.ts +50 -14
- package/lib/task/human-override.ts +73 -46
- 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/lifecycle.ts +93 -4
- package/lib/task/local-artifact-finalization.ts +563 -0
- package/lib/task/orchestration.ts +110 -146
- package/lib/task/pr-delivery-fact.ts +237 -0
- package/lib/task/review-finalization.ts +4 -14
- package/lib/task/review-fingerprint.ts +33 -2
- package/lib/task/rework-intent.ts +165 -0
- package/lib/task/skill-scope.ts +24 -0
- package/lib/task/task-execution-lock.ts +23 -14
- package/lib/task/verification-engine.ts +95 -43
- package/lib/task/verification-review.ts +2 -0
- 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 +11 -1
- package/lib/version.ts +15 -1
- package/package.json +7 -1
- package/templates/.agents/rules/README.en.md +4 -2
- package/templates/.agents/rules/README.zh-CN.md +4 -2
- package/templates/.agents/rules/create-issue.en.md +11 -2
- package/templates/.agents/rules/create-issue.zh-CN.md +24 -2
- package/templates/.agents/rules/issue-pr-commands.en.md +4 -17
- package/templates/.agents/rules/issue-pr-commands.zh-CN.md +1 -1
- package/templates/.agents/rules/issue-sync.en.md +28 -5
- package/templates/.agents/rules/issue-sync.zh-CN.md +64 -5
- package/templates/.agents/rules/label-milestone-setup.en.md +15 -2
- package/templates/.agents/rules/label-milestone-setup.zh-CN.md +15 -2
- package/templates/.agents/rules/local-artifact-repair.en.md +53 -0
- package/templates/.agents/rules/local-artifact-repair.zh-CN.md +53 -0
- package/templates/.agents/rules/milestone-inference.en.md +12 -2
- package/templates/.agents/rules/milestone-inference.zh-CN.md +25 -3
- package/templates/.agents/rules/pr-sync.en.md +28 -13
- package/templates/.agents/rules/pr-sync.zh-CN.md +39 -5
- package/templates/.agents/rules/release-commands.en.md +42 -3
- package/templates/.agents/rules/release-commands.zh-CN.md +42 -3
- package/templates/.agents/rules/security-alerts.en.md +17 -2
- package/templates/.agents/rules/security-alerts.zh-CN.md +17 -2
- package/templates/.agents/rules/sync-content-generation.en.md +8 -0
- package/templates/.agents/rules/sync-content-generation.zh-CN.md +8 -0
- package/templates/.agents/rules/task-management.en.md +1 -1
- package/templates/.agents/rules/task-management.zh-CN.md +1 -1
- 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/scripts/security-alerts.github.sh +151 -0
- package/templates/.agents/scripts/security-alerts.sh +31 -0
- package/templates/.agents/skills/analyze-task/SKILL.en.md +14 -3
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +11 -3
- 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 +32 -10
- package/templates/.agents/skills/code-task/SKILL.zh-CN.md +35 -13
- package/templates/.agents/skills/code-task/config/verify.en.json +1 -0
- package/templates/.agents/skills/code-task/config/verify.zh-CN.json +1 -0
- package/templates/.agents/skills/commit/SKILL.en.md +3 -3
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/commit/config/verify.json +1 -1
- package/templates/.agents/skills/commit/reference/commit-orchestration.en.md +3 -3
- package/templates/.agents/skills/commit/reference/commit-orchestration.zh-CN.md +3 -3
- 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 +4 -4
- package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +4 -4
- package/templates/.agents/skills/commit/reference/task-status-update.en.md +2 -2
- package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +2 -2
- package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +7 -4
- package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +7 -4
- package/templates/.agents/skills/complete-manual-validation/config/verify.en.json +1 -1
- package/templates/.agents/skills/complete-manual-validation/config/verify.zh-CN.json +1 -1
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +5 -4
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +5 -4
- package/templates/.agents/skills/complete-task/SKILL.en.md +31 -13
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +30 -13
- package/templates/.agents/skills/complete-task/reference/external-delivery.en.md +2 -2
- package/templates/.agents/skills/complete-task/reference/external-delivery.zh-CN.md +2 -2
- package/templates/.agents/skills/create-pr/SKILL.en.md +11 -10
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +11 -11
- 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 +1 -0
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +1 -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 +9 -10
- package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +9 -10
- package/templates/.agents/skills/init-labels/scripts/init-labels.github.sh +57 -1
- package/templates/.agents/skills/init-labels/scripts/init-labels.sh +27 -1
- package/templates/.agents/skills/init-milestones/SKILL.en.md +3 -5
- package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +3 -5
- package/templates/.agents/skills/plan-task/SKILL.en.md +14 -3
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +11 -3
- package/templates/.agents/skills/review-analysis/SKILL.en.md +6 -5
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +6 -5
- package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +18 -0
- package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +18 -0
- package/templates/.agents/skills/review-code/SKILL.en.md +10 -9
- package/templates/.agents/skills/review-code/SKILL.zh-CN.md +10 -9
- package/templates/.agents/skills/review-code/reference/output-templates.en.md +19 -1
- package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +19 -1
- package/templates/.agents/skills/review-code/reference/report-template.en.md +4 -2
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +4 -2
- package/templates/.agents/skills/review-plan/SKILL.en.md +6 -5
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +6 -5
- package/templates/.agents/skills/review-plan/reference/output-templates.en.md +18 -0
- package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +18 -0
- package/templates/.agents/skills/review-pr/SKILL.en.md +1 -0
- package/templates/.agents/skills/review-pr/SKILL.zh-CN.md +1 -0
- package/templates/.agents/skills/review-pr/reference/evidence-grading.en.md +2 -2
- package/templates/.agents/skills/review-pr/reference/evidence-grading.zh-CN.md +2 -2
- package/templates/.agents/skills/run-manual-validation/SKILL.en.md +5 -2
- package/templates/.agents/skills/run-manual-validation/SKILL.zh-CN.md +5 -2
- package/templates/.agents/skills/run-task/SKILL.en.md +1 -1
- package/templates/.agents/skills/run-task/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +4 -0
- package/templates/.agents/skills/watch-pr/SKILL.en.md +6 -6
- package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +6 -6
- 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 +23 -2
- package/templates/.agents/templates/task.zh-CN.md +23 -2
- package/templates/.agents/workflows/bug-fix.en.yaml +9 -8
- package/templates/.agents/workflows/bug-fix.zh-CN.yaml +9 -8
- package/templates/.agents/workflows/feature-development.en.yaml +9 -8
- package/templates/.agents/workflows/feature-development.zh-CN.yaml +9 -8
- package/templates/.agents/workflows/refactoring.en.yaml +9 -8
- package/templates/.agents/workflows/refactoring.zh-CN.yaml +9 -8
- package/templates/.github/workflows/pr-label.yml +7 -26
- package/templates/.agents/rules/create-issue.github.en.md +0 -14
- package/templates/.agents/rules/create-issue.github.zh-CN.md +0 -27
- package/templates/.agents/rules/issue-pr-commands.github.en.md +0 -34
- package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +0 -49
- package/templates/.agents/rules/issue-sync.github.en.md +0 -40
- package/templates/.agents/rules/issue-sync.github.zh-CN.md +0 -76
- package/templates/.agents/rules/label-milestone-setup.github.en.md +0 -60
- package/templates/.agents/rules/label-milestone-setup.github.zh-CN.md +0 -60
- package/templates/.agents/rules/milestone-inference.github.en.md +0 -15
- package/templates/.agents/rules/milestone-inference.github.zh-CN.md +0 -27
- package/templates/.agents/rules/pr-checks-commands.github.en.md +0 -18
- package/templates/.agents/rules/pr-checks-commands.github.zh-CN.md +0 -34
- package/templates/.agents/rules/pr-sync.github.en.md +0 -43
- package/templates/.agents/rules/pr-sync.github.zh-CN.md +0 -69
- package/templates/.agents/rules/release-commands.github.en.md +0 -44
- package/templates/.agents/rules/release-commands.github.zh-CN.md +0 -44
- package/templates/.agents/rules/security-alerts.github.en.md +0 -43
- package/templates/.agents/rules/security-alerts.github.zh-CN.md +0 -43
- /package/templates/.agents/rules/{issue-fields.github.en.md → issue-fields.en.md} +0 -0
- /package/templates/.agents/rules/{issue-fields.github.zh-CN.md → issue-fields.zh-CN.md} +0 -0
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# PR 平台意图命令
|
|
2
|
-
|
|
3
|
-
> `--agent` 取值见 `.agents/rules/task-management.md`「合作者 token 规范」。
|
|
4
|
-
|
|
5
|
-
PR 资源的定位、创建、绑定和元数据同步统一通过 typed internal intent;SKILL 只负责决定分支、标题、正文和调用时机,不直接拼装平台命令。
|
|
6
|
-
|
|
7
|
-
## 定位
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
agent-infra-internal platform-pr inspect {task-id}
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
返回已绑定 PR 的规范身份;未绑定时返回 `PR_NOT_LINKED`。调用方不得按标题模糊匹配。
|
|
14
|
-
|
|
15
|
-
## 创建或恢复
|
|
16
|
-
|
|
17
|
-
调用方把标题和正文分别写入临时文件,然后执行:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
agent-infra-internal platform-pr create {task-id} \
|
|
21
|
-
--agent {standard-agent-token} --base {target-branch} --head {current-branch} \
|
|
22
|
-
--title-file {title-file} --body-file {body-file}
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
core 会先按 upstream、head 和 base 精确定位;唯一既有 PR 会复用并绑定,零个才创建,多个稳定失败。远端结果未知时重新精确定位,不盲重建。`--dry-run` 只返回计划。
|
|
26
|
-
|
|
27
|
-
## 显式绑定
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
agent-infra-internal platform-pr bind {task-id} --pr {pr-number} --agent {standard-agent-token}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
冲突绑定稳定失败且不修改 `task.md`。
|
|
34
|
-
|
|
35
|
-
## 元数据同步
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
agent-infra-internal platform-pr sync {task-id} \
|
|
39
|
-
--agent {standard-agent-token} --metadata --closing-issue
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
core 从关联 Issue 复制 type / `in:` labels、assignee、具体 milestone,并确保 closing association。权限不足返回逐项 `skipped` 和顶层 `degraded`;不得反向修改 Issue。
|
|
43
|
-
|
|
44
|
-
## 状态语义
|
|
45
|
-
|
|
46
|
-
- `planned|applied|no-op|degraded`:退出码 0。
|
|
47
|
-
- `failed`:退出码 1,确定性输入或远端错误。
|
|
48
|
-
- `blocked`:退出码 2,网络、认证或结果未知,需要人工介入或安全重跑。
|
|
49
|
-
- 创建后摘要或元数据同步失败不得回滚 PR;调用方按所属 SKILL 记录 warning。
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Issue Sync
|
|
2
|
-
|
|
3
|
-
> `--agent` values are defined in `.agents/rules/task-management.md` under “Collaborator Token Specification”.
|
|
4
|
-
|
|
5
|
-
## Marker Registry
|
|
6
|
-
|
|
7
|
-
| Key | Marker |
|
|
8
|
-
|---|---|
|
|
9
|
-
| `task` | `<!-- sync-issue:{task-id}:task -->` |
|
|
10
|
-
| `artifact` | `<!-- sync-issue:{task-id}:{artifact-stem} -->` |
|
|
11
|
-
| `artifactChunk` | `<!-- sync-issue:{task-id}:{artifact-stem}:{part}/{total} -->` |
|
|
12
|
-
| `summary` | `<!-- sync-issue:{task-id}:summary -->` |
|
|
13
|
-
| `cancel` | `<!-- sync-issue:{task-id}:cancel -->` |
|
|
14
|
-
|
|
15
|
-
`pr-review` content is synced only as an Issue artifact comment (via the `artifact` / `artifactChunk` markers) and is never a `restore-task` recovery source; restore still accepts only an Issue number and reads only registered Issue markers, with no PR source.
|
|
16
|
-
|
|
17
|
-
Comments use `platform-comment`; Issue resources use `platform-issue`:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
agent-infra-internal platform-issue inspect {task-id}
|
|
21
|
-
agent-infra-internal platform-issue create {task-id} --agent {standard-agent-token}
|
|
22
|
-
agent-infra-internal platform-issue bind {task-id} --issue {number} --agent {standard-agent-token}
|
|
23
|
-
agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} {desired-state-flags}
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
The core owns status/in labels, assignees, milestones, Issue Type, pinned fields, requirements, state, capabilities, dry-run, retries, errors, and idempotency. Omitted flags preserve values; `none` explicitly clears them. Status labels converge to at most one, and ambiguous requirement identity fails closed.
|
|
27
|
-
|
|
28
|
-
`planned|applied|no-op|degraded` exit 0; `failed` exits 1; `blocked` exits 2.
|
|
29
|
-
|
|
30
|
-
Map material degraded/failed/blocked results to workflow warnings through the structured intent; callers must not edit warning rows directly:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
agent-infra-internal task-warning {task-id} add \
|
|
34
|
-
--step issue-sync --severity {severity} --code {code} \
|
|
35
|
-
--target {target} --message {message} --action {action}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Backfill
|
|
39
|
-
|
|
40
|
-
During completion, artifact comments are replayed with `--kind artifact --artifact <file> --backfill`. If the remote Issue has no matching marker, the core creates a comment with a historical-backfill notice. If a valid base or chunk marker set already exists, the core returns `no-op` and preserves the existing bodies and chunks. Marker conflicts still fail without writes.
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Issue 同步规则
|
|
2
|
-
|
|
3
|
-
> `--agent` 取值见 `.agents/rules/task-management.md`「合作者 token 规范」。
|
|
4
|
-
|
|
5
|
-
## Marker 注册表
|
|
6
|
-
|
|
7
|
-
以下 key 及格式是 Issue 评论身份的兼容契约;调用方只传 key/资源,不自行拼 marker。
|
|
8
|
-
|
|
9
|
-
| Key | Marker |
|
|
10
|
-
|---|---|
|
|
11
|
-
| `task` | `<!-- sync-issue:{task-id}:task -->` |
|
|
12
|
-
| `artifact` | `<!-- sync-issue:{task-id}:{artifact-stem} -->` |
|
|
13
|
-
| `artifactChunk` | `<!-- sync-issue:{task-id}:{artifact-stem}:{part}/{total} -->` |
|
|
14
|
-
| `summary` | `<!-- sync-issue:{task-id}:summary -->` |
|
|
15
|
-
| `cancel` | `<!-- sync-issue:{task-id}:cancel -->` |
|
|
16
|
-
|
|
17
|
-
`prSummary` 属于 `.agents/rules/pr-sync.md`,本规则不实现 PR 聚合。
|
|
18
|
-
|
|
19
|
-
`pr-review` 原文只通过 `artifact` / `artifactChunk` marker 同步为 Issue artifact 评论,不作为 `restore-task` 恢复来源;恢复仍只接受 Issue 编号并只读注册的 Issue marker,不新增 PR 来源。
|
|
20
|
-
|
|
21
|
-
## 平台 intent
|
|
22
|
-
|
|
23
|
-
GitHub upstream、认证、capability、分页、marker 查找、幂等 create/update、分片、重试与错误分类由 typed platform core 统一处理:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
agent-infra-internal platform-context resolve [--cwd <path>]
|
|
27
|
-
agent-infra-internal platform-comment list --issue <N> [--cwd <path>]
|
|
28
|
-
agent-infra-internal platform-comment owner <task-ref>
|
|
29
|
-
agent-infra-internal platform-comment sync <task-ref> \
|
|
30
|
-
--kind task|artifact|summary|cancel --agent {standard-agent-token} \
|
|
31
|
-
[--artifact <canonical.md>] [--body-file <path|->] [--backfill]
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
- `applied|no-op|degraded` → exit 0;`failed` → exit 1;`blocked` → exit 2。
|
|
35
|
-
- task 评论保持 `<details>` frontmatter 可逆格式;artifact 原文内联并在超过 profile 上限时使用 `artifactChunk`。
|
|
36
|
-
- 相同 intent 重放必须收敛为 `no-op`;重复 marker 返回 `COMMENT_MARKER_CONFLICT` 且不写入。
|
|
37
|
-
- 外部贡献者锁定统一使用 `platform-comment owner`;不同作者且无 triage 时返回 `COMMENT_OWNER_CONFLICT`。
|
|
38
|
-
|
|
39
|
-
## 降级与告警
|
|
40
|
-
|
|
41
|
-
平台结果不直接写 task.md。调用方在有关联任务时把关键失败映射为 workflow warning:
|
|
42
|
-
|
|
43
|
-
- capability 不足:`IMPORTANT / PERMISSION_DEGRADED`
|
|
44
|
-
- 评论同步永久失败:`ACTION_REQUIRED / COMMENT_SYNC_FAILED`
|
|
45
|
-
- 网络重试耗尽:`ACTION_REQUIRED / NETWORK_RETRY_EXHAUSTED`
|
|
46
|
-
|
|
47
|
-
使用 `agent-infra-internal task-warning {task-id} add ...` 登记;不得手写 warning 表。
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
agent-infra-internal task-warning {task-id} add \
|
|
51
|
-
--step issue-sync --severity {severity} --code {code} \
|
|
52
|
-
--target {target} --message {message} --action {action}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Issue 元数据 intent
|
|
56
|
-
|
|
57
|
-
所有 Issue 元数据写入统一使用:
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
agent-infra-internal platform-issue inspect {task-id}
|
|
61
|
-
agent-infra-internal platform-issue create {task-id} --agent {standard-agent-token}
|
|
62
|
-
agent-infra-internal platform-issue bind {task-id} --issue {number} --agent {standard-agent-token}
|
|
63
|
-
agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} {desired-state-flags}
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
`sync` 支持 status/in labels、assignee、milestone、Issue Type、pinned fields、需求复选框与 Issue state。省略 flag 表示 preserve,`none` 表示显式清空。适配层统一处理集合差集、动态 schema、权限降级、dry-run、重试、错误分类与幂等重放;SKILL 不得拼装 `gh issue`、GraphQL 或权限分支。
|
|
67
|
-
|
|
68
|
-
- `planned|applied|no-op|degraded` → exit 0
|
|
69
|
-
- `failed` → exit 1
|
|
70
|
-
- `blocked` → exit 2
|
|
71
|
-
|
|
72
|
-
status labels 始终至多一个;关闭后不保留 status label。`in:` labels 只从项目允许映射与仓库实际 labels 交集产生。需求复选框以 task.md 原文为身份,歧义时 fail closed。
|
|
73
|
-
|
|
74
|
-
## 补发
|
|
75
|
-
|
|
76
|
-
complete-task 按 artifact catalog 时间线遍历本地已有产物:task 使用 `--kind task`,其余使用 `--kind artifact --artifact <file> --backfill`;最后用 `--kind summary --body-file <path>` 原地同步交付摘要。artifact backfill 在远端缺少 marker 时创建带“历史产物补发”提示的评论;已存在合法 marker 集合时保持原评论和分片不变并返回 `no-op`;marker 冲突仍失败。该判定由 core 完成,不由 Skill 扫描评论或拼标题。
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Label / Milestone Platform Commands
|
|
2
|
-
|
|
3
|
-
Read this file before initializing labels, initializing milestones, or adjusting milestones during release work.
|
|
4
|
-
|
|
5
|
-
## Authentication and Repository Info
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
gh auth token
|
|
9
|
-
gh repo view --json nameWithOwner --jq '.nameWithOwner'
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Label Operations
|
|
13
|
-
|
|
14
|
-
List existing labels:
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
gh label list --limit 200 --json name --jq '.[].name'
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Create or update a label:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
gh label create "{name}" --color "{color}" --description "{description}" --force
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Milestone Operations
|
|
27
|
-
|
|
28
|
-
List milestones:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
gh api "repos/$repo/milestones?state=all" --paginate
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Create a milestone:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
gh api "repos/$repo/milestones" -f title="{title}" -f description="{description}" -f state="{state}"
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Update a milestone:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
gh api "repos/$repo/milestones/{number}" -X PATCH -f state="{state}" -f description="{description}"
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Error Prompt Templates
|
|
47
|
-
|
|
48
|
-
Use these normalized prompts when the GitHub setup scripts fail:
|
|
49
|
-
|
|
50
|
-
| Condition | Prompt |
|
|
51
|
-
|---|---|
|
|
52
|
-
| CLI missing | GitHub CLI (`gh`) is not installed |
|
|
53
|
-
| Authentication failed | `GitHub CLI is not authenticated` |
|
|
54
|
-
| API rate limit | `GitHub API rate limit reached, please retry later` |
|
|
55
|
-
|
|
56
|
-
## Constraints
|
|
57
|
-
|
|
58
|
-
- use label names as the idempotency key
|
|
59
|
-
- use milestone titles as the idempotency key, then milestone numbers when patching state
|
|
60
|
-
- stop or skip according to the calling skill when commands fail
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Label / Milestone 平台命令
|
|
2
|
-
|
|
3
|
-
在初始化 label、初始化 milestone,或发布流程需要调整 milestone 前先读取本文件。
|
|
4
|
-
|
|
5
|
-
## 认证与仓库信息
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
gh auth token
|
|
9
|
-
gh repo view --json nameWithOwner --jq '.nameWithOwner'
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Label 操作
|
|
13
|
-
|
|
14
|
-
列出现有 label:
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
gh label list --limit 200 --json name --jq '.[].name'
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
创建或更新 label:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
gh label create "{name}" --color "{color}" --description "{description}" --force
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Milestone 操作
|
|
27
|
-
|
|
28
|
-
列出 milestone:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
gh api "repos/$repo/milestones?state=all" --paginate
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
创建 milestone:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
gh api "repos/$repo/milestones" -f title="{title}" -f description="{description}" -f state="{state}"
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
更新 milestone:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
gh api "repos/$repo/milestones/{number}" -X PATCH -f state="{state}" -f description="{description}"
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## 错误提示模板
|
|
47
|
-
|
|
48
|
-
GitHub 初始化脚本失败时使用以下标准提示:
|
|
49
|
-
|
|
50
|
-
| 条件 | 提示 |
|
|
51
|
-
|---|---|
|
|
52
|
-
| CLI 缺失 | GitHub CLI (`gh`) is not installed |
|
|
53
|
-
| 认证失败 | `GitHub CLI is not authenticated` |
|
|
54
|
-
| API 限流 | `GitHub API rate limit reached, please retry later` |
|
|
55
|
-
|
|
56
|
-
## 约束
|
|
57
|
-
|
|
58
|
-
- label 以名称作为幂等键
|
|
59
|
-
- milestone 以标题作为幂等键,必要时再结合编号更新状态
|
|
60
|
-
- 失败时按调用方规则决定停止或跳过
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# Milestone Inference
|
|
2
|
-
|
|
3
|
-
> `--agent` values are defined in `.agents/rules/task-management.md` under “Collaborator Token Specification”.
|
|
4
|
-
|
|
5
|
-
Milestones narrow through declarative Issue intents:
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# create/import phase
|
|
9
|
-
agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --milestone initial
|
|
10
|
-
|
|
11
|
-
# code phase
|
|
12
|
-
agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --milestone specific
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
`initial` prefers a valid task milestone, otherwise the lowest open `X.Y.x`, then `General Backlog`. `specific` narrows a release line to the highest open patch version using main/release-line ancestry. Missing facts or triage permission preserve the remote value and return skipped/degraded. `create-pr` reuses the Issue milestone in the 09/10 PR adapter.
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Milestone 推断规则
|
|
2
|
-
|
|
3
|
-
> `--agent` 取值见 `.agents/rules/task-management.md`「合作者 token 规范」。
|
|
4
|
-
|
|
5
|
-
Milestone 继续按生命周期逐步收窄,但候选读取、分支判断、权限降级和写入统一由 `platform-issue` 处理。
|
|
6
|
-
|
|
7
|
-
## 阶段 1:创建或导入
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --milestone initial
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
优先使用 task.md 中存在且有效的显式 milestone;否则从 open milestones 选择最低 `X.Y.x` 版本线,最后回退 `General Backlog`。`triage=false` 或外部事实不足时保持远端值并返回 skipped/degraded。
|
|
14
|
-
|
|
15
|
-
## 阶段 2:`code-task`
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
agent-infra-internal platform-issue sync {task-id} --agent {standard-agent-token} --milestone specific
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
版本线收窄规则保持不变:主干模式在当前版本线取最高 patch;多版本分支模式依据 release-line/main 祖先关系选择版本线。无法可靠判断时保持原值。完成门禁仍拒绝 `X.Y.x`。
|
|
22
|
-
|
|
23
|
-
## 阶段 3:`create-pr`
|
|
24
|
-
|
|
25
|
-
PR 只复用关联 Issue 的具体 milestone;该 PR 资源写入属于 09/10,不在 `platform-issue` 中实现。
|
|
26
|
-
|
|
27
|
-
调用方不得重新实现 milestone 列表、排序、分支祖先或 `gh issue edit` 逻辑。
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# GitHub PR Readiness Intents
|
|
2
|
-
|
|
3
|
-
The GitHub adapter requires `gh >= 2.72.0`. Platform context checks this dependency before any GitHub API, PR, or checks operation. Projects that do not select GitHub neither probe nor depend on `gh`.
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
agent-infra-internal platform-checks inspect {task-id}
|
|
7
|
-
|
|
8
|
-
agent-infra-internal platform-checks watch {task-id} \
|
|
9
|
-
--interval-seconds 30 --deadline-seconds 1800
|
|
10
|
-
|
|
11
|
-
agent-infra-internal platform-checks resolve-run {task-id} \
|
|
12
|
-
--check-name {check-name} [--details-url {details-url}]
|
|
13
|
-
|
|
14
|
-
agent-infra-internal platform-checks logs {task-id} \
|
|
15
|
-
--run {run-id} [--job {job-id}]
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
The adapter normalizes REST `mergeable=false` to `conflicting`, null/missing to `unknown`, and true to `mergeable`; `mergeable=true` plus diagnostic `dirty` is contradictory and becomes `unknown`. Other diagnostics such as `blocked` do not override REST true. Core combines that fact with all checks for one `headSha`: only `ready` exits 0, `conflicting|checks-failed` exit 1, and pending/timeout/cancel/network blocking exit 2. Dependency and deterministic platform errors are preserved without degradation.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# GitHub PR readiness 平台意图
|
|
2
|
-
|
|
3
|
-
PR 全部 checks 的获取、轮询 deadline、失败 run/job 定位和日志获取统一由 typed internal intent 执行。SKILL/模型只负责失败分类、根因分析、最小修复和授权后的提交推送。
|
|
4
|
-
|
|
5
|
-
GitHub adapter 要求 `gh >= 2.72.0`。平台上下文会在任何 GitHub API、PR 或 checks 操作前检查该依赖;未选择 GitHub 平台时不探测也不依赖 `gh`。
|
|
6
|
-
|
|
7
|
-
## 快照与监控
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
agent-infra-internal platform-checks inspect {task-id}
|
|
11
|
-
|
|
12
|
-
agent-infra-internal platform-checks watch {task-id} \
|
|
13
|
-
--interval-seconds 30 --deadline-seconds 1800
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
adapter 把 REST `mergeable=false` 规范化为 `conflicting`,null/缺失为 `unknown`,true 为 `mergeable`;true 与诊断 `dirty` 矛盾时降为 `unknown`。`blocked` 等其他诊断不覆盖 REST true。core 在同一 `headSha` 上与全部 checks 聚合:仅 `ready` 退出 0,`conflicting|checks-failed` 退出 1,pending/timeout/cancel/网络阻塞退出 2。依赖与确定性平台错误不降级。
|
|
17
|
-
|
|
18
|
-
## 定位失败 run/job
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
agent-infra-internal platform-checks resolve-run {task-id} \
|
|
22
|
-
--check-name {check-name} [--details-url {details-url}]
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
core 优先验证详情链接;否则按 PR head SHA 与 exact check name 查询。零个或多个候选均 fail closed,不选择其他 run。
|
|
26
|
-
|
|
27
|
-
## 获取失败日志
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
agent-infra-internal platform-checks logs {task-id} \
|
|
31
|
-
--run {run-id} [--job {job-id}]
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
日志结果保真返回;缺失、权限、网络和资源不存在使用稳定错误码区分。平台 intent 不修改业务代码、不测试、不提交也不推送。
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# PR Summary Synchronization
|
|
2
|
-
|
|
3
|
-
> `--agent` values are defined in `.agents/rules/task-management.md` under “Collaborator Token Specification”.
|
|
4
|
-
|
|
5
|
-
The model writes the semantic reviewer summary. Typed core owns canonical artifact selection, marker/HEAD wrapping, paginated comment lookup, and reconciliation.
|
|
6
|
-
|
|
7
|
-
## Three-Layer Isolation
|
|
8
|
-
|
|
9
|
-
- `sync-pr:{task-id}:summary` (`platform-pr summary-sync`) is an updatable reviewer summary; it is neither a process copy nor a formal Review.
|
|
10
|
-
- The full `pr-review*` process copy lives in the Issue artifact comment (`platform-comment sync --kind artifact`) and is restored by `restore-task` under its Issue-only contract.
|
|
11
|
-
- A formal PR Review (`platform-pr-review publish`) is the only formal conclusion carrier published to the PR, bound to the reviewed head SHA, and includes conclusion, findings, receipt, and the Issue artifact link.
|
|
12
|
-
|
|
13
|
-
The three never cross: a regular PR comment does not carry the full process copy; an Issue artifact comment is not treated as a formal Review; a summary is not presented as a formal Review.
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
agent-infra-internal platform-pr summary-context {task-id}
|
|
17
|
-
|
|
18
|
-
agent-infra-internal platform-pr summary-sync {task-id} \
|
|
19
|
-
--agent {standard-agent-token} --body-file {summary-body-file}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Use only canonical inputs returned by the context command. Write the plain body without marker or SHA. The core owns `<!-- sync-pr:{task-id}:summary -->`, current `<!-- last-commit: ... -->`, create/update/no-op behavior, and duplicate-marker conflicts. Summary failure never rolls back a PR or commit.
|
|
23
|
-
|
|
24
|
-
The canonical comment envelope produced by the core is:
|
|
25
|
-
|
|
26
|
-
```markdown
|
|
27
|
-
<!-- sync-pr:{task-id}:summary -->
|
|
28
|
-
<!-- last-commit: {git-head-sha} -->
|
|
29
|
-
## Review Summary
|
|
30
|
-
{manual-validation-section}
|
|
31
|
-
### Key Technical Decisions
|
|
32
|
-
### Review History
|
|
33
|
-
### Test Results
|
|
34
|
-
### PR Code Changes
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Canonical inputs include `manual-validation.md`. The manual-validation section is one of `### ✅ Manual Validation Passed`, `### ⚠️ Manual Verification Required`, or `### ✅ No Manual Verification Needed`; `complete-manual-validation` refreshes the same summary in place. The PR code-change section uses authoritative base/head facts from `platform-pr inspect` and the complete `git diff --find-renames --numstat base...head`, reconciles runtime, test, skill/rule, template, documentation, and other categories, and explains renames, mechanical mirrors, and potentially unnecessary changes.
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
agent-infra-internal task-warning {task-id} add --step {step} --severity WARNING \
|
|
41
|
-
--code COMMENT_SYNC_FAILED --target pr-summary --message "{reason}" \
|
|
42
|
-
--action "Restore comment permission or connectivity and rerun this step"
|
|
43
|
-
```
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# PR 摘要同步
|
|
2
|
-
|
|
3
|
-
> `--agent` 取值见 `.agents/rules/task-management.md`「合作者 token 规范」。
|
|
4
|
-
|
|
5
|
-
PR 摘要的语义聚合由模型完成;canonical 产物选择、marker、当前 HEAD、分页评论查找和 create/update/no-op 由 typed core 负责。
|
|
6
|
-
|
|
7
|
-
## 三层隔离
|
|
8
|
-
|
|
9
|
-
- `sync-pr:{task-id}:summary`(`platform-pr summary-sync`)是可更新的 reviewer 摘要,不是过程原文,也不是正式 Review。
|
|
10
|
-
- `pr-review*` 完整过程原文在 Issue artifact 评论(`platform-comment sync --kind artifact`),由 `restore-task` 按 Issue-only 契约恢复。
|
|
11
|
-
- 正式 PR Review(`platform-pr-review publish`)是唯一发布到 PR 的正式结论载体,绑定被审 head SHA,含结论、finding、receipt 与 Issue artifact 链接。
|
|
12
|
-
|
|
13
|
-
三者不串用:PR 普通评论不承载完整过程原文;Issue artifact 评论不当作正式 Review;摘要不冒充正式 Review。
|
|
14
|
-
|
|
15
|
-
## 聚合输入
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
agent-infra-internal platform-pr summary-context {task-id}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
只使用返回的 canonical latest `plan*`、`review-plan*`、`code*`、`review-code*`、`manual-validation*`(包括 `manual-validation.md`)。模型据此生成 reviewer 摘要正文,至少包含:
|
|
22
|
-
|
|
23
|
-
- 变更摘要与实现范围
|
|
24
|
-
- 测试结果
|
|
25
|
-
- 审查历程与当前结论
|
|
26
|
-
- 人工校验三态:`### ⚠️ 需人工校验`、`### ✅ 人工验证已通过` 或 `### ✅ 无需人工校验`
|
|
27
|
-
- `### PR 代码增减`:基于 `platform-pr inspect` 的权威 base/head 和完整 `git diff --find-renames --numstat base...head`,按运行时代码、测试、Skill/规则、模板、文档及其他分类核算,并说明 rename、机械镜像与疑似不必要变化
|
|
28
|
-
|
|
29
|
-
保留人工校验项时,每条写明校验内容、定位和只能人工完成的原因。
|
|
30
|
-
|
|
31
|
-
core 最终包装出的 canonical 评论结构为:
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
<!-- sync-pr:{task-id}:summary -->
|
|
35
|
-
<!-- last-commit: {git-head-sha} -->
|
|
36
|
-
## 审查摘要
|
|
37
|
-
{manual-validation-section}
|
|
38
|
-
### 关键技术决策
|
|
39
|
-
### 审查历程
|
|
40
|
-
### 测试结果
|
|
41
|
-
### PR 代码增减
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## 发布
|
|
45
|
-
|
|
46
|
-
把聚合后的纯正文写入 `{summary-body-file}`,不要自行添加 marker 或 commit SHA:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
agent-infra-internal platform-pr summary-sync {task-id} \
|
|
50
|
-
--agent {standard-agent-token} --body-file {summary-body-file}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
core 会包装唯一 `<!-- sync-pr:{task-id}:summary -->` 和当前 `<!-- last-commit: ... -->`,分页查找 PR 普通评论:不存在则创建、正文变化则原地更新、无差异则 no-op、重复 marker 则稳定失败。正文通过文件输入,调用方不得拼 shell/heredoc。
|
|
54
|
-
|
|
55
|
-
## 结果回传
|
|
56
|
-
|
|
57
|
-
- `applied`:`summary created` 或 `summary updated`
|
|
58
|
-
- `no-op`:`summary skipped (no diff)`
|
|
59
|
-
- `failed|blocked`:`summary failed: {error.code}: {error.message}`
|
|
60
|
-
|
|
61
|
-
`create-pr` 中摘要失败不回滚已创建 PR;`commit` 中只记 warning,不回滚 commit;`complete-manual-validation` 在 canonical artifact 落盘后调用同一 intent 原地刷新。
|
|
62
|
-
|
|
63
|
-
关联任务的摘要失败由调用方登记结构化告警:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
agent-infra-internal task-warning {task-id} add --step {step} --severity WARNING \
|
|
67
|
-
--code COMMENT_SYNC_FAILED --target pr-summary --message "{reason}" \
|
|
68
|
-
--action "修复评论权限或平台连接后重跑当前步骤"
|
|
69
|
-
```
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Release Platform Commands
|
|
2
|
-
|
|
3
|
-
Release-note platform operations use a typed internal intent. Callers consume structured JSON and do not interpret platform commands, raw fields, identity email rules, or authentication errors.
|
|
4
|
-
|
|
5
|
-
## Collect Release-note Context
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
agent-infra-internal platform-release-notes context \
|
|
9
|
-
--from-tag "v{prev-version}" \
|
|
10
|
-
--to-tag "v{version}" \
|
|
11
|
-
--branch "{branch}" \
|
|
12
|
-
--history-limit 3
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
The result contains `history`, `pullRequests`, `closingIssues`, and commit `authors` with normalized `login` / `resolution` values. `status: no-op` with error code `PLATFORM_RELEASE_NOTES_UNSUPPORTED` means the current platform does not support remote release-note operations.
|
|
16
|
-
|
|
17
|
-
### Identity Safety Boundary
|
|
18
|
-
|
|
19
|
-
- Render an identity as `@login` only when `resolution` is `platform-user` or `platform-noreply` and `login` is non-empty.
|
|
20
|
-
- Exclude `resolution: unresolved` identities from the release-note contributor list. Never infer a login from a name, email address, domain, brand, or same-named platform account, and never substitute a guessed personal or organization account.
|
|
21
|
-
- Do not publish unresolved identity emails or identity-verification TODOs in Release notes. Record any required investigation outside the release workflow without creating a platform mention.
|
|
22
|
-
|
|
23
|
-
## Stage Release Notes
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
agent-infra-internal platform-release-notes stage \
|
|
27
|
-
--notes-file "{notes-file}"
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
The command accepts only an external regular file, normalizes it atomically, and returns SHA-256 for its exact bytes.
|
|
31
|
-
|
|
32
|
-
## Publish Release Notes
|
|
33
|
-
|
|
34
|
-
Call this only after user confirmation:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
agent-infra-internal platform-release-notes publish \
|
|
38
|
-
--tag "v{version}" \
|
|
39
|
-
--title "v{version}" \
|
|
40
|
-
--notes-file "{notes-file}" \
|
|
41
|
-
--expected-sha256 "{preview-sha256}"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
The command recomputes the digest before platform access and performs no platform write on mismatch. On a match it updates an existing Release or creates it when missing; `--dry-run` returns only the planned operation. Exit code `0` means success, `1` means a stable failure, and `2` means a network or platform block.
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Release 平台命令
|
|
2
|
-
|
|
3
|
-
发布说明平台操作统一使用 typed internal intent。调用方只解释结构化 JSON,不解析平台命令、原始字段、身份邮箱规则或认证错误。
|
|
4
|
-
|
|
5
|
-
## 收集发布说明上下文
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
agent-infra-internal platform-release-notes context \
|
|
9
|
-
--from-tag "v{prev-version}" \
|
|
10
|
-
--to-tag "v{version}" \
|
|
11
|
-
--branch "{branch}" \
|
|
12
|
-
--history-limit 3
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
结果包含 `history`、`pullRequests`、`closingIssues` 和带规范化 `login` / `resolution` 的 commit `authors`。`status: no-op` 且错误码为 `PLATFORM_RELEASE_NOTES_UNSUPPORTED` 表示当前平台不支持远端发布说明能力。
|
|
16
|
-
|
|
17
|
-
### 身份安全边界
|
|
18
|
-
|
|
19
|
-
- 只有 `resolution` 为 `platform-user` 或 `platform-noreply` 且 `login` 非空的身份可以渲染为 `@login`。
|
|
20
|
-
- `resolution: unresolved` 的身份不得进入发布说明的贡献者列表;不得从 Name、邮箱、域名、品牌或同名平台账号推断 login,也不得替换成推测的个人或组织账号。
|
|
21
|
-
- 不得把未解析身份的邮箱或身份确认 TODO 写入可发布的 Release notes。需要调查时仅在发布流程外记录,不得产生平台 mention。
|
|
22
|
-
|
|
23
|
-
## Stage Release notes
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
agent-infra-internal platform-release-notes stage \
|
|
27
|
-
--notes-file "{notes-file}"
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
命令只接受工作树外普通文件,原子规范化并返回精确 bytes 的 SHA-256。
|
|
31
|
-
|
|
32
|
-
## 发布 Release notes
|
|
33
|
-
|
|
34
|
-
用户确认后调用:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
agent-infra-internal platform-release-notes publish \
|
|
38
|
-
--tag "v{version}" \
|
|
39
|
-
--title "v{version}" \
|
|
40
|
-
--notes-file "{notes-file}" \
|
|
41
|
-
--expected-sha256 "{preview-sha256}"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
命令在平台访问前复算摘要,不匹配时零写入;匹配时更新已有 Release,缺失时创建。`--dry-run` 只返回 planned operation。退出码为 `0` 时成功,`1` 表示稳定失败,`2` 表示网络或平台阻塞。
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Security Alert Platform Commands
|
|
2
|
-
|
|
3
|
-
Read this file before importing or dismissing Dependabot or Code Scanning alerts.
|
|
4
|
-
|
|
5
|
-
## Dependabot Alerts
|
|
6
|
-
|
|
7
|
-
Read an alert:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
gh api "repos/{owner}/{repo}/dependabot/alerts/{number}"
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Dismiss an alert:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
gh api --method PATCH "repos/{owner}/{repo}/dependabot/alerts/{number}" \
|
|
17
|
-
-f state="dismissed" \
|
|
18
|
-
-f dismissed_reason="{reason}" \
|
|
19
|
-
-f dismissed_comment="{comment}"
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Code Scanning Alerts
|
|
23
|
-
|
|
24
|
-
Read an alert:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
gh api "repos/{owner}/{repo}/code-scanning/alerts/{number}"
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Dismiss an alert:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
gh api --method PATCH "repos/{owner}/{repo}/code-scanning/alerts/{number}" \
|
|
34
|
-
-f state="dismissed" \
|
|
35
|
-
-f dismissed_reason="{reason}" \
|
|
36
|
-
-f dismissed_comment="{comment}"
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Constraints
|
|
40
|
-
|
|
41
|
-
- read the current alert state before deciding whether to continue
|
|
42
|
-
- validate dismissal reasons in the calling skill before sending them
|
|
43
|
-
- stop or escalate according to the calling skill when API calls fail
|