docs(validation): §5.9 trace ancestor-error cascade — Portal↔RPC parity#152
Merged
Conversation
…ty detection arc Documents the traces.error/revert_reason detection arc closed by #151. geth callTracer ground truth and the raw Portal /finalized-stream both report the succeeded child frame [0,1] as null; ponder's RPC path cascades the reverted ancestor's error onto it (derived DFS post-processing in rpc/actions.ts); #151 ports that same cascade into the Portal historical assemble path so the store is byte-identical to the RPC path for drop-in determinism (the #110 access_list precedent). End-to-end: a fresh merged-main backfill of [20350978,20351278] diffs 424/424 rows byte-identical to the RPC store (22 non-null errors each, 0 mismatch, no over-cascade). Closes the "documented in VALIDATION.md §5" reference from the INV-20 catalog row. Candid on the geth-literalism vs RPC-parity tradeoff; no defect claim against upstream. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2e54f37 to
7ca34e9
Compare
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.
Adds VALIDATION.md §5.9 — the detection-arc entry for the
traces.error/traces.revert_reasonancestor-error cascade closed by #151. Closes the dangling "Upstream divergence documented in VALIDATION.md §5" reference left by the INV-20 catalog row (portal/INVARIANTS.md).The arc (candor is the point)
traces.error = NULLon frame[0,1]of a reverting DEX-aggregator tx (eth block 20351061 tx 26) where the RPC-path store held"execution reverted".debug_traceBlockByNumber/callTracerreports[0,1] = null(the revert originates at[0,2]). The raw Portal/finalized-streamcapture agrees with geth.rpc/actions.ts~186–219). On raw geth-literalism the Portal path was the more faithful of the two.cascadeTraceErrors) so the store is byte-identical to the RPC path — drop-in determinism regardless of backend, mirroring the fix(transform): store NULL not fabricated [] when Portal drops accessList — refines #32 #110access_listdecision. Pinned by INV-20 (+ oracle tests, mutation-verified).[20350978,20351278]diffs 424/424 rows byte-identical to the RPC store (22 non-null errors each side, 0 mismatch, no over-cascade).Framing
No defect claim against upstream — ponder's cascade is a deliberate, documented behavior the fork matches for parity. The geth-literalism-vs-RPC-parity tradeoff is stated plainly.
Docs-only (+21 lines,
VALIDATION.md). Draft pending committee review.