docs(sports): record where B6 stands, and why it is waiting - #435
docs(sports): record where B6 stands, and why it is waiting#435ChuckBuilds wants to merge 3 commits into
Conversation
The phase table had B4 as "next" and B5 as "after B4" while both had shipped,
and described B6 as blocked on B4's gate — which is now merged and released. A
plan that misreports which phase it is in is worse than no plan: the next
person reads it and repeats finished work.
Corrected, and three things that were only ever decided in conversation are now
written down:
* **B6 is deliberately held.** 3.2.0 published 2026-08-03; 3.1.0 ran nine
months before it. B6's premise is that cores without the module are gone,
and there is no release-asset count or install telemetry to show that.
Running it now strands users on their current plugin versions. The gate
that makes it safe is already built and tested — it is the calendar that is
missing, and no amount of further code changes that.
* **Stop adopting further shared modules** (data_sources, game_renderer,
base_odds_manager) until B6 closes. Each adoption adds a copy to keep in
step against a payoff contingent on B6.
* **A B5 retrospective**, because "the adoption went fine" is not what
happened: four of eight shipped with scroll mode broken on a 3.2.0 core.
The bundled fallback did not protect against it — the break was on the
modern path — which is an argument for the sunset, not against it. Records
the ledger too: net negative on disk until B6 runs.
Also replaces the "what's next" list, whose first five items were all done,
with what actually remains.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01Udr6MfaFLUPhX5Fgo67Jf5
|
Warning Review limit reached
Next review available in: 56 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe rollout documentation now records B4 and B5 completion, keeps B6 blocked pending 3.2.0 adoption evidence, documents B5 defects and corrective validation, and lists the remaining work. ChangesSports unification rollout
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Up to standards ✅🟢 Issues
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/SPORTS_UNIFICATION.md`:
- Around line 361-367: Update the earlier B5 safety claim in
docs/SPORTS_UNIFICATION.md to promise only fallback compatibility on cores
without the shared module, not immunity from runtime regressions during
adoption. Retain the documented requirement for object-level and scroll-mode
validation to verify full behavior.
- Line 409: Fix the ATX heading syntax in the documentation around the manifest
entry text by adding the required space after the heading marker, preserving the
existing heading content.
🪄 Autofix
✅ Autofix completed
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: a54a3e92-1a8b-4421-bb8f-67ad616495e4
📒 Files selected for processing (1)
docs/SPORTS_UNIFICATION.md
| Steps 1–5 of the original plan are **done**: 3.2.0 is tagged and published with | ||
| a version number CI now asserts (#428), the compatibility gate is in | ||
| `install_plugin` and reads `compatible_versions` as well as the floor (#431, | ||
| #433), the newest manifest entry is required to use `ledmatrix_min_version` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
sed -n '404,412p' docs/SPORTS_UNIFICATION.md
markdownlint-cli2 docs/SPORTS_UNIFICATION.mdRepository: ChuckBuilds/LEDMatrix
Length of output: 9028
Add the missing space to the ATX heading on line 409.
markdownlint-cli2 reports MD018 for line 409 (#433), the newest manifest ent...). Change it to #433) so it is valid Markdown heading syntax.
🧰 Tools
🪛 markdownlint-cli2 (0.23.2)
[warning] 409-409: No space after hash on atx style heading
(MD018, no-missing-space-atx)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/SPORTS_UNIFICATION.md` at line 409, Fix the ATX heading syntax in the
documentation around the manifest entry text by adding the required space after
the heading marker, preserving the existing heading content.
Source: Linters/SAST tools
Fixes Applied SuccessfullyFixed 1 file(s) based on 2 unresolved review comments. Files modified:
Commit: The changes have been pushed to the Time taken: |
Fixed 1 file(s) based on 2 unresolved review comments. Co-authored-by: CodeRabbit <[email protected]>
A line wrapped onto "#433), the newest manifest entry ...", which markdownlint reads as a malformed ATX heading (MD018). Reflowed so the line starts with "(#431, #433)" instead. Not the suggested fix: adding a space after the hash would have turned the PR reference into "# 433". The B5 safety claim raised alongside this was already corrected in ac44b5a. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01Udr6MfaFLUPhX5Fgo67Jf5
The phase table had B4 as "next" and B5 as "after B4" while both had shipped, and described B6 as blocked on B4's gate — which is now merged and released. A plan that misreports which phase it is in is worse than no plan: the next person reads it and repeats finished work.
Corrected, and three things that were only ever decided in conversation are now written down.
B6 is deliberately held
3.2.0 was published 2026-08-03; 3.1.0 ran nine months before it. B6's premise is that cores without
src.common.sports_scrollare gone, and there is no release-asset count or install telemetry to demonstrate that. Running it now strands users on their current plugin versions.The gate that makes B6 safe is already built and tested — it refuses installs whose floor exceeds the core version, and refuses floors above 2.0.0 on a core reporting an untrustworthy version. It is the calendar that is missing, and no amount of further code changes that. Also records the traps for whoever runs it: four plugins declare their floor top-level where editing
versions[0]is a silent no-op, and the floor has three live spellings.Stop adopting further shared modules
data_sources.py(9 copies),game_renderer.py(8),base_odds_manager.py. Each adoption adds a second copy to keep in step against a payoff contingent on B6.A B5 retrospective
Because "the adoption went fine" is not what happened — four of eight plugins shipped with scroll mode broken on a 3.2.0 core (repaired in plugins #251, tidied in #252). Three points worth carrying forward:
self.NHL_SEPARATOR_ICONis an attribute read. The fix was to stop reasoning about source and build the object.target_fps).Also replaces the "what's next" list, whose first five items were all done, with what actually remains: the stale plugin-test tranche, hardware soaks for the six unsoaked adoptions, and a
CLAUDE.mdpanel-size fix.Documentation only — no code changes.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Udr6MfaFLUPhX5Fgo67Jf5
Summary by CodeRabbit