v2.59.2
Keep dashboard session header state live and restore context after compaction
Fixes stale context, model, and thinking values in the dashboard session header while a session remains open, including the persistent unknown context display after compaction.
What changed
- Live mounted-session details. Periodic, turn-end, and compaction-end detail refreshes now update both the visible session header and shared runtime state without requiring a trip back to Fleet.
- Ordering-safe model and thinking changes. Successful mutations update the runtime-pool snapshot and carry a monotonic revision, preventing older in-flight SSE frames from restoring prior values while still allowing newer authoritative changes through.
- Useful post-compaction context. The rebuilt message context supplies a conservative finite estimate until fresh provider-reported usage becomes available; stale pre-compaction usage is never reused.
- Race and failure protection. Overlapping stats requests cannot regress newer state, failed requests retain the last good value, and failed setting mutations do not commit unconfirmed state.
- Regression coverage and documentation. Added focused core, server, runtime-pool, store, and mounted-screen tests, with the freshness contract documented across the public and dashboard guides.
Implemented in PR 479.