testsAndMisc/docs/superpowers/contracts/morning-routine-unified-2026-05-25.json
Krzysztof kuhy Rudnicki c80f7cc112 morning_routine: unified alarm+lock orchestrator, fix alarm audio/reliability
- New python_pkg/morning_routine package: sequential orchestrator runs wake
  alarm then workout lock as blocking subprocesses (one fullscreen owner at
  a time). Deployed as morning-routine.service; sleep hook updated to start
  it on hibernate-resume instead of the standalone wake-alarm.service.

- wake_alarm: force G27Q HDMI card profile on at alarm time, poll up to 6s
  for sink to appear, set as default + unmute 100%. Alarm now persists until
  the typeable code is entered (no more silent 30-min give-up). Service gets
  DISPLAY=:0 + ExecStartPre sleep 1 to fix cold-boot Tkinter crash.

- phone_focus_mode/config.sh: whitelist Revolut, mObywatel, VaultKitBypass.

- 100% branch coverage maintained across wake_alarm and morning_routine.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:55:27 +02:00

19 lines
1.2 KiB
JSON

{
"title": "Unified morning routine: alarm + workout lock orchestrator",
"objective": "Replace the fragile standalone wake_alarm service with a unified orchestrator that runs alarm then workout lock sequentially, fixing the silent/missed alarm caused by missing HDMI audio activation and 30-min silent give-up. One service owns the fullscreen at a time.",
"acceptance_criteria": [
"morning-routine.service runs alarm (blocks until dismissed) then workout lock",
"Alarm forces G27Q HDMI card profile on and polls for sink before playing audio",
"Alarm persists until typeable code is entered (no more silent give-up after 30 min)",
"wake-alarm.service autostart disabled; sleep hook starts morning-routine.service on resume",
"100% branch coverage maintained for wake_alarm and morning_routine packages",
"All pre-commit hooks pass (ruff, mypy, pylint, bandit, shellcheck)"
],
"out_of_scope": [
"Changing workout-locker.service login-time behavior",
"Supporting audio outputs other than G27Q HDMI",
"Bluetooth speaker reconnection at wake time"
],
"verifier": "pre-commit run --files <all changed files> && systemctl --user start morning-routine.service"
}