From 740eb0d00cc68cb7d4875c6db742344270a3fd56 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 30 Apr 2026 02:46:52 -0500 Subject: [PATCH] scrum_review: switch curl to stdin so large diffs don't blow argv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- scripts/scrum_review.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/scrum_review.sh b/scripts/scrum_review.sh index 369f8ab..845fe1e 100755 --- a/scripts/scrum_review.sh +++ b/scripts/scrum_review.sh @@ -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 `. + # 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"