From 1741fb11a50492aa33a2088c28a2538b0996ffde Mon Sep 17 00:00:00 2001 From: Keysat Date: Tue, 16 Jun 2026 23:08:41 -0500 Subject: [PATCH] Add design/ contract extracted from the as-built UI Inventory the as-built recaps.cc look and distill it into a durable, vendor-neutral design contract: design/DESIGN.md (nine-section brand brief) + design/tokens.tokens.json (W3C DTCG tokens), plus brand icon and provenance notes. Canonical calls reconciled with the owner: indigo #818cf8 as the single interactive accent, purple #a855f7 for premium only, the #0a0e1a->#111827->#0f172a surface ladder, and a normalized type scale. Wire the AGENTS.md Design line and record the contract-vs-code drift as a cleanup backlog in ROADMAP.md. --- AGENTS.md | 6 + ROADMAP.md | 38 +++++++ design/DESIGN.md | 213 +++++++++++++++++++++++++++++++++++ design/brand/README.md | 17 +++ design/brand/icon.png | Bin 0 -> 11039 bytes design/inspiration/README.md | 18 +++ design/tokens.tokens.json | 194 +++++++++++++++++++++++++++++++ 7 files changed, 486 insertions(+) create mode 100644 design/DESIGN.md create mode 100644 design/brand/README.md create mode 100644 design/brand/icon.png create mode 100644 design/inspiration/README.md create mode 100644 design/tokens.tokens.json diff --git a/AGENTS.md b/AGENTS.md index c633c51..568625c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,6 +5,12 @@ YouTube + podcast summarizer + library, served as a single-page app from a Node. > **Inbox check:** At session start, if `~/Projects/standards/INBOX.md` exists, scan it for > items tagged `(recap)` and surface them before proposing next steps; triage with `/triage`. +> **Design:** before building or changing any user-facing UI, read `design/DESIGN.md` and +> `design/tokens.tokens.json` and conform to them. Accent is indigo `#818cf8`; purple +> `#a855f7` is premium-only. The same tokens govern three surfaces that must stay in sync: +> the main `public/index.html` stylesheet, its `SHARE_PAGE_CSS` share-export string, and +> `public/auth.html`. + ## Stack - **Server**: Node.js (`type: module`, ES modules). The dev box currently runs `v25.6.1`; container runtime is whatever the `Dockerfile` pins — check before assuming. diff --git a/ROADMAP.md b/ROADMAP.md index 7c17e19..ffbaa09 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -13,6 +13,44 @@ Longer-term backlog for Recaps. Near-term in-flight work and known issues live i - **Decide the Max tier-quota default.** The relay code default is `max.monthly: null` (unlimited) → cards render "Unlimited" on a fresh install. The operator set `max.monthly: 120` on their box via the Adjust-Tier-Quotas action (so cards show 120 there). Decide whether a metered number (e.g. 120) should be the shipped default in `recap-relay/server/config.js` — note it also enforces the ceiling, not just the card label. - **Add Gemini 3.5 to model selection.** First have a research agent confirm which stable Gemini model versions are actually available and the correct model id/name before wiring anything. The model list is duplicated server + client (provider config under `server/providers/` + the model picker in `public/index.html`) — add the option in lockstep, like the URL-parser convention. Coordinate with the matching relay-side capture (the relay routes Gemini, so its model list must agree). — captured 2026-06-16 +## Design-contract conformance cleanup (from the 2026-06-16 `/design` extract) + +The `design/` contract (`design/DESIGN.md` + `design/tokens.tokens.json`) was extracted +from the as-built UI and reconciled with Grant on 2026-06-16. The code is **structurally +aligned** (right surface ladder, accent system, premium-purple, components) but a set of +legacy values survived the reconciliation and now read as off-contract drift. None are +release-blocking; all are mechanical token migrations. `design-checker` found seven +categories (counts approximate, from grep) across the three styling surfaces — the main +`public/index.html` `