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

# Core Concepts

> Understanding the key concepts of Agent Contracts

## Core Primitives

<img alt="Concept Tree Light" className="block dark:hidden" src="https://mintcdn.com/relari-4243c669/irmqsITvT7Za5SKl/images/concept-tree.svg?fit=max&auto=format&n=irmqsITvT7Za5SKl&q=85&s=36d03035028d0aefc513a08a148d54f3" width="960" height="540" data-path="images/concept-tree.svg" />

<img alt="Concept Tree Dark" className="hidden dark:block" src="https://mintcdn.com/relari-4243c669/irmqsITvT7Za5SKl/images/concept-tree.svg?fit=max&auto=format&n=irmqsITvT7Za5SKl&q=85&s=36d03035028d0aefc513a08a148d54f3" width="960" height="540" data-path="images/concept-tree.svg" />

**Specification**: A collection of scenario-specific requirements that defines the expected behavior of the agent application.

* **Scenario**: A specific use case that the agent application is expected to handle.
* **Contract**: A group of requirements that are expected to be met for a given scenario.
  * **Pre-condition**: A requirement that must be true **before** the execution.
  * **Path-condition**: A requirement that must be true **during** the execution.
  * **Post-condition**: A requirement that must be true **after** the execution.

## Ways to use Contracts

<img alt="Use Contracts Light" className="block dark:hidden" src="https://mintcdn.com/relari-4243c669/irmqsITvT7Za5SKl/images/use-contracts.svg?fit=max&auto=format&n=irmqsITvT7Za5SKl&q=85&s=4b528f1f1ca254de74d5bf186f0d920a" width="960" height="540" data-path="images/use-contracts.svg" />

<img alt="Use Contracts Dark" className="hidden dark:block" src="https://mintcdn.com/relari-4243c669/irmqsITvT7Za5SKl/images/use-contracts.svg?fit=max&auto=format&n=irmqsITvT7Za5SKl&q=85&s=4b528f1f1ca254de74d5bf186f0d920a" width="960" height="540" data-path="images/use-contracts.svg" />

**Verification**: The process of checking **offline** if an agent application satisfies the contract requirements for each pre-defined scenario in the specification.

**Certification**: The process of checking **in runtime** if an agent satisfies the **online contract requirements**.
