Skip to content

OpenCode review coverage-evidence blocked org-wide: pinned uv 0.12.1 archive download failing (HTTPError) #1109

Description

@seonghobae

What's failing

scripts/ci/materialize_base_python_requirements.py, function _download_trusted_uv_archive() (around line 221-265), downloads a fixed, hash-pinned uv release archive from:

https://releases.astral.sh/github/uv/releases/download/0.12.1/uv-x86_64-unknown-linux-gnu.tar.gz

This download is now consistently raising an HTTPError (caught OSError, re-raised as RuntimeError("trusted uv archive download failed: HTTPError")), which surfaces in the coverage-evidence job as:

##[error]Could not materialize base Python locks: trusted uv archive download failed: HTTPError
##[error]Process completed with exit code 1.

Since coverage-evidence is a required input to the OpenCode review approval gate (needs.coverage-evidence.result == success), every PR org-wide that reaches this step gets an automatic REQUEST_CHANGES verdict citing "required test/docstring evidence" was not proven — even though the actual PR diff is unrelated and fully green on every other check.

Evidence this is persistent, not transient

Observed on the OpenCode review dispatch run for ContextualWisdomLab/fast-mlsirm#928 (workflow run 32035463051), job coverage-evidence:

  • Attempt 1 — failed with the identical error at 2026-08-17T13:37:37Z
  • Attempt 2 (re-run via rerun_failed_jobs) — failed identically at 2026-08-17T13:48:31Z
  • Attempt 3 (re-run again) — failed identically at 2026-08-17T13:53:28Z

Three retries roughly 5-16 minutes apart, all with the exact same HTTPError at the exact same fixed URL, rule out a one-off network blip. Either the pinned 0.12.1 release asset has become unavailable at that URL (removed/moved) or releases.astral.sh is rejecting the request for some other reason (my own sandbox environment for this investigation is behind a proxy that also blocks releases.astral.sh, so I could not independently verify the URL's current live status from here — but the runner-side HTTPError type specifically indicates a non-2xx HTTP response from the server, not a connection-level failure).

Suggested fix

Bump the pinned uv version, download URL, and TRUSTED_UV_ARCHIVE_SHA256 constant in scripts/ci/materialize_base_python_requirements.py to a currently-available uv release, following the same "keep the audited URL literal at the network sink" pattern already used. I did not attempt this myself: getting the SHA256 pin wrong in this trust-boundary file would be worse than leaving the issue open for someone who can verify the correct checksum against a reachable copy of the release.

Impact

Blocks automatic OpenCode approval for essentially every open PR across the org while unresolved, including at least:

  • ContextualWisdomLab/fast-mlsirm#928
  • ContextualWisdomLab/fast-mlsirm#959
  • ContextualWisdomLab/fast-mlsirm#971

Filed by Claude Code while working the fast-mlsirm PR queue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions