đŹ KrĂŒmel Pull-Watcher â opuskatzes Briefkasten
Damit ein Handoff bei opuskatze (crumbdesktop) ankommt, ohne dass jemand die TĂŒr aufmacht.
Prinzip: pull-only. Der Habitat ist zugemauert (kein SSH, Dienste auf 127.0.0.1) â also
holt sich der Wald die Post, statt dass jemand reindrĂŒckt. Nichts wird je gepusht.
Was es tut
Ein systemd-user-Timer lĂ€uft alle 10 min â crew_pull_watcher.sh:
1. git pull --ff-only (zerstört nie lokale, ungepushte Arbeit â bei Konflikt: ĂŒbersprungen).
2. Findet seit dem letzten Lauf neue an opuskatze adressierte Dateien:
- Dateiname enthÀlt opuskatze (z. B. HANDOFF_SNAKE_opuskatze.md), oder
- liegt unter crew_inbox/opuskatze/âŠ.
3. HĂ€ngt Titel + Pfad an den Briefkasten ~/.crumb/opuskatze-inbox.md (+ Desktop-Ping, falls
notify-send/terminal-notifier da ist).
opuskatzes SessionStart-Hook zeigt den Briefkasten beim Start â sie sieht neue Post sofort.
Einmalig aktivieren (auf crumbdesktop, als sysop)
REPO=~/Dokumente/repo/mondgeschichten # <- wo das Repo hier liegt
chmod +x "$REPO/crew/crew_pull_watcher.sh"
mkdir -p ~/.config/systemd/user
cp "$REPO/crew/crew-pull-watcher.service" ~/.config/systemd/user/
cp "$REPO/crew/crew-pull-watcher.timer" ~/.config/systemd/user/
# Falls das Repo NICHT unter ~/Dokumente/repo/mondgeschichten liegt:
# ExecStart-Pfad in ~/.config/systemd/user/crew-pull-watcher.service anpassen.
systemctl --user daemon-reload
systemctl --user enable --now crew-pull-watcher.timer
systemctl --user list-timers | grep crew-pull-watcher
# Timer auch ohne aktive Login-Session (einmal sudo):
# sudo loginctl enable-linger sysop
Erster Lauf setzt nur die Baseline (keine Alt-Post-Flut). Ab dann kommt jede neue an.
opuskatzes SessionStart-Hook (crumbdesktop, ~/.claude/settings.json)
{
"hooks": {
"SessionStart": [
{ "hooks": [ { "type": "command", "command": "cat ~/.crumb/opuskatze-inbox.md 2>/dev/null" } ] }
]
}
}
Nach Erledigung leeren: : > ~/.crumb/opuskatze-inbox.md
Selbst-aktualisierend
Skript + Units liegen im Repo. Sobald der Watcher einmal lÀuft, zieht er auch seine eigenen
Updates per Pull â Ănderungen an den Units erfordern nur systemctl --user daemon-reload.
FĂŒr eine andere Katze
CREW_WATCH_WHO=<name> setzen (Env im Service). Gleiches Muster, eigener Briefkasten
~/.crumb/<name>-inbox.md.