Context
The expanded cask benchmark originally included warp, but native upstream install fails on GitHub Actions and locally before touching /Applications:
nb: error: download failed for warp
nb: failed to install cask 'warp': error.FetchFailed
https://app.warp.dev/download/brew?version=v0.2026.04.22.08.46.stable_02
The same URL works with curl -L -A 'Homebrew/4 (nanobrew)', so this looks like a native std.http redirect/header/server-compatibility edge rather than a bad checksum or cask artifact problem.
Current mitigation
warp is excluded from the default cask benchmark matrix on codex/issue-251-upstream-tooling so CI measures casks that currently install correctly. The native cask downloader now also distinguishes fetch failures from checksum mismatches and retries transient FetchFailed errors.
Acceptance criteria
NANOBREW_DISABLE_UPSTREAM_REGISTRY_REMOTE=1 nb install --cask warp succeeds through the native downloader.
- The fix preserves SHA256 verification and does not shell out to curl.
warp can be restored to the default cask benchmark matrix.
- Add a focused regression/smoke path that validates the redirect/header behavior without installing the app when possible.
Context
The expanded cask benchmark originally included
warp, but native upstream install fails on GitHub Actions and locally before touching/Applications:The same URL works with
curl -L -A 'Homebrew/4 (nanobrew)', so this looks like a nativestd.httpredirect/header/server-compatibility edge rather than a bad checksum or cask artifact problem.Current mitigation
warpis excluded from the default cask benchmark matrix oncodex/issue-251-upstream-toolingso CI measures casks that currently install correctly. The native cask downloader now also distinguishes fetch failures from checksum mismatches and retries transientFetchFailederrors.Acceptance criteria
NANOBREW_DISABLE_UPSTREAM_REGISTRY_REMOTE=1 nb install --cask warpsucceeds through the native downloader.warpcan be restored to the default cask benchmark matrix.