Skip to content

fix(fleet): handle oversized snapshot inputs - #3522

Open
jleemcf wants to merge 11 commits into
kunchenguid:mainfrom
jleemcf:fm/fm-fleet-snapshot-argv-limit
Open

fix(fleet): handle oversized snapshot inputs#3522
jleemcf wants to merge 11 commits into
kunchenguid:mainfrom
jleemcf:fm/fm-fleet-snapshot-argv-limit

Conversation

@jleemcf

@jleemcf jleemcf commented Sep 2, 2026

Copy link
Copy Markdown

Summary

  • Move unbounded fleet snapshot JSON between jq processes through validated temporary files instead of command-line arguments.
  • Preserve per-home fallback behavior and surface producer stderr in summary publication failures.
  • Add behavioral coverage for large backlogs, secondmate summaries, scout report accumulation, malformed intermediate JSON, and cleanup.

Validation

  • A 247,233-byte backlog fails on the old producer with E2BIG and succeeds through the fixed fleet view and home-summary publisher.
  • bin/fm-test-run.sh tests/fm-fleet-snapshot-view.test.sh
  • bin/fm-test-run.sh tests/fm-home-summary-refresh.test.sh tests/fm-secondmate-reconcile.test.sh
  • bin/fm-test-run.sh tests/fm-bearings-snapshot.test.sh
  • bin/fm-lint.sh
  • Automated review, test, documentation, and lint steps passed.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T15:00:18.806736Z 3a049cc PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@greptile-apps

greptile-apps Bot commented Sep 2, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Reviews (2): Last reviewed commit: "no-mistakes(document): correct stale sec..." | Re-trigger Greptile

Rebasing onto main picks up "remove legacy remote snapshot reads" (kunchenguid#3501),
which deleted the legacy producer fallback: the parent now samples a
registered home only by reading that home's state/home-summary.json. Both
secondmate fixtures still drove the deleted producer path, so they stopped
sampling at all.

Publish the ledger with fm-home-summary-refresh.sh in the oversized-summary
fixture, and drive the unusable-summary cases by writing rc-file noise, an
empty file, a repeated document, and a wrong-shape document into the ledger
file the parent actually reads. Track the local oversized reason string
renamed by kunchenguid#3501.
@jleemcf
jleemcf force-pushed the fm/fm-fleet-snapshot-argv-limit branch from 3a049cc to bb045f1 Compare September 2, 2026 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant