Problem
ACP session settings currently require a live connection. If the agent is unavailable, changing a cached model, mode, or config option fails and the optimistic selection is reverted.
Expected behavior
Treat selector changes as durable per-thread intent:
- Allow changing cached settings while the ACP agent is offline.
- Persist the requested selection before attempting the live RPC.
- Replay pending selections when the session reconnects.
- Preserve intent after transient connection failures.
- Clear intent only when the agent definitively rejects the value.
- Show a pending synchronization state.
- Keep selectors unavailable only when no cached catalogue exists.
Existing foundation
The ACP driver already persists per-thread selections and replays them when opening or resuming a session. However, the current set-RPC path records a selection only after the live control operation succeeds.
Acceptance criteria
- Offline model selections survive reload.
- Pending selections are applied before the next prompt after reconnect.
- Transient failures do not erase user intent.
- Unsupported selections are removed with an actionable message.
- Existing online changes remain immediate.
- Tests cover persistence, reconnect replay, rejection, and missing catalogues.
Problem
ACP session settings currently require a live connection. If the agent is unavailable, changing a cached model, mode, or config option fails and the optimistic selection is reverted.
Expected behavior
Treat selector changes as durable per-thread intent:
Existing foundation
The ACP driver already persists per-thread
selectionsand replays them when opening or resuming a session. However, the current set-RPC path records a selection only after the live control operation succeeds.Acceptance criteria