has_preset_superkey() had two problems:
- It checked !root_superkey, which is always false once
predata_init()
assigns the pointer to start_preset.root_superkey. A
user-preset
superkey was never recognized after init.
- It only checked the plaintext superkey, missing the case where
superkey is empty but root_superkey hash is set (-S mode).
snapshotting both superkey and root_superkey presence into
persistent flags during predata_init(), before any modification,
so
has_preset_superkey() correctly reflects build-time preset state.