docs(giga): rework Sei Giga pages for whitepaper v2.0 - #42
Conversation
- Rewrite learn/sei-giga, sei-giga-specs, and sei-giga-developers from primary sources: Giga whitepaper v2.0 (arXiv 2505.14914v3), the giga.seilabs.io roadmap, and the sei-chain v6.6 release line - Add snippets/giga-diagrams.jsx with 14 theme-aware SVG diagrams - Correct stale Giga executor/storage claims in node/node-operators.mdx (evmone wording, dead evm-ss-* keys, version-scoped defaults) - Update Giga teasers on the home and Learn landing pages, align MCP terminology in the brand kit and llms.txt generator config Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PR SummaryLow Risk Overview Claim and status accuracy is tightened site-wide: performance numbers separate internal devnet measurements from Autobahn testnet targets, sub-250 ms is framed as ordering finality (not end-to-end receipt latency), forward-looking roadmap disclaimers appear on Learn/teasers/brand kit, and copy uses hedged positioning (“designed to be the first Multi-Proposer EVM Layer 1”). Reviewed by Cursor Bugbot for commit e265049. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Edit documentation and snippets to adopt future-oriented wording for Sei Giga and unify terminology. Replaces present-tense claims with conditional/future phrasing (use of “will”), renames “Multi-concurrent proposer” to “Multi-Proposer” across pages and diagrams, clarifies Sedna as a private dissemination layer (no traditional public mempool), and tweaks related copy, keywords, and alt text. Also updates the LLMS generator intro and several snippet captions/ARIA labels to match the new phrasing. These are editorial/content updates only.
There was a problem hiding this comment.
A large, well-structured documentation rework of the Sei Giga pages plus 14 new theme-aware inline SVG diagram components; internal links/anchors, referenced pages, CSS variables, and the snippet import convention all check out, and cross-doc config keys are consistent. No blocking issues found; a few non-blocking verification and polish notes remain.
Findings: 0 blocking | 6 non-blocking | 0 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- Review-tooling note: REVIEW_GUIDELINES.md is empty (no repo-specific standards to apply), and both codex-review.md and cursor-review.md are empty — the Codex and Cursor passes produced no output, so this synthesis reflects only my own review.
- External references are unverified: several cited arXiv IDs are future-dated (Sedna 2512.17045, PIVOT-K 2603.17614, Ambulance 2606.25099).
mint broken-linkstypically validates internal links only, so please confirm every external URL (arXiv, blog.sei.io, seiresearch.io, giga.seilabs.io) resolves and points to the intended paper before publishing. - In learn/sei-giga.mdx the roadmap table links both the "Giga whitepaper v1" and "Giga whitepaper v2" rows to the same arXiv abstract (2505.14914); a reader clicking v1 lands on v2. Consider linking /abs/2505.14914v1 for the v1 row (or dropping that link) to avoid confusion.
- snippets/giga-diagrams.jsx GigaMergeRule: the
dup: truefield on V1's txeis defined but never used — the dedup result is hardcoded in the executable-sequence array. Harmless dead data; either drive the strikethrough from it or drop the field. - Brand consistency check: the 14 diagrams use
--sei-maroon-50as a recurring accent throughout. The brand kit (updated in this same PR) restricts maroon/gold to emphasis/legacy use. The usage here reads as emphasis so it's likely fine, but worth a quick design review to confirm it aligns with the stated palette guidance. - Consider a follow-up to run the regenerate-llms workflow post-merge (already called out in the PR description) so llms.txt/llms-full.txt pick up the reworked pages.
Two review findings from Campbell: - Eidos (storage) lands before Ares on the roadmap. Reorder the two in the milestone table, the roadmap track diagram and its caption, the status callout, and the specs glossary entry. - FlatKV was listed as part of today's state commitment, but it ships disabled: sc-write-mode/sc-read-mode default to cosmos_only and sc-enable-lattice-hash to false, so memiavl alone produces the current app hash. Drop it from the "Sei today" column and say plainly that the code is in the binary but off by default. Also add the same default-off caveat to the specs implementation table and the SC/EVM cell in the storage migration guide, both of which read as though FlatKV were already active. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
A large, generally high-quality rewrite of the three Sei Giga pages plus 14 new theme-aware SVG diagrams; links, anchors, CSS variables, and the snippet-import convention all check out. Two issues should be fixed before merge: a self-contradictory consensus-quorum statement on the spec page (n - f and 2f + 1 are the same threshold when n = 3f + 1), and the removal of the only documented recipe for enabling the Giga Storage SC layer while the replacement text points at a guide that explicitly covers only the SS layer.
Findings: 3 blocking | 13 non-blocking | 8 posted inline
Blockers
REVIEW_GUIDELINES.md,codex-review.md, andcursor-review.mdare all empty in this checkout, so there were no repo-specific standards to apply and no Codex or Cursor findings to merge. Everything below is from this pass only.- 2 blocking issue(s) flagged inline on specific lines.
Non-blocking
- No prompt-injection or instruction-like content was found anywhere in the diff, commit messages, or PR body — the PR body's "post-merge: trigger regenerate-llms.yml" note is a legitimate operational reminder.
- The
regenerate-llms.ymlpost-merge step lives only in the PR description. Consider a follow-up issue or a checklist item so it isn't lost after squash-merge. - Frontmatter
descriptionvalues on all three Giga pages are 300–450 characters; search engines and the Mintlify card previews truncate around 155–160. Consider trimming to a single sentence and letting the page body carry the detail. snippets/giga-diagrams.jsxadds ~730 lines of hand-authored SVG with no automated coverage — verification is manual per the PR description. A minimal smoke test that imports the module and renders each of the 14 exports would catch import/JSX regressions cheaply.- The performance numbers are now duplicated across
index.mdx,learn/index.mdx,learn/sei-giga.mdx(two tables),learn/sei-giga-specs.mdx(two tables), andscripts/generate-llms.mjs. Any future revision has to touch six places; a shared snippet for the headline figures would reduce drift risk. - The roadmap lists the Autobahn testnet target as 200,000 TPS at 400 ms finality, which is slower than the already-reported devnet result of <250 ms on the same page. Both are sourced, but a half-sentence explaining why the public-testnet target is deliberately more conservative would prevent it reading as a regression.
- The roadmap table cites arXiv 2505.14914 for "Giga whitepaper v1" while the References section attributes the same ID to "whitepaper v2.0". Presumably v2 is a new arXiv version of the same submission — worth saying so explicitly (e.g. "arXiv 2505.14914v2").
- 6 suggestion(s)/nit(s) flagged inline on specific lines.
| Consensus will periodically fix a global order by committing a cut, a vector of every lane's current certified tip: | ||
|
|
||
| 1. Prepare. The slot's leader (chosen by stake-weighted selection, as in Tendermint) will bundle the latest certified tips into a cut proposal; replicas will validate the PoAs and broadcast prepare votes, forming a PrepareQC at `n - f` votes. | ||
| 2. Commit. Replicas will exchange commit votes over the PrepareQC; a CommitQC finalizes the cut. If the leader gathers only the minimum `n - f` commit votes, it will run an additional confirm phase, collecting `2f + 1` confirmations before the commit certificate is final. |
There was a problem hiding this comment.
[blocker] This sentence is self-contradictory. With n = 3f + 1 (stated in the table above), n - f = 2f + 1, so "if the leader gathers only the minimum n - f commit votes, it will run an additional confirm phase, collecting 2f + 1 confirmations" describes a confirm phase whose threshold is already met — a no-op.
Autobahn's fast/slow path distinction is all n votes (fast, commit immediately) versus n - f = 2f + 1 votes (slow, extra round). The content this replaces had it right ("Fast Path (n votes) — Immediate commit if all agree; Slow Path (2f+1 votes) — Additional round if needed"), so this is a regression on the page whose whole purpose is protocol accuracy. Suggest rewriting as: a CommitQC over all n votes finalizes immediately; if only n - f commit votes arrive, an extra confirm round is needed before the certificate is final.
| requires a fresh state sync: turning on the EVM SS split on a node with | ||
| existing data fails the startup safety checks, because the new EVM SS DB | ||
| starts empty while Cosmos SS already has history. The full procedure, | ||
| including the exact `app.toml` keys, startup verification, safety checks, |
There was a problem hiding this comment.
[blocker] This points operators to the Giga SS Store Migration Guide for "the exact app.toml keys", but that guide states explicitly ([state-commit] / "State commit is untouched by this migration") that it covers only the SS layer. The paragraph above, meanwhile, still says Giga Storage repartitions SeiDB "at both the SC and SS layers".
The deleted TOML block was the only place documenting the SC half — in particular sc-write-mode = "dual_write", sc-read-mode = "split_read", and the safety-relevant note that sc-enable-lattice-hash = true is required for split-mode app-hash equality. The bare key definitions survive in the reference app.toml at lines 219–228, but the working combination and the app-hash warning do not, and getting that combination wrong is exactly the kind of misconfiguration that halts a node.
Either keep a short SC-layer snippet here, or add an SC section to the migration guide before pointing at it as the source of truth.
| # Default: false | ||
| # enabled controls whether to use the Giga executor instead of the legacy execution path. | ||
| # Improves EVM throughput. | ||
| # Default: false through v6.5.x; true from the v6.6 release line. |
There was a problem hiding this comment.
[suggestion] The comment says the default is true from v6.6, but the sample immediately below sets enabled = false (same for occ_enabled on line 528). In a reference app.toml that operators copy from, this reads as "the recommended value is false" and silently contradicts the stated default. Consider showing enabled = true with a # false through v6.5.x note, or restructuring as a version-conditional callout.
| ## Current Architecture | ||
| | Property | Sei Giga | | ||
| | -------------------- | -------------------------------------------------------------------------------------------------------------------- | | ||
| | Architecture | Multi-Proposer (MCP) EVM Layer 1; every validator will propose concurrently | |
There was a problem hiding this comment.
[suggestion] MCP collides with an established abbreviation in this same docs set: learn/index.mdx:52 defines "Sei Model Context Protocol (MCP) Server", and this PR edits that very page. Introducing MCP as "Multi-Proposer" here (and in the specs glossary) will confuse readers and search.
Secondly, the abbreviation doesn't match the expansion given — MCP stands for "multiple concurrent proposers" in the whitepaper, not "Multi-Proposer". Cleanest fix is to drop the parenthetical entirely and use "Multi-Proposer" unabbreviated throughout; if the whitepaper acronym must appear, define it once in the glossary as "multiple concurrent proposers (MCP)" with a note distinguishing it from Model Context Protocol.
| | Component | What it prices | Mechanism | | ||
| | -------------------- | ---------------------------------------------------- | ------------------------------------------------------------------ | | ||
| | Execution fee | Gas consumed by execution | EIP-1559-style dynamic base fee driven by demand | | ||
| | Ordering fee | Position in the merged order | Priority fee, strictly enforced by the [deterministic merge rule](#mev-and-fee-design) | |
There was a problem hiding this comment.
[nit] The link text "deterministic merge rule" points at #mev-and-fee-design (the parent section) even though a ### Deterministic merge rule heading with anchor #deterministic-merge-rule exists further down. Same pattern in the security-model bullet ("deduplicated at merge"). Retargeting to the precise anchor lands readers on the actual rule.
| Giga will price three things separately (full details in the [fee model spec](/learn/sei-giga-specs#fee-model)): | ||
|
|
||
| ### Pattern 1: User-Isolated State | ||
| 1. The execution fee: an EIP-1559-style dynamic base fee for gas actually consumed. `eth_feeHistory` and `eth_maxPriorityFeePerGas` will remain your estimation tools. |
There was a problem hiding this comment.
[suggestion] "eth_feeHistory and eth_maxPriorityFeePerGas will remain your estimation tools" is stated without qualification, but this page and the spec both say the ordering fee is strictly enforced by lane max-tip and then socialised. Under that mechanism the semantics of a priority-fee estimate change materially: the tip now competes against other lanes' maxima rather than bidding for a proposer's favour, so a value derived from Ethereum-style history may not map onto the position you expect. Worth one clause noting that the RPCs stay available but their interpretation shifts (and that final parameters land with the fee-mechanism paper you already cite below).
| ))} | ||
| <text x={70} y={214} fontSize="9" fill={ink} fillOpacity="0.55">blocks</text> | ||
| {[0, 1, 2, 3].map((i) => ( | ||
| <path key={'w1' + i} d={`M ${70 + i * 184} 186 L ${70 + i * 184} 180 L ${208 + i * 184} 180 L ${208 + i * 184} 186`} fill="none" stroke={accent} strokeWidth="1.2" /> |
There was a problem hiding this comment.
[nit] The SuperBUD window brackets are 138 units wide but spaced 184 apart, so consecutive windows have visible gaps — yet the surrounding text describes "exponentially growing aligned windows". All four brackets are also drawn identically, so the exponential growth the caption promises isn't shown. Making the windows contiguous (width === spacing) and varying their widths would match the prose.
| const ink = 'currentColor'; | ||
| const accent = 'var(--sei-maroon-50)'; | ||
| const lanesIn = [ | ||
| { v: 'V1', max: 12, txs: [{ n: 'a', t: 12 }, { n: 'e', t: 8, dup: true }] }, |
There was a problem hiding this comment.
[nit] dup: true on V1's e is never read — the duplicate is instead hard-coded downstream via const dup = i === 5. The merge output itself is correct (V2 max 40 → V3 max 20 → V1 max 12, giving c, d, f, e, a, e with the V1 copy of e struck), but deriving the strike-through from the data rather than a magic index would keep the diagram honest if the example is ever edited.
Keep 5 gigagas/s as a measured internal-devnet result, frame 200K TPS as a testnet target, and match operator copy to the Pacific-1 v6.6 upgrade. Co-authored-by: Cursor <cursoragent@cursor.com>
60ca996 to
eee6d20
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e265049. Configure here.
| const lanes = [0, 1, 2, 3]; | ||
| return ( | ||
| <div className="not-prose w-full my-5"> | ||
| <div className="overflow-x-auto rounded-xl border border-neutral-200 dark:border-neutral-800 bg-white/60 dark:bg-neutral-900/40 p-4 text-neutral-800 dark:text-neutral-200"> |
There was a problem hiding this comment.
Diagrams break in dark theme
Medium Severity
The Giga diagram wrappers set dark:bg-* and dark:border-* on snippet container divs, which Mintlify does not apply, while dark:text-* does apply. SVG ink uses currentColor, so dark mode can render light labels and strokes on the light bg-white/60 card and make the diagrams hard to read.
Triggered by learned rule: Mintlify snippet conventions — do not flag inline styles or suggest npm imports
Reviewed by Cursor Bugbot for commit e265049. Configure here.
There was a problem hiding this comment.
A large, well-sourced rewrite of the three Sei Giga pages that genuinely improves claim hygiene, with 14 new theme-aware SVG diagrams; all internal links and anchors I checked resolve. Two blocking issues: the hand-edited llms*.txt artifacts still ship the exact "world's first / Fastest EVM" claims this PR exists to remove (and hand-editing them violates AGENTS.md), and the node-operators.mdx edit deletes the "both default to off" caution while only the Giga Executor default actually flipped.
Findings: 3 blocking | 16 non-blocking | 8 posted inline
Blockers
llms.txt/llms-full.txtwere hand-edited, which AGENTS.md explicitly forbids ("do not hand-edit the generated.txtfiles"), and only the header was updated.llms-full.txtstill contains the old page dump: line 59 and 4290 "Sei Giga Overview: The Fastest EVM Blockchain", line 5187 "the world's first multi-proposer EVM Layer 1", plus the deleted "Pattern 2: Struct Packing" (4902) and "Gas Optimization Tips" (4943, 18841) sections.regenerate-llms.ymlonly runs onworkflow_dispatchor the Monday 07:00 cron, and_typos.tomlexcludes both files from CI — so merging publishes a self-contradictory artifact carrying the removed claim at docs.sei.io/llms-full.txt for up to a week. Fix: keep thescripts/generate-llms.mjschange, revert the hand-edits, and dispatch the workflow (or regenerate in this PR).- 2 blocking issue(s) flagged inline on specific lines.
Non-blocking
REVIEW_GUIDELINES.mdis empty, so this review was graded againstAGENTS.mdandSTYLE_GUIDE.mdinstead. Both second-opinion passes produced no output —codex-review.mdandcursor-review.mdare empty files.- Vale/vocab debt: the new proper nouns (Sedna, Eidos, Ares, Hermes, Autobahn is present but LtHash, SuperBUD, BUD, Block-STM, Multi-Proposer, PoA, MEV, OCC are not) are missing from
.github/styles/config/vocabularies/Sei/accept.txt, and bare "Giga" is not in theHeadings.ymlexceptions list (only "Sei Giga" is). Headings like "Fees on Giga", "MEV and fee design", "Sedna: private dissemination" will emit sentence-case warnings on every future PR touching these pages. Non-blocking sinceprose-style.ymlnever fails the build, but worth clearing now. - British "socialised" is used 6 times, including the
### Socialised tipsheading, a frontmatter keyword, and two diagram captions, against the repo's consistent US spelling ("parallelized", "optimized")._typos.tomlsets no locale so CI won't catch it. snippets/giga-diagrams.jsxis 732 lines of hand-placed SVG coordinates for 14 diagrams, replacing<Card>/<Columns>layouts that AGENTS.md says to prefer over heavy<div>markup. The CSS vars used (--sei-maroon-50,--sei-gold-25,--sei-font-mono) all exist instyle.cssand the/snippets/*.jsximport path matches repo convention, so it works — but every future text change means re-tuning x/y offsets. Consider Mintlify's native Mermaid for the structurally simple ones (roadmap track, tx journey, fee split, finality signals) and reserving hand-SVG for the rest.- Accessibility: 10px white text on
--sei-maroon-50(#b05c6c) in the validator badges (GigaProposerComparison, GigaLanesAndCuts, GigaTxJourney) is roughly 3.5:1 contrast, under the WCAG AA 4.5:1 threshold for small text. - Anchor churn: the rewrite removes every heading on all three pages (
#introduction,#why-build-on-sei-giga,#gas-optimization-tips,#native-precompiles,#performance-targets, …). I verified nothing inside the repo links to them, but external deep links will silently land at page top. AGENTS.md mandates redirects for moved pages anddocs.jsoncan't redirect anchors, so this is just a heads-up. - Content dropped without a new home: the old
sei-giga.mdxEconomic Model section (10B SEI total supply) and the specs page's current-network consensus parameters (max validators 100, unbonding 21 days) no longer appear anywhere inlearn/. Block gas limit / 21 MB are safely covered byevm/differences-with-ethereum.mdxand unbonding bylearn/sip-03-migration.mdx, so only supply and the validator cap are actually orphaned. - The PR description lists
evm/precompiles/oracle.mdxunder "Corrections elsewhere", but that file is not in the diff — it already carries theRetired as of v6.4.0<Danger>notice on base. The docs are consistent; only the description is inaccurate. - The new pages add ~20 external references (arXiv 2512.17045, 2603.17614, 2606.25099, 2511.13080, seiresearch.io, giga.seilabs.io). I could not resolve these offline — please confirm
external-links.ymlpasses before merge. - I found no prompt-injection or instruction-like content anywhere in the diff, PR title, or body.
- 6 suggestion(s)/nit(s) flagged inline on specific lines.
| # Sei Documentation | ||
|
|
||
| > Technical documentation for Sei — a parallelized EVM Layer 1 with sub-second finality, full Ethereum tooling compatibility, and a clear roadmap toward Sei Giga (200K TPS, 5 gigagas/s). | ||
| > Technical documentation for Sei — a parallelized EVM Layer 1 with sub-second finality, full Ethereum tooling compatibility, and a roadmap toward Sei Giga. Sei Giga is designed to be the first Multi-Proposer EVM Layer 1. An internal devnet measured more than 5 gigagas/s; the Autobahn public-testnet target is 200K TPS. |
There was a problem hiding this comment.
[blocker] AGENTS.md is explicit: "do not hand-edit the generated .txt files" — edit the config block in scripts/generate-llms.mjs (which you did) and let the workflow re-emit these.
Beyond the convention, the hand-edit only touched the header, so the file now contradicts itself. Still present further down:
- L59 / L4290 —
Sei Giga Overview: The Fastest EVM Blockchain - L5187 —
the world's first multi-proposer EVM Layer 1 - L4902 / L4943 / L18841 — the
Struct PackingandGas Optimization Tipssections this PR deletes
regenerate-llms.yml only fires on workflow_dispatch or the Monday 07:00 cron, and _typos.toml excludes llms.txt/llms-full.txt from CI — so merging as-is publishes the exact claim this PR removes at docs.sei.io/llms-full.txt for up to a week, with nothing to catch it. Please revert the hand-edits here and in llms.txt and dispatch the workflow, or regenerate both files in this PR.
| These are two **separate** opt-in features that ship in newer `seid` | ||
| releases. Both default to off; only enable them deliberately and after | ||
| following the relevant migration guide. | ||
| These are two **separate** features that ship in newer `seid` releases. |
There was a problem hiding this comment.
[blocker] This drops Both default to off; only enable them deliberately and after following the relevant migration guide for both features, but only the Giga Executor default actually flipped to true in v6.6.
Giga Storage's default is now stated nowhere, and the very next snippet shows evm-ss-split = true while the Executor block below spells out # Default: true. — so a reader going top-to-bottom reasonably concludes Giga Storage is on by default too. Per L1578-1584 on this same page, enabling it requires a fresh state sync and otherwise fails startup safety checks, so the ambiguity has a real operational cost.
Suggest keeping the sentence scoped: note that Giga Storage remains opt-in and defaults to off, and retain the "follow the migration guide first" caution for it.
| **Giga Executor** is independent of Giga Storage. It swaps the EVM | ||
| interpreter from go-ethereum's geth to an evmone-based executor for | ||
| higher throughput, with optional OCC parallelism on top: | ||
| **Giga Executor** is independent of Giga Storage. From the v6.6 release line, |
There was a problem hiding this comment.
[suggestion] The rewrite drops the description of what the feature actually does — the old text said it "swaps the EVM interpreter from go-ethereum's geth to an evmone-based executor for higher throughput, with optional OCC parallelism on top."
"The Giga execution path" is now undefined on this page, and an operator deciding whether to opt out has nothing to weigh. Worth keeping the one-line mechanism description alongside the new default.
|
|
||
| The equations in the whitepaper use a replica-count model with `n = 3f + 1`, of which at most `f` replicas are Byzantine. The `sei-chain` implementation applies stake-weighted voting thresholds, so do not interpret `f` as a raw validator count when reasoning about the live network. Under the whitepaper's fault and cryptographic assumptions, even an extended network delay does not allow two conflicting proposals to receive valid commit certificates. The network may pause during a disruption and resume once message delays return within the protocol's timing bounds. | ||
|
|
||
| - Safety: no two conflicting proposals can both obtain a valid commit certificate in the same consensus slot. Attesting to two different divergence digests for the same finalized block will be slashable equivocation, because quorum intersection guarantees at least one honest validator would have to sign both. |
There was a problem hiding this comment.
[suggestion] The justification is inverted: quorum intersection guarantees at least one honest validator would have to sign both. Honest validators don't equivocate by definition — that's what makes them honest.
What quorum intersection actually gives you is that two conflicting attestation quorums share at least one validator; since correct validators sign only one digest per block, that shared signer must be Byzantine. Separately, slashing a single validator for double-signing doesn't rest on quorum intersection at all.
Suggested split:
Attesting to two different divergence digests for the same finalized block is slashable equivocation. Quorum intersection means two conflicting attestation quorums must share a validator, and because correct validators sign only one digest, that signer is provably faulty.
| ## Current Architecture | ||
| | Property | Sei Giga | | ||
| | -------------------- | -------------------------------------------------------------------------------------------------------------------- | | ||
| | Architecture | Multi-Proposer (MCP) EVM Layer 1; every validator will propose concurrently | |
There was a problem hiding this comment.
[suggestion] Multi-Proposer (MCP) collides with MCP = Model Context Protocol, which these docs already use — learn/index.mdx:128 introduces "The Sei Model Context Protocol (MCP) Server" roughly 70 lines above the Giga teaser on that same page.
STYLE_GUIDE.md warns against short ambiguous acronyms. Since the abbreviation is never actually reused in prose (only defined here and in the specs glossary at learn/sei-giga-specs.mdx:254), I'd drop it entirely and keep "Multi-Proposer" spelled out, mentioning the whitepaper's "multiple concurrent proposers" phrasing only in the glossary entry.
| | Milestone | Scope | Status | | ||
| | ---------------------- | ------------------------------------------------------------------------------------------------- | ----------- | | ||
| | Giga whitepaper v1 | Initial specification ([arXiv 2505.14914](https://arxiv.org/abs/2505.14914)), MEV formalization ([arXiv 2511.13080](https://arxiv.org/abs/2511.13080)) | Complete | | ||
| | Internal devnet | Geo-distributed devnet sustaining [5 gigagas/s with Autobahn](https://seiresearch.io/articles/sei-giga-achieving-5-gigagas-with-autobahn-consensus) | Complete | |
There was a problem hiding this comment.
[suggestion] This roadmap row attributes 5 gigagas/s to the seiresearch.io article, but the performance table at L170-171 on this same page attributes >5 gigagas/s to the whitepaper v2.0 devnet (40 nodes, 20 regions, June 2026) and describes the Feb 2025 devnet as ~700 ms across 4 regions.
Given this PR's whole purpose is precise attribution of measurements, this row conflates two different devnets. Consider naming which one the row refers to, or pointing it at the whitepaper v2.0 figures.
| sidebarTitle: 'Overview' | ||
| description: 'A comprehensive technical overview of Sei Giga - a high-performance blockchain platform combining EVM compatibility with groundbreaking consensus, execution, and storage innovations for unprecedented throughput and sub-second finality.' | ||
| keywords: ['sei giga', 'evm blockchain', 'autobahn consensus', 'parallel execution', 'blockchain performance', '5 gigagas', 'sub-second finality'] | ||
| description: 'Sei Giga will be the next generation of the Sei protocol following the Giga Upgrade, designed to be the first Multi-Proposer EVM Layer 1. On an internal 40-node devnet it finalized transaction ordering in under 250 ms and sustained more than 5 gigagas per second. It will roll out as in-place upgrades to the live Sei network.' |
There was a problem hiding this comment.
[nit] This description runs ~320 chars; scripts/audit-seo.mjs sets DESC_MAX = 160 and will warn. The specs (~300) and developer-guide (~260) descriptions are over too. Warning-only, but search engines truncate around 160 chars, so the "in-place upgrades to the live Sei network" point — arguably the most important one — gets cut. Worth trimming to a single load-bearing sentence.
| const ink = 'currentColor'; | ||
| const accent = 'var(--sei-maroon-50)'; | ||
| const lanesIn = [ | ||
| { v: 'V1', max: 12, txs: [{ n: 'a', t: 12 }, { n: 'e', t: 8, dup: true }] }, |
There was a problem hiding this comment.
[nit] The dup: true flag here is never read — the output list below hard-codes the duplicate as const dup = i === 5 (L590) against a literal ['c','d','f','e','a','e'] array.
The diagram is correct as drawn (V2 max 40 → V3 max 20 → V1 max 12, so V3's e wins and V1's is dropped), but the result is authored rather than derived. If someone later edits a tip value the lane sort changes while the executable sequence silently doesn't. Either derive the output list from lanesIn + sorted, or drop the unused dup field so it doesn't read as live data.


Summary
Full rework of the Sei Giga documentation, plus claim hedges and v6.6 live-network accuracy.
Pages rewritten
learn/sei-giga: answer-first overview — architecture in four stages, transaction lifecycle, MEV and fee design, the 11-milestone roadmap with statuses, dated performance tablelearn/sei-giga-specs: complete protocol spec — Autobahn (lanes, f+1 Proofs of Availability, cut-of-tips ordering, 1.5 round-trip cadence), ordering and attestation finality, Block-STM OCC, flat storage with LtHash divergence digests, BUD/SuperBUD proofs, Sedna, merge rule and socialised tips, post-quantum path, implementation snapshot, glossary, referenceslearn/sei-giga-developers: what changes for builders — which confirmation stage per use case, staged ingress before and after Sedna, three-part fees, parallel-friendly contract patterns, Ares v6.6 fallback behavior, prepare-today checklistHedges and live status
New diagrams
snippets/giga-diagrams.jsx: 14 theme-aware inline SVG components (proposer comparison, async pipeline, transaction journey, roadmap track, lanes and cuts, slot pipelining, attestation flow, OCC, storage stack, BUD windows, merge rule, finality signals, fee split, parallelism contrast), each with a caption and aria-labelCorrections elsewhere
node/node-operators.mdx: Giga executor/OCC default to enabled from v6.6; opt out with explicitfalseevm/precompiles/oracle.mdx: native Oracle precompile retired as of v6.4.0scripts/generate-llms.mjsdistinguish live features from roadmap targetsTest plan
mint broken-linkspasses; in-page anchors still resolveregenerate-llms.ymlsollms-full.txtpicks up the new brand kit (the live page dump still has the old "world's first" sentence until then)