2026-01-05T19:18:22Z - 2026-04-05T19:18:22Z

Overview

67 Active Pull Requests
51 Active Issues
Excluding merges, 1 author has pushed 23 commits to main and 117 commits to all branches. On main, 25 files have changed and there have been 2018 additions and 395 deletions.

18 Releases published by 1 user

Published 2026.3.13 2026-03-31 21:20:41 +00:00

Published 2026.3.12 2026-03-30 21:46:18 +00:00

Published 2026.3.11 2026-03-21 02:01:55 +00:00

Published 2026.3.10 2026-03-20 18:41:44 +00:00

Published 2026.3.9 2026-03-17 17:34:59 +00:00

Published 2026.3.8 2026-03-17 16:45:34 +00:00

Published 2026.3.7 2026-03-10 14:06:42 +00:00

Published 2026.3.6 2026-03-10 00:43:06 +00:00

Published 2026.3.5 2026-03-09 22:53:18 +00:00

Published 2026.3.4 2026-03-09 22:27:41 +00:00

Published 2026.3.3 2026-03-08 16:29:49 +00:00

Published 2026.3.2 2026-03-07 03:28:20 +00:00

Published 2026.3.1 2026-03-01 20:57:34 +00:00

Published 2026.2.5 2026-02-22 22:34:16 +00:00

Published 2026.2.4 2026-02-20 20:29:02 +00:00

Published 2026.2.3 2026-02-20 03:27:22 +00:00

Published 2026.2.2 2026-02-18 19:52:47 +00:00

Published 2026.2.1 2026-02-17 23:29:37 +00:00

65 Pull requests merged by 2 users

Merged #122 feat: enforce FA lock deadline after week 14 2026-03-31 21:20:42 +00:00

Merged #116 perf: eliminate redundant API calls in trade views (#94) 2026-03-31 19:54:19 +00:00

Merged #112 perf: eliminate redundant GET after create/update and parallelize stats (#95) 2026-03-31 19:46:20 +00:00

Merged #118 perf: parallelize N+1 player/creator lookups with asyncio.gather (#89) 2026-03-31 19:45:02 +00:00

Merged #121 feat: enforce trade deadline in /trade commands 2026-03-30 21:46:19 +00:00

Merged #119 fix: update chart_service path from data/ to storage/ 2026-03-21 02:01:56 +00:00

Merged #117 hotfix: make ScorecardTracker methods async to match await callers 2026-03-20 18:41:45 +00:00

Merged #115 ci: add release script for tag-triggered deployments 2026-03-20 18:27:06 +00:00

Merged #114 fix: update deploy script for tag-triggered releases 2026-03-20 18:25:01 +00:00

Merged #113 ci: switch to tag-triggered releases with production Docker tag 2026-03-20 18:20:39 +00:00

Merged #111 Merge next-release into main 2026-03-20 17:54:29 +00:00

Merged #105 cleanup: remove dead maintenance mode artifacts in bot.py (#104) 2026-03-20 17:49:42 +00:00

Merged #106 perf: parallelize independent API calls (#90) 2026-03-20 17:48:28 +00:00

Merged #107 perf: cache inspect.signature() at decoration time (#97) 2026-03-20 17:45:52 +00:00

Merged #108 perf: use channel.purge() instead of per-message delete loops (#93) 2026-03-20 17:44:30 +00:00

Merged #110 ci: only build Docker images on merge to main/next-release 2026-03-20 17:44:12 +00:00

Merged #109 perf: replace json.dumps serialization test with isinstance fast path (#96) 2026-03-20 17:38:59 +00:00

Merged #86 fix: split read-only data volume to allow state file writes (#85) 2026-03-20 15:28:15 +00:00

Merged #100 perf: cache user team lookup in player_autocomplete, reduce limit to 25 2026-03-20 15:27:35 +00:00

Merged #101 perf: replace Redis KEYS with SCAN for cache invalidation (#98) 2026-03-20 15:26:43 +00:00

Merged #103 perf: parallelize schedule_service API calls with asyncio.gather 2026-03-20 15:16:41 +00:00

Merged #102 perf: replace sequential awaits with asyncio.gather() 2026-03-20 14:22:50 +00:00

Merged #83 fix: replace broken interaction_check decorator with MaintenanceAwareTree subclass 2026-03-17 17:34:16 +00:00

Merged #81 Merge next-release into main 2026-03-17 16:44:45 +00:00

Merged #72 fix: re-fetch existing transactions on each validation 2026-03-11 16:27:57 +00:00

Merged #80 fix: prevent partial DB writes on scorecard submission failure 2026-03-11 16:27:29 +00:00

Merged #71 fix: prefix trade validation errors with team abbreviation 2026-03-10 15:46:44 +00:00

Merged #77 chore: pin all Python dependency versions in requirements.txt (#76) 2026-03-10 14:05:49 +00:00

Merged #75 fix: trailing slash on all collection POST calls 2026-03-10 00:42:17 +00:00

Merged #74 fix: targeted trailing slashes for POST endpoints (hotfix) 2026-03-09 22:52:30 +00:00

