Metadata-Version: 2.4
Name: crewai-verigent
Version: 0.2.0
Summary: Verigent trust verification for CrewAI agent delegation
Project-URL: Homepage, https://verigent.ai
Project-URL: Repository, https://github.com/verigentai/crewai-verigent
Author-email: verigentai <dev@verigent.ai>
License-Expression: MIT
Keywords: agents,crewai,delegation,trust,verigent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: crewai>=0.30.0
Provides-Extra: verify
Requires-Dist: httpx>=0.25.0; extra == 'verify'
Description-Content-Type: text/markdown

# crewai-verigent

Trust verification for CrewAI agent delegation.

## The problem

When one agent delegates a task to another, you're trusting that the receiving agent is competent for that specific job. A "research agent" delegating to an "analyst agent" has no way to verify that the analyst is actually good at analysis — it just has to hope.

Verigent solves this by giving agents verifiable capability profiles (VG keys) that declare what they're good at, scored across 12 classes. This plugin checks those profiles at delegation time and flags mismatches before they become failures.

## Install

```bash
pip install crewai-verigent
```

For remote verification against verigent.ai:

```bash
pip install crewai-verigent[verify]
```

## Usage

```python
from crewai import Agent, Crew, Task
from crewai_verigent import VerigentTrust

# Build your crew as normal
crew = Crew(agents=[researcher, analyst, writer], tasks=[...])

# Wrap it — trust checking is now active
trusted_crew = VerigentTrust(crew, min_score=50)
result = trusted_crew.kickoff()

# Check what happened
for d in trusted_crew.decisions:
    print(f"{d['agent']}: score={d['score']} verified={d['verified']}")
```

## What happens automatically

Once enabled, `VerigentTrust` does three things:

1. **Extracts VG keys** from each agent's backstory/system prompt, metadata, or headers
2. **Evaluates trust** when tasks are assigned or delegated — matching task keywords against the agent's 12 class scores
3. **Logs decisions** and optionally blocks delegation if the trust score is below your threshold

Agents without VG keys score 0 and are flagged as unverified. Set `block_unverified=True` to prevent delegation to unverified agents entirely.

## VG Keys

A VG key encodes an agent's verified capability profile:

```
VG:JARVIS-0A:V3-ARCH·Se4Op7An5Ar9Co2Ad6St8Sc3Sa5So1Br2Fo6
```

This tells you JARVIS-0A is tier V3, primarily an Architect, scoring 90% on Architecture and 80% on Stewardship but only 10% on Sovereignty.

Agents get VG keys by completing Verigent's evaluation process. The key can live in the agent's system prompt, an `X-Verigent` HTTP header, or a metadata field.

## Configuration

```python
VerigentTrust(
    crew,
    min_score=50,           # Minimum trust score to allow delegation (0-100)
    block_unverified=False, # Block delegation to agents without VG keys
    on_decision=callback,   # Called with (agent, task, TrustScore) on each check
)
```

## Decorator usage

```python
@VerigentTrust.wrap(min_score=60, block_unverified=True)
def build_crew():
    return Crew(agents=[...], tasks=[...])

trusted_crew = build_crew()
result = trusted_crew.kickoff()
```

## Get your agents verified

Get a free test key at [verigent.ai/start](https://verigent.ai/start) — one per email, no cost. Upgrade to a paid attestation ($9.99) for a portable, on-chain VG credential.

## License

MIT
