mirror of
https://github.com/kuhyx/diet-guard.git
synced 2026-11-11 19:53:53 +01:00
Documents the Dart mirror, the phone's two triggers (guarded log screen, unguarded settings button — the same split as the gate vs the CLI), and the device-local fetch marker on both sides. The three parity traps are written where the next reader will hit them, because each survived review once: `_ENERGY_TOLERANCE` is 0.35 and the "~1%" elsewhere describes the captured day, not the threshold; `jsonEncode(435)` emits `435` where Python emits `435.0`; and Dart's `List.sort` is unstable where Python's `sorted` is stable. Also states plainly what the shared fixture does *not* prove: that the two implementations agree on a fixed payload, not that they agree against the live panel. **That second claim is now observed rather than inferred.** On 2026-08-23, with the credential synced to the phone and nothing typed on it, the phone logged into the live panel and banked 5 dishes. Pulling that back to the PC left all five curated-bank records carrying their original 08:00:03 PC timestamps, unchanged — the phone's records were byte-identical, so its idempotency guard wrote nothing. Any disagreement would instead have re-added them with fresh stamps and started the republish flood. Split into a second file for the 250-line cap. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QQpCiPaSbyRpwsLkH3dgsX |
||
|---|---|---|
| .. | ||
| explanations | ||
| design.md | ||
| flutter-rules-design.md | ||
| flutter-rules-language.md | ||
| flutter-rules-state-and-data.md | ||
| flutter-rules-testing-and-assets.md | ||
| flutter-rules-ui.md | ||
| kuchnia-wikinga-phone.md | ||
| kuchnia-wikinga.md | ||
| meal-schedule.md | ||
| sync-latency.md | ||