Team Calendar

A month calendar for each group of researchers you coach. Put research tasks and assignments on a due date, assign them to members of the group, watch who has finished, and schedule virtual tournaments that only that group enters.

  • Route: /coaching?section=calendar (sidebar → Coaching → Coach Workspace → Team Calendar tab; the old /coaching/calendar redirects there)
  • Package: debate-team-collaboration

Using it

  1. Pick a group. Groups are your Coaching Programs rosters. You can also add one right on the calendar: give it a name and a comma-separated list of researchers.
  2. Pick a day on the month grid. Arrows step between months; dots under a day show what's on it — blue for tasks, amber for assignments, violet for tournaments.
  3. Schedule a task, assignment or tournament for that day. Choose who it is for (or Everyone), an optional time, and notes.
  4. Track it. The day's agenda is split into Tasks, Assignments and Tournaments tabs. Tick a researcher's name when they finish their part; an entry everyone has finished shows Done, one past its date that isn't shows Overdue.

Group virtual tournaments

A tournament is a calendar entry whose entrants are the group's roster (all of it unless you pick some). Choose the format (PF, LD or Policy) and up to eight rounds; the card shows round-robin pairings, with a bye when the group has an odd number of entrants. Nobody outside the group can be entered.

Upcoming deadlines and workload

The right-hand column lists every unfinished task and assignment, earliest first so overdue work leads, and a table of each researcher's open, overdue and finished items.

Data and privacy

Entries are saved in your browser and, when you are signed in, synced to your account like the other Coaching tools. An assignee must be on the group's roster — the calendar refuses to assign work to anyone outside it.

How it works

lib/team-calendar.ts        month grid, agenda, deadlines, validation, pairings (pure)
state/teamCalendar.ts       localStorage: teamCalendarItems (+ tool-record mirror)
panels/TeamCalendarPanel.tsx
  → @debate/webview routes/team-calendar/page.tsx
  → @debate/webview components/coach/CoachingWorkspace.tsx ("calendar" tab)
  → apps/debate-ai.com/app/coaching/page.tsx

Known gaps

  • Researchers are roster IDs, not linked accounts, so the calendar does not notify an assignee; completion is ticked by whoever has the calendar open.
  • Tournament pairings are generated for display only — rounds aren't yet launched into the round workspace or scored on the group's standings.
  • No recurring entries and no .ics export.