Expand description
In-memory SessionRepository double.
Lifted from the former finalize_session::tests local copy (the only
in-tree InMemorySessions). Unlike that copy, dedup_and_mark implements
the trait’s atomic dedup-and-mark contract (first call returns the
candidates and records them; a repeat call with the same candidates returns
nothing) — the three use cases migrated onto this testkit never call
dedup_and_mark (it is exercised only by enrich_request), so the
stronger semantics are strictly safer.