|
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
file length / file-length (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
palette drift / palette (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
shared gate tests / gate unit tests (push) Waiting to run
sickdays pre-commit / pre-commit (push) Waiting to run
sickdays tests / test (push) Waiting to run
A sick day may keep some lockers active: a locker stands down iff the day is sick and the locker is not in that day's keep set. New record field `keep` = [sorted, de-duplicated locker ids, hlc]. - add/remove write state, actor and keep on one tick (keep=[] on a clear), so a stale keep cannot survive a clear + re-add. - set_kept_lockers re-stamps only keep and actor; state keeps its clock, so a keep edit never re-asserts sick over a concurrent clear. Ticks are issued after every clock already on the record (clock-skew safe). - Reading: no keep (0.1.0) or keep older than state -> keep nothing; malformed keep -> every locker kept (fail closed, logged); unknown ids ignored. - API: stands_down, kept_lockers, set_kept_lockers, add_sick_day(keep=), SickDay.keep, LOCKER_* / LOCKERS. is_sick_day unchanged. - CLI: add --keep, keep DAY [LOCKER ...], list shows keep, check --locker. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PAhbNszs5JKdtnD4uBi3xp |
||
|---|---|---|
| .github/workflows | ||
| aur-publish | ||
| coverage_gaps | ||
| crdt_sync_dart | ||
| crdt_sync_flutter | ||
| crdt-sync | ||
| dep_freshness | ||
| design_system | ||
| dopamine-ux | ||
| earned_time | ||
| file_length | ||
| firebase | ||
| flutter-setup | ||
| freedays | ||
| gatelock | ||
| github_device_auth | ||
| guard-lib | ||
| home_paths | ||
| md_naming | ||
| music_theory | ||
| prompts | ||
| repo_contract | ||
| scripts | ||
| sickdays | ||
| sync_settings_ui | ||
| ts_config | ||
| ts_core | ||
| unified-design-system | ||
| vmbox | ||
| web_ui | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| CLAUDE.md | ||
| dependency-freshness.allowlist.yaml | ||
| LICENSE | ||
| README.md | ||
| TODO-pylint-fail-under-10.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.
ts_config/
@kuhyx/ts-config — the one lint / TypeScript bar every kuhyx TypeScript
repo extends (pnpm only, like ts_core and web_ui). A strict
tsconfig.base.json, ESLint flat-config presets (defineConfig() stacking
base / react / vitest / playwright / layer boundaries()), a type-free
eslint/fast subset for editor hooks, and Knip / jscpd / Stryker bases.
Plain JS, no build step; the git tag is the release. Every plugin is a
dependency of the package so consumers list none. A fixture repo with one
planted violation per rule family proves each gate bites.
"devDependencies": {
"@kuhyx/ts-config": "github:kuhyx/utils#ts_config-v0.1.0&path:/ts_config"
}