Skip to content

blackjack/calendar/olympics off get_supported_vegas_modes; scoreboard has_live_content re-log at DEBUG; baseball CHANGELOG backfill - #604

Merged
ChuckBuilds merged 5 commits into
mainfrom
claude/vegas-modes-log-noise-changelog
Oct 2, 2026
Merged

ChuckBuilds merged 5 commits into
mainfrom
claude/vegas-modes-log-noise-changelog

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

Three small follow-ups, one commit each (plus the registry regeneration).

1. blackjack, calendar, olympics: off get_supported_vegas_modes

Core deprecated BasePlugin.get_supported_vegas_modes() for removal in 3.9.0 (LEDMatrix #682). Core never read it. Vegas participation comes from the user's vegas_participation, then the manifest, then get_vegas_display_mode() / get_vegas_content_type(). So the overrides were dead code. Blackjack also called its own override, to validate vegas_mode.

Plugin Change Version
blackjack The honoured vegas_mode values (fixed, static) are now a module constant _VEGAS_MODES_OFFERED. The override is removed. 1.3.0 -> 1.3.1
calendar Override removed. 1.2.9 -> 1.2.10
olympics Override removed. 3.1.3 -> 3.1.4

None of the three declares a manifest vegas_participation, on purpose. Each one's participation depends on state or config: blackjack and calendar on vegas_mode, olympics on live medal finals and vegas_mode, calendar and olympics on whether there is any content. A fixed manifest value would override all of that. For blackjack it would also stop the get_vegas_display_mode() call that display() uses to detect the start of a STATIC pause. The legacy hooks are still how core derives these plugins' participation, and that is documented and not deprecated. Core floors are unchanged (3.2.0, 3.3.0, 2.0.0) because nothing new from core is used.

docs/plugin-development/03-advanced-features.md no longer lists the hook. It now points at vegas_participation.

2. Scoreboards: has_live_content() returning ... re-log at DEBUG

All six scoreboards still had this. Stage 4 did not move has_live_content() into core: src/common/sports_plugin_host.py only calls it, so the change belongs here. The summary is now logged at INFO only when the answer changes. That means the state tuple each plugin already compares: the boolean, the per-league flags, and the live counts where the plugin tracks them. The once-a-minute re-log of an unchanged answer is now DEBUG. At INFO it was one persistent-journal line a minute, measured at ~9 KB stored per line.

The baseball, football and ufc throttle tests now assert that the interval re-log is DEBUG and not INFO. I mutation-checked them: putting INFO back fails one test in each.

Plugin Version
baseball-scoreboard 1.54.3 -> 1.54.4
basketball-scoreboard 1.41.1 -> 1.41.2
football-scoreboard 3.18.3 -> 3.18.4
hockey-scoreboard 1.42.0 -> 1.42.1
lacrosse-scoreboard 1.36.1 -> 1.36.2
ufc-scoreboard 1.19.1 -> 1.19.2

Each scoreboard has a new versions[] entry and a CHANGELOG entry.

3. baseball-scoreboard CHANGELOG backfill

Adds the missing 1.54.1 entry, written from #588's description. 1.54.2 (#593) was missing too, so it is added from #593's description.

Verification

  • Vegas before/after (resolve_vegas_participation from core main): I loaded each plugin from main and from this branch through core's PluginLoader, with the manifest registered so manifest participation is read. Across 46 cases I recorded participation, get_vegas_display_mode(), content type and a pixel hash of every get_vegas_content() image. The results are identical. A main-vs-main control run was also identical. No case logged anything about get_supported_vegas_modes. The cases:
    • blackjack: vegas_mode default, fixed, static, scroll (not offered, falls back to fixed) and invalid; user exclude and pause. Each at 128x32, 64x32 and 192x48.
    • calendar: vegas_mode default, static, fixed and invalid; user pause. Each with no events and with two events.
    • olympics: vegas_mode default, static and fixed; alerts off; user exclude. Each with no data, a countdown, and live finals.
  • Plugin tests (scripts/run_plugin_tests.py on the 9 touched plugins, core = LEDMatrix origin/main): main gives 254 passed and 2 failed, and this branch gives the same 254 passed and the same 2 failed. Both failures are on main too: baseball-scoreboard/test_odds_placement.py and the interactive football-scoreboard/test_football_plugin.py.
  • Guards: all 46 scripts/test_*.py pass on both main and this branch, with LEDMATRIX_CORE pointing at core main. This includes test_check_sports_drift, which watches has_live_content across siblings.
  • check_version_bump.py --base origin/main passes with the 9 ids. update_registry.py --check passes.

🤖 Generated with Claude Code

ChuckBuilds and others added 3 commits October 2, 2026 13:25
Core deprecated BasePlugin.get_supported_vegas_modes() for removal in 3.9.0
(core #682). Core never read it, so the overrides were dead code; blackjack
also called its own override to validate vegas_mode.

- blackjack 1.3.1: the honoured vegas_mode values (fixed, static) are a
  module constant. No manifest vegas_participation on purpose: Vegas derives
  it from get_vegas_display_mode(), and that call is what tells display() a
  STATIC pause is starting.
- calendar 1.2.10, olympics 3.1.4: drop the override. Participation still
  comes from get_vegas_display_mode() / get_vegas_content_type().

Core floors unchanged (3.2.0, 3.3.0, 2.0.0): nothing new from core is used.
The plugin-development doc no longer lists the hook and points at
vegas_participation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ackfill

The six scoreboards (baseball, basketball, football, hockey, lacrosse, ufc)
logged the has_live_content() summary at INFO once a minute even when
nothing had changed: a persistent-journal line a minute, each an SD write.
It is now INFO only when the answer changes and DEBUG for the periodic
re-log. The baseball/football/ufc throttle tests now assert the re-log is
DEBUG and not INFO.

Stage 4 did not move has_live_content() into core (sports_plugin_host only
calls it), so the change belongs here.

baseball-scoreboard's CHANGELOG also gains the missing 1.54.1 (#588) and
1.54.2 (#593) entries.

Bumps: baseball 1.54.4, basketball 1.41.2, football 3.18.4, hockey 1.42.1,
lacrosse 1.36.2, ufc 1.19.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 98f94c15-34fd-48c0-a1b0-3dd4a145bc96

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

codacy-production Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

ChuckBuilds and others added 2 commits October 2, 2026 17:23
main released baseball-scoreboard 1.55.0 and 1.56.0 (#605, #606), so the
has_live_content() DEBUG re-log moves from 1.54.4 to 1.56.1 on top of them,
with its own versions[] entry and CHANGELOG section. plugins.json regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ChuckBuilds
ChuckBuilds merged commit f9ced93 into main Oct 2, 2026
5 checks passed
@ChuckBuilds
ChuckBuilds deleted the claude/vegas-modes-log-noise-changelog branch October 2, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant