Skip to content

fix(skill): harden AgentHub packages and ROS Agent preview boundaries - #413

Merged
guima-why merged 14 commits into
mainfrom
codex/agenthub-0-6-0-manifest
Nov 2, 2026
Merged

guima-why merged 14 commits into
mainfrom
codex/agenthub-0-6-0-manifest

Conversation

@guima-why

@guima-why guima-why commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

AgentHub packages could omit their version manifest and derive the User-Agent from a hard-coded version. Generate and validate the manifest for both AgentHub products before outbound requests, and package only each profile's explicit files. ROS Agent deployment-confirmation previews now retain bounded, redacted fields from direct, pipeline, and pipelineBatch envelopes. Deployment decisions remain display-only: continue rejects them and respond remains limited to permission prompts.

The iac-code Runtime installer still requires external permission scoped to the pinned host, Runtime tag, manifest digest, approver/reference, and a future UTC expiry. Validate it before downloads, redirects, and executable self-checks; retain installer CWD restrictions and private-state path checks. Do not replay an initial A2A request with an unknown outcome before a task ID is known; preserve recovery for existing tasks. ROS Agent artifact reads enforce their own bounded path/URL rules; its code-transport dependencies are pinned with hashes and installed from the explicit wheel-only mirror policy.

The Skill description discloses the first-use 65–81 MB native Runtime download and the installer authorization requirement. AgentHub documentation distinguishes encrypted evaluation inputs in the source repository from the four-file iac-code Skill ZIP: those inputs carry the recorded evaluation scope and deadline, grant no release-wide exception, and must not be copied outside that scope, decrypted, printed, or extended. Packaging reopens the ZIP to verify exact entries and bytes and exclude harness settings. The ROS Agent AgentHub ZIP has its own nine-file whitelist.

Keep Runtime v0.17.0 and its immutable artifacts unchanged. The provenance record identifies its published source tag, controlled-publisher revision, manifest, three archive digests/sizes, native build tooling, and idempotency ownership. It explicitly distinguishes integrity checks from a signature, reproducible build, independent binary audit, or installer approval. No independent binary audit or native build/verification receipts are provided or will be supplied for this Skill release. No receipt, security approval, or platform waiver is invented.

Integration and semantic checks:

  • The equivalent iac-code manifest commit already exists on this branch; do not duplicate it. Apply ROS Agent commits 5ef5add1, 2051b3fb, and 2b322d33 with their original commit references.
  • Generate both AgentHub manifests before the packaging path returns for profiles without a native Runtime. Preserve the iac-code install-approval, expiry, uncertain-request recovery, and exact ZIP verification behavior.
  • Update the foreground-recovery test to model an installed AgentHub package with a version manifest and versioned User-Agent. Permit independent telemetry IDs while continuing to reject altered routing arguments, missing/wrong versions, malformed IDs, and missing/mismatched manifests.
  • Fix five test-fixture text reads/writes to specify UTF-8, addressing the repository-wide encoding check that failed on every original Linux Python matrix entry and Windows.

Validation: 775 offline tests passed (tests/skill_bridge plus the repository-wide UTF-8 check). Ruff, ty, profile/default synchronization, diff checks, Python 3.8 AST parsing, and Python 3.8/3.9 standard-library bridge smoke checks passed. CI on head 9e217b82 passed: Test 14/14 jobs (Lint, seven Python 3.8–3.14 Skill bridges, five Linux Python 3.10–3.14 full suites, and Windows Python 3.10); Desktop 4/4 jobs (scope audit and Linux/macOS/Windows platforms). CLA also passed.

The iac-code bridge executable and its existing generated documentation/RAM reference retain their pre-integration bytes. Existing iac-code scenario identities and files are unchanged. No native Runtime assets were rebuilt or replaced.

@guima-why guima-why changed the title fix(skill): generate and validate AgentHub version manifest fix(skill): harden AgentHub runtime and version contracts Oct 31, 2026
@guima-why guima-why changed the title fix(skill): harden AgentHub runtime and version contracts fix(skill): harden AgentHub packages and ROS Agent preview boundaries Nov 1, 2026
@guima-why
guima-why marked this pull request as ready for review November 1, 2026 11:12
@guima-why

