revert(001): drop Serialized from aggregator-head-lag - #2278
Merged
Conversation
Reverts #2268 before it reaches main. Measured 2026-09-08: their `at` is the block timestamp exactly, so the ruler matches, but on Base every sampled trade arrives before its own block exists (11/11 received while the node head was still target-1, median 1.04 s ahead of publication). They stream sequencer preconfirmations; Mobula, Codex and GeckoTerminal read sealed blocks. That is a latency/finality trade-off, not a speed gap, and one ranking would present it as superiority. RecordHeadLag also drops negatives, so on the legacy series they would read as no data on Base while being the fastest. Audit §18.1 records the measurements, the two open questions for them (preconfirmed=false on all lead events, 0 Robinhood events in 240 s) and the conditions to reopen. Serialized stays on benches 004, 005, 008, 090. Claude-Session: https://claude.ai/code/session_01LtBjM1FhTKxiZhwzb3Y61c Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Reverts #2268 before it reaches
main. Nothing to retract publicly: the three Railway head-lag services build frommain, so Serialized never collected a sample in production.What was measured (2026-09-08)
One WS connection, the four bench pools, 240 s capture, plus a 150 s run asking a public Base node whether the block existed at the moment each trade arrived. Single vantage, NTP offset +0.078 s.
The ruler matches. Their
atis the block timestamp exactly, sohead_lag_secondswould measure the same quantity as Mobula'strade.Dateand Codex'sevent.Timestamp.at− block timestamp)getBlockTimereturns whole seconds)But they read a different thing.
In all eleven cases the node head at receipt was exactly
target block − 1. The block was not late in propagation, it did not exist yet. The spread (−0.21 s to −1.80 s) is one Base slot.Why revert rather than ship
Serialized streams sequencer preconfirmations; Mobula, Codex and GeckoTerminal read sealed blocks. A preconfirmation carries no finality guarantee and can be reordered, so the ~1.5 s lead is a latency/finality trade-off, not a speed gap. One ranking would present it as superiority.
Mechanically it also breaks:
RecordHeadLagdropslagSeconds < 0, so on Base they would read as no data while being the fastest, and any rare positive sample would stick on the gauge and become their published p50.Open with them
preconfirmedwasfalseon all eleven events that preceded block publication. A consumer cannot tell the two regimes apart from the payload.Reopen if
The bench gains an emission-regime dimension (sealed vs preconfirmed), or a landing-rate companion series shows their preconfirmations reach sealed blocks 1:1.
Serialized stays on benches 004, 005, 008 and 090, where the comparison is like for like. Audit §18.1 records all of the above.
218 specs valid, harness builds.🤖 Generated with Claude Code
https://claude.ai/code/session_01LtBjM1FhTKxiZhwzb3Y61c