Skip to content

Avoid repeated terminal serialization on output-only frames - #810

Merged
flip-engineer merged 3 commits into
codex/postrelease-751-761-20261015from
codex/output-checkpoint-narrow-20261017
Oct 17, 2026
Merged

flip-engineer merged 3 commits into
codex/postrelease-751-761-20261015from
codex/output-checkpoint-narrow-20261017

Conversation

@flip-engineer

@flip-engineer flip-engineer commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Output-only native frames advanced the public log cursor and forced the observer to serialize its entire retained reducer state. A retained 455 KB terminal followed by 200 small progress frames caused about 1.4 GiB of additional resident memory in the isolated reproduction.

Persist the output position with the next reducer-state change or final checkpoint. Recovery replays from the prior durable raw offset and rewrites public output at the saved position. The added regression interrupts the observer after three output-only frames, adopts the same native process, and checks that replay preserves each public frame exactly once.

Merged as 91eb459479ef78bfa91bb2c19a67b0a178c8cb16. The source change contains one checkpoint predicate correction and its regression. The receive-loop refactor remains in #795.

The correction is installed in the complete homelab CLI prefix 2.0.0-output-checkpoint-6a70bdef-20261017; both normal CLI aliases select it. Its manifest preserves the required distribution payload and records the executable's C-composition lineage. Executable SHA256: 6a70bdef477f23d4f3e2b8eaf1d968f65199466a419b8f8e9e4104c41a0264f2. The executable combines the source-derived checkpoint closure with the qualified deployed full C artifact. Six C compiler jobs completed in 94.43 seconds, followed by 1.11 seconds to link.

Remote validation of this full executable:

  • Crash/replay regression passed naturally: same native process and attempt, unchanged output-only durable checkpoint, exactly one copy of each public frame, successful final settlement.
  • Retained-terminal fixture consumed six batches of 100 progress frames with RSS fixed at 850,309,120 bytes and exited 0.
  • Maintained small-delta phase passed: 16,562,000 input bytes in the last half added 425,984 combined resident and swap bytes.
  • The installed normal CLI repeated the retained-terminal fixture successfully, with RSS fixed at 716,288,000 bytes and natural exit 0.

The affected live FFrames observer consumed its backlog and settled through the supported observer handover with its original native UUID preserved. After terminal settlement, its receiver endpoint was registered to the complete installed executable.

The cumulative-snapshot phase still fails its unchanged 768 MiB growth limit: the full executable reached 1,090,027,520 bytes of resident growth and 1,143,111,680 combined resident and swap bytes. That separate memory correction remains active. This PR resolves the output-only checkpoint defect; it does not close the overall memory issue. Related: #769, #776, #686.

@flip-engineer
flip-engineer marked this pull request as ready for review October 17, 2026 08:33
@flip-engineer
flip-engineer merged commit 91eb459 into codex/postrelease-751-761-20261015 Oct 17, 2026
@flip-engineer
flip-engineer deleted the codex/output-checkpoint-narrow-20261017 branch October 17, 2026 08:33
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