Skip to content

feat(scaling): show proof history and witness generation as separate limits - #222

Open
0x00101010 wants to merge 3 commits into
feat/scaling-limit-categoriesfrom
feat/scaling-proof-node-limits
Open

0x00101010 wants to merge 3 commits into
feat/scaling-limit-categoriesfrom
feat/scaling-proof-node-limits

Conversation

@0x00101010

@0x00101010 0x00101010 commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #220 (feat/scaling-limit-categories); will retarget main after #220 merges.

Why

The bench's proof-node step now judges two limits separately and reports each with its own budget: proof history must run at least 2× real time (head lag is recorded only), and witness generation (debug_executePayload p99) has a 3 s budget. The page still applied its own hard-coded budgets (lag ≤ 10 blocks, ≤ 1 s) to one merged "Proof node" row, so passing runs showed as over budget and unranked.

What

  • Read both limits and their budgets from the run's proof_node step outputs; no proof-node budget is hard-coded anymore. Runs from before the bench reported them show their lag and p99 with the budget as unknown, and stay unranked.
  • Split "Proof node" into two Execution limits in What breaks first, the ladder ticks, the subsystem cards and the guardrails page. Proof history: ceiling = run rate × headroom, shown as ≥ (the bench underestimates throughput). Witness generation: ceiling ≈ run rate × budget ÷ p99, tagged Estimated (assumes linear scaling).
  • The guardrails page replaces the head-lag row with proof history headroom against the run's minimum, and judges executePayload against the run's budget.
  • Disk rows take storage growth from the swaps run when one has it, falling back to the heaviest gas per transaction. The calibrated mix now has the heaviest transactions, but its storage stand-ins overwrite the same slots and overstate history bytes per gas until they are tuned. Subsystem disk cards still show each workload's own numbers.

Notes

  • /scaling/guardrails swaps the head-lag row for proof history headroom; it has no screenshot here (only /scaling was retaken), and firstScreen.test.tsx covers it.

Evidence

Review: ready (one blocker fixed, re-reviewed) | high, 85% | deep (220 hand-written lines): claude-fable-5-1 + gpt-6-astra

View Before After
/scaling, full page /scaling before: one Proof node row, unranked and flagged over the old 10-block / 1 s budgets /scaling after: Proof history ≥ 520 and Witness generation ~429 ranked as Execution rows with ladder ticks, and two subsystem cards

/scaling at 1280 px, from the running app. Synthetic data only: a copy of the synthetic fixture (network set to mainnet, the live archive-size fetch blocked) and a synthetic bench host served through Playwright with two 200 Mgas/s runs (mix: headroom 2.6×, p99 1400 ms; swaps: 3.4×, 900 ms).

Not verified beyond CI otherwise.

@vercel

vercel Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
omni-ui Ready Ready Preview Oct 31, 2026 2:44pm UTC

Request Review

This branch was successfully deployed

1 active deployment
Preview — ca5a84a0 Deployed Oct 31, 2026 by vercel[bot]
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