morning_timer.sh — schedule the morning routine overnight on the dev box - #258
Merged
Conversation
…he dev box install/uninstall/status/print over a systemd user timer (pyauto-morning.timer, Persistent=true so a slept-through night is caught up; lingering hint when off) with a marked-crontab fallback — one command and the sync/clean/publish leg has already run by the time the human wakes, so the board reads 'observed this morning' at first glance. The board's own cloud refresh is separate and unaffected; the publish push re-triggers a render anyway. Hour range validated; cron fields zero-stripped. 3 hermetic tests over the print projection. Co-Authored-By: Claude <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Human ask: "can morning run overnight so it's automatically there by the time I wake up?" — every leg of
morning.shis local (it syncs/cleans your checkouts and publishes your dev-box observation), so the schedule has to live on the dev box; this adds the one-time installer.bash bin/morning_timer.sh install [HH:MM](default 05:30 local) sets up a systemd user timer —pyauto-morning.timer,Persistent=trueso a night the machine slept through is caught up at next wake, with a lingering hint when it's off — falling back to a marked crontab line where there's no systemd user session (MORNING_TIMER_MODEoverrides).uninstall/status/printcomplete the surface;printrenders exactly what install would write, which is what the 3 hermetic tests pin (timer schedule + Persistent, zero-stripped cron fields + marker, HH:MM validation incl. hour range). README + morning.sh headers point at it.The board's own 05:30 UTC cloud refresh is separate and unaffected — and the publish push re-triggers a render anyway, so the board updates minutes after the local run regardless of ordering.
Prereqs noted in the header: non-interactive git push credentials on the dev box; the clean-slate caveat if other overnight local jobs write regenerable datasets.
Validation: 424 tests pass; firewall gate green; both
printprojections smoke-tested.🤖 Generated with Claude Code
https://claude.ai/code/session_019U2DF4JeeuWwxfx1v72c9r
Generated by Claude Code