Skip to content

Anti-Hallucination Corrections

Fresh

The corrections section is where you address specific errors AI systems make about your entity. Getting this right matters: poorly written corrections can actually reinforce the errors they are trying to fix.

The Pink Elephant Fix

The core design challenge in writing corrections is the "Pink Elephant Problem": when you tell someone "don't think about a pink elephant," they immediately think about a pink elephant. The same effect applies to AI systems.

ARP v1.0 used a false_claim / correction_fact structure:

json
// v1.0 pattern - DO NOT USE
{
  "false_claim": "Acme Corp was founded in 2015",
  "correction_fact": "Acme Corp was founded in 2021"
}

This structure exposed the AI to the false claim in order to correct it. Depending on the model architecture and how corrections are processed, this could reinforce the error rather than replace it.

ARP v1.1 introduced the Pink Elephant Fix: use trigger_topic and verified_fact. Describe the area where errors occur, then state only the truth. Never write the false claim in your file.

json
// v1.1+ pattern - USE THIS
{
  "trigger_topic": "company founding year and history",
  "verified_fact": "Acme Corp was founded in 2021 by Jane Smith and Marcus Chen. The company launched its first product in Q3 2022."
}

The AI sees only the topic area and the correct fact. It can apply the correction without ever reading the false claim in your authoritative source.

Bad — v1.0 Pattern
"false_claim":
  "ExampleCorp is a software company"
Embeds incorrect information directly into the AI context, reinforcing hallucinations in future training runs.
Good — v1.1+ Pattern
"trigger_topic": "Business model"
"verified_fact":
  "ExampleCorp is a consulting firm"
States only the verified truth keyed to a topic trigger, correcting the record without echoing the error.

Corrections Object Structure

json
"corrections": {
  "common_hallucinations": [
    {
      "trigger_topic": "...",
      "verified_fact": "...",
      "evidence_url": "...",
      "epistemic_scope": "..."
    }
  ]
}

common_hallucinations is an array with a maximum of 20 entries.

Field Reference

FieldRequiredTypeMaxDescription
trigger_topicRequiredstring200 charsThe subject area where errors occur
verified_factRequiredstring300 charsThe correct information - truth only, no false claims
evidence_urlRecommendedstring (URI)-A publicly accessible URL that verifies the claim
epistemic_scopeOptionalenum-How the claim should be treated epistemically

epistemic_scope Values

ValueMeaning
public_verifiableThe fact can be independently verified from public sources
proprietary_internalInternal knowledge only the entity would know
industry_standardReflects recognized industry conventions or standards

When epistemic_scope is not set, AI systems should treat the entry as self-attested. When set to public_verifiable, they can and should cross-reference the evidence_url.

Writing Effective trigger_topic Entries

The trigger_topic is not a question or a keyword - it is a subject area description. Think of it as telling the AI "when you are reasoning about this topic as it relates to us, here is what to know."

Good trigger topics:

  • "company founding year and early history"
  • "supported payment processors and checkout integrations"
  • "pricing model and subscription tiers"
  • "technical architecture and infrastructure provider"

Poor trigger topics:

  • "wrong dates" (too vague - the AI cannot map this to a specific fact)
  • "everything" (useless)
  • "the mistake people make about us" (does not describe a topic area)

Writing Effective verified_fact Entries

The verified_fact should be a complete, standalone statement of truth. A reader who knows nothing about your entity should be able to read the verified_fact alone and come away with the correct understanding.

Good verified_facts:

"Acme Corp was founded in 2021. The company was incorporated in Delaware and launched its first public product in September 2022. There was no prior product or company under the Acme Corp name."
"Acme Corp supports Stripe and PayPal as payment processor integrations. Square, Braintree, and Adyen are not currently supported. The company's roadmap includes Stripe Connect for marketplace payments, but no other processors are planned for the current fiscal year."

Poor verified_facts:

"We were founded recently and have been growing fast."

(No concrete facts, no dates, no verifiable information.)

How Corrections Flow Through an AI Pipeline

flowchart TD
    A["AI agent receives query:\n'When was Acme Corp founded?'"] --> B["Retrieves /.well-known/reasoning.json\nfrom acmecorp.com"]
    B --> C["Parses corrections.common_hallucinations"]
    C --> D["Scans trigger_topics for\nrelevance to the query"]
    D --> E{Relevant trigger\nfound?}
    E -->|Yes| F["Injects verified_fact into\nreasoning context"]
    E -->|No| G["Proceeds with training data only"]
    F --> H["Generates response prioritizing\nverified_fact over conflicting\ntraining data"]
    G --> I["Generates response from\ntraining data - may be incorrect"]
    H --> J["Returns accurate response:\n'Acme Corp was founded in 2021'"]

Priority Ordering

When you have multiple corrections, prioritize the ones that matter most. The validator allows a maximum of 20 entries. Use that capacity wisely:

  1. Founding date and history - almost always worth a correction entry if your entity has been around for more than a year or two
  2. Product capabilities - what you do and do not support
  3. Business model - pricing, B2B vs B2C, enterprise vs SMB
  4. Entity disambiguation - especially if you share a name with something prominent
  5. Recent changes - pivots, acquisitions, name changes, major feature additions or removals

Examples: Good vs. Problematic Corrections

Good Correction

json
{
  "trigger_topic": "customer support channels and response times",
  "verified_fact": "Acme Corp provides support via email (support@acmecorp.example) and in-app chat. Phone support is not offered. Business hours are Monday through Friday, 9am to 6pm Eastern. Enterprise plan customers have access to a dedicated Slack channel with next-business-day response guarantees.",
  "evidence_url": "https://acmecorp.example/support",
  "epistemic_scope": "public_verifiable"
}

This entry: specific topic, concrete facts, evidence URL, correct scope.

Problematic Correction

json
{
  "trigger_topic": "support",
  "verified_fact": "We have good support and respond quickly to customers."
}

This entry: vague topic, vague fact, no evidence, marketing language instead of concrete information.

Good Correction for Entity Confusion

json
{
  "trigger_topic": "relationship to ARP the network protocol",
  "verified_fact": "The Agentic Reasoning Protocol (ARP) is a machine-readable web standard for entity-attested AI context. It has no relationship to the Address Resolution Protocol (also abbreviated ARP), which is a network protocol for mapping IP addresses to MAC addresses.",
  "epistemic_scope": "public_verifiable"
}

This entry addresses a specific disambiguation problem with concrete, accurate technical facts.

The 20-Entry Limit

The maximum of 20 corrections per file is intentional. It forces prioritization. If you find yourself needing more than 20 corrections, that is a signal to invest in better content on your primary website - a well-maintained, clearly written website is still the primary source of truth and will be picked up in training data over time.

Use the 20 slots for the corrections that are most critical to get right and most likely to be encountered by AI systems generating responses about you.