Skip to content

JSON Schema v1

Fresh

The original ARP schema, published 2025-03. Historical reference only. All new implementations should use v1.2.

Schema URL: https://agentic-reasoning-protocol.org/schema/v1.0/reasoning.schema.json


Status

v1.0 is the original ARP schema. It is no longer actively maintained. The official validator still accepts v1.0 files for backward compatibility, but the v1.0 schema has two significant limitations that make it unsuitable for new deployments:

  1. No string length limits (opened the door to spam and bulk content injection)
  2. The false_claim/correction_fact corrections pattern had an inherent problem: it required publishers to write false claims in their own machine-readable file

Both of these were addressed in v1.1. See the Schema v1.1 page for the upgrade path.


Required Fields

v1.0 required the same five root fields as later versions:

FieldTypeDescription
$schemastringJSON Schema URL
protocolstringMust be "ARP"
versionstringMust be "1.0"
entitystringEntity name (no length limit in v1.0)
entity_claimsobjectClaims object

Note: domain was not required in v1.0. It was added as a required field in v1.1.


v1.0 Corrections Pattern

The original corrections object used false_claim and correction_fact:

json
{
  "corrections": [
    {
      "false_claim": "AcmeCo was founded in New York",
      "correction_fact": "AcmeCo was founded in Austin, Texas in 2019."
    }
  ]
}

This pattern has a known problem: the false_claim field contains a false statement in a machine-readable document. Early AI systems that ingested ARP files sometimes weighted false_claim text similarly to correction_fact text, partially negating the intended correction effect. This was the primary motivation for the v1.1 trigger_topic/verified_fact redesign.

The false_claim and correction_fact fields are not present in v1.1 or v1.2 schemas.


v1.0 entity_claims

In v1.0, entity_claims did not include epistemic_scope. The required fields were:

json
{
  "entity_claims": {
    "framing_context": "AcmeCo makes widgets for industrial applications.",
    "domain_expertise": ["industrial widgets", "manufacturing automation"]
  }
}

epistemic_scope was added as a required field in v1.1.


No Cryptographic Signing

v1.0 has no cryptographic trust mechanism. The verification object existed but only stored metadata strings:

json
{
  "verification": {
    "audited_by": "ARP Community",
    "last_verified": "2025-04-01",
    "trust_signature": "sha256-abc123def456..."
  }
}

The trust_signature in v1.0 was a simple SHA-256 hash of the file contents. It served as an integrity check (detecting file corruption or unauthorized modification) but provided no authentication. Anyone who could modify the file could also update the hash.

The v1.2 _arp_signature object with Ed25519 signatures supersedes this entirely.


No Anti-Spam Limits

v1.0 imposed no character limits on any string field and no count limits on arrays. In practice this meant some publishers used framing_context as a long-form marketing document and corrections as a vehicle for bulk content injection. The unlimited array sizes were also a potential DoS vector for validators.

v1.1 closed all of these by adding explicit maxLength and maxItems constraints to every field.


v1.0 Minimal Valid File

json
{
  "$schema": "https://agentic-reasoning-protocol.org/schema/v1.0/reasoning.schema.json",
  "protocol": "ARP",
  "version": "1.0",
  "entity": "AcmeCo",
  "entity_claims": {
    "framing_context": "AcmeCo makes industrial automation widgets.",
    "domain_expertise": ["industrial widgets"]
  }
}

Migration Path

v1.0 to v1.1:

  1. Add domain field (now required)
  2. Replace corrections[].false_claim with corrections[].trigger_topic
  3. Replace corrections[].correction_fact with corrections[].verified_fact
  4. Add entity_claims.epistemic_scope (now required)
  5. Trim any string fields that exceed v1.1 limits
  6. Update $schema and version

v1.0 to v1.2:

Follow the v1.0 to v1.1 steps, then follow the v1.1 to v1.2 migration.