Skip to content

Session handover — 2026-07-04 (pt4)

Pointer note. Short follow-on after pt3: closed the last open icon thread (LinkedIn) and did repo housekeeping. Work on master; the spike branch was fast-forwarded to master and then deleted (local + origin) — master is the sole branch now.

What changed — where to look

LinkedIn glyph vendored (commit 3069ee4): - packages/components-v3/src/components/ui/icon/linkedin.svg (new) — the official LinkedIn mark, fill-style; icon.astro imports it and maps linkedin in SIMPLE. simple-icons drops it (trademark), lucide-static has no brand glyphs, so it's vendored locally. - Additive; scaffold.js copyTree's it into per-site builds too. - Result: the deployed portfolio is now placeholder-free — the empirical missing icon: scan across all 10 pages is empty for the first time.

Wiki: - known-issues: deleted the resolved "LinkedIn icon" entry; kept a slim google-reviews residual (glyphless but not firing). - known-patterns: icon-map entry status updated — records the "vendor a fill-style SVG next to icon.astro for any brand glyph the packages omit" pattern.

Repo housekeeping: spike branch fast-forwarded to master, then deleted (local + origin). master = only branch.

Deployed state

  • Worker replatform-emdash-demo (personal cathaldempsey account), emdash.dcathal.org. Current version a7d5afd5.
  • D1 + seed.json reconciled (globals recovered in pt3); no data change pt4.

Verified

CMS build clean (Astro compiles the local ./linkedin.svg as a component); deployed; live scan shows 0 missing-icon placeholders on any page.

Next priorities (unchanged from pt3)

  1. Repeater-item image fields — the last image-migration piece; needs the Block-Kit "can media_picker nest in a repeater?" investigation before a 2nd site.
  2. Contact form real submission + move /contact onto FcrBlocks.
  3. Access policy — tighten from whole-domain to specific emails (ADR-0006).
  4. Seed-vs-admin source-of-truth policy — still open; the pt3 globals incident is the cautionary tale (dry-run + diff any reseed against live).

Milestone framing in scope-2026-07-04-one-site-operational.md.