feat(website): DL-2 — Bold CF identity, token-driven + self-hosted Orbitron - #1852
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Slice C of DL-2 (token roll). The CF marketing site now consumes the pmoves-armor tokens (inlined from pmoves/design/build/, CSP-clean) instead of hard-coding its own palette, so it shares one source of truth with the Notebook UI + the token engine. Visible changes (verified in-browser via chrome-devtools): - background deepened to true void --pm-void #050508 (was #0b0b10) — matches the Notebook 'armor' look; body bg confirmed rgb(5,5,8). - .badge-live now carries the DARKXSIDE ✦ signature crimson --pm-signature #E11D48 (was cyan) — 'live' reads as the DARKXSIDE/Showtime signal. - accent #7C3AED (DARKXSIDE purple) + cyan secondary + 14px radius unchanged (already matched armor); light-mode overrides preserved. styles.css loads 200, no CSP/style errors. Self-contained (no external request). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 49 minutes and 40 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?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 credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. 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, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThis PR applies PMOVES design-token variables ( ChangesCF Website Token Theming, Self-Hosted Font, and Agent Log
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 681bcde2f9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…IDE signature) DARKXSIDE chose the Bold intensity. Makes the unification visibly felt on the public site, all under the hardened CSP (font-src 'self' — no Google Fonts): - self-host Orbitron (OFL-1.1, variable woff2, latin) in website/fonts/ + @font-face; display headings (h1/h2) + brand wordmark now carry the Megaman×Transformers face. Body/mono stay system (page keeps zero external requests). - DARKXSIDE ✦ signature: brand mark ◆→✦ crimson, crimson eyebrow kicker, and the headline accent gradient woven violet→crimson(#E11D48)→cyan; soft crimson hero glow. - builds on the token-driven base (true void bg, --pm-* source of truth). Verified in-browser (chrome-devtools): Orbitron loads same-origin (status loaded, woff2 200, no CSP error), h1/eyebrow/mark resolve correctly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
website/styles.css (1)
62-73: 🧹 Nitpick | 🔵 Trivial | 💤 Low valueStylelint: Remove quotes around
Orbitronfont-family name.The
font-family-name-quoteslint rule expects unquoted identifiers. Update line 67 tofont-family: Orbitron;(no quotes).♻️ Proposed fix
`@font-face` { - font-family: 'Orbitron'; + font-family: Orbitron;🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@website/styles.css` around lines 62 - 73, The font-family property in the `@font-face` rule for Orbitron is using quoted syntax which violates the font-family-name-quotes stylelint rule. Remove the quotes from the font-family property value in the `@font-face` block so that 'Orbitron' becomes Orbitron, allowing the identifier to remain unquoted as required by the linter.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@website/styles.css`:
- Around line 62-73: The font-family property in the `@font-face` rule for
Orbitron is using quoted syntax which violates the font-family-name-quotes
stylelint rule. Remove the quotes from the font-family property value in the
`@font-face` block so that 'Orbitron' becomes Orbitron, allowing the identifier to
remain unquoted as required by the linter.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 0d3276a3-f6d6-4e69-b5bc-da67ed57270c
⛔ Files ignored due to path filters (1)
website/fonts/orbitron-v35-latin-wght.woff2is excluded by!**/*.woff2
📒 Files selected for processing (5)
pmoves/docs/AGENTS/AGNOTE4482PHI.t1.mdwebsite/fonts/OFL.txtwebsite/fonts/README.mdwebsite/index.htmlwebsite/styles.css
Addresses the approve-with-nits review of #1852: - W1 (a11y): crimson #E11D48 failed WCAG AA (4.33:1) for the small .eyebrow + .badge-live TEXT on void (badge a regression from passing cyan). Add --pm-signature-soft #FB7185 (= darkxside.accent from the registry) for small signature text → 7.56:1 on void / 6.92:1 on card. Deep #E11D48 stays on the glyph/border/headline-gradient/glow (large/decorative). - N2: /fonts/* long-cache header (content-versioned filename, immutable). - N1: README payload note (+~11.8 KB woff2 first paint) + fonts/ in file tree. Verified in-browser: eyebrow+badge now rgb(251,113,133), contrast passes AA. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
POWERFULMOVES
left a comment
There was a problem hiding this comment.
Review — approve-with-nits (findings addressed)
Reviewed via pr-review-toolkit:code-reviewer against origin/main...HEAD. approve-with-nits. Confirmed-good: CSP-clean (@font-face src is same-origin /fonts/...; no inline/CDN/Google-Fonts added), @font-face correctness (variable 400 900, swap, valid woff2 magic bytes), Orbitron scoped to h1/h2 only (cards stay system), token plumbing sound (no undefined vars; light-mode override intact), OFL-1.1 bundled, ✦ marks aria-hidden.
Findings, all now fixed on head:
- W1 (a11y, the real one): crimson
#E11D48on the void failed WCAG AA for the small.eyebrow(4.33:1) and.badge-livetext — the badge a regression from passing cyan (8.38:1). → Added--pm-signature-soft #FB7185(=darkxside.accentfrom the registry — the soft variant is exactly for this) for small signature text: 7.56:1 on void / 6.92:1 on card (verified in-browser). Deep#E11D48stays on the glyph, eyebrow border, headline gradient, and hero glow (large/decorative — fine). - N2: added
/fonts/* immutablelong-cache header (filename is content-versioned). - N1: README payload note (+~11.8 KB woff2 first paint, cached) +
fonts/added to the file tree. - N3 (h2 weight 750→700): intentional — non-standard 750 snaps unpredictably on Orbitron's variable axis.
Verified in-browser (chrome-devtools): Orbitron loads same-origin (woff2 200, no CSP error), eyebrow/badge now rgb(251,113,133) passing AA.
…#1866) * feat(design): DL-2 slices A+B — A2UI + Notebook consume PMOVES tokens Internal surfaces of the DL-2 token roll (CF site = #1852). Both now speak the unified --pm-* vocabulary sourced from pmoves/design (one source of truth). Slice A — A2UI renderer (pmoves/services/a2ui-renderer/provenanceLivingDoc.ts): - export ARMOR_PALETTE + SKIN_PALETTE, values mirrored 1:1 from the generated tokens.{pmoves-armor,darkxside-skin}.css. - DEFAULT_PALETTE → ARMOR (canonical per Model A); pass SKIN_PALETTE for DARKXSIDE-attributed provenance docs. No test/demo referenced the old hexes. Slice B — Notebook (pmoves/ui/app/globals.css): - add the --pm-* vocabulary to :root (armor values == existing --void/--ink-*, since the Notebook is the surface those neutrals were lifted from → zero default visual change) + a [data-theme=darkxside-skin] override so --pm-* re-skins for the DARKXSIDE persona. New components should consume --pm-*; full --cata-* migration is a follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(design): DL-2 review trim — canonical signature-soft + complete Notebook token set Addresses Codex P2 on #1866 (Notebook advertised --pm-* but defined a subset): - generator now emits --pm-signature-soft (= signature agent's accent, #FB7185) so the AA-safe small-text crimson is canonical in tokens.{armor,skin}.css/.ts (was previously an ad-hoc CF-only addition). 7/7 tests green. - Notebook globals.css :root now mirrors the COMPLETE generated armor set (24 vars incl. --pm-bg/-bg-tint/-border-*/-space-*/-font-body/-mono) — since the Notebook can't @import the generated CSS, the inlined block IS the contract and must be complete. Skin override expanded to match the generated skin deltas. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Shaela Bello <slbello@uncg.edu> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
What
DL-2 token roll → CF marketing site, at the Bold intensity (DARKXSIDE's pick). The public CF site (
website/) now (a) consumes the DL-1pmoves-armordesign tokens (one source of truth with the Notebook + engine) and (b) wears the full DARKXSIDE/PMOVES brand identity — all under the hardened CSP.Follows DL-1 (#1827, merged). CLAIM in
AGNOTE4482PHI.t1.md.Changes
Token-driven base (
website/styles.css :root)--c-*brand palette driven from inlined--pm-*armor tokens (CSP-clean, self-contained).#050508(was#0b0b10) — matches the Notebook.Bold identity
website/fonts/+@font-face— display headings (h1/h2) + brand wordmark now carry the Megaman×Transformers face. Works underfont-src 'self'(no Google Fonts). Body/mono stay system (zero external requests, small payload).◆→✦crimson; crimson eyebrow kicker; headline accent gradient woven violet→crimson#E11D48→cyan; soft crimson hero glow.Verification (chrome-devtools, local serve)
(Console 404s are the
/hyperdim/gallery iframes, absent in the isolated local serve — present on the real site, unrelated.)Licensing
Orbitron is SIL OFL-1.1;
website/fonts/OFL.txtships with it +website/fonts/README.mddocuments source/use.Notes for the merge gate
Public-site visual change (intentional — Bold was chosen). Reversible knobs: crimson intensity, the hero glow, cyan-vs-armor-teal secondary (kept cyan). Next DL-2 slices (separate PRs): A2UI
ProvenancePalette, Notebookglobals.css.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Style
Documentation