Agent rule

Owner people CRM is a keep-warm People desk, not a sales pipeline. Contacts live in crm_contacts + crm_events on platform Supabase. Primary UI: /owner/people — list, filters, CSV import, contact detail, mark touched. Offering buckets are Lanes (built-in: school, independent-by-design, solopreneur, founding-builder; extras via crm_settings.custom_lanes). Freeform Tags + source for origin/context. Warmth is computed from last_touched_at vs settings (hot_within_days / warm_within_days → hot / warm / cool). API stays on /api/todo?scope=crm with actions crm_update, crm_import, crm_settings — no new Vercel function. Site forms still fire recordCrmTouchpoint. Do not install Twenty/Espo/Monica; build on this spine. Dedup remains email-only for v1. Newsletter send / Gmail-Apple-WhatsApp sync / open rates are later.

Status: Superseded by ADR-059

Context: Need one place to upload contacts, assign offering lanes, and keep authentic touch cadence — not HubSpot-style deal stages.

Decision: Extend Supabase CRM (migration 026_crm_people_desk.sql) and reshape /owner/people. Supersedes the sales-stage focus of ADR-047.

Consequences: Agents extend People desk fields/API carefully; keep Hobby function cap. Stage column may remain for back-compat but UI should lead with lanes + warmth.