scrum_review: switch curl to stdin so large diffs don't blow argv

Phase 4-bundle review (128KB diff) hit "Argument list too long" when
curl --data was passed the body as a literal arg. Pipe via stdin
with --data-binary @- instead. Lifts the practical bundle size from
~30KB to whatever fits in process memory.

Caught while running the harness scrum on golangLAKEHOUSE today —
the bigger Phase A+B harness diff (4566 lines) tripped it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
root 2026-04-30 02:46:52 -05:00
parent 511083ae40
commit 740eb0d00c

View File

@ -81,10 +81,14 @@ $DIFF_CONTENT
printf " %-6s %s ... " "$short" "$model"
local t0=$SECONDS
local status
status=$(curl -sS -o /tmp/scrum_resp.json -w '%{http_code}' --max-time 240 \
# Pipe the body via stdin (`-d @-`) — large diffs (>~128KB) blow
# past the kernel's argv limit when passed via `--data <literal>`.
# Phase A+B was 128875 bytes and hit "Argument list too long" until
# this fix.
status=$(printf '%s' "$body" | curl -sS -o /tmp/scrum_resp.json -w '%{http_code}' --max-time 240 \
-X POST "$GATEWAY/v1/chat" \
-H 'Content-Type: application/json' \
--data "$body")
--data-binary @-)
local elapsed=$((SECONDS - t0))
if [ "$status" != "200" ]; then
printf "✗ HTTP %s (%ds)\n" "$status" "$elapsed"