Quality score architecture split: ResourceHealth + SessionEfficiency
The rising-score bug is dead. The composite quality score has been split into two independent metrics:
ResourceHealth (displayed as ContextQ:) is now architecturally monotonic. It uses only fill percentage, compaction depth, and waste signals that cannot improve without compaction. This is the backward-compatible score value for all existing consumers.
SessionEfficiency (displayed as Eff:) tracks behavioral signals (stale reads, bloated results, decision density, tool call patterns) and can rise/fall freely, which is correct for those metrics.
New real-time signals:
- 40+ tool calls warning (CRITICAL threshold)
- 50% fill regime change detection
- Re-reading loop detection
Rolling window scoring from v5.6.6 is preserved. No changes needed for Codex or OpenClaw.