Mark recap Case-B design retrofit done; log cleanup-execution learnings
- Flip recap's Case-B /design backfill from "in flight" -> done in ROADMAP/AGENTS: contract extracted + two-phase conformance cleanup shipped (recap app 0.2.161). - Add three cleanup-execution Field notes to guides/design.md: CSS-value-position var-ify scoping, exclude standalone no-:root exports, border-radius-clamp capsule snapping. - Note the standalone-export literal-hex exception in design-checker.md's Color dimension.
This commit is contained in:
@@ -98,15 +98,15 @@ should carry this so any vendor's agent surfaces pending items at session start:
|
|||||||
key, `d5885d1`) is **unblocked**, runs in a keysat session; Stage 2 (Path 2, buyer-pays on regtest)
|
key, `d5885d1`) is **unblocked**, runs in a keysat session; Stage 2 (Path 2, buyer-pays on regtest)
|
||||||
is **gated** on keysat's greenlit `payment_providers:write` scope + network gate + sandbox flag.
|
is **gated** on keysat's greenlit `payment_providers:write` scope + network gate + sandbox flag.
|
||||||
- **Design system (ROADMAP item 8) shipped** — `/design` → `design/DESIGN.md` + DTCG tokens;
|
- **Design system (ROADMAP item 8) shipped** — `/design` → `design/DESIGN.md` + DTCG tokens;
|
||||||
`design-checker`; `/new-project` scaffolds `design/`. Pilot: keysat import (Case A). **In flight:**
|
`design-checker`; `/new-project` scaffolds `design/`. Pilot: keysat import (Case A). **Done:**
|
||||||
the first **Case B (Extract) run on recap** — document-as-is, run in a recap session (no `design/`
|
the first **Case B (Extract) run on recap** — document-as-is; it exercised the previously-untested
|
||||||
there yet; entire UI is inline-styled `public/index.html`, palette drift confirmed). Closing it
|
extract→reconcile path, the contract was distilled, and the conformance cleanup shipped in two
|
||||||
exercises the previously-untested extract→reconcile path and feeds Phase-D learnings back to
|
phases (recap app 0.2.161, 2026-06-17). Extract-phase Phase-D learnings landed in
|
||||||
`guides/design.md`. **Still open (decoupled):** a fresh Claude Design run to confirm export
|
`guides/design.md`; cleanup-execution learnings in `guides/design-checker.md`. **Still open
|
||||||
internals + tune Phase-C — deliberately kept out of the recap run.
|
(decoupled):** a fresh Claude Design run to confirm export internals + tune Phase-C — deliberately
|
||||||
|
kept out of the recap run.
|
||||||
- **Next steps:** (1) run the Stage-1 `onboarding-tester` harness in a keysat session (item 9);
|
- **Next steps:** (1) run the Stage-1 `onboarding-tester` harness in a keysat session (item 9);
|
||||||
(2) **in flight** — recap Case B `/design` backfill (document-as-is), run in a recap session (item 8);
|
(2) cross-repo quality-gate standard + `/harden` (item 1); (3) non-git-folder sweep under `~/Projects` (~13).
|
||||||
(3) cross-repo quality-gate standard + `/harden` (item 1); (4) non-git-folder sweep under `~/Projects` (~13).
|
|
||||||
- Queued in `INBOX.md` for other repos' `/triage`: keysat design cleanup (P2) + onboarding Path-2
|
- Queued in `INBOX.md` for other repos' `/triage`: keysat design cleanup (P2) + onboarding Path-2
|
||||||
(P3); `ten31-transcripts` mini-retrofit; `ten31-database` networking/icon/intake; (standards)
|
(P3); `ten31-transcripts` mini-retrofit; `ten31-database` networking/icon/intake; (standards)
|
||||||
operator-onboarding agent (P3).
|
operator-onboarding agent (P3).
|
||||||
|
|||||||
+7
-4
@@ -155,10 +155,13 @@ front-end, never a dependency.
|
|||||||
|
|
||||||
**Remaining options:** (a) `/retrofit` should backfill `design/` into existing user-facing
|
**Remaining options:** (a) `/retrofit` should backfill `design/` into existing user-facing
|
||||||
repos (keysat, recap, recaps.cc, premier-gunner, ten31-database, ten31-transcripts) — run
|
repos (keysat, recap, recaps.cc, premier-gunner, ten31-database, ten31-transcripts) — run
|
||||||
`/design` then `design-checker` per repo. **In flight:** recap is the first **Case B (Extract)**
|
`/design` then `design-checker` per repo. **Done (recap, 2026-06-17):** recap was the first
|
||||||
backfill — document-as-is, run in a recap session; it's the live test of the extract→reconcile
|
**Case B (Extract)** backfill — document-as-is. It validated the extract→reconcile path
|
||||||
path (previously untested — keysat was Case A/Import) and the source of the next Phase-D
|
(previously untested — keysat was Case A/Import); the contract was distilled and the
|
||||||
learnings for `guides/design.md`. (b) fold a `design-checker` pass into `/full-eval`
|
conformance cleanup shipped in two phases (recap app 0.2.161). Extract-phase Phase-D learnings
|
||||||
|
landed in `guides/design.md` (commit `9031281`); cleanup-execution learnings are now in
|
||||||
|
`guides/design-checker.md`. **Remaining backfill repos:** recaps.cc, premier-gunner,
|
||||||
|
ten31-database, ten31-transcripts. (b) fold a `design-checker` pass into `/full-eval`
|
||||||
for repos that have a contract; (c) confirm against a real Claude Design run what the export
|
for repos that have a contract; (c) confirm against a real Claude Design run what the export
|
||||||
bundle actually contains and tune the Phase C distillation (the export internals are only
|
bundle actually contains and tune the Phase C distillation (the export internals are only
|
||||||
medium-confidence from research) — kept **decoupled** from the recap run so one untested thing
|
medium-confidence from research) — kept **decoupled** from the recap run so one untested thing
|
||||||
|
|||||||
@@ -40,7 +40,10 @@ A path to the repo to audit (default: the current working directory).
|
|||||||
|
|
||||||
- **Color** — UI colors trace to a token in `tokens.tokens.json` (directly or via a CSS
|
- **Color** — UI colors trace to a token in `tokens.tokens.json` (directly or via a CSS
|
||||||
custom property generated from it). Hardcoded hex/rgb values that don't match any token are
|
custom property generated from it). Hardcoded hex/rgb values that don't match any token are
|
||||||
violations; off-palette colors are violations.
|
violations; off-palette colors are violations. **Exception — standalone generated documents**
|
||||||
|
(a share/print/email export that ships its own `<style>` with no `:root`): they legitimately use
|
||||||
|
literal hex because `var()` can't resolve without the token block, so audit them against the token
|
||||||
|
*values* and don't flag the literal hex itself as a violation.
|
||||||
- **Typography** — font families, sizes, and weights come from the type scale / font tokens,
|
- **Typography** — font families, sizes, and weights come from the type scale / font tokens,
|
||||||
not ad-hoc values. Headings and body follow the `DESIGN.md` typography rules.
|
not ad-hoc values. Headings and body follow the `DESIGN.md` typography rules.
|
||||||
- **Spacing & layout** — margins, padding, and gaps use the spacing scale; layout density and
|
- **Spacing & layout** — margins, padding, and gaps use the spacing scale; layout density and
|
||||||
|
|||||||
@@ -302,6 +302,23 @@ us things. Brand facts never go here; only generalizable process/distillation kn
|
|||||||
`_imports/` are correctly skipped; instead write `inspiration/README.md` pointing at the
|
`_imports/` are correctly skipped; instead write `inspiration/README.md` pointing at the
|
||||||
harvested source files + the brand icon as the de-facto reference, and copy the icon into
|
harvested source files + the brand icon as the de-facto reference, and copy the icon into
|
||||||
`brand/`. That preserves the *why/where* record the folder convention exists for.
|
`brand/`. That preserves the *why/where* record the folder convention exists for.
|
||||||
|
- *(Case-B cleanup-execution run, 2026-06-17, recap)* **Scope an inline-hex→`var()` sweep to
|
||||||
|
CSS-value position, not to `style=` attributes.** Convert a hex only where the character before
|
||||||
|
`#` is not a quote/backslash (i.e. it's preceded by `:`/space/`,`). That one rule auto-dodges the
|
||||||
|
spots that must stay literal — hex held in JS *logic* (`const c = …`, quoted ternary branches like
|
||||||
|
`${on ? "#1e293b" : …}`), SVG `fill=`/`stroke=` attributes, and `<meta theme-color>` — without a
|
||||||
|
hand-kept exclusion list, and it beats `style="…"` boundary-matching (which breaks on inner quotes
|
||||||
|
inside `${…}`). Verify after: every introduced `var()` resolves against `:root`, and 0 mapped hexes
|
||||||
|
remain in CSS-value position (proves no silent misses).
|
||||||
|
- *(Case-B cleanup-execution run, 2026-06-17, recap)* **Exclude standalone generated documents from
|
||||||
|
var-ification.** A self-contained export (share page, print/PDF view, email body) ships its own
|
||||||
|
`<style>` with no `:root`, so `var(--token)` won't resolve there — its literal hex is correct, not
|
||||||
|
drift. Identify those regions (by line range or by the builder fn) and skip them. Snapping off-scale
|
||||||
|
*values* inside them is still fine, since that's a literal change.
|
||||||
|
- *(Case-B cleanup-execution run, 2026-06-17, recap)* **`border-radius` clamps to half the shorter
|
||||||
|
side — use it to snap capsules for free.** A pill-shaped control (e.g. an 18px-tall count badge at
|
||||||
|
radius 9) renders identically at any radius ≥ half its height, so snapping *up* to the next scale
|
||||||
|
step (9→10) is on-scale **and** pixel-identical. Snap capsules up, not down, to avoid a visible change.
|
||||||
|
|
||||||
## Final report
|
## Final report
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user