BE-062: every curlRun call loses its first flag io.spawn consumes argv[0], so curl never sees -sSf (no --fail, no silence)

Now
OPEN
Sev
MED

io.spawn(bin, argv) takes argv WITH argv[0]: io.spawn("/bin/echo", ["AAA","BBB"]) runs echo with argv0 AAA and prints BBB. Every other spawn site obeys that classify() builds argv: [keeperBin, verb, sp] and [sshBin, dest, cmd], bin repeated. curlRun does not: be/shared/wire.js:252 calls io.spawn(CURL_BIN, argv) where all four callers pass ["-sSf", "-A", "git/2.0", …]. So -sSf becomes argv0 and is DROPPED. curl therefore runs without -f: an HTTP 404/500 is written to stdout as a body and returned as success, and without -sS its progress meter goes to stderr on every fetch. Visible in any http clone. Found by the TEST-004 treadmill; method Issues.

Input

Context

Goals

curl receives every flag its caller passed, and an HTTP error surfaces as an HTTP error.

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome

Not started filed 2026-07-27 from a TEST-004 treadmill finding.