feat(ui): rebuild the landing page on a marketing design lane - #500
Conversation
The marketing surface shared one visual world with the product web UI, and
its only demonstration was a recording of that web UI, which
todo.ui-asset-refresh already records as stale. A Persuade surface whose
proof is a screenshot of something being replaced is claiming, not proving.
Rebuild docs/index.html from scratch on a new marketing lane inside the
canonical design system. The world is the airworthiness record: synced is a
green serviceable tag, a blocking finding is a red unserviceable tag, an
advisory finding is an amber deferred defect, a ghost is a part never
fitted, an orphan is a part nobody signed for, and drift is a torque stripe
whose two painted halves have stopped lining up. Progressive disclosure is
the structure: blocks carrying a raw record are native details elements, so
the page is complete with scripting off.
Every claim on the page is checkable. The dogfood numbers come from
cairn context, the command output is verbatim, the blueprint excerpt marks
its omissions, and the synthetic auth specimen is labelled wherever it
appears, including on the new social card.
The lane is additive: --mk-* tokens and .mk-* components, no existing token
renamed or removed, every selector scoped. Colour still resolves through
tokens.css, so dec.landing-design-token-conformance holds unchanged.
- tokens.css, components.css: the --mk-* / .mk-* lane
- fonts.css: Archivo and Courier Prime for the marketing lane only
- design-system/index.html, README.md: section 23 and the lane's rules
- assets/social-card.{html,png}: the og:image, built from the lane
- AGENTS.md: font authority scoped per lane
- meta/decisions/marketing-visual-world.md: dec.marketing-visual-world
|
Warning Review limit reached
Next review available in: 27 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (9)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Rebuilds
docs/index.htmlfrom scratch on a new marketing lane inside the canonical design system, and records the direction asdec.marketing-visual-world.Why
The marketing surface shared one visual world with the product web UI, and its only demonstration was a recording of that web UI, which
todo.ui-asset-refreshalready records as stale. A Persuade surface whose proof is a recording of something being replaced is claiming, not proving. The world had also converged on the aesthetic AI-authored interfaces land on by default: near-black ground, hairline rules, italic serif display, small tracked mono labels. It read as the category, not as Cairn.The maintainer authorised a full replacement: the name, the stacked-stone mark, and the load-bearing taxonomy are fixed; palette, typography, and composition are open.
The world
The airworthiness record: the paperwork that makes an aircraft legal to fly. The fit is structural, not decorative.
syncedghostorphanedThe torque stripe is the signature device: drift is visible before a word is read. Progressive disclosure is the page structure, not an effect. Blocks that carry a raw record are native
<details>, so the page is complete with scripting off.Honesty
Every claim is checkable against this repository. The dogfood numbers come from
cairn context, the command output is verbatim, the blueprint excerpt marks its omissions, unshipped reconcilers are marked not yet certified, and the syntheticauth.*specimen is labelled wherever it appears including on the new social card. The stale web UI recording is not used.Structure
The lane is additive:
--mk-*tokens and.mk-*components, no existing token renamed or removed, every selector scoped. Colour still resolves throughtokens.css, sodec.landing-design-token-conformanceholds unchanged. The web UI cannot change how it renders; it does serve roughly 38 KB it does not use, which the decision and README record rather than hide.tokens.css,components.css: the lanefonts.css: Archivo and Courier Prime, marketing lane onlydesign-system/index.html,README.md: section 23 and the lane's rulesassets/social-card.{html,png}: theog:image, built from the lane rather than from a product screenshotAGENTS.md: font authority scoped per lanemeta/decisions/marketing-visual-world.md: the direction contractVerification
scripts/pre-archive-rust-gates.sh: fmt, clippy, full test suite, file sizes. Green.scripts/check-design-tokens.sh,scripts/check-a11y.sh: pass.cairn scan,cairn hook all: pass, one pre-existing deferred info finding.prefers-reduced-motion: reduce.map.mdclaim contradicting the shipped agent router) plus a clipboard-fallback bug and unreachable scrollable output. All fixed in this branch.