guima-why commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator Author

iac-code E2E 报告

提交:9e217b82ef1232c40523ac934d5692a125a33346 · 状态:通过

安全分析:按作者白名单免检;改动影响分析、用例选择和 E2E 验收照常执行。

链路阶段进展

时间为 UTC+8;预计完成时间为估算,运行中计数尚未作为通过证据。

环节 状态 开始 完成 已耗时 预计完成 最近更新 当前说明
PR 身份与触发条件核对 已完成 11-01 19:56:17 11-01 19:56:17 0s — 11-01 19:56:17 —
改动材料采集 已完成 11-01 19:56:41 11-01 19:57:01 20s — 11-01 19:57:01 完成 23;总数 23
Agent 影响分析(安全免检) 已完成 11-01 19:57:02 11-01 19:57:28 26s — 11-01 19:57:28 完成 23;总数 23
测试计划确定 / 维护者授权 已完成 11-01 19:57:29 11-01 19:57:30 2s — 11-01 19:57:30 —
源码包准备与摘要计算 已完成 11-01 19:57:39 11-01 19:58:05 26s — 11-01 19:59:21 —
源码上传及读回校验 已完成 11-01 19:58:43 11-01 19:59:22 39s — 11-01 19:59:22 —
full 触发与排队 已完成 11-01 20:01:19 11-01 20:01:26 7s — 11-01 20:01:26 —
full 环境准备 已完成 11-01 20:01:26 11-01 20:02:12 47s — 11-01 20:02:12 —
full 用例执行 已完成 11-01 20:02:12 11-01 20:04:50 158s — 11-01 20:08:31 完成 77;总数 77;失败 0;重跑 0
full 结果核验 已完成 11-01 20:08:24 11-01 20:08:32 7s — 11-01 20:08:32 最终证据已核验
live 触发与排队 已完成 11-01 20:16:35 11-01 20:17:30 55s — 11-01 20:17:30 —
live 环境准备 已完成 11-01 20:17:30 11-01 20:18:16 46s — 11-01 20:18:16 —
live 用例执行 已完成 11-01 20:18:16 11-01 20:49:02 1846s — 11-01 20:53:37 完成 136;总数 136;失败 0;重跑 2
资源清理(随用例并行) 已完成 11-01 20:18:16 11-01 20:49:02 1846s — 11-01 20:57:22 清理完成/无需清理 136;清理异常 0;清理尚待确认 0
live 结果核验 已完成 11-01 20:52:18 11-01 20:53:38 80s — 11-01 20:53:38 最终证据已核验
失败复盘 无需执行 — 11-01 21:03:06 — — 11-01 21:20:41 —
最终 GitHub 报告发布 已完成 11-01 21:03:06 11-01 21:21:07 1081s — 11-01 21:21:07 网络请求等待重试
GitHub 卡点回写与请求收尾 已完成 11-01 21:03:07 11-01 21:21:08 1081s — 11-01 21:21:08 —

最近网络尝试(仅操作枚举和错误类别,不含请求地址或响应内容):

  • github.comment.write:尝试 1 次,30.02s;timeout
  • github.comment.write:尝试 1 次,30.04s;timeout
  • github.comment.write:尝试 1 次,30.03s;timeout
  • github.comment.read:尝试 2 次,46.96s;timeout
