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

new prevention/fix artifacts

corpus sources (was 19)
24

corpus sources (was 19)

real bugs found via typecheck
2

real bugs found via typecheck

Strike captured
1

Strike captured

corpus sources now rendering as situation cards on /learn (was 5)
24

corpus sources now rendering as situation cards on /learn (was 5)

sources rewritten from prose into numbered practical-response steps
19

sources rewritten from prose into numbered practical-response steps

Timeline

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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.”
— Zeb, correcting the first (place-lookup) framing before any content was written