Build Log · June 21, 2026
Forge: The Furnace
Forge stopped being a CRM and became a memory and attention system — event-driven architecture, Contractor Inbox, Context Recovery, and four Strikes captured.
- Forge
- Architecture
- Events
- Inbox
- Context
- new events table
- 1
- Strikes captured
- 4
- event write paths wired
- 3
- new pages built
- 3
new events table
Strikes captured
event write paths wired
new pages built
Timeline
Start
Feature map v1
Industry research + competitive analysis
1hr
Four iterations of the plan
Zeb pushed back three times — each time the frame got sharper
2hr
Architecture locked
Event-driven model, north star defined, forge/docs/architecture.md written
2.5hr
Events table live
Schema, db:push, seed with 17 realistic events
3hr
Timeline page
Chronological event feed at /timeline
3.5hr
Context Recovery
Panel on contact detail — last contact, open estimate, memory notes
4hr
Event write paths
writeEvent helper + deal/contact/note actions all fire events
4.5hr
Contractor Inbox
Dashboard replaced — Needs Action / Waiting / Recent, event-driven
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.”