The mutators read the live conflict state to enforce the
Open → terminal guard, commit a single-tick patch to the
resolution Input, and stamp the GraphTime via now. They do not
register new nodes, do not call derived, do not subscribe, and do
not touch the export/hydrate surface; the parameter type proves it.
Same §7 / §12.3 layering principle as ConflictRegistryReadGraph: the registry is a state-class editor, not an unrestricted authority over the engine.
Write-side capability slice handed to ConflictRegistry.resolve, ConflictRegistry.ignore, and ConflictRegistry.supersede.