> ## 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.

# Verify Capability Contract • AI Agent SDK

> verify_capability_contract: Check that each declared ``supports_*`` flag is actually backed.

# verify\_capability\_contract

<div className="flex items-center gap-2">
  <Badge color="teal">Function</Badge>
</div>

> This function is defined in the [**base**](../modules/base) module.

Check that each declared `supports_*` flag is actually backed.

For every flag in :data:`CAPABILITY_BACKING` that the adapter declares
`True`, verify the backing method is present and not left as the unbacked
:class:`BasePlatformAdapter` default. Returns the list of human-readable
violation strings (empty when the contract holds).

Callers that want to fail loudly at registration time should call
:func:`enforce_capability_contract` instead; this function itself never
raises, so it is safe to use in a lenient/warn-only mode.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def verify_capability_contract(adapter: Any) -> List[str]
```

## Parameters

<ParamField query="adapter" type="Any" required={true}>
  No description available.
</ParamField>

### Returns

<ResponseField name="Returns" type="List[str]">
  The result of the operation.
</ResponseField>

## Uses

* `callable`

## Used By

* [`enforce_capability_contract`](../functions/enforce_capability_contract)

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/bots/base.py#L117">
  `praisonaiagents/bots/base.py` at line 117
</Card>
