mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-10 20:07:18 +01:00
The hook entry was an absolute /home/kuhy/utils path, copied from a config written for ~/.claude where it only ever ran locally. On an Actions runner that is exit code 127 — "No such file or directory" — so gatelock-precommit and crdt-sync-precommit failed on every commit of this refactor while the hook silently checked nothing. Now repo-relative, matching the sibling hooks (`entry: scripts/check_subproject_scope.sh`): pre-commit always runs from the git root, so it resolves the same in both places. Fixing that made the CI configs runnable locally, and `--all-files` then found what per-file runs had missed — ruff pruning imports that exist *for* their re-export. `import crdt_sync` was broken three separate ways (FileSyncStateStore, encode_key, FileCredentialStore). Each affected module now states an explicit __all__ so the autofixer cannot take them again, and the two files that pushed past the cap once __all__ was added are split further: _firebase.py 260 -> 247 + _fberrors 25 _sync.py 257 -> 188 + _syncargs 91 Test patch targets followed the code they patch: gatelock._outputs.shutil -> _xrandr.shutil, gatelock._arbiter.Path -> _claims.Path. gatelock and crdt-sync both pass `pre-commit run --all-files` in full; 389 and 259 tests at 100% branch coverage; the root gate exits 0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CFSGeWxHPY5rHUGrPqhcmG |
||
|---|---|---|
| .. | ||
| tests | ||
| __init__.py | ||
| _arbiter.py | ||
| _arming.py | ||
| _claims.py | ||
| _config.py | ||
| _density.py | ||
| _detect.py | ||
| _escape_types.py | ||
| _escape.py | ||
| _fitcheck.py | ||
| _grabwatch.py | ||
| _guards.py | ||
| _hooks.py | ||
| _keyboard.py | ||
| _output_types.py | ||
| _outputs.py | ||
| _placement.py | ||
| _preempt.py | ||
| _queue.py | ||
| _randr.py | ||
| _recovery_types.py | ||
| _recovery.py | ||
| _root.py | ||
| _scrollable.py | ||
| _scrollfit.py | ||
| _scrollkeys.py | ||
| _surface_types.py | ||
| _surfaces.py | ||
| _textmirror.py | ||
| _userintent.py | ||
| _vt.py | ||
| _window.py | ||
| _xrandr.py | ||
| log_integrity.py | ||
| widget_group.py | ||
| widgets.py | ||