Profiled the 23s hook step per hook. It is not evenly spread: mypy ~10s and pylint ~9s are the whole of it, and the remaining 21 hooks share ~4s. Local timings with a warm cache put mypy at 0.25s against 5.7s cold, so nearly all of its CI cost is re-analysing the stdlib and third-party stubs from scratch into a 19MB cache dir that was then thrown away. Keyed on the config rather than on the sources. The mypy cache metadata already records the interpreter, the flag set and a hash per source file, so mypy re-checks whatever actually changed and a restored cache cannot let stale code pass. The config hash is in the key regardless, so bumping the mypy rev or editing its args busts it. Deliberately not keyed on github.sha, which is the other common pattern: that re-saves 19MB x3 on every commit and would evict the 68MB hook caches under the 10GB LRU budget for the repo. A fixed key keeps the dependency analysis, which is the part that costs the 10s. pylint needs no change -- it already runs --jobs=4. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019kMvSMtsVMB3d2uoZ56pbp |
||
|---|---|---|
| .github/workflows | ||
| aur-publish | ||
| crdt_sync_dart | ||
| crdt_sync_flutter | ||
| crdt-sync | ||
| dep_freshness | ||
| design_system | ||
| dopamine-ux | ||
| file_length | ||
| firebase | ||
| freedays | ||
| gatelock | ||
| github_device_auth | ||
| guard-lib | ||
| home_paths | ||
| md_naming | ||
| music_theory | ||
| prompts | ||
| scripts | ||
| sync_settings_ui | ||
| ts_core | ||
| unified-design-system | ||
| vmbox | ||
| web_ui | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| dependency-freshness.allowlist.yaml | ||
| LICENSE | ||
| README.md | ||
utils
Shared libraries used across kuhyx's other projects. Each subdirectory is a
formerly-standalone repo, folded in here with full commit history preserved
(see each subdirectory's own git log for its pre-merge history).
crdt_sync_dart/
Dart/Flutter CRDT sync library (pub package name: crdt_sync, not published
to pub.dev — consumed via a git dependency). Mirrors crdt-sync (below)
module-for-module and test-for-test. Consumed by diet_guard's app,
screen-locker's workout_app, wake_alarm's phone_app, and todo (whose
notes are stored in the v0.2.0 LogStore).
Consume via:
dependencies:
crdt_sync:
git:
url: https://github.com/kuhyx/utils
ref: crdt_sync_dart-v0.10.0
path: crdt_sync_dart
sync_settings_ui/
Shared Flutter "Sync settings" screen (pub package name: sync_settings_ui,
not published to pub.dev). Firebase sync (primary) plus an optional local
backup slot — no GitHub mirror UI. Pure UI + a FirebaseSyncController
service layer over injected closures (keystore/Google-plugin access stays
in each consuming app, exactly as before this package existed). Consumed by
todo, diet_guard_app, workout_app, wake_alarm/phone_app, and
home_inventory's dedicated "Sync settings" route.
Consume via:
dependencies:
sync_settings_ui:
git:
url: https://github.com/kuhyx/utils
ref: sync_settings_ui-v0.1.0
path: sync_settings_ui
crdt-sync/
Python CRDT sync library (package: crdt_sync, not published to PyPI). Same
design as crdt_sync_dart (HLC clocks, per-field LWW, sticky-delete
tombstones). Consumed by diet-guard and screen-locker.
Consume via:
crdt-sync @ git+https://github.com/kuhyx/utils@crdt-sync-v0.2.0#subdirectory=crdt-sync
guard-lib/
Bash tamper-resistance primitives (guardctl: chattr + bind-mount + systemd
watcher + pacman hooks). Not a package — installed by running
guard-lib/install.sh as root, which copies files onto the system
(/usr/local/bin, /usr/local/lib/guard-lib, systemd units, pacman hooks).
Consumed by steam-backlog-enforcer (expects a guard-lib/install.sh
sibling clone) and referenced by screen-locker.
gatelock/
Python lock-window + HMAC log-integrity backend (package: gatelock, not
published to PyPI). Consumed via pip by screen-locker, diet-guard, and
wake-alarm:
gatelock @ git+https://github.com/kuhyx/utils@gatelock-v0.1.0#subdirectory=gatelock
music_theory/
Music theory from first principles as typed Python (package: music_theory,
not published to PyPI): pitch, tuning, scales, chords, progressions, a numpy
synth and a Recipe → WAV composer with a degrade transform. Follows Luke
Haas's "Music Theory for Programmers" section by section; python -m music_theory demo all --out DIR renders one WAV per section. Consumed by
roadside-assistance for its three world-state music beds.
Consume via:
music_theory @ git+https://github.com/kuhyx/utils@music-theory-v0.1.0#subdirectory=music_theory
unified-design-system/
Not a package — the frozen design tokens (colors, spacing, type, radius,
shadow policy) and per-stack (Flutter/web/Tkinter) implementation patterns
that keep every one of kuhy's repos visually identical, plus annotated
component references (components.html, button.html). Read
unified-design-system/README.md and
DOCS-tokens.md before touching any theme/CSS/style file in any repo. The
unified-design-system Claude Code skill is a thin pointer here, not a
duplicate.