Composes ChallengeStore + ReplaySeenSet primitives into the 3-outcome
server-issued challenge ceremony. The default implementation is in
./ceremony.mts; consumers can replace it by providing their own module.
Returns one of the three discriminated outcomes. Does NOT throw
ChallengeStorageError or any other domain error in normal flow —
the union IS the complete return contract.
Composes ChallengeStore + ReplaySeenSet primitives into the 3-outcome server-issued challenge ceremony. The default implementation is in
./ceremony.mts; consumers can replace it by providing their own module.Per A1 §5.3.