Fables opinion on valbeat#7
Merged
Merged
Conversation
Co-authored-by: Cursor <cursoragent@cursor.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.
All checks pass: type check clean, 8/8 tests, lint clean, and the full static export (all 729 share pages) builds. Net result is −19 lines. Here's what I found and changed:
The big structural fix: one vocabulary for the Stage meme
Stage naming was defined in four separate places with conflicting copy — the landing said "Exposed / Slashing-averse / Downtime-averse" while the results page, stage ladder, and OG images said "Getting started / Safety / Liveness". If you want "Stage 1, Stage 2" to spread as a meme, every surface has to say the same thing. There's now a single STAGE_META export in lib/rubric/index.ts:60 (name, kind, tagline, tone per stage), and the results hero, share card, stage ladder, landing stage cards, methodology, and OG metadata all read from it. A new test guards it.
Same treatment for slice labels: the rubric said "Provider"/"Geographic" while the landing kept its own duplicate label map saying "Provider Diversity"/"Geographic Diversity". The rubric labels are now canonical and the landing's READ_LABEL and ORDER maps are deleted — it renders straight from SLICES, in the deliberate worst-failure-first order.
Accuracy and grammar in the rub
- Client diversity why claimed e you to lose 100% of funds" —overstated. It now correctly describes mass correlated slashing when validators follow a supermajority fork.
Geo slice de-jurisdictioned
Per your direction: the geo why and natural disasters, with"local policy shifts" as a trailing mention. The maxed-slice line "No single jurisdiction can stop or censor you" became n take your validator offline",and the Stage 2 lines now say "slash it or stop it" rather than leading with censorship — the Ethereum-values framing (ce survives in the longer Stage 2result copy, where it reads as values rather than threat model.
UX and small correctness fixes
Not needed: OG PNG regeneration images render are unchanged, so the 729 PNGs are still correct.
Left alone deliberately: "operatooor" (reads as an intentional meme), the 420 ms auto-advance (feels right), andine (works correctly; a rewritewould be churn without user-visible gain). One thing to consider for a future pass: OS and CPU are binary questions but shose positions (the 3⁶ URL space) — the yellow tips for them are only reachable via hand-crafted URLs, which is harmless but worth remembering when v1.2 for