feat(dl-3.3): persona-adaptive accents on CF site + A2UI palette patch — DL-3 complete - #2074
Conversation
…h — DL-3 complete CF site: the --c-* brand layer inlines its values (no var-chain to --pm-*), so the shared accent override can't reach it. New canonical adapter design/surface-cf.js maps gateway themes onto --c-accent/--c-accent-2 (accent family only, spec D3), node-tested (42 assertions across the design suite), and vendored to website/persona/ alongside persona-theme/resolver/ showtime-live under the extended design-vendor-check drift gate. A boot module wires ?agent=<id>[&alter=] resolution + the Showtime live flip (data-stage=live -> brand-mark glow); without the query param it is a complete no-op. Root CSP connect-src gains LOOPBACK-ONLY gateway origins (:8054/:9225) — the visitor's own machine, never a remote host. A2UI: personaPalette(theme, base) patches ProvenancePalette's accent family from a gateway theme; background/panel/ink stay with the base palette. Verified behaviorally via node --experimental-strip-types (renderer has no installed test deps). @PMOVES-Creator owns the Remotion consumers — additive export only, no existing exports changed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 44 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: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (15)
✨ 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: f13326bde9
ℹ️ 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".
Codex P2 on #2074: the new CSP permits the browser's fetch to loopback :8054/:9225, but both services' default CORS allow-lists stopped at the Notebook/preview origins, so the shipped ?agent= demo failed from the Pages origin without manual env overrides. Adds the deployed Pages origin, the future custom domain, and the documented :8000 local preview to both defaults (env-overridable as before, never '*'). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Closes out the DL-3 phase (Model B) of the Unified Design Language: the pending slice 3.3 from the DL-3 spec.
CF site (
website/)--c-*brand layer inlines its values — it does not var-chain to--pm-*, so the shared accent override from DL-3.1 can't reach it (exactly the case spec D3 predicted). New canonical adapterpmoves/design/surface-cf.jsmaps a gateway theme onto--c-accent/--c-accent-2— accent family only, backgrounds/ink never touched.website/persona/(with persona-theme / persona-resolver / showtime-live) via the extendeddesign-vendor/design-vendor-checktargets — same drift gate DL-3.2 established forui/lib/persona/.website/persona/boot.js(site glue, not vendored):?agent=<id>[&alter=<name>]→ gateway theme → CF accent override, plus the Showtime live flip (data-stage=live→ brand-mark glow in the persona's own accent). No query param → complete no-op — public visitors never fetch or poll anything.connect-srcgains loopback-only origins (:8054gateway,:9225Showtime). These resolve to the visitor's machine — harmless publicly, functional on-net.persona-theme.jsalready restricts?gw=overrides to loopback, so no remote host is reachable.A2UI (
pmoves/services/a2ui-renderer)personaPalette(theme, base)— pure accent-family patch onProvenancePalette(accent ← color,accentSoft ← accent); background/panel/ink stay with the base palette. Additive export only — no existing exports changed. @PMOVES-Creator (Remotion lane) FYI.Verification
make -C pmoves design-test-js: 42 pass / 0 fail (incl. newsurface-cf.test.js: D3 guard — never emits background/ink overrides)make -C pmoves design-vendor-check: green (both vendor targets)personaPaletteverified behaviorally vianode --experimental-strip-types(renderer has no installed dev deps): 8 assertions passboot.jsES-module syntax check passGuardrails honored: registry + 4090 W1 gateway routes read-only;
--pm-signatureuntouched by construction (not a--c-*var); no Model C light-theme work.🤖 Generated with Claude Code