- Shipped
- November 1, 2026 at 4:15 AM UTC
- Author
- Kamo
- Commit
- 055c205
Each LeadStatusType carries an optional fixed contact meaning, and a neutral Contacted (107) covers a conversation with no other status. LeadStatusLabel words them, so org-named call outcomes are retired: CallOutcomes, OrgCallOutcome and CallListOutcome are gone. The dial ledger freezes status id, label and meaning, and tallies and goals count meanings. LeadService.updateLead is now the one place a status change reaches what depends on it, after commit and on every path: a person's status with a meaning updates last contact with evidence PERSON, Do Not Contact sets Stop all outreach, and a LeadStatusFollower keeps the pipeline stage. A stage move marks its own write so a stage and a status can't chase each other. OutreachCheck blocks on a status that means no contact, and on a bad-number status for calls and texts.
