ForgeKitFORGEKIT

Build Log

Help Me Through This Moment

July 3, 2026

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.

KnownOSCrucible
5
new prevention/fix artifacts
24
corpus sources (was 19)
2
real bugs found via typecheck
1
Strike captured
24
corpus sources now rendering as situation cards on /learn (was 5)
19
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.

Zeb, correcting the first (place-lookup) framing before any content was written
Help Me Through This Moment — July 3, 2026 · ForgeKit