Merging Sweep Policy
Sweep policy for the dedup path: collapse near-duplicates by merging the loser's evidence onto its survivor rather than just flipping it STALE.
A plain StatusTransitionSweepPolicy retires a duplicate with a pure status change, so the loser's grounding and provenance vanish from retrieval (STALE is excluded). This policy instead returns SweepAction.MergeInto pointing at the survivor named on the MarkReason.Duplicate mark, and lets the runner fold the evidence across before retiring the loser.
Decision order mirrors StatusTransitionSweepPolicy:
Pinned propositions are always skipped.
A proposition with no marks is skipped.
A duplicate mark naming a usable survivor becomes SweepAction.MergeInto.
Anything else (marked, but no survivor to merge into) falls back to a plain transition to targetStatus — so a non-dedup mark still retires normally instead of being ignored.
Functions
Decide what to do with proposition given its marks.