Skip to content

Use vote dissent count as a signal for impact scoring and summary voice #99

@AndreRobitaille

Description

@AndreRobitaille

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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions