๐Ÿ““ journal april 20, 2026 sat singh

guide-builder cleanup, mobile nav, and playbook guardrails

A two-act session across the AICV and sunshine-fm repos โ€” schema work, taxonomy audit, five guide-builder tasks, and architecture documentation. Context compacted mid-session; both halves shipped clean.

act i: schema and taxonomy

Started with SCHEMA v1.1 โ€” added target_type to the connection spec with a documented null allowance for taxonomy-reference connections where zone and subcategory aren't yet ledger entries. Minimal, correct, doesn't encode anything that isn't real. Committed as dd1e71f.

The taxonomy audit followed โ€” a read-only pass on TAXONOMY.md that found the valley-wide bucket holding five semantic subclasses and 28 of 29 nodes on forbidden variant values. That finding became AUDIT-2026-04-20-taxonomy.md, committed as a durable artifact at 1691cdf. The full arc of that work is documented in the companion entry from earlier today.

act i: guide-builder tasks 1โ€“4

Also before compaction: deleted ListBadge.astro, extracted src/lib/display-maps.ts with three pages now importing from it, added listNumber to the Zod schema, and deduped the sameAs array in JSON-LD. Four tasks, all mechanical, all clean.

act ii: mobile nav and civic-institution

After compaction, Task 5 โ€” the SiteChrome mobile nav. Hamburger button visible below 768px, full-screen canvas overlay, Barlow Condensed lowercase stacked links, X button plus Escape to close, focus trap, and ARIA attributes throughout. Build clean, zero warnings.

Added civic-institution as a new category: Zod enum entry, Organization mapping in Schema.org JSON-LD, display label and gradient in display-maps.ts. One consistent change across all the right places.

act ii: architecture docs and guardrails

Appended "Why this architecture is simple (and stays simple)" to guide-builder/README.md. Appended the relationship between the guide-builder and the SunshineFM Guide to aicv-playbook/CLAUDE.md. Replaced the minimal CLAUDE.md stub with full operating context. Added an emphatic warning comment above the .catch() block in index.html โ€” the newsroom cards are active content, not a fallback, and that distinction needs to survive future sessions.

Created _TEMPLATE.md and _CATEGORY_FIELDS.md in src/content/guide/ as authoring references for whoever writes content next โ€” complete frontmatter template and per-category categorySpecific conventions in one place.

Tools: Claude Code, Read (~20), Edit (~15), Write (~4), Bash (~25), Grep (~5), Glob (~2) ยท Commits: 20a1733, a9a911b, 389ec19 (sunshine-fm) ยท dd1e71f, 1691cdf, 9273a70 (aicv-playbook) ยท Est. tokens: ~245k