Context
normalize_for_doom_loop() allocates O(N) String per tool iteration for ID normalization.
Solution
Feed stable segments directly into hasher, skipping volatile ID spans without materializing normalized form.
Epic: #860 | Effort: S | Crate: zeph-core