Opponent Team Profiles
Shows every persisted opponent scouting profile as a roster — overall and Aff/Neg side record, a "notably stronger" side badge, and the team's most commonly run argument tags and cases.
- Route:
/practice/prep?section=opponents, a tab of the Prep Workspace (the old/practice/opponentsredirects there) - Package:
debate-round
What it shows
A roster table (rounds recorded, record, side record, common arguments/cases), a "Log a scouted round" form, a Bulk import (CSV) section, a logged-rounds list with Edit/Delete/Undo/Redo, a "Download report" export, and a Compare vs. opponent section (shared arguments, us-only/opponent-only arguments) with its own download.
Data flow
state/opponentRoundRecords.ts (localStorage: opponentRoundRecords)
→ rebuildOpponentTeamProfileFromRecords(teamId)
state/opponentTeamProfiles.ts (localStorage: opponentTeamProfiles)
→ buildOpponentTeamProfilesRoster()
→ panels/OpponentTeamProfilesPanel.tsx
→ apps/debate-ai.com/app/opponents/page.tsxKnown gaps
No real round-history data source — every round is entered by hand or via
CSV import. Profiles (opponentTeamProfiles) and their logged rounds
(opponentRoundRecords) sync to a signed-in user's account — see
Tool Data Sync — but still per-user, not
a shared team resource.
