docs(afl-scoreboard): re-land the README that never reached main - #358
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 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 |
… renders Re-lands #356, which merged but never reached main: I based it on docs/7-segment-clock-readme so it could use the render tooling before that tooling existed on main, and #355 squash-merged that branch to main *before* at since. This is the same content, cut from main instead. Documentation only; no behaviour change. The README covered roughly fifteen of the plugin's 120-odd settings, had no images, and its "Key settings" table had drifted from the schema -- it listed show_favorite_teams_only as defaulting to false (it is true), display_duration as 30 (it is 15), and showed show_odds: false in an example labelled as the defaults. Game selection gets its own section, because it is the part that surprises people. There are three distinct code paths -- no favourites, favourites exclusively, and favourites-first-then-others -- and which one runs depends on whether favorite_teams is empty and whether show_favorite_teams_only is on. Most importantly, upcoming_games_to_show and recent_games_to_show mean a per-team budget in the exclusive path and a total in the other two, so three favourites and a value of 3 is nine cards or three depending on one unrelated checkbox. Four dead ends are recorded, each verified rather than assumed: show_odds is a no-op for AFL because ESPN publishes no odds block for the league (a full finals-week payload contains zero) though it still issues one odds request per selected game; show_ranking has no poll to read; and dynamic_duration.min_duration_seconds and background_service.max_workers are in the schema but never applied. Re-verified against main rather than assumed still-current: every documented default still matches config_schema.json after #353 and #354, and the committed images re-render byte-identical against main's sports.py, which those PRs changed. The harness passes 24/24. Version bumped from main's current 1.19.0 rather than the 1.17.3 the stranded branch carried. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
#357 took the plugin to 1.19.1 while this was open, so the docs bump moves to 1.19.2 and sits on top of it. Images re-verified byte-identical after the rebase; plugins.json regenerated. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
c9c100b to
e29b505
Compare
|
Rebased onto main now that #357 has merged. That PR took afl-scoreboard to Images re-verified byte-identical after the rebase ( |
Up to standards ✅🟢 Issues
|
main gained #355, #357 and #358 while this branch was in review. The only conflicts were plugins.json and the eight scoreboard manifests, all of them version bookkeeping -- no code conflicted. #357 ("retry a logo whose download previously failed") was the one worth checking, since it touches the scoreboards. It changed sports.py, not game_renderer.py, and none of the twenty methods this branch delegates to src/common/sports_card.py. Its 1.x.1 releases are kept in each manifest's version history beneath this branch's entry, and each version was recomputed as the next minor above main's rather than reusing the number this branch picked before #357 landed. plugins.json is regenerated with update_registry.py, never merged by hand.
Why this exists
#356 shows as merged but its content is not on
main. My mistake: I based it ondocs/7-segment-clock-readmeso it could use the render tooling before that tooling existed onmain. #355 then squash-merged that branch intomainbefore #356 merged into it, so the AFL work has been sitting on a branch nothing points at.This is the same content, cut from
main. Nothing to review differently — but worth knowing #356 is a dead end, and the branch can be deleted.Every plugin PR from here targets
maindirectly; the stacking was only ever needed while the tooling was unmerged.What it does
Documentation only; no behaviour change.
The README covered ~15 of the plugin's ~120 settings, had no images, and its defaults table had drifted from the schema — it listed
show_favorite_teams_onlyas defaulting tofalse(it istrue),display_durationas30(it is15), and showedshow_odds: falsein an example labelled as the defaults.Game selection gets its own section. Three distinct code paths, chosen by whether
favorite_teamsis empty and whethershow_favorite_teams_onlyis on:upcoming_games_to_showmeansThree favourites with a value of
3is nine cards or three, depending on one unrelated checkbox.Four dead ends, each verified:
show_oddsis a no-op for AFL (ESPN publishes no odds block for the league — a full finals-week payload contains zero — yet it still issues one odds request per selected game);show_rankinghas no poll to read;dynamic_duration.min_duration_secondsandbackground_service.max_workersare in the schema but never applied.Re-verified against current main, not assumed
mainmoved under this work (#353 and #354 changedsports.pyand the schema), so I re-checked rather than trusting the old branch:config_schema.json— checked all 81 documented rows programmatically.sports.py, viarender_docs_assets.py --check. That is the reproducible-render setup earning its keep.check_plugin.py— 24/24 PASS.1.19.0, not the1.17.3the stranded branch carried.One collision to be aware of
#357 (the logo placeholder fix) also bumps afl-scoreboard to
1.19.1. Whichever of the two merges second needs a re-bump to1.19.2— say the word and I'll handle it once you've picked an order.🤖 Generated with Claude Code