tool-loop-break
Sliding-window detector for runaway agent tool loops. Trips when the
same (tool, args_fingerprint) appears >= threshold times inside
the recent window.
use LoopDetector;
let mut d = new;
if d.record
Zero deps. MIT or Apache-2.0.