Viktor: emo's open web-terminal sessions must persist across reboots. Claude conversations were already durable on disk; the volatile part was the tmux wiring (which named session runs which conversation). t3-tmux-sessions save (5-min timer) snapshots every roster user's sessions to /var/lib/t3-tmux-state/<user>.tsv — conversation uuid taken from argv --resume (self-sustaining once restored) or the newest transcript in the cwd-slug project dir created after process start (fresh launcher sessions; claude does NOT hold its transcript fd open, so fd-sniffing was a dead end). t3-tmux-sessions restore (boot oneshot, also safe after partial loss) recreates missing sessions with claude --resume <uuid>. Reconciler self-heals both units' enablement. Verified live: emo's 5 sessions snapshotted with correct uuids; killed R730-cooling -> restore brought it back resuming the same conversation (context meter identical); other sessions untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
12 lines
397 B
Desktop File
12 lines
397 B
Desktop File
[Unit]
|
|
Description=Restore workstation tmux sessions (resume saved claude conversations) after boot
|
|
After=network.target local-fs.target
|
|
# Before the save timer's first run (OnBootSec=10min) so an empty post-boot
|
|
# state can never be snapshotted over the manifest being restored from.
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/usr/local/bin/t3-tmux-sessions restore
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|