alias

KemalIdentity::Outcome

The result of any authentication attempt.

A union rather than a struct with a nilable principal and a nilable failure: the union makes the principal reachable only in the branch where it exists, so there is no not_nil! at any call site, and an exhaustive case ... in means adding a variant is a compile error at every consumer rather than a silently unhandled case.

docs/01-architecture.md names the credential-side result AuthenticationResult and lists two variants; src/CLAUDE.md and the login example in docs/04-kemal-integration.md use three. One three-variant union is used everywhere — see blueprints/0001-single-outcome-union.md for why.