diff --git a/commands/draft/CLAUDE.md b/commands/draft/CLAUDE.md index bc912d1..de72da2 100644 --- a/commands/draft/CLAUDE.md +++ b/commands/draft/CLAUDE.md @@ -236,31 +236,42 @@ The draft monitor task (`tasks/draft_monitor.py`) integrates with this command: 3. **Draft List**: Monitor tries players from team's draft list in order 4. **Pick Advancement**: Monitor calls same `draft_service.advance_pick()` -## Future Commands +## Implemented Commands -### `/draft-status` (Pending Implementation) +### `/draft-status` Display current draft state, timer, lock status -### `/draft-admin` (Pending Implementation) +### `/draft-admin` (Administrator Only) Admin controls: -- Timer on/off -- Set current pick -- Configure channels -- Wipe picks -- Clear stale locks -- Set keepers +- `/draft-admin timer` - Enable/disable timer (auto-starts monitor task) +- `/draft-admin set-pick` - Set current pick (auto-starts monitor if timer active) +- `/draft-admin channels` - Configure ping/result channels +- `/draft-admin wipe` - Clear all picks for season +- `/draft-admin info` - View detailed draft configuration -### `/draft-list` (Pending Implementation) -Manage auto-draft queue: -- View current list -- Add players -- Remove players -- Reorder players -- Clear list +### `/draft-list` +View auto-draft queue for your team -### `/draft-board` (Pending Implementation) +### `/draft-list-add` +Add player to auto-draft queue + +### `/draft-list-remove` +Remove player from auto-draft queue + +### `/draft-list-clear` +Clear entire auto-draft queue + +### `/draft-board` View draft board by round with pagination +### `/draft-on-clock` +View detailed on-the-clock information including: +- Current team on the clock +- Deadline with relative timestamp +- Team's current sWAR and cap space +- Last 5 picks +- Top 5 roster players by sWAR + ## Dependencies - `config.get_config()` @@ -307,6 +318,6 @@ Test scenarios: --- -**Last Updated:** October 2025 -**Status:** Core `/draft` command implemented and tested -**Next:** Implement `/draft-status`, `/draft-admin`, `/draft-list` commands +**Last Updated:** December 2025 +**Status:** All draft commands implemented and tested +**Recent:** Added skipped pick support, draft monitor auto-start, on-clock announcements diff --git a/tasks/CLAUDE.md b/tasks/CLAUDE.md index 63b8724..a8b9123 100644 --- a/tasks/CLAUDE.md +++ b/tasks/CLAUDE.md @@ -231,16 +231,27 @@ When voice channels are cleaned up (deleted after being empty): - Prevents duplicate error messages - Continues operation despite individual scorecard failures -### Draft Monitor (`draft_monitor.py`) (NEW - October 2025) +### Draft Monitor (`draft_monitor.py`) (Updated December 2025) **Purpose:** Automated draft timer monitoring, warnings, and auto-draft execution -**Schedule:** Every 15 seconds (only when draft timer is active) +**Schedule:** Smart polling intervals based on time remaining: +- **30 seconds** when >60s remaining on pick +- **15 seconds** when 30-60s remaining +- **5 seconds** when <30s remaining **Operations:** - **Timer Monitoring:** - - Checks draft state every 15 seconds + - Auto-starts when timer enabled via `/draft-admin timer` + - Auto-starts when `/draft-admin set-pick` used with active timer - Self-terminates when `draft_data.timer = False` - - Restarts when timer re-enabled via `/draft-admin` + - Uses `_ensure_monitor_running()` helper for consistent management + +- **On-Clock Announcements:** + - Posts announcement embed when pick advances + - Shows team name, pick info, and deadline + - Displays team sWAR and cap space + - Lists last 5 picks + - Shows top 5 roster players by sWAR - **Warning System:** - Sends 60-second warning to ping channel @@ -255,6 +266,8 @@ When voice channels are cleaned up (deleted after being empty): - Advances to next pick after auto-draft #### Key Features +- **Auto-Start:** Starts automatically when timer enabled or pick set +- **Smart Polling:** Adjusts check frequency based on urgency - **Self-Terminating:** Stops automatically when timer disabled (resource efficient) - **Global Lock Integration:** Acquires same lock as `/draft` command - **Crash Recovery:** Respects 30-second stale lock timeout