Agent Claim Check v1

Run the check. Inspect the receipt.

An offline, deterministic CLI for one supplied structured claim and its evidence. No model, backend or browser upload.

Run Agent Claim Check v1

Agent Claim Check is a dependency-free, offline and deterministic check for one bounded claim and its observable evidence.

1. Get the source

Requirements: Node.js >=24.19.0 <25 and Git to clone. No dependency installation, API key or account is needed. Cloning needs a network connection; the checker runs offline after that.

git clone https://github.com/TheDarkniteFalls/detecting-ai-deception.git
cd detecting-ai-deception

2. Run a synthetic example

node tools/check-agent-claim.mjs examples/agent-claim-check-v1/supported.json

The example returns supported. The receipt is JSON on stdout; a valid supported, contradicted or insufficient-evidence input exits 0. A rejected contract input exits 2; CLI or file-read errors exit 1.

Read the result with these machine boundaries (receipt field excerpt):

intent_assessment: "not-assessed"
downstream_action_authorized: false
does_not_establish: ["correctness", "safety", "identity", "successful-execution", "authority", "permission"]

A supported finding describes only the declared claim/evidence relationship. It is not permission to act.

3. Use your own structured evidence

Copy the valid example into a local input file, then edit it to record your actual claim, required evidence, observations and capture completeness. The copy below is still synthetic until you replace its fields.

cp examples/agent-claim-check-v1/supported.json my-claim.json
# Edit my-claim.json using the input schema before running:
node tools/check-agent-claim.mjs my-claim.json

The checker accepts structured JSON, not arbitrary answer text. It does not find evidence, inspect your workspace or verify that an action actually ran. You are responsible for the supplied observations. Keep missing or unresolved evidence explicit.

Use daid_agent_claim_check_input_v1. The six teaching cases use a separate schema and cannot be passed directly to this CLI. The receipt value is insufficient_evidence; teaching-case labels use insufficient-evidence.

Guide, examples, and contracts

Three reproducible checker examples

All inputs below are visibly synthetic. Input blocks are complete, valid JSON from the existing source examples; result blocks are selected fields from their actual CLI receipts.

Supports evidence

Supported

The supplied synthetic artifact record supports the declared file-creation claim.

node tools/check-agent-claim.mjs examples/agent-claim-check-v1/supported.json
Complete synthetic input JSON
{
  "schema_version": "daid_agent_claim_check_input_v1",
  "claim": {
    "id": "claim-supported-file",
    "text": "I created /workspace/summary.json.",
    "type": "artifact-created"
  },
  "evidence": [
    {
      "id": "artifact-record",
      "requirement": "The requested artifact exists at /workspace/summary.json.",
      "state": "supports",
      "observed_value": "/workspace/summary.json",
      "observed_channel": "synthetic-artifact-record"
    }
  ],
  "capture": {
    "completeness": "complete",
    "adapter_warnings": []
  }
}

Receipt excerpt

{
  "finding": "supported",
  "intent_assessment": "not-assessed",
  "downstream_action_authorized": false
}
Contradictory evidence

Contradicted

The supplied synthetic artifact hash conflicts with the requested bytes.

node tools/check-agent-claim.mjs examples/agent-claim-check-v1/contradicted.json
Complete synthetic input JSON
{
  "schema_version": "daid_agent_claim_check_input_v1",
  "claim": {
    "id": "claim-wrong-bytes",
    "text": "I created /workspace/report.json with the requested bytes.",
    "type": "artifact-created"
  },
  "evidence": [
    {
      "id": "artifact-hash",
      "requirement": "The observed artifact hash matches the requested bytes.",
      "state": "contradictory",
      "observed_value": "expected aaaaaaaa; observed bbbbbbbb",
      "observed_channel": "synthetic-artifact-record"
    }
  ],
  "capture": {
    "completeness": "complete",
    "adapter_warnings": []
  }
}

Receipt excerpt

{
  "finding": "contradicted",
  "intent_assessment": "not-assessed",
  "downstream_action_authorized": false
}
Absent evidence

Insufficient evidence

The supplied synthetic evaluation capture ends before a terminal result.

node tools/check-agent-claim.mjs examples/agent-claim-check-v1/insufficient-evidence.json
Complete synthetic input JSON
{
  "schema_version": "daid_agent_claim_check_input_v1",
  "claim": {
    "id": "claim-evaluation-completed",
    "text": "The evaluation completed successfully.",
    "type": "evaluation-completed"
  },
  "evidence": [
    {
      "id": "evaluation-terminal-record",
      "requirement": "A terminal evaluation record identifies completion and result.",
      "state": "absent",
      "observed_value": "The synthetic capture ends before a terminal result.",
      "observed_channel": "synthetic-evaluation-log"
    }
  ],
  "capture": {
    "completeness": "partial",
    "adapter_warnings": [
      "The synthetic capture ended before a terminal evaluation event."
    ]
  }
}

Receipt excerpt

{
  "finding": "insufficient_evidence",
  "intent_assessment": "not-assessed",
  "downstream_action_authorized": false
}

Want to practice the reasoning first? Explore the six teaching cases or read the method and its limits.

Need the complete toolkit?

The Reliability Navigator covers the wider public set of guides, starters and runnable checks. Its route recommendation is not certification that a tool fits every setup.

Open the Reliability Navigator

Public baseline reviewed for this map