Skip to content

replay: prepare status publication and defer checkpoint encoding - #289

Closed
7layermagik wants to merge 17 commits into
7layer/pr-epoch-rewards-correctnessfrom
7layer/pr-replay-checkpoints
Closed

7layermagik wants to merge 17 commits into
7layer/pr-epoch-rewards-correctnessfrom
7layer/pr-replay-checkpoints

Conversation

@7layermagik

@7layermagik 7layermagik commented Sep 24, 2026 •

Copy link
Copy Markdown

Consolidated into #292. This review is closed to keep the agreed four-PR structure; its commits are preserved in the replacement.

Prepare transaction-status publication and move checkpoint work off replay while retaining synchronous AlreadyProcessed checks.

  • Prepare immutable status deltas and revalidate lineage, coverage, offsets and ancestor duplicates at commit.
  • Reuse version-bound ancestor validation and cached immutable node encodings across safe snapshot/prune operations.
  • Defer checkpoint work and batch fold preflight without advancing durable state before its persistence requirements hold.

Based on the independent epoch-rewards correctness branch so those fixes remain outside this diff. Retarget to alpenglow-dev after that prerequisite merges.

Validation: full replay and rewards suites pass; combined build and vet pass. Historical Zen 5 default-cadence checkpoint encoding improved from about 195 to 85 ms; this is encoding CPU time, not voting latency or checkpoint disk latency.

Share lazy encoding state through capture and pruning without retaining parent links or copying synchronization primitives. Keep MTS2 bytes and caller-owned output unchanged; allocate exactly sized node and checkpoint buffers.

Check the original wire encoder, concurrent pruning and encoding, output ownership and recovery. Benchmark moving windows including the default 128-root cadence; document retained-memory costs and the all-new-window limit.
Record moving-window results at the real 128-root cadence, retained-memory tradeoffs and unchanged cold-window costs. Keep raw benchmark artifacts outside the source tree; do not infer live voting gains from staging measurements.
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