Insight
In Two Rivers, the norm is consensus. A 7-0 vote is routine. But dissent is rare and meaningful:
- 1 dissenting vote = something worth noting
- 2 dissenting votes = getting contested
- 3 dissenting votes on a 9-person council = a big deal, people spoke out
This makes dissent count a strong signal that current impact scoring and summary generation don't use.
Areas affected
resident_impact_score — dissent count should factor into how topics are ranked on the homepage
- Meeting summaries — a 5-2 vote deserves more editorial weight than a 7-0 vote on the same type of motion
- Topic summaries/briefings — patterns of contested votes across a topic's history signal ongoing community disagreement
- Homepage headline voice — contested votes are inherently more newsworthy
Current state
- Vote data exists (Motion + Vote records with yes/no/abstain/absent/recused values)
- Motion.outcome tracks passed/failed
- But no pipeline currently computes or uses vote margin as a signal
- Consent agenda and procedural votes (unanimous by nature) would need to be excluded to avoid diluting the signal
Design questions
- Where in the pipeline should dissent be computed? (extraction time? summarization time? a derived field on Motion?)
- How to reliably distinguish contested substantive votes from unanimous procedural ones
- How to weight dissent in impact scoring relative to other signals (public comment volume, topic recurrence, etc.)
Insight
In Two Rivers, the norm is consensus. A 7-0 vote is routine. But dissent is rare and meaningful:
This makes dissent count a strong signal that current impact scoring and summary generation don't use.
Areas affected
resident_impact_score— dissent count should factor into how topics are ranked on the homepageCurrent state
Design questions