[0.37.0] - 2026-04-28
Added
- Cross-harness edit-heavy session detector (#167).
detectPatternsnow flags sessions whose normalized edit-tool count exceeds 4× their read-tool count (with ≥ 5 edits), reaching parity across Claude / Codex / OpenCode vianormalizeToolName. Reads are restricted to file-content tools (Read,NotebookRead);Grep/Glob/LS/Bashare deliberately excluded — they discover or shell out, but don't record that the model has read the file. Codex'sapply_patchmay bundle multiple files per call, so the same threshold flags Codex more conservatively than a file-level count would — known per-harness tunable. EmitsEditHeavySession { source, sessionId, readCount, editCount, ratio, likelyRetries, cost }withratio = +Infinitywhen reads is zero;likelyRetriesis the sum ofcountRetries()over the session's turns.PatternsResultgains aneditHeavySessionsarray;SessionPatternSummarygainseditHeavyCount. The cost field is not added tototalPatternCostbecause the same edit-bearing turns also feededitRevertsandretryLoopscosts — adding them again would double-count.