Files
sentiment-engine/cronicle.hcl
Codex 5e9168ac1d pi_wake_agent: --pane targeting + crontab backend fallback + cronicle HCL fix + hermetic tests
- --pane/--pane-id: write-chars AND write(13) hit terminal_1 (bottom pane)
- cronicle_available()=shutil.which + daemon-live check; crontab/crnd auto-fallback
  (cronicle daemon down here -> live scheduler is system crnd)
- fix cronicle_install invalid HCL (command=[...] array, was bare comma-list)
- rewrite TestCrontabEntry hermetic (subprocess mocked; real crontab never touched)
- add --pane-id / no-pane omission / HCL-array mutation-litmus tests; .sh --pane
- cronicle.hcl: corrected pi_wake_pi_test_20m (msg + --pane terminal_1), valid HCL
- live 20m crontab doorbell installed for pi_test/terminal_1, bell verified delivered
- SIGQUIT rescued a locked pi (final_test @1318s); steer queued + bus-posted
2026-09-14 21:31:37 +02:00

25 lines
947 B
HCL

# pi_wake_agent schedules (cronicle backend).
#
# IMPORTANT (see AGENTS.md): on this host the cronicle daemon is NOT running
# (not supervised), so these schedules are INERT. The LIVE scheduler is system
# crnd via crontab (see `crontab -l`). This HCL is only served when
# `cronicle run --path <this-file>` is supervised. The pi_test 20m wake is
# installed into crontab as well, so it actually fires regardless.
schedule "pi_wake_pi_test_20m" {
cron = "@every 20m"
task "wake" {
command = ["/mnt/dolphinng5_predict/pi_wake_agent.py", "--run", "--interval", "20m", "--sessions", "pi_test", "--pane", "terminal_1", "--msg", "Please carefully continue your work"]
}
}
# Sample multi-session schedule (kept from the original config).
schedule "pi_wake_s1_s2_1h" {
cron = "@every 1h"
task "wake" {
command = ["/mnt/dolphinng5_predict/pi_wake_agent.py", "--run", "--interval", "1h", "--sessions", "s1,s2", "--msg", "test"]
}
}