Shared key-first command structs for Rulestead.Store adapters.
Rulestead.Store
Public selectors stay on flag_key and environment_key; internal UUIDs remain adapter-private.
flag_key
environment_key
@spec lifecycle_update(nil | map() | keyword()) :: nil | map()
@spec normalize_lifecycle(map() | keyword()) :: map()
@spec normalize_ownership(map() | keyword()) :: nil | map()
@spec ownership_label(nil | map(), term()) :: nil | String.t()