> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Candidate Report • AI Agent SDK

> CandidateReport: Outcome of validating a candidate config *before* cutover.

# CandidateReport

> Defined in the [**config**](https://praison.ai/docs/sdk/reference/praisonaiagents/modules/config.md) module.

AI Agent

Outcome of validating a candidate config *before* cutover.

Produced by :meth:`ReloadValidationProtocol.validate_candidate`: the
gateway builds/boots the candidate runtime in isolation (or a pre-flight)
and reports whether it is healthy enough to swap in. When `ok` is False
the live config keeps serving and the failures feed
:class:`~praisonaiagents.gateway.protocols.ReloadStatus.error` / `health()`.

Attributes:
ok: Whether the candidate built and passed pre-flight — only then may
the live runtime be drained and the candidate swapped in.
failures: Human-readable reasons the candidate was rejected (empty when
`ok`); joined into the reload `error` an operator sees.
candidate: Optional opaque handle to the already-built candidate runtime
the wrapper activates on success. Left untyped so core carries no
heavy runtime import; `None` when the runtime validates in place.

## Properties

**ok** `bool`

No description available.

**failures** `'List[str]'`

No description available.

**candidate** `Optional`

No description available.

## Source

> **[View on GitHub](https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/gateway/config.py#L436)**
>
> `praisonaiagents/gateway/config.py` at line 436


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.