# Upgrade Guide — v0.17.6

<!-- bump: patch -->

## What Changed

### Sentinel Resume Preservation

When the MessageSentinel triggers a session kill or pause (e.g., detecting an emergency stop or pause signal from the user), it now saves the Claude session UUID to the TopicResumeMap before acting. Previously, sentinel-triggered kills would lose the session context, causing the respawned session to start completely fresh with no memory of the conversation.

The same pattern already existed for `/restart` commands and stall-nurse interventions, but the sentinel path was missing it. Now all session termination paths preserve resume UUIDs:

- `/restart` command (already worked)
- Stall triage nurse restart (already worked)
- Sentinel emergency-stop (NOW saves UUID before kill)
- Sentinel pause (NOW saves UUID and wires up the callback)

### Sentinel Pause Callback Wired

`onSentinelPauseSession` was declared on TelegramAdapter but never wired up in server.ts. It's now connected and saves the resume UUID on pause, ensuring that if the session dies during a pause state, the respawn can still resume context.

## What to Tell Your User

- **"Sessions now survive interruptions."** If your agent gets paused or stopped by a safety check, it will pick up right where it left off when you send the next message. No more losing conversation context from safety interventions.
- **"All restart paths now preserve context."** Whether a session is restarted manually, by a safety check, or by the stall recovery system, your conversation history carries over seamlessly.

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| Sentinel resume preservation | Automatic — no config needed |
| Pause callback wiring | Automatic — sentinel pause now saves session state |
