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