Keel v1.12.1 — Update checks once a day, not once per chat
What's new in 1.12.1
Update-check throttle — at most one remote check per 24 hours per project
Field-tested friction: with the lock forcing a full SKILL.md read at every session start, the remote release lookup (git ls-remote / GitHub API) ran in every new chat and delayed the start of work.
- A tiny machine-local stamp at the project root —
.keel-update-check, one line with the UTC timestamp of the last attempt and its outcome — now throttles it: less than 24 hours old → the remote lookup is skipped silently; missing, unparsable, or 24+ hours old → run it, then rewrite the stamp after EVERY attempt, success or failure, so a flaky network cannot re-impose the wait on every chat. - Only the remote lookup is throttled. The installed-vs-embedded copy comparison, the full SKILL.md read, the stamp-only lock-freshness check, and the
Keel baseline:comparison still run in every session — they are local and free. - Asking explicitly for an update check always bypasses the throttle.
- The stamp is never committed: it joins
CLAUDE.local.mdand.claude/settings.local.jsonas an unconditional.gitignoreentry (Phase 5 scaffold, Phase 7 list,claude-config.mdand MANIFEST Table 1 updated).
How to update
Replace your installed keel/ directory with this release's (see INSTALL.md, "Updating"). From the next session in each project, the first update check writes the stamp — and every other chat that day starts instantly.