persistSigil

fun persistSigil(did: String, credentialId: String, publicKeyHex: String)

Persist the sigil triple atomically — see the class-level "durability contract" KDoc for the .commit() rationale.

Updates snapshotFlow after the on-disk commit so every observer (e.g. WalletPanelViewModel auto-retry) sees the new identity as soon as the next coroutine continuation runs.