Route mutation lanes through entity resolution boundary master
Move the audited journal-writing name-resolution lanes onto record_entity_resolution so tier 5-8 matches persist ambiguity before any domain write and then reuse each lane's existing unresolved representation. This prevents low-confidence names from creating duplicates, attaching speaker labels or voiceprints, or firing irreversible identity merges. In particular merge.py now stages ambiguous source entities, speakers.merge_names refuses before merge_entity(commit=True), and discovery exits before entity creation, voiceprint saves, labels, resolved-cluster writes, and candidate retroactive confirmation. The import bridge checks resolved choices before the identical-content shortcut, so a staged low-confidence entity can be resolved and then applied on re-ingest without leaving received, id_map, or staging state incoherent.