Skip to content

feat(admin): elections #1964

@cdcore09

Description

@cdcore09

Summary

Election cycle management — nominations, candidate vetting, voting, results. Coordinates with the existing apps/web Elections page (referenced in #1933) and may live as its own app.

Requirements

  • Brainstorming → spec under docs/superpowers/specs/.
  • Decide architecture during brainstorm: subsystem inside apps/admin, or its own apps/elections workspace using the same auth-shell + design-system?
  • Election lifecycle: open call for nominations → vetting → ballot construction → voting window → results publication → seating.
  • Voting model: ranked-choice (existing US-RSE practice via ElectionBuddy) or in-house? Decision deferred to brainstorm.
  • Eligibility: only active members can vote; eligibility snapshot taken at ballot construction.
  • Results integration: winning candidates auto-populated into leadership_terms rows on confirmation.

Context

Foundation must ship first (#1956). Existing apps/web/src/pages/about/ElectionsPage.tsx references ranked-choice voting via ElectionBuddy — currently informational. This subsystem is the move from "linked external service" to "managed in-house".

Implementation Notes

  • Audit trail is critical: every ballot, every candidate vetting decision, every results publication step.
  • Privacy: vote secrecy matters; design the data model so individual votes can't be traced back to voters even by super_admin.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions