Skip to content

fix: decouple replay oracle from snapshot cap - #72

Merged
BernardLowe merged 1 commit into
mainfrom
codex/fix-rq3-final-oracle
Oct 11, 2026
Merged

BernardLowe merged 1 commit into
mainfrom
codex/fix-rq3-final-oracle

Conversation

@BernardLowe

Copy link
Copy Markdown
Contributor

Full-history flat replays can finish with more than 32,767 live files even when every Gateway request is within its limit. The final independent oracle reused the initial snapshot request cap, causing both streamed and one-shot replay to fail during completion.

Separate complete state projection from the bounded request builder and use the complete projection for final Root reconstruction. Initial and incremental request limits, write accounting, and independent Root comparisons remain unchanged.

The regression covers 32,768 metadata-only live files, all 65,537 bindings, a real KZG Root reconstruction, rejection of an oversized initial request, and acceptance at the request boundary. It performs one large construction; existing smaller tests cover incremental/full Root agreement and rejection of incorrect roots.

Validation:

  • Reproduced the original flat snapshot exceeds file bound failure before the fix.
  • Also verified a full 32,768-file Root against a legal 32,767-file snapshot plus incremental insertion during development.
  • Full go test ./... passed (worker package: 266.301 seconds); go vet ./..., go build -buildvcs=false ./..., module namespace gate, and git diff --check passed.

This fixes the worker's final-verification bound. Full Node/Rust corpus replays and write-amplification accounting alignment are separate work.

Copilot AI balanced review requested due to automatic review settings October 11, 2026 07:09

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@BernardLowe
BernardLowe merged commit 8cb4a62 into main Oct 11, 2026
5 checks passed
@BernardLowe
BernardLowe deleted the codex/fix-rq3-final-oracle branch October 11, 2026 07:30
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.

2 participants