Build Log · July 3, 2026
Help Me Through This Moment
A zero-result search for 'wants to go home' surfaced a real content gap, then a real product idea: Known's Learn page needed to translate caregiver moments, not browse categories — now SteadyMePanel's situation buttons are wired to real, sourced guidance and the person's own captured facts. Continuation pass: /learn itself now renders every one of the corpus's 24 sources through that same Moment Card template, and all 19 older sources were rewritten from prose into real numbered steps to match.
- Known
- OS
- Crucible
- new prevention/fix artifacts
- 5
- corpus sources (was 19)
- 24
- real bugs found via typecheck
- 2
- Strike captured
- 1
- corpus sources now rendering as situation cards on /learn (was 5)
- 24
- sources rewritten from prose into numbered practical-response steps
- 19
new prevention/fix artifacts
corpus sources (was 19)
real bugs found via typecheck
Strike captured
corpus sources now rendering as situation cards on /learn (was 5)
sources rewritten from prose into numbered practical-response steps
Timeline
Start
Reviewed OS engine-health dashboard
Diagnosed the red spin bars as normal variance, not a real problem — flagged Dependency/AI Route Gate theater as the one real open item
30m
Crucible prompt fix + category enum approved
Zeb approved 2 of the 3 open OS decisions from the dashboard review; fixed ANSWER_SUFFIX to require restating the specific question, and added a shared KnownCategory union across 6 files
50m
"Wants to go home" search gap investigation
Zeb searched Learn, got zero results — found the corpus only covered the wandering/safety framing, not the emotional-expression framing
70m
Zeb caught the wrong framing before it was built
First instinct treated 'home' as a place-lookup problem (same error as the existing corpus); Zeb corrected: 'home' is a feeling-state, not an address
110m
Real primary-source research
WebSearch + WebFetch + Zeb's own direct paste (2 sources blocked automated fetch) — Alzheimer's Society, Positive Approach to Care/Teepa Snow
130m
Strike: Learn needs to be a moment-translation layer
Zeb's reframe: not 'add a Pattern' — caregivers search in moment-language, not category-language, and the real product idea is bridging generic wisdom to THIS person's captured facts
160m
5-moment shortlist + Sources 20-24 written
2 newly researched (wants-home, suspicion), 3 synthesized from already-verified Patterns 1-3 (repeated questions, personal care, distress) into the same Moment Card structure
175m
Real parser bug found and fixed
Multi-paragraph field truncation (m-flag regex bug) — silently corrupting any future corpus entry with its own paragraph breaks or inline bold text
200m
Zeb caught the wrong integration point
Built moment-matching into a new, disconnected LearnPanel search box instead of the existing named 'Help me through this moment' tool (SteadyMePanel) — reverted and rebuilt in the right place
230m
Shipped: 5 real moments wired into SteadyMePanel
Replaced 4 cosmetic situation buttons (did nothing situation-specific) with real sourced guidance + personalization bridge against Rick's captured facts, verified end-to-end
What shipped
5 new/reformatted corpus Sources (20-24) for 'Help Me Through This Moment' — wants-to-go-home and suspicion newly researched from primary sources; repeated-questions, personal-care, distress synthesized from already-verified content
lib/research/moments.ts — curated caregiver-phrase-to-moment matcher (conservative, exact-phrase-containment only, not fuzzy/NLP)
lib/research/momentBridge.ts — personalization bridge, surfaces the person's own captured portrait entries relevant to a matched moment
lib/research/resolveMoments.ts — server-side resolver combining corpus content + personalization, extracts scannable numbered steps for the acute in-the-moment UI
SteadyMePanel.tsx rebuilt — 5 real, sourced situations replace 4 cosmetic buttons that previously did nothing situation-specific
lib/knownCategories.ts — shared KnownCategory/CaptureCategory/FeatureCategory TypeScript union, wired into schema.ts, categoryMap.ts, buildBookPages.ts, CaptureSession.tsx, seedData.ts, and 2 API routes
Fixed a real parser bug in parseWisdomCorpus.ts (multi-paragraph field truncation) affecting the whole corpus, not just new content
Extended crucible.mjs's ANSWER_SUFFIX to require restating the specific question before answering — fixes a 3x-repeated shallow-response pattern
Copy fix: replaced 'memory/memories' count language ('16 memories captured') with 'details' across the home screen, portrait detail page, book page, and Known Card — 'memories' read as elegiac (implying the person had passed) in a live count display
toSituationCard() in categoryMap.ts — extends the Moment Card template (situation label + numbered steps + avoid + don't-overgeneralize) from just Sources 20-24 to all 24 corpus sources, reusing resolveMoments.ts's extractSteps() (exported, not duplicated)
SOURCE_SITUATION_LABELS map — warm, caregiver-facing situation labels for all 24 sources (e.g. "Won't shower or get dressed" instead of the raw citation "Dementia UK — Personal Hygiene")
/learn rebuilt to render every source (category browse + search results) through SituationCardView, the same template Steady Me pioneered for its 5 curated moments
Rewrote Sources 1-19's whatHelped field in public-care-wisdom-corpus.md from single prose paragraphs into numbered 'Practical response' lists, matching the structure of Sources 20-24 — grounded in each source's existing content, no fabricated steps (Source 7 and 12 kept honest about their limited/unverified source material)
Fixed a real content-sync bug: docs/known/brain/ (canonical) and products/known/content/brain/ (deploy copy) had silently diverged after the prior session only updated the deploy copy with Sources 20-24 — resynced by copying the fully-updated deploy file back to canonical
“I want to go home should not be a prior address only... home is a feeling. they look around and dont recognize anything. they don't feel at home, at ease.”