Build Log
Known Lens Stabilization
June 27, 2026
Fixed the goblin in the TypeScript union, sharpened the lens logic, and proved the furnace actually runs.
Timeline
What shipped
Added 'respect', 'sensory', 'pattern', 'dignity' to ContextTag union (all four are product-meaningful)
Fixed implicit any in lenses.ts groupBy utility
Updated ALL_TAGS array in lenses.ts to match expanded union (gap detection now works correctly)
Added KnownPerson interface (displayName, preferredName, pronouns, relationshipLabel)
Added seedPerson object to data.ts with preferredName: 'Bob'
Changed KnownCard.callMe from string[] to string — now pulls from KnownPerson.preferredName, not identity tags
Widened safeTopics lens: now matches joy/story/humor/pride_point/connection/identity objects that are not triggers/fears/vulnerabilities
Renamed 'WHAT HELPS CARD' → 'WHAT HELPS WHEN THINGS GET HARD'
Added daysAgo() helper to data.ts — seed objects use daysAgo(1) so handoff lens always sees them as recent
Verified: tsc --noEmit clean, npm run build clean, GET /known/prototype → 200
“dignity is a load-bearing beam”