-
Notifications
You must be signed in to change notification settings - Fork 0
fix(coverage): retry transient trusted uv archive failures without widening trust #786
Copy link
Copy link
Open
Labels
area: apiAPI, protocol, event, or external contractAPI, protocol, event, or external contractarea: authAuthentication, authorization, identity, or tenant isolationAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainCI, GitHub Actions, checks, release, or supply chainarea: securitySecurity boundary, hardening, or vulnerability preventionSecurity boundary, hardening, or vulnerability preventionbugSomething isn't workingSomething isn't workingpriority: mediumNormal-priority or P2 workNormal-priority or P2 workstatus: triagedOpen issue has an organization taxonomy assignmentOpen issue has an organization taxonomy assignmenttype: bugDefect or incorrect behaviorDefect or incorrect behavior
Description
Activity
Metadata
Metadata
Assignees
Labels
area: apiAPI, protocol, event, or external contractAPI, protocol, event, or external contractarea: authAuthentication, authorization, identity, or tenant isolationAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainCI, GitHub Actions, checks, release, or supply chainarea: securitySecurity boundary, hardening, or vulnerability preventionSecurity boundary, hardening, or vulnerability preventionbugSomething isn't workingSomething isn't workingpriority: mediumNormal-priority or P2 workNormal-priority or P2 workstatus: triagedOpen issue has an organization taxonomy assignmentOpen issue has an organization taxonomy assignmenttype: bugDefect or incorrect behaviorDefect or incorrect behavior
Observed exact failure
Central OpenCode coverage run
31002427460, attempt 2, failed before executing pull-request code while reviewingContextualWisdomLab/newsdom-api#524at exact head86f579ee6964642b98f3d44464adbdc7f0c8fa5b:The same exact-head review had already passed source materialization, archive extraction, replay protection, and changed-file syntax. The only changed file was
AGENTS.md, so the subsequent requested-change review is infrastructure evidence, not a product-code finding.The pinned uv 0.12.1 release and x86_64 Linux archive are current official immutable assets. The materializer correctly fixes the origin, disables proxies, rejects redirects, bounds bytes/time, verifies SHA-256, validates the exact regular archive member, and checks
uv --version. It currently performs only one network attempt, so a transient 408/425/429/5xx response converts otherwise valid current-head coverage into a persistentCHANGES_REQUESTEDreview.Required bounded behavior
Add test-first retry support without weakening the existing trust boundary:
https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-x86_64-unknown-linux-gnu.tar.gzsink;408,425,429,500,502,503,504) and transient connection/DNS/timeout failures;Permanent regression evidence
Add deterministic tests that prove:
503followed by a valid short-read response succeeds on the second attempt;404and TLS certificate verification fail immediately with no sleep;Update
CHANGELOG.mdand authoritative doctoring with availability, rollback, and APA 7 references to Pythonurllib.error, RFC 9110 retry-relevant status semantics, and the official immutable uv 0.12.1 release.Acceptance
Merge only after the central quality workflow, Python Security, CodeQL, Semgrep, Security Scan, Secret Scan, OSV, SBOM, Scorecard, OpenCode, Noema, Strix, CodeRabbit, independent current-head approval, and branch protection succeed. Do not introduce a mutable downloader, alternate origin, unverified cache, GitHub Copilot credential, or reviewer-credential change.