Build Log · June 29, 2026
Known Hardening Pass + User Guide
Bolted the enrichment bridge to the floor, then built the guide that explains it — now feeding both the app and the website.
- Known
- Hardening
- Security
- Guide
- hardening fixes
- 5
- unique DB constraint pushed to Neon
- 1
- guide surfaces (in-app + website)
- 2
- build errors
- 0
hardening fixes
unique DB constraint pushed to Neon
guide surfaces (in-app + website)
build errors
Timeline
Start
Zeb arrives with a review brief
Five surgical hardening tasks identified from Zeb's post-build review. No new features.
30m
Hardening pass complete
Schema constraint, ownership guard, caregiver gate tightened, private entry leak closed, rejected dot fixed.
45m
db:push live
Unique index on entryEnrichments.entryId pushed to Neon. One enrichment per entry enforced at DB level.
60m
User guide built
/guide route in Known app. Same content added to forgekit-website guides system.
75m
Maintenance rule added
Known guide trap added to ignition.md KNOWN TRAPS. Guide will stay current across future builds.
What shipped
Unique index on entryEnrichments.entryId — one enrichment per portrait entry, enforced at DB level, pushed to Neon
Entry ownership guard in POST and PATCH API routes — verifies entryId belongs to portraitId before touching DB, returns 404 on mismatch
Private entry exclusion tightened in care-card and Known Card queries — private entries excluded before the enrichment query, not filtered after
Rejected enrichment dot changed from amber to red in BookPortrait — draft stays amber, rejected is now visually distinct
In-app user guide at /guide — 12 sections, table of contents, Known brand palette, robots:noindex
Known user guide added to forgekit-website/lib/guides/known.ts — feeds public /guides page with SEO-ready FAQ schema
Quiet guide link added to portrait page footer — 'How Known works →'
Known guide maintenance rule added to ignition.md KNOWN TRAPS — fires at close of any Known session
“The bridge Claude built is the right bridge. Now we make sure the bolts are tight before anyone walks across it.”