Merged #73 fix: add trailing slashes to prevent 307 redirects dropping POST bodies 2026-03-09 22:26:53 +00:00

Merged #64 feat: add is_admin() helper to utils/permissions.py (#55) 2026-03-09 14:38:08 +00:00

Merged #70 fix: show validation errors in trade embed Quick Status 2026-03-08 16:29:07 +00:00

Merged #68 ci: Use docker-tags composite action for multi-channel release support 2026-03-07 03:33:27 +00:00

Merged #67 test: implement test_validate_transaction_exception_handling (#35) 2026-03-07 03:32:24 +00:00

Merged #66 fix: reuse persistent aiohttp.ClientSession in GiphyService (#26) 2026-03-07 03:31:03 +00:00

Merged #65 refactor: extract duplicate command hash logic into _compute_command_hash (#31) 2026-03-07 03:28:29 +00:00

Merged #63 fix: update roster labels to use Minor League and Injured List (#59) 2026-03-07 03:26:17 +00:00

Merged #69 fix: replace create_item_in_table placeholder with direct endpoint call (#30) 2026-03-07 03:25:09 +00:00

Merged #62 fix: implement actual maintenance mode flag in /admin-maintenance (#28) 2026-03-03 22:08:20 +00:00

Merged #60 fix: refresh roster data before validation to prevent stale cache 2026-03-02 21:07:00 +00:00

Merged #58 refactor: move 42 unnecessary lazy imports to top-level 2026-03-02 20:48:27 +00:00

Merged #56 fix: auto-detect player roster type in trade commands 2026-03-02 19:14:43 +00:00

Merged #53 feat: add team ownership verification to /injury commands (closes #18) 2026-03-02 19:14:41 +00:00

Merged #52 fix: key plays score text shows "tied at X" correctly (closes #48) 2026-03-01 21:38:35 +00:00

Merged #51 next-release 2026-03-01 20:56:41 +00:00

Merged #50 fix: roster validation includes org affiliate transactions 2026-03-01 20:50:22 +00:00

Merged #47 next-release 2026-02-22 22:33:36 +00:00

Merged #46 feat: include current week number in weekly-info channel post 2026-02-22 22:22:01 +00:00

Merged #45 fix: use explicit America/Chicago timezone for freeze/thaw scheduling 2026-02-22 22:16:55 +00:00

Merged #42 next-release 2026-02-20 20:28:16 +00:00

Merged #14 fix: ContextualLogger crashes when callers pass exc_info=True 2026-02-20 03:26:41 +00:00

Merged #13 ci: Fix act_runner auth for composite actions 2026-02-18 19:49:33 +00:00

Merged #12 fix: Use Gitea API for CI tag creation 2026-02-17 23:28:53 +00:00

Merged #11 ci: Switch to CalVer (YYYY.MM.BUILD) with auto-generated versions 2026-02-17 23:05:17 +00:00

Merged #10 ci: Switch to CalVer versioning 2026-02-17 22:31:52 +00:00

Merged #9 fix: roster validation includes pending trades, fixes sWAR field 2026-02-16 05:00:32 +00:00

Merged #8 Fix thaw report channel lookup 2026-02-16 00:02:30 +00:00

Merged #7 fix: add stadium image link to weather command 2026-02-13 20:55:43 +00:00

Merged #6 chore: Compress CLAUDE.md from 775 to 67 lines 2026-02-13 20:41:18 +00:00

Merged #5 ci: switch Docker build cache to type=registry 2026-02-11 22:14:25 +00:00

Merged #4 Raise exception on spreadsheet errors instead of silently skipping 2026-02-06 13:55:53 +00:00

Merged #3 fix: Validate and sanitize pitching decision data from Google Sheets 2026-02-06 13:38:38 +00:00

Merged #2 chore-cc-update 2026-02-06 02:46:47 +00:00

Merged #1 bugfix/injury-team-null-errors 2026-02-05 22:54:27 +00:00

2 Pull requests proposed by 2 users

Proposed #120 perf: add caching for frequently-accessed stable data (#91) 2026-03-21 12:36:02 +00:00

Proposed #123 fix: add missing logger to SubmitConfirmationModal 2026-04-02 13:30:51 +00:00

45 Issues closed from 1 user

Closed #94 perf: double API calls in trade views (validate_trade and _get_user_team) 2026-03-31 19:54:19 +00:00

Closed #95 perf: redundant GET after create/update in custom_commands_service 2026-03-31 19:46:21 +00:00

Closed #89 perf: N+1 sequential player/creator lookups in loops 2026-03-31 19:45:02 +00:00

Closed #104 cleanup: remove dead maintenance mode artifacts in bot.py 2026-03-20 17:49:42 +00:00

Closed #90 perf: parallelize independent API calls (team lookups, injury cmds, trade validation) 2026-03-20 17:48:29 +00:00

Closed #97 perf: cache inspect.signature() at decoration time in logged_command and cache decorators 2026-03-20 17:45:53 +00:00

Closed #93 perf: use channel.purge() instead of per-message delete loops 2026-03-20 17:44:30 +00:00

