utils/.github/workflows
Krzysztof kuhy Rudnicki 894d76f811 sickdays 0.1.0 + earned_time 0.11.0: uncapped sick-day pool, 20:00 sick shutdown floor
sickdays: per-date pool, no cap or reason, add/remove today or later only,
import_legacy for the migration. LWW state flip per date (no tombstones),
Firebase RTDB sickdays-sync/devices/<uuid>/sick_days.json, HMAC audit trail.
Readers fail closed (unreadable pool = not sick, logged); writers refuse a
corrupt pool. Free-day cross-check via a lazily imported freedays predicate.

earned_time: resolve(..., sick=True) floors the final shutdown at 20:00
(capped at the ceiling); gaming, terms and base unchanged. Result dataclasses
moved to _resolution.py for the line cap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xfj1sxKH9VBPqpcAni8Jry
2026-10-16 08:23:00 +02:00
..
crdt-sync-dart-tests.yml crdt_sync_dart: latest stable + exact pins, 100% coverage, CI for both crdt_sync packages 2026-08-28 12:32:24 +02:00
crdt-sync-flutter-tests.yml crdt_sync_dart: latest stable + exact pins, 100% coverage, CI for both crdt_sync packages 2026-08-28 12:32:24 +02:00
crdt-sync-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
crdt-sync-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
dependency-freshness.yml Refuse to overwrite utils' own checker with the delegate shim 2026-08-28 16:02:34 +02:00
design-system-tests.yml Wire design_system into CI, and drop EmptyState's speculative action slot 2026-08-14 23:08:59 +02:00
earned-time-precommit.yml earned_time 0.1.0: one penalty-then-reward registry for gaming and shutdown time 2026-10-04 18:44:30 +02:00
earned-time-tests.yml earned_time 0.1.0: one penalty-then-reward registry for gaming and shutdown time 2026-10-04 18:44:30 +02:00
file-length.yml One Python per repo, always the newest, and the gate that enforces it 2026-08-28 20:58:19 +02:00
freedays-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
freedays-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
gatelock-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
gatelock-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
github-device-auth-tests.yml github_device_auth: extract the GitHub device flow from four apps 2026-08-15 15:57:19 +02:00
md-naming.yml Add the shared markdown-naming gate and migrate utils' own docs 2026-08-24 15:53:12 +02:00
music-theory-tests.yml music_theory: music theory from first principles, as code you can hear 2026-09-11 18:29:13 +02:00
palette-drift.yml One Python per repo, always the newest, and the gate that enforces it 2026-08-28 20:58:19 +02:00
repo-contract.yml repo contract + coverage_gaps gates, test_changed, dependency bumps 2026-10-04 16:27:28 +02:00
shared-gates-tests.yml repo contract + coverage_gaps gates, test_changed, dependency bumps 2026-10-04 16:27:28 +02:00
sickdays-precommit.yml sickdays 0.1.0 + earned_time 0.11.0: uncapped sick-day pool, 20:00 sick shutdown floor 2026-10-16 08:23:00 +02:00
sickdays-tests.yml sickdays 0.1.0 + earned_time 0.11.0: uncapped sick-day pool, 20:00 sick shutdown floor 2026-10-16 08:23:00 +02:00
sync-settings-ui-tests.yml Add sync_settings_ui: shared Firebase-only sync settings screen 2026-08-12 23:10:17 +02:00
ts-config-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00
ts-core-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00
web-ui-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00