← All stories

BRANCH · ef-075-efx-teams

EFx Teams

EF-075Roots in: efx-station-shellMatrix: Partial

Teams assigns attendees to groups, records server-authoritative scoring, and displays a live leaderboard. SMS teammate-finding is a known gap dependent on EF-071.

Happy path

  1. Organizer creates teams.

    Team names, colors, capacity, and membership rules are saved.

  2. Attendees join or are assigned.

    Membership is idempotent by attendee and team event.

  3. Scores update leaderboard.

    Server-side arithmetic decides points; stations render sorted ranks.

Failure modes

Teams live rubric

All EFx WebSocket probes apply, plus server-side score arithmetic, SMS teammate-finding gap, and membership constraints.

Stable test attributes

Visibility teeth. Team controls and leaderboard rows must be visible when active and interactive where applicable.

data-testWherePurpose
efx-teams-admin-panelOrganizer EFx controlsTeams setup
efx-teams-team-formOrganizer EFx controlsTeam editor
efx-teams-member-tableOrganizer EFx controlsMembership rows
efx-teams-score-formOrganizer EFx controlsScore editor
efx-teams-score-submitScore editorScore submit
efx-teams-leaderboardStation displayLive ranks
efx-teams-leaderboard-rowStation displayRank row
efx-teams-sms-gap-panelTeams moduleTeammate SMS gap
efx-station-socket-statusStation runtimeSocket status
efx-station-active-stateStation runtimeModule state

Agent test plan

- teams-admin-visible
- team-membership-saves
- score-submit-authoritative
- leaderboard-sorts-by-server-score
- sms-teammate-gap-visible
- all WebSocket rubric probes in failureModes