Skip to content

test(scoreboards): pin every plugin's game-over check before family 5 reconciles it - #621

Open
ChuckBuilds wants to merge 1 commit into
mainfrom
claude/family5-game-over-pin
Open

ChuckBuilds wants to merge 1 commit into
mainfrom
claude/family5-game-over-pin

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

Step 3 of the "reconcile, then promote" procedure (core docs/SPORTS_UNIFICATION.md) for family 5, the game-over check SportsLive._is_game_really_over. It only adds a test; no plugin code changes.

scripts/test_game_over_check.py builds each of the nine plugins' real live managers, using a fake display and cache, and pins 3,115 answers to tables of today's behaviour:

  • The matrix: 6 ESPN statuses × 8 clocks ("12:00", "0:00", ":00", "0.0", "-", "", None, missing) × period missing and 1–6.
  • 9 edge cases: null period_text, period None, "OT" or "4", an integer or float clock, ties at the end of regulation, and "Final/OT".
  • ufc's 10 recorded ESPN payloads, run through its own _extract_game_details.
  • League managers: it checks that every league live manager resolves to its plugin's method. Baseball's postponed-status override is pinned too.

--print regenerates the tables. A failure names the row and the plugins whose answer changed, so the reconcile PR will show exactly which cells it changes.

Today's variants (drift report)

Variant Plugins Rule
A afl, nrl, soccer "final" in the period text only
B baseball, ufc final, or 0:00 from period 4; a missing or non-string clock counts as 0:00
C basketball, lacrosse final, or 0:00 from period 4 (non-empty string clock only)
D football C, plus debug logging
E hockey C, but from period 3

Verification

  • Mutation check: all 7 mutations failed with the right plugin named: hockey's threshold, ufc reading "-" as 0:00, baseball's postponed override, soccer gaining a clock rule, basketball accepting "0.0", a league manager overriding the method, and afl's null guard.
  • Repo scripts: all 48 scripts/test_*.py pass against core main.
  • Test-only change: no plugin changes, so check_version_bump reports nothing to bump.

🤖 Generated with Claude Code

…s reconciled

SportsLive._is_game_really_over has five bodies across the nine scoreboards
(afl/nrl/soccer; baseball/ufc; basketball/lacrosse; football; hockey), and
the reconcile that makes them one must change only the cells the owner
decides. scripts/test_game_over_check.py builds each plugin's real live
manager and records its answer for ESPN status x clock x period (missing,
1..6), edge shapes (null/non-numeric fields, non-string clocks, a tie at the
end of regulation) and ufc's recorded MMA payloads, against committed tables
of today's behaviour. It also checks every league's live manager in a plugin
resolves the same method, so one manager per plugin covers them all.

Test-only: no plugin code changes, so no version bumps.

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

coderabbitai Bot commented Oct 4, 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: fdb52c49-3b2d-4dc5-926f-84de15692050
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 48 complexity

Metric Results
Complexity 48

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.

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