Build Log · July 2, 2026
Known Research Hub
A supportive, corpus-backed research surface for Known families — no AI call, shaped hard by the Crucible Council before a line of code was written.
- Known
- Feature
- UX
- Crucible
- Crucible Council rounds run
- 3
- new/edited files
- 5
- new AI calls — static corpus only
- 0
Crucible Council rounds run
new/edited files
new AI calls — static corpus only
Timeline
Start
Zeb's Charge
A per-question research hook for Jan, explored via all-persona Crucible
Round 1
Council: static vs. live AI
8 personas converge on static/pre-mapped, no live Claude call
Round 2
Council: emotional safety pressure-test
Forced a real answer on entry-point tone, click-only, no auto-surface
Reframe
Zeb: hub, not hint panel
One corpus, two audiences (Jan mid-session / son browsing), two doors in
Round 3
Council: hub architecture
Split by audience intent, internal-corpus-only, smallest-real-hub framing
Build
v0 shipped
/learn page, in-line hook, Known Card callout
Iterate
Live UX correction with Zeb
New-tab fix, back nav, label cleanup, Finish-as-button
What shipped
/learn — browsable, category-organized research page sourced from the existing docs/known/brain corpus, with free-text search
In-line 'Not sure? See what helped other families' hook on every CaptureSession question, opening an in-page slide-up drawer (no navigation, no lost draft)
/api/learn — server route serving category-filtered or searched corpus excerpts as JSON
lib/research/categoryMap.ts — maps Question.category to the corpus's existing careSituations tags; zero new content file, reuses parseWisdomCorpus.ts
Known Card callout badge on cardCandidate questions during capture
Previous / Next question / Finish navigation in CaptureSession — previously forward-only
Edit-in-place on revisited questions: replaces the prior entry (via existing DELETE route) instead of creating a duplicate
Removed mid-session 'change who's sharing' control — attribution now locked once at session start
Removed separate Skip button — folded into Next (save was already conditional on non-empty text)
'Finish for now' promoted from an underlined text link to a full-width bordered button, equal weight to Previous/Next
“Why would you recommend read-only and not let her edit? Seems not friendly...”