Skip to content
docs

VerificationResult

Immutable verdict of a verification: tri-state (passed / failed / waived) + PENDING for async verifiers. Framework-agnostic — carries only opaque strings, no Doctrine, no domain types. `principal` and `verifier` are opaque identifiers (e.g. "user:42", "human_verify"); the core never resolves them to entities. `missing` is a generic list of unmet requirement keys.

VerificationResult::pass()

public static function pass(?string $verifier = null, ?string $principal = null, array $metadata = []): self

Build a PASSED result: the verification was satisfied on its merits.

Parameters

Parámetros de pass()
NombreTipoDescripción
$verifier?string
$principal?string
$metadataarray<string, mixed>

VerificationResult::fail()

public static function fail(string $reason, array $missing = [], ?string $verifier = null, array $metadata = [], ?string $principal = null): self

Build a FAILED result, optionally listing the unmet requirement keys in `$missing`.

Parameters

Parámetros de fail()
NombreTipoDescripción
$reasonstring
$missinglist<string>
$verifier?string
$metadataarray<string, mixed>
$principal?string

VerificationResult::waived()

public static function waived(string $reason, ?string $principal = null, ?string $verifier = null, array $metadata = []): self

Exempted with a justification — clears the gate despite not passing on merit.

Parameters

Parámetros de waived()
NombreTipoDescripción
$reasonstring
$principal?string
$verifier?string
$metadataarray<string, mixed>

VerificationResult::pending()

public static function pending(?string $verifier = null, array $metadata = []): self

Requested but unresolved (async human/agent verify).

Parameters

Parámetros de pending()
NombreTipoDescripción
$verifier?string
$metadataarray<string, mixed>

VerificationResult::isSatisfied()

public function isSatisfied(): bool

Whether the gate this result represents is satisfied, i.e. PASSED or WAIVED. {@see VerificationStatus::isSatisfied()}

VerificationResult::isPending()

public function isPending(): bool

Whether this result is still awaiting an async human/agent verifier.

VerificationResult::isFinal()

public function isFinal(): bool

Whether this result is terminal, i.e. will not transition to another status. {@see VerificationStatus::isFinal()}

VerificationResult::hasMissing()

public function hasMissing(): bool

Whether this result carries any unmet requirement keys.

VerificationResult::toArray()

public function toArray(): array

Serialize to a plain array for logging/transport (status as its scalar `.value`).