mirror of
https://github.com/kuhyx/diet-guard.git
synced 2026-11-11 14:27:39 +01:00
Meal-slot checkpoints move from whole hours to minute-of-day ints
(0..1439) in the pure model and slot arithmetic of both languages:
MealSchedule(first_minute, last_minute, count) / (firstMinute:,
lastMinute:, count:), interior slots snapped to the 15-minute grid,
endpoints exact, integer-only. New: nearest_slot, satisfied_slots,
slot_fields / entry_slot_minute (additive "slot_min" wire field) and
schedule_to_wire / schedule_from_wire ("fm"/"lm" only when off the hour,
so whole-hour data stays byte-identical), parse_hhmm.
tests/fixtures/meal_schedule_vectors.json (scripts/
build_meal_schedule_fixture.py) is read by both suites; kuchnia_day.json
slot values regenerated as minutes.
Consumers (CLI, gate, storage, sync, app screens, kuchnia, notifications)
are intentionally broken until phase 2. patch-targets skipped: it fails
only because diet_guard._gatelock no longer imports.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015npsYVB2PdtWkG7MPAi4tn
|
||
|---|---|---|
| .. | ||
| desktop | ||
| models | ||
| screens | ||
| services | ||
| widgets | ||
| fake_notifications.dart | ||
| fake_secure_storage.dart | ||
| fill_all_row_test.dart | ||
| firebase_backend_google_test.dart | ||
| google_platform_test.dart | ||
| google_sign_in_backend_test.dart | ||
| keyboard_operability_test.dart | ||
| kuchnia_bank_interop_test.dart | ||
| kuchnia_fill_cancel_test.dart | ||
| kuchnia_fill_flow_test.dart | ||
| kuchnia_fill_parity_test.dart | ||
| kuchnia_fill_support.dart | ||
| kuchnia_fill_test.dart | ||
| kuchnia_parity_test.dart | ||
| repo_invariants_test.dart | ||
| sync_merge_kuchnia_test.dart | ||
| widget_test.dart | ||