Planner role + cache hit observability for DeepSeek/Grok
- Planner role now active for cache-isolated planning sessions (Reasonix-style): Plan agent defaults to "planner", fork sessions deliberately skip parent transcript prefix to protect main DeepSeek/Grok high-model cache.
- Cache hit % surfaced in UX: post-compact messages now show "Context compacted → XXk · 缓存命中 87%" (or cache read count); /provider roles output mentions the observability.
- Full Reasonix adoption: 65% proactive compact for large windows, 10min summary timeout + emergency truncate guarantee, separate planner/executor sessions, high-discipline prompts for native chat path.
- Updated model-roles docs with deepseek recs (planModel/summarize to cheap chat variants); all tests + npm run check green (1845 pass, 0 fail).