wake-alarm/phone_app/test
Krzysztof kuhy Rudnicki c3c129b068 Make the morning session the carrot: earn 11:00 by finishing it in time
On 2026-09-19 the phone was powered off after the bathroom tag and nothing
on the PC noticed: every finished session was published and nothing read
it. Now wake-alarm distils the phone's morning into an HMAC-signed
~/.local/state/wake_alarm/morning_session.json (wake-alarm-session.timer,
07:00-11:00 every 2 min) that screen-locker and leetcode-guard read to
defer their locks -- provisionally until min(start + 90 min, 09:30) while
the session is live, until 11:00 once it completed inside that cutoff,
and not at all for a session finished later (the phone switched on at
noon completes the legs then; that must un-lock nothing).

The phone publishes the session at start as well as at finish
(current_session, cleared with the finish stamp), so the PC can tell
"started, not finished" from "never started". A required 1-5 energy tap
joins the weigh-in and ships as latest_energy with a PC reader mirroring
_weight (the shared half is _field_reader).

Also fixes the vmbox harness, red since the 2026-09-11 home-tidy: the
guest tree lives at ~/wake-alarm, and the INSTALL-OK grep matched vm's
echo of the command line. Takes Flutter 3.47.5.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tp54ewdXRLaimUuT8LgYyn
2026-09-19 16:40:51 +02:00
..
services Make the morning session the carrot: earn 11:00 by finishing it in time 2026-09-19 16:40:51 +02:00
fake_secure_storage.dart phone_app: add Google sign-in support for the Firebase sync account 2026-08-14 11:26:33 +02:00
firebase_backend_google_test.dart phone_app: add Google sign-in support for the Firebase sync account 2026-08-14 11:26:33 +02:00
free_day_interop_writer_test.dart Keep the morning session reachable after leaving the app; drop the still-phone watch 2026-09-17 09:01:22 +02:00
free_days_screen_test.dart Gate the free-day rules against the Python package, and fix two picker paths 2026-09-11 13:53:56 +02:00
google_platform_test.dart phone_app: add Google sign-in support for the Firebase sync account 2026-08-14 11:26:33 +02:00
google_sign_in_backend_test.dart phone_app: add Google sign-in support for the Firebase sync account 2026-08-14 11:26:33 +02:00
home_history_card_test.dart Make the morning session the carrot: earn 11:00 by finishing it in time 2026-09-19 16:40:51 +02:00
home_location_screen_test.dart Ring the away profile when the phone is not at home 2026-08-31 11:45:11 +02:00
ring_away_test.dart Ring the away profile when the phone is not at home 2026-08-31 11:45:11 +02:00
ring_bypass_test.dart Keep the morning going after the ring: weigh-in, shower, dress, desk, or it rings again 2026-09-16 22:35:40 +02:00
ring_route_test.dart Keep the morning going after the ring: weigh-in, shower, dress, desk, or it rings again 2026-09-16 22:35:40 +02:00
ring_session_handoff_test.dart Make the morning session the carrot: earn 11:00 by finishing it in time 2026-09-19 16:40:51 +02:00
room_proof_screen_test.dart Require two tags, the walk, and three answers to dismiss 2026-08-30 15:09:00 +02:00
session_screen_checkin_test.dart Make the morning session the carrot: earn 11:00 by finishing it in time 2026-09-19 16:40:51 +02:00
session_screen_relaunch_test.dart Make the morning session the carrot: earn 11:00 by finishing it in time 2026-09-19 16:40:51 +02:00
session_screen_test.dart Make the morning session the carrot: earn 11:00 by finishing it in time 2026-09-19 16:40:51 +02:00
session_tags_screen_test.dart Keep the morning going after the ring: weigh-in, shower, dress, desk, or it rings again 2026-09-16 22:35:40 +02:00
settings_screen_test.dart Ring the away profile when the phone is not at home 2026-08-31 11:45:11 +02:00
widget_test.dart Add wake_alarm_sync phone-side Flutter companion app 2026-07-10 23:16:11 +02:00