Build Log
Forge: The Furnace
June 21, 2026
Forge stopped being a CRM and became a memory and attention system — event-driven architecture, Contractor Inbox, Context Recovery, and four Strikes captured.
Timeline
What shipped
forge/docs/architecture.md — the one-sentence principle written into the repo permanently
events table — org_id, contact_id, deal_id, type, payload, attention_score, attention_state, created_at, resolved_at
lib/db/write-event.ts — shared helper, attention scores + states computed on write
Event Timeline page at /timeline — chronological, day-grouped, attention state dots
Context Recovery panel on contact detail — last contact, open estimate, memory notes
Contractor Inbox replacing /dashboard — Needs Action / Waiting / Recent buckets
EventActions component — Done / Snooze inline actions
app/api/events/actions.ts — resolveEvent + snoozeEvent server actions
Event write path: moveDeal fires deal_moved + estimate_sent
Event write path: createDeal fires contact_added + deal_created
Event write path: addNote fires memory_captured
Timeline added to sidebar + mobile nav
4 Strikes + 4 Anvils written to forge journal
seed.ts updated — 17 realistic events across 6 days, dotenv loading fixed
“Records tell you what exists. Events tell you what happened. Context tells you what matters.”