## Why

The session management UI has critical UX and reliability issues that make it frustrating to use. Users can accidentally stop sessions without confirmation, deleted sessions remain visible until manual reload, and broken tunnels require full instance restart to fix. These bugs degrade the core user experience of the tool instance system.

## What Changes

- **Add confirmation dialog for stopping sessions** - Prevent accidental session stops with a "Are you sure?" dialog
- **Fix frontend state after session deletion** - Update React state immediately when delete succeeds so the session disappears without reload
- **Add tunnel health monitoring** - Periodically check if tunnel URLs respond with HTTP 200, mark as erroneous if not
- **Add "Recreate Tunnel" button** - Allow users to regenerate a broken tunnel without restarting the entire instance
- **Display tunnel health status** - Show visual indicator (error badge) when a tunnel is broken

## Capabilities

### New Capabilities
- `tunnel-health-monitoring`: Background health checks for temporary Cloudflare tunnels with status indicators
- `session-lifecycle-ux`: Improved session stop/delete interactions with confirmations and state updates

### Modified Capabilities
- `tool-instances`: Update instance model and API to support tunnel recreation without full restart

## Impact

- Frontend: `sessions.tsx`, `instance-list.tsx`, `api/sessions.ts`
- Backend: `tool_instances.py` (tunnel recreation endpoint), `docker.py` (tunnel restart utility)
- Database: No schema changes needed (existing `tunnel_id` and `url` fields reused)
- Docker: No changes needed
