docs(contrib): scheduling templates for mempalace-pi-session

Drop-in equivalents of the opencode templates for each scheduler
mechanism:

  systemd/mempalace-pi-session.{service,timer}
  launchd/se.jordbo.mempalace-pi-session.plist
  cron/mempalace-pi-session.cron

Schedule is staggered from the opencode jobs (Mon 03:00 -> Tue 03:00)
so machines running both don't race each other on the post-mine HNSW
repair step. Service unit uses ConditionPathExists=%h/.pi/agent/sessions
to no-op silently on machines that haven't used pi, matching the
opencode template's guard on ~/.local/share/opencode/opencode.db.

contrib/README.md grows a 'Templates at a glance' table so the set is
discoverable without reading the whole doc.
This commit is contained in:
2026-05-05 08:48:33 +02:00
parent 14d253f929
commit 53d96adc65
5 changed files with 155 additions and 4 deletions
@@ -0,0 +1,18 @@
[Unit]
Description=Weekly pi → MemPalace session mine
Documentation=https://gitea.jordbo.se/joakimp/mempalace-toolkit
[Timer]
# Every Tuesday at 03:00 local time. Staggered from mempalace-session.timer
# (Mon 03:00) so if both are installed, the HNSW repair step in one doesn't
# race the repair step in the other.
# Use `systemctl --user list-timers mempalace-pi-session.timer` to see next run.
OnCalendar=Tue 03:00
# If the machine was off at the scheduled time, run at next boot.
Persistent=true
# Randomize up to 30 minutes to avoid thundering-herd across machines.
RandomizedDelaySec=30m
AccuracySec=1m
[Install]
WantedBy=timers.target