Skip to content

Kai v2.1.0

Choose a tag to compare

@gertybot gertybot released this 28 Sep 10:30
· 46 commits to main since this release
cc5924e

Chain wax tracking is now a script instead of arithmetic done by the agent. Additive release: nothing to change if you don't use it.

What's new

  • skills/strava/scripts/chain-wax.py (Python standard library only) keeps a ledger of chain waxes per bike and reads live bike odometers from Strava.
    • report shows km since the last wax and the next-due odometer for each bike (--json for machine output).
    • log records a wax: today with the live odometer by default, or a past date with --odometer. Options: --product, --kind hot|drip, --interval MIN-MAX, --degreased.
    • add-bike and set-odometer create the ledger and handle bikes without Strava tracking (a partner's bike, say): you give the odometer by hand and the report flags readings older than 30 days.
  • Statuses: OK, DUE SOON (the last 10% before the minimum), DUE (between minimum and maximum), OVERDUE.
  • Due ranges are fixed when a wax is logged. Hot wax defaults to an early first re-wax at 150-250 km (the first coating is thin), then 450-500 km. Drip lube defaults to 200-300 km. Any interval can be set.
  • Indoor kilometres count, since a chain wears on the trainer too.
  • Safe writes: the ledger is written atomically, and a corrupt ledger is reported and never overwritten.
  • AGENTS.md: Kai now runs the script whenever bike mileage or maintenance comes up, so the answer is the same every session.
  • Ledger file: skills/strava/data/chain-wax.json is git-ignored personal data; chain-wax.example.json shows the format.
  • Tests: 24 offline tests for the script and 3 repo-hygiene tests (the right files tracked, personal files ignored). 44 in total.

Getting started

python3 skills/strava/scripts/chain-wax.py add-bike road --name "Road bike" --gear-id <your Strava bike id>
python3 skills/strava/scripts/chain-wax.py log road --odometer <km at your last wax> --date <YYYY-MM-DD> --product "Hot wax"
python3 skills/strava/scripts/chain-wax.py report

Find your Strava bike ids with skills/strava/scripts/gear-mileage.sh. Full details are in the Strava skill README.

Known issues

  • FIT downloads from the Garmin skill are saved as a ZIP, so analyze/parse on them fails (#15).
  • Tyre ledger helper commands are still hand-edited JSON (#16).
  • The Hermes Agent and Codex setups are still untested against live installs.

Full changelog: v2.0.0...v2.1.0