Closed #96 perf: JSON log formatter tests serializability of every field on every log call 2026-03-20 17:38:59 +00:00

Closed #29 Implement dynamic roster type detection in /trade add-player 2026-03-20 15:31:38 +00:00

Closed #85 bug: read-only volume mount prevents scorecard tracker from persisting state 2026-03-20 15:28:15 +00:00

Closed #99 perf: autocomplete fires two API calls per keystroke; cache user team lookup 2026-03-20 15:27:35 +00:00

Closed #98 perf: replace Redis KEYS command with SCAN for cache invalidation 2026-03-20 15:26:44 +00:00

Closed #88 perf: N+1 sequential API calls in schedule_service (up to 18 per request) 2026-03-20 15:16:42 +00:00

Closed #87 perf: fix false parallelism — sequential awaits disguised as concurrent 2026-03-20 14:22:50 +00:00

Closed #82 bug: maintenance mode interaction_check is never registered (no-op) 2026-03-17 17:34:17 +00:00

Closed #78 bug: failed scorecard submission — CLS vs MKEA (2026-03-10) 2026-03-11 16:27:29 +00:00

Closed #55 Add is_admin() helper to utils/permissions.py 2026-03-10 18:26:36 +00:00

Closed #35 Implement test_validate_transaction_exception_handling 2026-03-10 18:26:36 +00:00

Closed #30 Replace create_item_in_table placeholder with proper table-specific endpoint logic 2026-03-10 18:26:34 +00:00

Closed #76 chore: pin all Python dependency versions in requirements.txt 2026-03-10 14:05:49 +00:00

Closed #26 Reuse a persistent aiohttp.ClientSession in GiphyService 2026-03-07 03:31:04 +00:00

Closed #31 Extract duplicated command hash logic into a shared helper in bot.py 2026-03-07 03:28:29 +00:00

Closed #59 Update CLI Tool / Team Roster Labels 2026-03-07 03:26:17 +00:00

Closed #36 Remove or replace TODO-commented test stubs in test_commands_dropadd.py 2026-03-05 14:02:17 +00:00

Closed #28 Implement actual maintenance mode flag in /admin-maintenance 2026-03-03 22:08:21 +00:00

Closed #18 Add team ownership check in /injury set-new 2026-03-02 19:14:41 +00:00

Closed #17 Add team ownership verification to /injury set-new 2026-03-01 22:10:21 +00:00

Closed #48 Post-Game Summary - Key Plays Log Error 2026-03-01 21:38:35 +00:00

Closed #49 Roster validation doesn't include org affiliate transactions (trades invisible to MiL count) 2026-03-01 20:50:22 +00:00

Closed #43 fix: UTC timezone conversion breaking time-based features 2026-02-22 22:16:55 +00:00

Closed #40 Live Scorecard Not Being Posted 2026-02-20 20:29:08 +00:00

Closed #38 Use timezone-aware datetime.now(UTC) in TransactionFreezeTask.weekly_loop 2026-02-20 20:29:08 +00:00

Closed #27 Change testing config default to False 2026-02-20 20:29:07 +00:00

Closed #25 Replace asyncio.get_event_loop() with asyncio.get_running_loop() 2026-02-20 20:29:07 +00:00

Closed #32 Replace MD5 with SHA-256 for command change detection hash 2026-02-20 20:29:07 +00:00

Closed #24 Guard interaction.guild access in has_player_role 2026-02-20 20:29:07 +00:00

Closed #23 Replace bare except: with except Exception: and log errors 2026-02-20 20:29:06 +00:00

Closed #22 Avoid leaking internal exception details to Discord users 2026-02-20 20:29:06 +00:00

Closed #21 URL-encode Giphy search phrase before building request URL 2026-02-20 20:29:06 +00:00

Closed #20 URL-encode query parameter values in APIClient._add_params 2026-02-20 20:29:06 +00:00

Closed #19 Remove hardcoded Giphy API key from config.py 2026-02-20 20:29:05 +00:00

Closed #39 /scorebug Command Win Probability Display Error 2026-02-20 20:28:17 +00:00

Closed #16 Clean up obsolete MoveAction test stubs in test_commands_dropadd.py 2026-02-20 20:28:17 +00:00

Closed #37 Fix stale comment about moveid format in transaction_freeze.py 2026-02-20 20:28:17 +00:00

Closed #33 Remove 226 unused imports across the codebase 2026-02-20 20:28:17 +00:00

6 Issues created by 1 user

Opened #34 Resolve @requires_team decorator mock barrier to re-enable integration tests 2026-02-20 06:50:27 +00:00

Opened #41 Prettify /team Embed 2026-02-20 20:09:22 +00:00

Opened #54 Extract shared player ownership verification utility 2026-03-01 22:41:10 +00:00

Opened #57 refactor: review remaining justified lazy imports for dependency injection 2026-03-02 19:30:54 +00:00

Opened #91 perf: add caching for frequently-accessed stable data 2026-03-20 13:17:27 +00:00

Opened #92 perf: blocking synchronous file I/O on async event loop 2026-03-20 13:17:33 +00:00