Skip to content

Overhaul/midpoint checkin - #21

Open
CS-5 wants to merge 6 commits into
overhaul/05-app-shellfrom
overhaul/midpoint-checkin
Open

Overhaul/midpoint checkin#21
CS-5 wants to merge 6 commits into
overhaul/05-app-shellfrom
overhaul/midpoint-checkin

Conversation

@CS-5

@CS-5 CS-5 commented Aug 31, 2026

Copy link
Copy Markdown
Member

No description provided.

CS-5 and others added 6 commits August 30, 2026 15:53
Reuse and altitude:
- nav data now actually drives the chrome: the Programs disclosure is a
  panel flag, the sheet's Donate button is a sheet-cta surface, the footer
  references nav.calendar instead of nav.programs[3], and the dead
  "footer" surface value is gone
- browser-chrome colors read the CSS tokens (Seo, manifest); theme-color
  follows the program theme; the icon inventory lives in site.icons and
  is projected into head links, the manifest, and JSON-LD
- ProgramLayout derives its props from BaseLayout, restoring ogType and
  noindex passthrough; og:image:alt travels with the image
- button/badge variant inventories are exported and the styleguide
  renders them, durations, and program themes from the same sources the
  build gates on (the missing pocket variant now shows)
- hand-markup register shares its variant type and base classes;
  --breakpoint-md is a declared token read by CSS and the sheet script

Efficiency:
- the navbar fetches one logo per viewport via <picture> instead of
  eagerly downloading both variants on every load
- tick-strip SVGs collapse to single paths (styleguide HTML -32 KB);
  programColor memoizes its stylesheet scan; the carousel reads the
  track gap instead of hardcoding 16; tool scripts do one read per
  collection and one sharp pipeline per image

Also deletes edit-history and restating comments per the comment policy,
and drops the unused cloudflareBeaconToken placeholder.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- tokens.ts strips CSS comments before parsing: a [data-theme="light"]
  mentioned in prose registered as a program theme, so the contrast gate
  checked a theme that does not exist and the styleguide rendered a
  phantom "light" block
- Button's base recipe adds no-underline: every Button rendered as an
  anchor (nav CTA, sheet buttons, 404 actions) inherited the base
  layer's <a> underline; the link variant re-adds its own
- ruler and dimension-tick strokes get non-scaling-stroke, so the
  stretched viewBox no longer widens every tick ~5x on desktop — the
  strips read as hairline rule edges again
- three prose lines in the styleguide collapsed the space before an
  inline <em>/<code> ("Cards aredarker", "border,radius-lg",
  "sharedname"); the space is now explicit

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Seo throws at build time when a page passes its own ogImage without
  ogImageAlt, so a custom card cannot ship without og:image:alt
- NavLink.panel carries the panel's content instead of a boolean that
  secretly meant "render nav.programs"; the popover id and label derive
  from the entry
- the md boundary is read from the token everywhere left: the logo-swap
  <source media> via a breakpoint() reader in tokens.ts, and the
  carousel track via a carousel-track utility in global.css (which also
  retires the :global() slot hack); the lockup-condense animation now
  runs on all viewports per DESIGN.md §5
- ProgramTheme is a named type in site.ts instead of three hand-written
  Exclude<ProgramKey, "sc2"> copies; the surfaces docblock is back on
  the field it documents
- 404 card titles derive from nav.primary again, with a missing route a
  build failure instead of a silent fallback; only /contact is literal
- content-references builds id sets unconditionally, removing a nullable
  invariant; optimize-sources logs EXIF-corrected dimensions and skips
  the no-op resize stage for within-bounds images

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- mise installs Chrome for Testing into .browser/ and chrome-devtools-mcp
  drives it (.mcp.json); .browser/ is gitignored and excluded from
  Prettier so the downloaded bundle never reaches lint or git
- the styleguide demo name/email fields carry autocomplete, as the
  reference for Phase 07's contact form

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The overview gains a binding "standing rules" section for Phases 06+ —
the nine mistake patterns the simplify/code-review/browser passes found
(data-driven chrome, single-home tokens, styleguide-as-contract, Astro
whitespace collapse, one-fetch images, anchor-rendered Buttons,
ogImageAlt, rare comments, browser-first verification with the MCP).

Phase briefs corrected where the midpoint work changed the ground truth:
06 stacks on overhaul/midpoint-checkin and reviews via the chrome-
devtools MCP; 07 carries the prose-porting trap, nav wiring, and the
ProgramLayout knip-entry deletion; 08 references the shipped events
schema (flat location fields, teaser/hint arrays, formatEventDate);
09 runs the existing optimizer instead of re-specifying it; 10 marks
the already-shipped styleguide noindex/sitemap filter, requires alts
with the OG set, and notes the beacon token is a new key.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant