Skip to content

Give the README a banner and badges, and correct what it claims - #4

Merged
MaxWinterstein merged 1 commit into
mainfrom
docs/presentation
Sep 22, 2026
Merged

MaxWinterstein merged 1 commit into
mainfrom
docs/presentation

Conversation

@MaxWinterstein

Copy link
Copy Markdown
Owner

Two things: presentation, and accuracy. The second half is the more valuable one.

Corrections — all of these had drifted

claim reality
"Three real sessions, all Forerunner 265 in a 50 m pool" the table has six rows, two of them an 18 m pool
"a heuristic tuned on four files" seven fixtures
"four sessions from one swimmer" seven, across two pool sizes
"the split is 40 strokes per length … it should be derived from the session instead of hard-coded" it has been derived since swim-05 — strokeSplit defaults to auto and scales from the pool length. The paragraph described a wish that had already been granted.

And AGENTS.md still said "It is private today", listing two things parked until it wasn't — the Pages workflow_run trigger (live) and checking needles.local.json is untracked (it is). Replaced with the consequence that does still apply: everything pushed is published immediately, including the parts that don't look like data — a filename, a commit message, a fixture name. Which is exactly how the activity id got out last time.

Banner

Committed as .github/banner.svg, referenced by relative path. Two deliberate choices:

  • Opaque, not adaptive. GitHub renders README images through its proxy, where prefers-color-scheme follows the reader's operating system, not the theme GitHub is actually showing. An adaptive banner is wrong for anyone with those two set differently.
  • The fact strip is one <text> element, not three positioned ones. No font is guaranteed. My first version positioned three pieces at fixed x offsets and I measured it colliding with the artwork (text ending at x=811, artwork starting at 792) in a monospace fallback. Now measured clear at 729.

I also had to learn that -- is illegal inside an XML comment — the first version of the file didn't parse at all, which rendering it immediately showed. There's a note in the file for the next person, since the project's comment style uses exactly that dash.

Badges

Every one was fetched and its rendered text read before use:

badge renders
CI CI - passing
site site: success
runtime dependencies runtime dependencies: 0
licence licence: MIT

Rejected: an npm version badge — fitfix isn't published, so it renders npm: package not found. Also rejected: release badge (no releases), last-commit (showed "august" despite a same-day push).

The dependency badge is hand-maintained and static, and links to the section explaining why the project has none.

Not done, on purpose

  • No screenshot. It belongs right under the disclaimer and would earn its place — but this sandbox has only Liberation/DejaVu fonts and no emoji font, so anything I capture renders in the wrong typeface with tofu boxes for every icon. It needs taking on a real machine.
  • The import from 'fitfix' example was left alone. It was flagged as broken; it isn't. npm workspaces symlinks node_modules/fitfix -> packages/fitfix, so it resolves — I checked — and the README already says it's "a local module rather than a published package for now".
  • The H1 gives way to the banner, whose alt text carries the same words. Say the word if you'd rather keep both.

task check green: 79 tests, lint, privacy scan, build.

🤖 Generated with Claude Code

Presentation: an SVG banner and four badges. The banner is committed rather
than hotlinked and is opaque rather than adaptive, because GitHub renders
README images through its proxy where `prefers-color-scheme` follows the
reader's operating system and not the theme GitHub is showing -- an adaptive
banner is wrong for anyone with those two set differently. Its fact strip is
one text element, not three positioned ones: no font is guaranteed, and the
first measurement-based layout I tried overlapped the artwork in a monospace
fallback.

Each badge was fetched and read before being used. CI renders "passing", the
Pages deployment "success", the licence "MIT", and the dependency count is a
hand-maintained static badge that is true and is the point of the project. An
npm version badge is deliberately absent: fitfix is not published, so it
renders "package not found".

Corrections, all of which had drifted:

- "Three real sessions" headed a table with six rows, two of them in an 18 m
  pool rather than the 50 m the sentence promised.
- "tuned on four files" and "four sessions from one swimmer" against seven
  fixtures.
- The freestyle/breaststroke split was described as hard-coded at 40 strokes
  per length with a note that it "should be derived from the session". It has
  defaulted to 'auto' and scaled from the pool length since swim-05, so the
  paragraph described a wish that had already been granted.

AGENTS.md said "It is private today" and listed two things parked until it was
not, both long done. Replaced with the consequence that actually still
applies: everything pushed is published immediately, including the parts that
do not look like data -- a filename, a commit message, a fixture name.

The H1 gives way to the banner, whose alt text carries the same words.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 23 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 7353fce1-f1a1-401f-9782-6ea861abd1b8

📥 Commits

Reviewing files that changed from the base of the PR and between 862e5aa and dc6bd6a.

⛔ Files ignored due to path filters (1)
  • .github/banner.svg is excluded by !**/*.svg
📒 Files selected for processing (2)
  • AGENTS.md
  • README.md

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.

@MaxWinterstein
MaxWinterstein merged commit ba8a1e5 into main Sep 22, 2026
2 checks passed
@MaxWinterstein
MaxWinterstein deleted the docs/presentation branch September 22, 2026 09:37
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