Skip to content

docs(afl-scoreboard): re-land the README that never reached main - #358

Merged
ChuckBuilds merged 2 commits into
mainfrom
docs/afl-scoreboard-readme-relanded
Sep 2, 2026
Merged

docs(afl-scoreboard): re-land the README that never reached main#358
ChuckBuilds merged 2 commits into
mainfrom
docs/afl-scoreboard-readme-relanded

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

Why this exists

#356 shows as merged but its content is not on main. My mistake: I based it on docs/7-segment-clock-readme so it could use the render tooling before that tooling existed on main. #355 then squash-merged that branch into main before #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 main directly; 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_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. Three distinct code paths, chosen by whether favorite_teams is empty and whether show_favorite_teams_only is on:

Selection mode upcoming_games_to_show means
No favourites A total across the league
Favourites, exclusively A budget per favourite team
Favourites first, then others A total for the favourites portion only

Three favourites with a value of 3 is nine cards or three, depending on one unrelated checkbox.

Four dead ends, each verified: show_odds is 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_ranking has no poll to read; dynamic_duration.min_duration_seconds and background_service.max_workers are in the schema but never applied.

Re-verified against current main, not assumed

main moved under this work (#353 and #354 changed sports.py and the schema), so I re-checked rather than trusting the old branch:

  • Every documented default still matches config_schema.json — checked all 81 documented rows programmatically.
  • The committed images re-render byte-identical against main's sports.py, via render_docs_assets.py --check. That is the reproducible-render setup earning its keep.
  • check_plugin.py — 24/24 PASS.
  • Version bumped from main's current 1.19.0, not the 1.17.3 the 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 to 1.19.2 — say the word and I'll handle it once you've picked an order.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Sep 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: Team

Run ID: c6ae814f-b6b7-4da2-86eb-cf1fe54fda02


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.

ChuckBuilds and others added 2 commits September 2, 2026 13:21
… 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>
@ChuckBuilds
ChuckBuilds force-pushed the docs/afl-scoreboard-readme-relanded branch from c9c100b to e29b505 Compare September 2, 2026 17:22
@ChuckBuilds

Copy link
Copy Markdown
Owner Author

Rebased onto main now that #357 has merged.

That PR took afl-scoreboard to 1.19.1, which is what this branch was also claiming — the manifest was the only rebase conflict. Resolved by keeping #357's 1.19.1 entry and stacking this docs bump on top as 1.19.2, so the changelog reads in the order things actually landed.

Images re-verified byte-identical after the rebase (render_docs_assets.py --check), plugins.json regenerated. The version-collision note in the description is now resolved — nothing left for you to sequence.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

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
ChuckBuilds merged commit 009a9e7 into main Sep 2, 2026
4 checks passed
@ChuckBuilds
ChuckBuilds deleted the docs/afl-scoreboard-readme-relanded branch September 2, 2026 17:44
ChuckBuilds pushed a commit that referenced this pull request Sep 2, 2026
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.
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