perf(omo-senpi): make recall transcript exclusion incremental per branch entry
Candidate collection re-scanned the whole 200-entry window against every corpus document on every prompt and tool_call (167-188ms at 817 documents x 1.47MB). The new index computes mentions per entry, caches them by entry id, and unions them over the window, so a trigger pays only for entries it has not seen. The newest entry is never cached because the hook can fire while it is still streaming, and a corpus path that could straddle the serialized array seam falls back to the original whole-window scan. Refs #8335
Y
YeonGyu-Kim committed
5a6091aed071ce60c62e32cb65f08fef35e28009
Parent: 879a8b7