- Add SIGHUP to signal handler for non-systemd session teardown
- Detect D-Bus session bus disconnection via conn.Context().Done()
- Checkpoint individual sessions to disk on every idle transition
- Remove checkpoint files when sessions are killed
- Rebuild visible chat log from last 8 messages on restore
On shutdown (SIGTERM/SIGINT), all active sessions are persisted to
~/.local/share/ollie/active-sessions/ as JSON files containing the
full message context, backend, model, agent, and cwd metadata.
On startup, persisted sessions are automatically restored with their
complete context window, then the persist files are cleaned up.
Copilot sessions are excluded from persistence (ephemeral).
Adds a Complete method that manages a dedicated copilot session,
sends a FIM prompt with prefix/suffix context, waits for the
result, and returns cleaned completion text. Includes unit tests
for strip helpers.