ledger-history: symbolic resume for the scalar lanes - #27729
Closed
wlmyng wants to merge 1 commit into
Closed
Conversation
wlmyng
temporarily deployed
to
sui-typescript-aws-kms-test-env
August 17, 2026 18:42 — with
GitHub Actions
Inactive
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Delete the scalar lanes' eager-resume apparatus: the ScanCoordinate resume/stamp hooks and their u64 overrides. Every lane now carries an after Item as Excluded(coordinate), resolved at the store edge (ScanBounds::to_range / the packed event range) — checkpoints and transactions work like events. Wire-visible on exactly the after side (before bounds were already coordinate-exclusive in both worlds): - Low-edge ties flip: an after Item coinciding with a range edge keys strictly looser than the edge and loses terminal attribution (CURSOR_BOUND -> CHECKPOINT_BOUND on exact ties). - Dense-collapse detection defers to the store edge: windows an after Item empties are no longer resolution-empty, so their terminal reports the range-side reason (at the tip: LEDGER_TIP, the honest poll-again signal for tailing clients) and scalar terminal stamps keep the raw coordinate and kind instead of the eager Boundary edge. - The drained-path coverage claim moves with detection; resume positions are equivalent throughout (no repeats, no skips). The four scalar-semantics unit tests flip back to their symbolic expectations, documenting both worlds across this commit and its parent. Wire deltas are enumerated in the PR body from the characterization suite; sign-off required before merge.
wlmyng
force-pushed
the
wlmyng/ledger-history-bound-unify
branch
from
August 17, 2026 19:28
ed0601e to
7c57071
Compare
wlmyng
force-pushed
the
wlmyng/ledger-history-symbolic-resume
branch
from
August 17, 2026 19:28
6125dab to
809a78e
Compare
wlmyng
temporarily deployed
to
sui-typescript-aws-kms-test-env
August 17, 2026 19:28 — with
GitHub Actions
Inactive
wlmyng
temporarily deployed
to
sui-typescript-aws-kms-test-env
August 17, 2026 19:28 — with
GitHub Actions
Inactive
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.
Description
Stacked on #27725. Deliberate wire-behavior change — sign-off required before merge.
Deletes the scalar lanes' eager-resume apparatus (the
ScanCoordinateresume/stamp hooks and theiru64overrides, ~40 lines): every lane now carries anafterItem asExcluded(coordinate), resolved at the store edge — checkpoints and transactions work like events. The four scalar-semantics unit tests flip back to their symbolic expectations; this commit and its parent document both worlds.The change is confined to the
afterside —beforebounds were already coordinate-exclusive in both worlds, and events are untouched. The three behaviors that change, for sign-off:afterItem coinciding with a range edge keys strictly looser than the edge and loses terminal attribution (CURSOR_BOUND→CHECKPOINT_BOUNDon ties).afterItem empties are no longer resolution-empty; at the tip their terminal reportsLEDGER_TIP— the honest poll-again signal for tailing clients (the most common at-tip caller) — and scalar terminal stamps keep the raw coordinate instead of the eager edge.Complete wire delta (197-snapshot characterization suite, #27718; kv and fullnode byte-identical, 7 unique flips)
checkpoints__after_at_window_end_ascCURSOR_BOUND→CHECKPOINT_BOUND, same cursorcheckpoints__after_bound_descboundary(cp=3)→boundary(cp=2)(raw stamp), reason unchangedtransactions__after_bound_desctx=3→tx=2(raw stamp), reason unchangedcheckpoints__after_item_last_ascCURSOR_BOUND→LEDGER_TIP, same cursortransactions__after_item_last_ascCURSOR_BOUND→LEDGER_TIP, cursorcp=4→cp=5(tip-normalized)walk__checkpoints__limit1_asc(final page)checkpoints__after_item_last_ascwalk__transactions__limit1_asc(final page)transactions__after_item_last_ascAll flips are on terminal
no-itemframes; no item rows change anywhere. Events andbefore-side snapshots: zero diffs.Once #27718 lands, this PR gains the snapshot updates in-tree, making the delta CI-visible.
Test plan
The delta above is the test plan: enumerated via force-pass replay of the characterization suite; unit suites pass (172/125) with the restored symbolic expectations; clippy clean.
Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.
aftercursor may report a differentQueryEndreason (CHECKPOINT_BOUNDon exact range-edge ties;LEDGER_TIPwhen the cursor is at the ledger tip — poll again) and terminal cursors on such responses may carry the cursor's raw coordinate rather than its successor. Resume positions are unchanged: feeding any returned cursor back never repeats or skips items.