Status: ready-for-agent

# 02 — Persistent relay compatibility hardening

## What to build

Harden the persistent `/rpc/<peer>` connection used by one Route Session.
Preserve unique request correlation while allowing sequential binary and JSON
requests on one socket. Handle peer disconnects, requester cancellation,
legacy one-request relays, timeout cleanup, and generation-end close without
leaking pending RPC entries or accidentally replaying a model mutation.

## Acceptance criteria

- [ ] A cached decode session uses one requester connection per relay Activation
  Seam and sends one unique request id per activation.
- [ ] Legacy relays that close after one response fail over clearly without
  corrupting the Route Session or replaying an uncertain request.
- [ ] Relay and bridge cleanup removes pending request state on normal close,
  cancellation, timeout, and peer disconnect.
- [ ] Concurrent Route Sessions do not share a non-thread-safe socket; responses
  remain matched by request id.
- [ ] Tests cover two sequential binary requests, JSON compatibility, close,
  timeout, disconnect, cancellation, and no leaked pending entries.

## Blocked by

- 01 — Baseline and profiling harness.

