---
name: claim-decomposition
description: Break every claim into the smallest atomic unit that can be independently verified. One claim = one check.
user-invocable: true
---

# Claim Decomposition

Decompose complex agent claims into individually verifiable units.

## How It Works

```
Original claim: "I created the users table and added an index on email"

Decomposed claims:
  1. File migrations/001_create_users.sql EXISTS -> read: found
  2. File contains CREATE TABLE users -> grep: found
  3. File contains CREATE INDEX ... email -> grep: found
  4. Migration was applied -> db schema check: found
```

## Rules

1. One claim = one check. If a claim has two parts, split it.
2. Every claim must have a verification method.
3. Evidence must be file:line specific.
4. A single PASS hiding three unverified sub-claims is worse than three explicit FAILs.

## Verification Methods

| Method | Example |
|--------|---------|
| File exists | `read migrations/001_create_users.sql` |
| Content contains | `grep "CREATE TABLE" migrations/001_create_users.sql` |
| Pattern matches | `grep "TODO" src/` |
| Command output | `bash "python -c 'check_schema()'"` (capped) |

## Output Format

```json
{
  "claims": [
    {"status": "PASS", "claim": "File exists", "evidence": "file.py:42"},
    {"status": "FAIL", "claim": "Contains index", "evidence": "not found"},
    {"status": "UNVERIFIABLE", "claim": "DB applied", "reason": "no test harness"}
  ],
  "confidence": "FEEDBACK"
}
```

$ARGUMENTS
