fix: prevent large contribution snapshots from exceeding argument limits - #23
Merged
Merged
Conversation
added 2 commits
September 25, 2026 01:33
…c from 71 to 72 in .github/workflows/ci.yml. The corrected workflow block passed locally with all 72 tests; git diff --check passed. Local verification used Bash 5.2; the supplied macOS log confirms all 72 tests passed under Bash 3.2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
At session start Firstmate printed
bin/fm-fleet-snapshot.sh: line 1986: /usr/bin/jq: Argument list too long. That is the same class of bug as commit c1969a1 ("route large snapshot JSON to jq via stdin instead of exec arguments"): Linux caps one exec argument at 128 KB, and a real backlog passed with--argjsonaborts jq. c1969a1 fixed the other large call sites but missed this one. The ask is a small fix for that missed spot so the snapshot stops crashing.What Changed
--contribution-inputmode, preventing large snapshots from exceeding the exec argument size limit.Risk Assessment
✅ Low: A two-line change that reroutes one remaining large-JSON jq call through stdin using the exact pattern already established by c1969a1, preserves the output shape, adds no new components, and is covered by a behavioral regression test that would abort before the fix on Linux.
Testing
Reproduced the exact base-version error, then verified the fixed CLI preserves a 357 KB backlog and ownership data. Empty and ordinary inputs passed. Saved CLI output and transcript; temporary files were removed.
Evidence: CLI reproduction and validation transcript
Source: CLI reproduction and validation transcript
Evidence: Large backlog snapshot output
Source: Large backlog snapshot output
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
python3 ~/.no-mistakes/evidence/01M3AW9WA03WFB8Z3P57KX132C/drive.py— executes base and target snapshot commands in an isolated homebash bin/fm-fleet-snapshot.sh --contribution-input— empty, ordinary, and 500-record backlog scenariosgit status --short— clean after cleanup✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.