Skip to content

Session handover — 2026-07-08 pt6

Continues from session-2026-07-08-pt5-handover.md. One slice this session: the header/nav known-issue (operator-editability + font/spacing + More/submenu). The B-defects shipped end-to-end; part A (operator editing) hit an upstream real stop with a written deferral. Everything landed in commit bfaa550; demo worker redeployed (version e3ffaf4c) + surgical live-D1 globals patch.

Where to look

  • known-issues "Header / nav menu — B-defects FIXED 2026-07-08 pt6" — the rewritten entry is the canonical status: what shipped, the emdash save-race blocker, the WCP-redeploy residual.
  • known-patterns, three new entries:
  • An unlayered universal reset in an Astro component style silently disables every utility class — the B1/B2 root cause (Base.astro reset vs @layer utilities; whole CMS lane was affected, not just the nav).
  • "Saved ✓" that never persists — emdash 0.9.0 admin fires two racing PUTs — the part-A diagnosis (pages AND globals; WS-3's success was a won coin flip).
  • The local emdash admin is unreachable while the Access adapter is configuredCF_ACCESS_TEAM_DOMAIN= npm run dev + dev-bypass URL recipe.
  • ADR-0004 — Header adapter row + follow-up gap amended: the CMS header is no longer single-level (subItems multiline field, footer-lines encoding).
  • Scorecard — re-ran the full 10-page gate against the redeployed worker after the lane-wide reset removal: SHIP held, composite 91.3 (S 88.5 unchanged, G_det 87.8 → 88.3). Artifacts regenerated locally (builds/garvanbay.ie/fidelity-scorecard.json, gitignored; pre-slice ours capture kept as section-backgrounds.ours.pre-header-slice.bak.json).

Deferral (the part-A real stop)

Operator edit→publish→live for the nav is blocked on upstream emdash 0.9.0 (admin save race, stale-last-wins; server compounds by not serializing concurrent draft-creates). Direct API writes persist fine. Harm reduction shipped: globals collection now supports: ["drafts","revisions"] (seed generator, both committed seeds, live _emdash_collections), so a raced-away edit survives as a recoverable revision; local junk-draft row deleted (live had none). Reopen trigger: the emdash 0.9.0 → 1.0.0 upgrade slice (admin pinned exactly; upgrade touches auth adapter/loader/plugin APIs across both deployed workers — scope it as its own slice). Until then, nav/content fixes ship via surgical D1 patch, as this one did.

Residual / next priorities

  1. emdash upgrade slice (above) — the actual fix for operator self-service editing, which ADR-0009's whole self-service premise leans on.
  2. WCP worker redeploywcp.dcathal.org still runs the pre-fix build; its nav has the same dead-utilities spacing until redeploy picks up Base.astro + header-wcp (both committed).
  3. Muted-tone render bug — unchanged from pt5 (background, not padding — the unlayered reset was NOT its cause; the reset only zeroed margin/padding).
  4. pt5 residuals unchanged: re-match dup-collapse pipeline fix, 3 pages dropping 1 band each, book-an-appointment grid-vs-sections, promote scripts/.tmp helpers.
  5. ADR-0009 Slice 5 (Wix API content plane) / Slice 6 (calibration) remain the strategic next step once demo polish is where you want it.

Deploy mechanics notes

  • The live-D1 globals patch also fixed the deployed logo (broken since the pt5 globals reseed left a raw /assets/ path; now the resolved R2 URL — the authoritative-map rule from pt5 applies to globals too, not just pages).
  • The one-off patch SQL is at apps/cms/scripts/.tmp/patch-header-globals.sql; same promote-to-committed-helper debt as the pt5 r2-map scripts.