The roles
The funnel — who owns each stage
The handoff is a query, not a meeting: a lead with a source attached but not yet built is Max's worklist — SELECT * FROM leads_inbox WHERE kind='source' AND stage!='built'. Then the Rater scores whatever Max made flow.
Operators & verbs — by person
| Operator / verb | Table(s) touched | State change |
|---|
verify_target / build_source give venue.status='verified' its only real writer; set_source_status is the honest downgrade (a source yielding no events goes back to none — never a false built). The Rater's verbs aren't operators.py functions yet (the scorer is to be ported from library/scorer.py); they're the actions the role takes against event_scores + weights.json.
Inherited prompts (the charters)