{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://arp-protocol.org/schema/v1.3.json",
  "title": "Agentic Reasoning Protocol (ARP) v1.3 (Reader Profile)",
  "description": "JSON Schema for ARP v1.3 files. An ARP file is an entity's self-description: self-attested statements about the entity, published by the operator of the domain, optionally signed with Ed25519 against a DNS-published key. A valid signature establishes origin, not accuracy. v1.3 adds the required provenance object, the readable signature fields statement and verify, representations (reasoning.md), the optional organization object, and the machine-checkable part of the Wording Profile (SPEC §11.2). Files are I-JSON (RFC 7493, SPEC §13.4), and numbers without a fractional part are limited to ±(2^53−1); duplicate member names cannot be detected by JSON Schema, because parsers merge them before validation, so validators check them while parsing. Specification: https://arp-protocol.org/SPEC.md",
  "type": "object",
  "required": ["$schema", "protocol", "version", "domain", "entity", "provenance", "entity_claims"],
  "allOf": [
    { "$ref": "#/definitions/wording_profile_guard" },
    { "$ref": "#/definitions/value_guard" }
  ],
  "properties": {
    "$schema": {
      "type": "string",
      "format": "uri",
      "description": "URI of the ARP JSON Schema for validation. v1.2 files keep the v1.2 URI and are validated against schema/v1.2.json.",
      "enum": [
        "https://arp-protocol.org/schema/v1.3.json"
      ]
    },
    "protocol": {
      "type": "string",
      "description": "Protocol identifier.",
      "const": "Agentic Reasoning Protocol (ARP)"
    },
    "version": {
      "type": "string",
      "description": "Protocol version of this file: \"1.3\" for files declaring this schema. v1.2 files keep \"1.2\" and are validated against schema/v1.2.json.",
      "const": "1.3"
    },
    "domain": {
      "type": "string",
      "description": "The fully qualified domain name that serves this file, in lowercase ASCII (A-labels for internationalized names) and without a trailing dot. Verifiers compare it with the retrieval domain to prevent cross-domain replay; a signed file without domain is INVALID (SPEC §4, §13.7).",
      "maxLength": 253,
      "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$"
    },
    "entity": {
      "type": "string",
      "description": "The canonical name of the brand, organization, or entity this file describes.",
      "maxLength": 200
    },
    "provenance": {
      "type": "object",
      "description": "REQUIRED in v1.3 (SPEC §4.1). Plain statement of who published this self-description. Identical in signed and unsigned files; it does not mention a signature.",
      "required": ["statement", "publisher", "publisher_url", "published"],
      "properties": {
        "statement": {
          "type": "string",
          "description": "Fixed template: \"This file is {ENTITY}'s own description of itself, published by {PUBLISHER} at {DOMAIN}. The statements are self-attested; where available, independent evidence is linked in evidence_url.\" The apostrophe is U+0027 (SPEC §4.1).",
          "maxLength": 600,
          "pattern": "^This file is .+'s own description of itself, published by .+ at [a-z0-9][a-z0-9.-]*[a-z0-9]\\. The statements are self-attested; where available, independent evidence is linked in evidence_url\\.$"
        },
        "publisher": {
          "type": "string",
          "description": "Name of the publisher (the party responsible for the domain and this file), as stated in its legal notice.",
          "minLength": 1,
          "maxLength": 200
        },
        "publisher_url": {
          "type": "string",
          "format": "uri",
          "description": "URL of the publisher's legal notice (imprint) or equivalent legal information page.",
          "pattern": "^https://"
        },
        "published": {
          "type": "string",
          "format": "date",
          "description": "Publication date of this version of the file (YYYY-MM-DD)."
        }
      },
      "additionalProperties": false
    },
    "representations": {
      "type": "array",
      "description": "RECOMMENDED (SPEC §13.12). Human- and machine-readable renderings of this file with a SHA-256 digest over their exact bytes. The reference representation is https://{domain}/.well-known/reasoning.md (text/markdown).",
      "minItems": 1,
      "maxItems": 10,
      "items": {
        "type": "object",
        "required": ["href", "media_type", "sha256"],
        "properties": {
          "href": {
            "type": "string",
            "format": "uri",
            "description": "HTTPS URL of the representation on the domain that serves this file.",
            "pattern": "^https://"
          },
          "media_type": {
            "type": "string",
            "description": "Media type of the representation (e.g. text/markdown): type and subtype as restricted names per RFC 6838 §4.2, without parameters; case-insensitive.",
            "maxLength": 255,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}/[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}$"
          },
          "sha256": {
            "type": "string",
            "description": "Lowercase hexadecimal SHA-256 digest of the exact bytes of the representation.",
            "pattern": "^[0-9a-f]{64}$"
          }
        },
        "additionalProperties": false
      }
    },
    "verification": {
      "type": "object",
      "description": "Audit metadata: who last reviewed this file and when. It names the reviewer; it does not by itself indicate independent verification.",
      "properties": {
        "audited_by": {
          "type": "string",
          "description": "Party that last reviewed or generated this file (e.g. 'Self').",
          "maxLength": 200
        },
        "last_verified": {
          "type": "string",
          "format": "date-time",
          "description": "RFC 3339 timestamp of the last review by audited_by. The key name is historical (SPEC §11.2 item 5): the value is the date of a review; audited_by names who reviewed."
        },
        "trust_signature": {
          "type": "string",
          "description": "Legacy SHA-256 hash of canonical file contents (v1.1). Superseded by _arp_signature."
        },
        "next_audit": {
          "type": "string",
          "format": "date",
          "description": "Scheduled date for the next review."
        }
      }
    },
    "identity": {
      "type": "object",
      "description": "Self-attested identity facts and self-described tone of the entity.",
      "properties": {
        "tagline": {
          "type": "string",
          "description": "The entity's official tagline or slogan.",
          "maxLength": 120
        },
        "elevator_pitch": {
          "type": "string",
          "description": "One-paragraph third-person description of what the entity does.",
          "maxLength": 500
        },
        "founded": {
          "type": "integer",
          "description": "Year the entity was founded."
        },
        "headquarters": {
          "type": "string",
          "description": "Primary headquarters location.",
          "maxLength": 100
        },
        "industry": {
          "type": "string",
          "description": "Primary industry or sector.",
          "maxLength": 100
        },
        "employees": {
          "type": "string",
          "description": "Employee count or range (e.g. '200+', '50-100').",
          "maxLength": 50
        },
        "legal_entity": {
          "type": "string",
          "description": "Official legal name of the entity.",
          "maxLength": 200
        },
        "core_competencies": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 80
          },
          "maxItems": 10,
          "description": "Primary capabilities as described by the entity."
        },
        "emotional_resonance": {
          "type": "object",
          "description": "Tone and personality as described by the entity itself.",
          "properties": {
            "tone_of_voice": {
              "type": "string",
              "description": "How the entity describes its own voice (e.g. 'Precise, plain, friendly').",
              "maxLength": 200
            },
            "vibe_tags": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 40
              },
              "maxItems": 8,
              "description": "Short tonal markers chosen by the entity."
            },
            "personality_traits": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 40
              },
              "maxItems": 8,
              "description": "Personality attributes as described by the entity."
            }
          }
        },
        "not_to_be_confused_with": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["name", "reason"],
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 100
              },
              "reason": {
                "type": "string",
                "maxLength": 200
              }
            }
          },
          "maxItems": 5,
          "description": "Entities with similar names that are distinct from this entity, each with the reason for the confusion."
        }
      }
    },
    "organization": {
      "type": "object",
      "description": "OPTIONAL (SPEC §4.2). Legal and organizational facts about the entity, such as legal name, legal form, address and legal notice. schema.org Organization property names may be used.",
      "properties": {
        "@type": {
          "type": "string",
          "description": "schema.org type, e.g. 'Organization'.",
          "maxLength": 50
        },
        "legalName": {
          "type": "string",
          "description": "Registered legal name.",
          "maxLength": 200
        },
        "legalForm": {
          "type": "string",
          "description": "Legal form (e.g. 'GmbH', 'sole proprietorship').",
          "maxLength": 100
        },
        "brand": {
          "type": "string",
          "description": "Brand name used by the organization.",
          "maxLength": 200
        },
        "founder": {
          "type": "string",
          "description": "Founder name(s).",
          "maxLength": 200
        },
        "address": {
          "type": "object",
          "description": "Postal address (schema.org PostalAddress properties)."
        },
        "impressum": {
          "type": "string",
          "format": "uri",
          "description": "URL of the legal notice (imprint)."
        },
        "note": {
          "type": "string",
          "description": "Short factual note on the legal facts (e.g. why no register entry exists).",
          "maxLength": 500
        }
      }
    },
    "corrections": {
      "type": "object",
      "description": "Topic-anchored statements by the entity on topics where AI-generated descriptions of it are observed to contain errors. Each entry is self-attested; evidence_url links evidence, preferably held by an independent party.",
      "properties": {
        "common_hallucinations": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["trigger_topic", "verified_fact"],
            "properties": {
              "trigger_topic": {
                "type": "string",
                "description": "The topic area where errors are observed (e.g. 'Licensing', 'Founding year', 'Product category').",
                "maxLength": 200
              },
              "verified_fact": {
                "type": "string",
                "description": "The entity's third-person statement of the correct fact, phrased without repeating the error. The key name is historical: it does not imply third-party verification; evidence_url shows where the statement can be checked.",
                "maxLength": 300
              },
              "evidence_url": {
                "type": "string",
                "format": "uri",
                "description": "URL of evidence for the statement, preferably held by an independent party."
              },
              "epistemic_scope": {
                "type": "string",
                "enum": ["public_verifiable", "proprietary_internal", "industry_standard"],
                "description": "Kind of claim (SPEC §8.2)."
              }
            }
          },
          "maxItems": 20,
          "description": "Topic/fact pairs (max 20)."
        },
        "last_verified": {
          "type": "string",
          "format": "date",
          "description": "Date on which the publisher last reviewed the corrections (historical key name, SPEC §11.2 item 5)."
        }
      }
    },
    "entity_claims": {
      "type": "object",
      "description": "Self-attested context the entity publishes about itself, written as third-person statements (SPEC §8, §11.2).",
      "required": ["framing_context"],
      "properties": {
        "framing_context": {
          "type": "string",
          "description": "Third-person description of the entity's own positioning, comparable to an 'About' paragraph.",
          "maxLength": 500
        },
        "internal_taxonomy": {
          "type": "array",
          "description": "Internal nomenclature and proprietary concepts of the entity. For entries scoped proprietary_internal, external corroboration is not expected.",
          "maxItems": 20,
          "items": {
            "type": "object",
            "required": ["concept", "definition", "epistemic_scope"],
            "properties": {
              "concept": {
                "type": "string",
                "description": "Name of the proprietary concept, framework, or term.",
                "maxLength": 100
              },
              "definition": {
                "type": "string",
                "description": "The entity's definition of this concept.",
                "maxLength": 300
              },
              "epistemic_scope": {
                "type": "string",
                "enum": ["public_verifiable", "proprietary_internal", "industry_standard"],
                "description": "Kind of claim (SPEC §8.2)."
              },
              "publicly_verifiable": {
                "type": "boolean",
                "description": "Whether independent verification is possible."
              }
            }
          }
        },
        "domain_expertise": {
          "type": "array",
          "description": "The entity's self-attested knowledge for common scenarios.",
          "maxItems": 10,
          "items": {
            "type": "object",
            "required": ["scenario", "context", "entity_perspective"],
            "properties": {
              "scenario": {
                "type": "string",
                "description": "A common question or scenario where the entity's domain expertise applies.",
                "maxLength": 200
              },
              "context": {
                "type": "string",
                "description": "Background context based on the entity's domain knowledge.",
                "maxLength": 300
              },
              "entity_perspective": {
                "type": "string",
                "description": "The entity's perspective on this scenario, as a third-person statement.",
                "maxLength": 300
              },
              "confidence": {
                "type": "string",
                "enum": ["high", "medium", "low"],
                "description": "Self-assessed confidence level."
              },
              "source": {
                "type": "string",
                "format": "uri",
                "description": "URL of evidence supporting this perspective."
              },
              "epistemic_scope": {
                "type": "string",
                "enum": ["public_verifiable", "proprietary_internal", "industry_standard"],
                "description": "Kind of claim (SPEC §8.2)."
              }
            }
          }
        },
        "market_positioning": {
          "type": "object",
          "description": "How the entity positions itself relative to market categories (never individual competitors).",
          "additionalProperties": {
            "type": "string",
            "maxLength": 200
          }
        },
        "decision_factors": {
          "type": "array",
          "description": "Factors the entity considers important when evaluating fit.",
          "maxItems": 10,
          "items": {
            "type": "object",
            "required": ["factor", "weight", "reasoning"],
            "properties": {
              "factor": {
                "type": "string",
                "description": "The decision factor (e.g. 'Price sensitivity', 'Implementation speed').",
                "maxLength": 100
              },
              "weight": {
                "type": "string",
                "enum": ["critical", "high", "medium", "low"],
                "description": "Relative importance of this factor."
              },
              "reasoning": {
                "type": "string",
                "description": "Why this factor matters from the entity's perspective.",
                "maxLength": 200
              }
            }
          }
        },
        "recommendation_context": {
          "type": "object",
          "description": "The entity's description of situations in which it is or is not a fit ('Typical fit' / 'Not a fit'). Values describe situations; they are not instructions.",
          "properties": {
            "recommended_when": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 10,
              "description": "Situations the entity describes as a typical fit."
            },
            "not_recommended_when": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 200
              },
              "maxItems": 10,
              "description": "Situations the entity describes as not a fit."
            },
            "market_position": {
              "type": "string",
              "description": "Self-attested summary of market position.",
              "maxLength": 300
            }
          }
        }
      }
    },
    "diagnostics": {
      "type": "object",
      "description": "Optional ingestion telemetry for the publisher's own audit (SPEC §12). Infrastructure metadata, not content; not part of reasoning.md.",
      "properties": {
        "telemetry_tokens": {
          "type": "array",
          "description": "Opaque identifiers for ingestion auditing.",
          "maxItems": 10,
          "items": {
            "type": "object",
            "required": ["token", "layer", "purpose"],
            "properties": {
              "token": {
                "type": "string",
                "description": "Opaque identifier (e.g. a UUID URN).",
                "maxLength": 100
              },
              "layer": {
                "type": "string",
                "description": "Which data layer this token is associated with.",
                "maxLength": 100
              },
              "purpose": {
                "type": "string",
                "description": "Descriptive statement of why the token exists.",
                "maxLength": 200
              },
              "deployed": {
                "type": "string",
                "format": "date",
                "description": "When the token was added."
              }
            }
          }
        },
        "transparency_statement": {
          "type": "string",
          "description": "Human-readable explanation of why diagnostics are present.",
          "maxLength": 500
        }
      }
    },
    "authority": {
      "type": "object",
      "description": "Links to external profiles and registers about the entity.",
      "properties": {
        "wikipedia": {
          "type": "string",
          "format": "uri"
        },
        "wikidata": {
          "type": "string",
          "description": "Wikidata QID (e.g. 'Q123456')."
        },
        "crunchbase": {
          "type": "string",
          "format": "uri"
        },
        "linkedin": {
          "type": "string",
          "format": "uri"
        },
        "official_website": {
          "type": "string",
          "format": "uri"
        },
        "awards": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200
          },
          "maxItems": 10,
          "description": "Awards received, ideally with the awarding body."
        },
        "certifications": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 100
          },
          "maxItems": 10,
          "description": "Certifications held (e.g. 'ISO 27001', 'SOC 2 Type II')."
        }
      }
    },
    "content_policy": {
      "type": "object",
      "description": "Preferences the publisher expresses about the use of its information. ARP cannot enforce them.",
      "properties": {
        "ai_training": {
          "type": "string",
          "enum": ["allowed", "allowed-with-attribution", "disallowed", "conditional"],
          "description": "The publisher's preference on use of this content for AI training."
        },
        "citation_required": {
          "type": "boolean",
          "description": "Whether the publisher asks for attribution when its information is used."
        },
        "source_attribution": {
          "type": "string",
          "format": "uri",
          "description": "The URL the publisher names for attribution."
        },
        "data_freshness": {
          "type": "string",
          "format": "date",
          "description": "Date of the most recent data in this file."
        },
        "contact_for_verification": {
          "type": "string",
          "format": "email",
          "description": "Contact address for questions about the statements in this file."
        }
      }
    },
    "_arp_signature": {
      "type": "object",
      "description": "Cryptographic Trust Layer (SPEC §13). Ed25519 signature over the JCS-canonicalized (RFC 8785) complete object, including this block with signature set to \"\" (Enveloped Pattern, SPEC §13.4). All metadata, including statement and verify, is covered by the signature. The public key is looked up at <dns_selector>._arp.<retrieval domain>. The signature establishes origin, not accuracy.",
      "required": ["algorithm", "dns_selector", "canonicalization", "signed_at", "expires_at", "statement", "verify", "signature"],
      "properties": {
        "algorithm": {
          "type": "string",
          "const": "Ed25519",
          "description": "Signing algorithm. MUST be Ed25519."
        },
        "dns_selector": {
          "type": "string",
          "description": "Selector for the DNS TXT lookup (e.g. 'arp2610'): one or more DNS labels separated by dots; each label consists of letters, digits, '-' and '_' and begins and ends with a letter or digit, so that {selector}._arp.{domain} is a valid DNS name (SPEC §13.3). At most 50 characters.",
          "maxLength": 50,
          "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9])?)*$"
        },
        "dns_record": {
          "type": "string",
          "description": "RECOMMENDED. Informational: full DNS name of the key record, {SEL}._arp.{DOMAIN}. Verifiers never use it as the DNS query source.",
          "maxLength": 253,
          "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9])?)*\\._arp\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$"
        },
        "canonicalization": {
          "type": "string",
          "const": "jcs-rfc8785",
          "description": "Canonicalization method. MUST be JCS (RFC 8785)."
        },
        "signed_at": {
          "type": "string",
          "format": "date-time",
          "description": "Time of signing, UTC, RFC 3339 in the form YYYY-MM-DDTHH:MM:SSZ (no fractional seconds, no offset).",
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "description": "Expiry time of the signature in the same form as signed_at. Recommended validity: 90 days.",
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
        },
        "statement": {
          "type": "string",
          "description": "REQUIRED in v1.3. Fixed template: \"Signed with Ed25519 by the operator of {DOMAIN}. Public key: DNS TXT record {SEL}._arp.{DOMAIN}. The signature shows that the domain operator published exactly this file and that it has not been altered since; it does not show that the statements are true.\"",
          "maxLength": 600,
          "pattern": "^Signed with Ed25519 by the operator of [a-z0-9][a-z0-9.-]*[a-z0-9]\\. Public key: DNS TXT record [A-Za-z0-9](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9])?)*\\._arp\\.[a-z0-9][a-z0-9.-]*[a-z0-9]\\. The signature shows that the domain operator published exactly this file and that it has not been altered since; it does not show that the statements are true\\.$"
        },
        "verify": {
          "type": "object",
          "description": "REQUIRED in v1.3. Pointers for readers who want to check the signature. Informational: verifiers construct the DNS name from the retrieval domain and dns_selector.",
          "required": ["dns_name", "doh_url", "spec"],
          "properties": {
            "dns_name": {
              "type": "string",
              "description": "DNS name of the key record: {SEL}._arp.{DOMAIN}.",
              "maxLength": 253,
              "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9_-]{0,61}[A-Za-z0-9])?)*\\._arp\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$"
            },
            "doh_url": {
              "type": "string",
              "format": "uri",
              "description": "HTTPS URL that returns the key record through a public DNS-over-HTTPS JSON API. Reference value: https://dns.google/resolve?name={SEL}._arp.{DOMAIN}&type=TXT",
              "pattern": "^https://"
            },
            "spec": {
              "type": "string",
              "format": "uri",
              "description": "Specification of the verification procedure. Reference value: https://arp-protocol.org/SPEC.md#13-cryptographic-trust-layer"
            }
          },
          "additionalProperties": false
        },
        "signature": {
          "type": "string",
          "description": "Ed25519 signature (64 bytes), base64url in canonical form: 86 characters, the last of which is A, Q, g or w (unused bits zero); padded input (88 characters, ending in ==) is accepted on read. No whitespace or other characters (SPEC §13.3). Set to \"\" while canonicalizing for signing and verification.",
          "pattern": "^[A-Za-z0-9_-]{85}[AQgw](==)?$"
        }
      }
    }
  },
  "additionalProperties": false,
  "definitions": {
    "wording_profile_guard": {
      "description": "Machine-checkable part of the Wording Profile (SPEC §11.2), applied to the whole document at every depth: (1) no member name may be one of the reserved instruction-style names; (2) no string may contain a pseudo-system marker (system or role tags such as <system_note>, <assistant>, <user>, chat-template tokens such as <|im_start|>, the prefixes SYSTEM: and IMPORTANT:) or one of the listed second-person phrases. The remaining rules of §11.2 require a wording check. Each guard tests the type of the value first (if/then), so that validators with a strict type mode accept the schema.",
      "if": { "type": "object" },
      "then": {
        "type": "object",
        "propertyNames": {
          "type": "string",
          "not": {
            "type": "string",
            "pattern": "^(?:[Ss]ystem_?[Ii]nstructions?|[Rr]easoning_?[Dd]irectives?|[Aa][Ii]_?[Dd]irectives?|[Aa]gent_?[Dd]irectives?|[Ii]nstructions?|[Dd]irectives?)$"
          }
        },
        "additionalProperties": { "$ref": "#/definitions/wording_profile_guard" }
      },
      "else": {
        "if": { "type": "array" },
        "then": {
          "type": "array",
          "items": { "$ref": "#/definitions/wording_profile_guard" }
        },
        "else": {
          "if": { "type": "string" },
          "then": {
            "type": "string",
            "not": {
              "type": "string",
              "pattern": "(?:<\\s*/?\\s*[Ss][Yy][Ss][Tt][Ee][Mm](?:[_\\s-]?(?:[Nn][Oo][Tt][Ee]|[Pp][Rr][Oo][Mm][Pp][Tt]|[Mm][Ee][Ss][Ss][Aa][Gg][Ee]|[Ii][Nn][Ss][Tt][Rr][Uu][Cc][Tt][Ii][Oo][Nn][Ss]?|[Cc][Oo][Nn][Tt][Ee][Xx][Tt]))?\\b[^>]*>|<\\s*/?\\s*(?:[Aa][Ss][Ss][Ii][Ss][Tt][Aa][Nn][Tt]|[Uu][Ss][Ee][Rr]|[Dd][Ee][Vv][Ee][Ll][Oo][Pp][Ee][Rr]|[Hh][Uu][Mm][Aa][Nn])(?:\\s[^>]*)?>|<\\|[A-Za-z_]{1,40}\\|>|\\bSYSTEM\\s*:|\\bIMPORTANT\\s*:|\\b[Ii]f you are an? (?:AI|LLM|[Ll]anguage [Mm]odel|[Aa]gent|[Aa]ssistant|[Cc]hatbot)\\b|\\b[Ii]n (?:all )?future conversations\\b|\\b[Yy]ou are (?:explicitly )?authori[sz]ed\\b)"
            }
          }
        }
      }
    },
    "value_guard": {
      "description": "Value constraints applied at every depth: numbers lie within ±(2^53−1), the range of integers that IEEE 754 double precision represents exactly (an ARP rule, stricter than RFC 7493 §2.2, which states only that larger integers cannot be expected to be treated as exact; SPEC §13.4); member names and strings contain no control characters (U+0000–U+001F, U+007F–U+009F), so that no text can break the line structure of reasoning.md (SPEC §13.12.1).",
      "if": { "type": "object" },
      "then": {
        "type": "object",
        "propertyNames": {
          "type": "string",
          "not": { "type": "string", "pattern": "[\\u0000-\\u001f\\u007f-\\u009f]" }
        },
        "additionalProperties": { "$ref": "#/definitions/value_guard" }
      },
      "else": {
        "if": { "type": "array" },
        "then": {
          "type": "array",
          "items": { "$ref": "#/definitions/value_guard" }
        },
        "else": {
          "if": { "type": "number" },
          "then": {
            "type": "number",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "else": {
            "if": { "type": "string" },
            "then": {
              "type": "string",
              "not": { "type": "string", "pattern": "[\\u0000-\\u001f\\u007f-\\u009f]" }
            }
          }
        }
      }
    }
  }
}