用例集 结果 耗时 重跑 / 重跑通过 清理异常
full 77/77 通过 154.34s 0 / 0 0
live 136/136 通过 1842.18s 2 / 2 0
full 逐例结果(77 条)
用例 结果 秒 模型 尝试次数 清理
a2a-recovery-contract 通过 31.31 — 1 不适用
a2a-handoff-recovery-contract 通过 32.61 — 1 不适用
a2a-success-contract 通过 29.31 — 1 不适用
a2a-cancel-contract 通过 3.97 — 1 不适用
repl-normal-contract 通过 5.67 — 1 不适用
repl-pipeline-contract 通过 64.8 — 1 不适用
web-api-contract 通过 6.67 — 1 不适用
output-limit-text-chat 通过 3.72 — 1 不适用
output-limit-text-responses 通过 3.92 — 1 不适用
output-limit-text-anthropic 通过 3.32 — 1 不适用
output-limit-tool-chat 通过 3.42 — 1 不适用
output-limit-tool-responses 通过 3.92 — 1 不适用
output-limit-tool-anthropic 通过 3.32 — 1 不适用
output-limit-exhausted 通过 3.42 — 1 不适用
output-limit-empty 通过 3.37 — 1 不适用
output-limit-pipeline 通过 3.77 — 1 不适用
execution-warm-resume-pausing-normal 通过 6.52 — 1 不适用
execution-warm-resume-pausing-pipeline 通过 7.57 — 1 不适用
execution-warm-resume-paused-normal 通过 3.52 — 1 不适用
execution-warm-resume-paused-pipeline 通过 3.52 — 1 不适用
execution-disconnect-timeout-after-operation-id-normal 通过 3.57 — 1 不适用
execution-disconnect-timeout-after-operation-id-pipeline 通过 3.57 — 1 不适用
execution-disconnect-timeout-inflight-sync-call-pipeline 通过 3.57 — 1 不适用
execution-disconnect-timeout-backup-blocked-pipeline 通过 3.07 — 1 不适用
execution-natural-completion-while-pausing-normal 通过 2.52 — 1 不适用
execution-slow-termination-storage-normal 通过 2.52 — 1 不适用
execution-terminate-during-bootstrap-normal 通过 1.52 — 1 不适用
execution-terminate-during-bootstrap-pipeline 通过 1.52 — 1 不适用
execution-terminate-during-bootstrap-disconnected-normal 通过 1.52 — 1 不适用
execution-terminate-during-bootstrap-disconnected-pipeline 通过 1.52 — 1 不适用
execution-disconnect-timeout-during-turn-backup-normal 通过 7.52 — 1 不适用
execution-legacy-cancel-idle-pipeline 通过 3.42 — 1 不适用
execution-slow-rollover-storage-normal 通过 2.27 — 1 不适用
execution-stack-instances-timeout-after-operation-id-normal 通过 3.07 — 1 不适用
execution-stack-instances-terminate-inflight-normal 通过 2.02 — 1 不适用
execution-recovery-during-normal-rollover-normal 通过 2.52 — 1 不适用
permission-agui-generation-fence 通过 7.62 — 1 不适用
permission-staged-generation-fence 通过 3.57 — 1 不适用
permission-sub-pipeline-timeout 通过 2.67 — 1 不适用
permission-normal-allow_once 通过 3.47 — 1 不适用
permission-normal-deny 通过 3.42 — 1 不适用
permission-pipeline-allow_once 通过 3.32 — 1 不适用
permission-pipeline-deny 通过 3.32 — 1 不适用
permission-prompt-supersede-same-process 通过 4.52 — 1 不适用
permission-prompt-supersede-after-restart 通过 6.02 — 1 不适用
permission-confirmation-followup-same-process 通过 4.12 — 1 不适用
permission-confirmation-followup-after-restart 通过 5.62 — 1 不适用
permission-mixed-confirmation-followup-same-process 通过 4.42 — 1 不适用
permission-mixed-confirmation-followup-after-restart 通过 5.57 — 1 不适用
permission-pipeline-candidate-first 通过 3.42 — 1 不适用
permission-solution_planning_and_selection-allow_once 通过 3.37 — 1 不适用
permission-solution_planning_and_selection-deny 通过 3.42 — 1 不适用
permission-materialize_selected_candidate-allow_once 通过 3.37 — 1 不适用
permission-materialize_selected_candidate-deny 通过 3.37 — 1 不适用
permission-deploying-allow_once 通过 3.37 — 1 不适用
permission-deploying-deny 通过 3.37 — 1 不适用
permission-handoff-allow_once 通过 3.67 — 1 不适用
permission-handoff-deny 通过 3.62 — 1 不适用
permission-pipeline-handoff-context-same-process 通过 4.77 — 1 不适用
permission-pipeline-handoff-context-cold-recovery 通过 7.77 — 1 不适用
permission-protocol-chat 通过 4.52 — 1 不适用
permission-protocol-responses 通过 5.07 — 1 不适用
permission-protocol-anthropic 通过 4.42 — 1 不适用
permission-handoff-runtime-close 通过 4.37 — 1 不适用
permission-handoff-backup-failure 通过 4.27 — 1 不适用
permission-handoff-crash-before-commit 通过 4.07 — 1 不适用
permission-handoff-concurrent-workers 通过 5.82 — 1 不适用
permission-real-pipeline-allow_once 通过 5.82 — 1 不适用
permission-real-pipeline-deny 通过 5.77 — 1 不适用
permission-artifact-edit-restart 通过 4.07 — 1 不适用
permission-namespace-allow_once 通过 3.87 — 1 不适用
permission-namespace-deny 通过 3.87 — 1 不适用
permission-namespace-prompt 通过 3.87 — 1 不适用
ssf-candidate-batch-same-process 通过 2.62 — 1 不适用
ssf-candidate-batch-cold-recovery 通过 2.62 — 1 不适用
ssf-step1-followup-contract 通过 4.32 — 1 不适用
ssf-step2-followup-contract 通过 8.08 — 1 不适用
live 逐例结果(136 条)
用例 结果 秒 模型 尝试次数 清理
ssf-step1-followup-a2a 通过 142.68 deepseek-v4-flash-0731 1 无需清理
ssf-step2-followup-a2a 重跑通过 542.78 glm-5.2-fast-preview 2 无需清理
ssf-a2a-happy-multi-plan 通过 116.96 glm-5.3-prime 1 已清理
ssf-a2a-safe-quote-cancel 通过 82.75 deepseek-v4.1-flash 1 已清理
ssf-a2a-step1-clarify 通过 103.02 deepseek-v4-flash-0731 1 已清理
ssf-a2a-step1-replan-replace 通过 215.52 glm-5.2-fast-preview 1 已清理
ssf-a2a-step2-required-parameter 通过 147.54 glm-5.3-prime 1 已清理
ssf-a2a-step2-structured-override 通过 123.47 deepseek-v4.1-flash 1 已清理
ssf-a2a-step2-reselect-new-intent 通过 196.16 deepseek-v4.1-flash 1 已清理
ssf-a2a-non-aliyun-early-exit 通过 16.45 deepseek-v4-flash-0731 1 已清理
ssf-a2a-performance-backup-restore 通过 162.01 glm-5.3-prime 1 已清理
ssf-a2a-input-during-backup 通过 194.78 deepseek-v4-flash-0731 1 已清理
ssf-a2a-fault-checkpoints 通过 160.16 deepseek-v4.1-flash 1 已清理
ssf-a2a-running-step1 通过 225.69 deepseek-v4-flash-0731 1 已清理
ssf-a2a-running-step2 通过 103.61 glm-5.3-prime 1 已清理
ssf-a2a-running-step3 通过 177.36 glm-5.2-fast-preview 1 已清理
ssf-a2a-normal-running 通过 86.43 glm-5.3-prime 1 已清理
ssf-a2a-cancel-step1 通过 7.37 glm-5.3-prime 1 已清理
ssf-a2a-cancel-step2 通过 63.45 deepseek-v4.1-flash 1 已清理
ssf-a2a-cancel-step3 通过 69.18 deepseek-v4.1-flash 1 已清理
ssf-a2a-rollback-recovery-step1 通过 256.45 glm-5.3-prime 1 已清理
ssf-a2a-rollback-recovery-step2 重跑通过 508.34 deepseek-v4-flash-0731 2 已清理
ssf-a2a-rollback-recovery-step3 通过 221.27 glm-5.3-prime 1 已清理
ssf-a2a-rollback-stack-cleanup 通过 262.15 deepseek-v4.1-flash 1 已清理
ssf-a2a-rollback-cleanup-recovery 通过 273.87 deepseek-v4.1-flash 1 已清理
ssf-a2a-redaction-contract 通过 156.93 deepseek-v4.1-flash 1 已清理
ssf-a2a-image-initial-selection 通过 311.01 qwen3.8-max 1 已清理
ssf-a2a-image-asks-confirmation 通过 346.35 qwen3.8-max-0902 1 已清理
ssf-a2a-image-interrupt-handoff 通过 502.34 qwen3.8-flash 1 已清理
ssf-repl-single-plan-happy 通过 187.44 deepseek-v4-flash-0731 1 已清理
ssf-repl-multi-plan-natural-adjust 通过 196.32 glm-5.2-fast-preview 1 已清理
ssf-repl-step1-clarify-replan 通过 84.17 deepseek-v4.1-flash 1 已清理
ssf-repl-step1-replace-invalid-select 通过 190.99 glm-5.2-fast-preview 1 已清理
ssf-repl-step2-required-parameter 通过 97.26 glm-5.3-prime 1 已清理
ssf-repl-step2-reselect-progress 通过 262.62 deepseek-v4-flash-0731 1 已清理
ssf-repl-waiting-resume-all 通过 88.22 glm-5.3-prime 1 已清理
ssf-repl-running-step1 通过 103.81 glm-5.2-fast-preview 1 已清理
ssf-repl-running-step2 通过 120.08 deepseek-v4.1-flash 1 已清理
ssf-repl-running-step3 通过 120.7 glm-5.3-prime 1 已清理
ssf-repl-normal-running-cancel-resume 通过 87.78 glm-5.3-prime 1 已清理
ssf-repl-interrupt-rollback 通过 379.31 glm-5.2-fast-preview 1 已清理
ssf-repl-rollback-cleanup-recovery 通过 266.52 deepseek-v4.1-flash 1 已清理
ssf-repl-multimodal-lifecycle 通过 1179.35 qwen3.8-omni-flash 1 已清理
ssf-legacy-selling-smoke 通过 70.05 deepseek-v4.1-flash 1 已清理
selector-selected-next-turn 通过 13.23 glm-5.2-fast-preview 1 无需清理
selector-restart-before-answer 通过 15.78 glm-5.3-prime 1 无需清理
selector-canceled-next-turn 通过 13.49 glm-5.2-fast-preview 1 无需清理
selector-empty-list-canceled-next-turn 通过 19.68 glm-5.3-prime 1 无需清理
selector-sequential-vpc-vswitch 通过 19.48 glm-5.2-fast-preview 1 无需清理
selector-duplicate-and-conflict 通过 15.09 glm-5.3-prime 1 无需清理
selector-pipeline-handoff-normal 通过 17.64 glm-5.3-prime 1 无需清理
selector-pipeline-stage-selection 通过 13.27 glm-5.3-prime 1 无需清理
selector-restart-normal-sigterm-selected 通过 12.48 glm-5.2-fast-preview 1 无需清理
selector-restart-normal-sigterm-canceled 通过 10.53 deepseek-v4.1-flash 1 无需清理
selector-restart-normal-sigkill-selected 通过 13.42 glm-5.3-prime 1 无需清理
selector-restart-normal-sigkill-canceled 通过 14.28 glm-5.3-prime 1 无需清理
selector-restart-normal-released-selected 通过 12.78 glm-5.2-fast-preview 1 无需清理
selector-restart-normal-released-canceled 通过 10.51 deepseek-v4.1-flash 1 无需清理
selector-restart-pipeline-sigterm-selected 通过 12.94 glm-5.3-prime 1 无需清理
selector-restart-pipeline-sigterm-canceled 通过 10.43 glm-5.3-prime 1 无需清理
selector-restart-pipeline-sigkill-selected 通过 12.4 glm-5.2-fast-preview 1 无需清理
selector-restart-pipeline-sigkill-canceled 通过 11.59 deepseek-v4.1-flash 1 无需清理
selector-restart-pipeline-released-selected 通过 18.25 glm-5.3-prime 1 无需清理
selector-restart-pipeline-released-canceled 通过 13.66 deepseek-v4-flash-0731 1 无需清理
agui-selector-normal-selected 通过 19.75 glm-5.3-prime 1 无需清理
agui-selector-normal-canceled 通过 8.79 deepseek-v4.1-flash 1 无需清理
agui-selector-normal-direct-input 通过 9.41 glm-5.2-fast-preview 1 无需清理
agui-selector-pipeline-selected 通过 53.5 deepseek-v4-flash-0731 1 无需清理
agui-selector-pipeline-canceled 通过 43.01 deepseek-v4.1-flash 1 无需清理
agui-selector-pipeline-direct-input 通过 41.49 glm-5.2-fast-preview 1 无需清理
repl-pipeline-scenario1 通过 145.76 deepseek-v4-flash-0731 1 已清理
repl-pipeline-ask-waiting 通过 109.62 glm-5.3-prime 1 已清理
repl-pipeline-ask-waiting-resume 通过 140.78 glm-5.3-prime 1 已清理
repl-pipeline-image-initial 通过 307.25 qwen3.8-max 1 已清理
repl-pipeline-image-ask-waiting-resume 通过 256.69 qwen3.8-max-0902 1 已清理
repl-pipeline-image-selection-waiting-resume 通过 197.96 qwen3.8-flash 1 已清理
repl-pipeline-image-normal-handoff 通过 298.88 qwen3.8-max-0902 1 已清理
repl-pipeline-image-interrupt 通过 50.27 qwen3.8-max 1 已清理
repl-pipeline-evaluate-resume 通过 191.54 glm-5.2-fast-preview 1 已清理
repl-pipeline-selection-invalid-then-valid 通过 81.71 deepseek-v4.1-flash 1 已清理
repl-pipeline-selection-waiting-resume 通过 135.44 deepseek-v4-flash-0731 1 已清理
repl-pipeline-rollback-step2 通过 11.32 glm-5.3-prime 1 已清理
repl-pipeline-rollback-step3 通过 15.86 deepseek-v4.1-flash 1 已清理
repl-pipeline-rollback-step4-selection 通过 71.77 glm-5.3-prime 1 已清理
repl-pipeline-rollback-step5-cleanup 通过 191.57 deepseek-v4.1-flash 1 已清理
repl-pipeline-rollback-step5-cleanup-recovery 通过 221.93 deepseek-v4.1-flash 1 已清理
a2a-recovery-redaction-step4 通过 507.59 deepseek-v4.1-flash 1 无需清理
a2a-recovery-iac-code-web-2c4g-step4 通过 200.11 deepseek-v4-flash-0731 1 无需清理
a2a-recovery-contract-graceful-cancel 通过 10.1 glm-5.3-prime 1 已清理
a2a-recovery-contract-graceful-success 通过 94.7 glm-5.3-prime 1 已清理
a2a-recovery-image-ask-waiting 通过 239.29 qwen3.8-max 1 已清理
a2a-recovery-image-initial 通过 178.13 qwen3.8-flash 1 已清理
a2a-recovery-image-interrupt 通过 164.26 qwen3.8-flash 1 已清理
a2a-recovery-image-normal-handoff 通过 269.17 qwen3.8-max-0902 1 已清理
a2a-recovery-image-selection-waiting 通过 263.21 qwen3.8-max 1 已清理
a2a-recovery-scenario1 通过 133.62 deepseek-v4-flash-0731 1 已清理
a2a-recovery-scenario1-performance-backup 通过 96.19 glm-5.3-prime 1 已清理
a2a-recovery-selection-during-backup 通过 163.18 glm-5.2-fast-preview 1 已清理
a2a-recovery-normal-running 通过 98.08 glm-5.2-fast-preview 1 已清理
a2a-recovery-ask-waiting 通过 96.11 glm-5.3-prime 1 已清理
a2a-recovery-selection-waiting 通过 113.54 glm-5.3-prime 1 已清理
a2a-recovery-fault-after-snapshot 通过 117.64 deepseek-v4-flash-0731 1 已清理
a2a-recovery-rollback-step5-cleanup 通过 207.8 glm-5.2-fast-preview 1 已清理
a2a-recovery-rollback-step5-cleanup-recovery 通过 212.43 deepseek-v4-flash-0731 1 已清理
a2a-recovery-step1-running 通过 85.38 glm-5.3-prime 1 已清理
a2a-recovery-step2-running 通过 115.07 glm-5.2-fast-preview 1 已清理
a2a-recovery-step3-running 通过 102.96 glm-5.3-prime 1 已清理
a2a-recovery-step4-running 通过 158.07 deepseek-v4-flash-0731 1 已清理
a2a-recovery-step5-running 通过 88.24 glm-5.3-prime 1 已清理
a2a-recovery-rollback-step1 通过 99.52 glm-5.2-fast-preview 1 已清理
a2a-recovery-rollback-step2 通过 106.71 glm-5.3-prime 1 已清理
a2a-recovery-rollback-step3 通过 106.86 glm-5.3-prime 1 已清理
a2a-recovery-rollback-step4 通过 120.23 glm-5.2-fast-preview 1 已清理
a2a-recovery-rollback-step5 通过 166.12 deepseek-v4-flash-0731 1 已清理
a2a-recovery-cancel-step1 通过 15.51 deepseek-v4-flash-0731 1 已清理
a2a-recovery-cancel-step2 通过 25.84 deepseek-v4-flash-0731 1 已清理
a2a-recovery-cancel-step3 通过 24.87 glm-5.2-fast-preview 1 已清理
a2a-recovery-cancel-step4 通过 61.46 glm-5.3-prime 1 已清理
a2a-recovery-cancel-step5 通过 60.77 glm-5.3-prime 1 已清理
repl-aliyun-readonly-canary 通过 7.15 deepseek-v4-flash-0731 1 无需清理
ros-awareness-promotions 通过 10.07 glm-5.2-fast-preview 1 无需清理
ros-awareness-renewal 通过 13.08 deepseek-v4-flash-0731 1 无需清理
ros-awareness-billing 通过 11.73 glm-5.2-fast-preview 1 无需清理
ros-awareness-billing-explicit 通过 5.88 deepseek-v4.1-flash 1 无需清理
ros-awareness-gpu-availability 通过 9.81 deepseek-v4.1-flash 1 无需清理
ros-awareness-traffic-offset 通过 11.72 deepseek-v4-flash-0731 1 无需清理
ros-awareness-default-region 通过 12.83 glm-5.2-fast-preview 1 无需清理
ros-awareness-disabled 通过 6.22 deepseek-v4.1-flash 1 无需清理
ros-awareness-deployment-pricing 通过 7.47 deepseek-v4-flash-0731 1 无需清理
promotional-offer-followup-a2a 通过 85.25 glm-5.2-fast-preview 1 无需清理
plan-cost-refresh-a2a 通过 54.81 deepseek-v4.1-flash 1 无需清理
coupon-budget-a2a 通过 252.29 glm-5.2-fast-preview 1 无需清理
coupon-budget-mock-a2a 通过 329.07 deepseek-v4-flash-0731 1 无需清理
smoke-a2a-vpc 通过 11.74 glm-5.3-prime 1 无需清理
smoke-acp-vpc 通过 7.93 glm-5.3-prime 1 无需清理
smoke-headless-vpc 通过 23.7 glm-5.3-prime 1 无需清理

说明:每个失败用例最多重跑一次;任一次资源清理失败或未验证均不能判通过。
复盘是待核实建议;报告只展示固定安全字段,不含内部链接或原始云日志。

@guima-why
guima-why merged commit 42ebc85 into main Nov 2, 2026
26 checks passed
@guima-why
guima-why deleted the codex/agenthub-0-6-0-manifest branch November 2, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant