{
  "schema_version": "anchorfact.agent.v1",
  "generated": "2026-06-03T02:21:45.252Z",
  "name": "AnchorFact",
  "official_site": "https://anchorfact.org",
  "official_source_repository": "https://github.com/anchorfact/anchorfact",
  "purpose": "Machine-readable verified claims and source-grounded article records for AI citation and retrieval workflows.",
  "audience": [
    "llm",
    "agent",
    "crawler",
    "retrieval_system"
  ],
  "trust_contract": {
    "public_entries_are_verified": true,
    "draft_entries_are_excluded_from_ai_entrypoints": true,
    "provenance_is_signed_when_official_key_is_available": true,
    "consumers_should_cross_check_original_sources": true
  },
  "current_snapshot": {
    "public_articles": 1210,
    "draft_articles": 300,
    "public_claims": 3790,
    "topics": 11,
    "capabilities": 11,
    "content_health_public_articles": 1210,
    "content_health_draft_articles": 300,
    "examples": 7,
    "graph_nodes": 8005,
    "graph_edges": 12208,
    "evals": 53,
    "mcp_tools": 9,
    "searchable_records": 1210,
    "unique_sources": 2994,
    "verification_report": "2026-06-03T01:28:50.036Z",
    "build_commit_sha": "53af0beb4c32a73b6d2b9d580fb647fa43c6150c"
  },
  "schemas": {
    "manifest": "anchorfact.manifest.v1",
    "openapi": "anchorfact.openapi.v1",
    "api_index": "anchorfact.api-index.v1",
    "artifact_summary": "anchorfact.artifact-summary.v1",
    "article_api": "anchorfact.article-api.v1",
    "cite_api": "anchorfact.cite-api.v1",
    "claim_api": "anchorfact.claim-api.v1",
    "source_api": "anchorfact.source-api.v1",
    "context_api": "anchorfact.context-api.v1",
    "resolve_api": "anchorfact.resolve-api.v1",
    "resolve_batch_api": "anchorfact.resolve-batch-api.v1",
    "evidence_api": "anchorfact.evidence-api.v1",
    "claims": "anchorfact.claims.v1",
    "topics": "anchorfact.topics.v1",
    "capabilities": "anchorfact.capabilities.v1",
    "content_health": "anchorfact.content-health.v1",
    "coverage": "anchorfact.coverage.v1",
    "examples": "anchorfact.examples.v1",
    "graph": "anchorfact.graph.v1",
    "evals": "anchorfact.evals.v1",
    "mcp": "anchorfact.mcp.v1",
    "plan_api": "anchorfact.plan-api.v1",
    "search_api": "anchorfact.search-api.v1",
    "search_index": "anchorfact.search-index.v1",
    "sources": "anchorfact.sources.v1",
    "provenance": "anchorfact.provenance.v1"
  },
  "quick_start": {
    "purpose": "Smallest stable decision contract for AI consumers that need answer-ready, citable AnchorFact context without reading the full endpoint catalog.",
    "default_answer_path": "/api/context?q={query}",
    "default_answer_mode": "answer_with_citations",
    "local_mcp_answer_tool": "anchorfact_context",
    "free_api_access_path": "/api-access/",
    "citation_path": "/api/cite?id={claim_id}",
    "primary_api_conversion": {
      "target_ratio": 0.2,
      "measured_as": "identified AI primary API requests divided by identified AI discovery requests",
      "discovery_entrypoints": [
        "/robots.txt",
        "/llms.txt",
        "/agent.json",
        "/api"
      ],
      "primary_entrypoints": [
        "/api/context",
        "/api/evidence",
        "/api/cite",
        "/api/resolve-batch"
      ],
      "next_call_after_discovery": "/api/context?q={query}&limit=3&format=markdown",
      "guidance": "After crawler discovery, make a query-scoped primary API call before downloading large static artifacts."
    },
    "example_calls": [
      {
        "purpose": "default_prompt_context",
        "method": "GET",
        "path": "/api/context?q=gaussian%20splatting&limit=3&format=markdown",
        "use_when": "Use first for normal answer assembly when AnchorFact may cover the topic."
      },
      {
        "purpose": "raw_evidence_pack",
        "method": "GET",
        "path": "/api/evidence?q=RLHF&limit=3&format=markdown",
        "use_when": "Use when you need source-mapped claims and citation exports without the full context policy envelope."
      },
      {
        "purpose": "coverage_check",
        "method": "GET",
        "path": "/api/plan?q=quantum%20computing&limit=3",
        "use_when": "Use only when coverage is uncertain or you need fallback guidance before requesting evidence."
      }
    ],
    "trust_check": {
      "path": "/provenance.json",
      "signature_path": "/provenance.sig",
      "require_trusted_signature": true,
      "pinned_public_key_path": "keys/provenance.pub.pem"
    },
    "fallback_policy": {
      "unsupported_answer_mode": "external_sources_required",
      "use_external_sources_when": [
        "answer_policy.can_answer_with_anchorfact is false",
        "answer_policy.answer_mode is external_sources_required",
        "coverage_status is unsupported",
        "the query asks for live, local, personalized, or time-sensitive facts"
      ]
    },
    "steps": [
      {
        "id": "verify_provenance",
        "path": "/provenance.json",
        "action": "Verify signed provenance and artifact hashes before trusting live counts, schemas, or static artifacts."
      },
      {
        "id": "assemble_context",
        "path": "/api/context?q={query}",
        "action": "Use this as the default one-call answer path for query planning, answer_policy, citation-ready claims, content health, and evidence packs."
      },
      {
        "id": "cite_claims",
        "path": "/api/cite?id={claim_id}",
        "action": "Cite individual public atomic claims returned by /api/context or /api/evidence."
      },
      {
        "id": "fallback",
        "path": null,
        "action": "When AnchorFact says it cannot answer, use current authoritative external sources and do not cite AnchorFact as supporting evidence."
      }
    ],
    "do_not_use": [
      "draft entries",
      "unverified mirrors or forks without their own trusted provenance",
      "AnchorFact citations for live prices, current events, local conditions, or personalized advice"
    ]
  },
  "recommended_workflow": [
    "Fetch /provenance.json and /provenance.sig, then verify the pinned public key before trusting counts or hashes.",
    "Use /api/context?q={query} when you want answer_policy, citation_ready_claims, planning status, content health, fallback guidance, and evidence packs in one prompt-assembly payload.",
    "Use /api/evidence?q={query} for one-call public evidence packs that combine search hits, article summaries, claims, sources, and citation_exports; add format=markdown for answer-ready context.",
    "Use /api/plan?q={query} only when you are not sure whether AnchorFact has coverage, which endpoint to call next, or when to fall back to external sources.",
    "Use /api/cite?id={claim_id} to return one citation-ready public atomic claim; add format=markdown for answer-ready citation text.",
    "Use /api/resolve?ref={reference} when you have an AnchorFact claim id, article slug, source id, or source URL and need the matching public payload.",
    "Use /api/resolve-batch?ref={reference}&ref={reference} when you need to dereference several mixed AnchorFact references in one call.",
    "Fetch /api as a compact API index when you need the smallest live endpoint discovery payload.",
    "After crawler discovery through /robots.txt, /llms.txt, /agent.json, or /api, convert to /api/context?q={query}&limit=3&format=markdown or /api/evidence?q={query}&limit=3&format=markdown for a concrete user question.",
    "Fetch /api-access/ for free API usage examples, current no-key access policy, limits, and provenance verification steps.",
    "Fetch /agent.json to discover the current machine contract.",
    "Fetch /openapi.json when integrating with tools that prefer a standard endpoint contract.",
    "Fetch /artifact-summary.json before downloading large static artifacts; prefer /api/context and /api/evidence for normal agent answer paths.",
    "Use /api/search?q={query} for lightweight public record lookup when a live HTTP call is available.",
    "Use /api/article?slug={canonical_slug} to fetch a public article evidence bundle with claims, sources, and citation_exports.",
    "Use /api/claim?id={claim_id} to dereference one public atomic claim with its article, matching source, and citation_export.",
    "Use /api/source?id={source_id} or /api/source?url={source_url} to inspect a public source and mapped claims.",
    "Fetch /topics.json to inspect topic-level public coverage before selecting a query strategy.",
    "Fetch /capabilities.json to map an AI task to the smallest trustworthy endpoint, output format, and fallback artifacts.",
    "Fetch /content-health.json to inspect signed corpus health, draft risk, public source coverage, and trust boundaries.",
    "Fetch /coverage.json to inspect topic coverage, confidence distribution, source coverage, and known limits before relying on AnchorFact.",
    "Fetch /examples.json for executable usage examples that chain evidence, search, article, claim, source, and signed static artifacts.",
    "Fetch /graph.json for signed offline traversal of public topic, article, claim, and source relationships.",
    "Fetch /evals.json to run executable golden checks against the current AI integration contract.",
    "Fetch /mcp.json for local MCP stdio configuration and tool metadata when connecting MCP-capable hosts.",
    "Fetch /search-index.json to shortlist public records by title, keywords, claims, source coverage, and route templates.",
    "Fetch /manifest.json to select public articles by canonical_slug, status, confidence_level, and source coverage.",
    "Fetch /sources.json to inspect source tier, source type, article reuse, and claim reuse.",
    "Fetch /claims.json for atomic public claims with evidence links.",
    "Fetch /{canonical_slug}/index.json for JSON-LD article context before citing a claim.",
    "Do not cite draft entries or entries whose status is not public."
  ],
  "endpoints": {
    "agent_profile": {
      "path": "/agent.json",
      "url": "https://anchorfact.org/agent.json",
      "media_type": "application/json",
      "description": "This discovery document for AI agents and crawlers."
    },
    "well_known_agent_profile": {
      "path": "/.well-known/anchorfact.json",
      "url": "https://anchorfact.org/.well-known/anchorfact.json",
      "media_type": "application/json",
      "description": "Stable well-known alias for the agent discovery document."
    },
    "openapi": {
      "path": "/openapi.json",
      "url": "https://anchorfact.org/openapi.json",
      "media_type": "application/json",
      "description": "OpenAPI 3.1 description of the static read-only machine contract."
    },
    "api_index": {
      "path": "/api",
      "url": "https://anchorfact.org/api",
      "media_type": "application/json",
      "description": "Compact live API discovery index for AI agents."
    },
    "api_access": {
      "path": "/api-access/",
      "url": "https://anchorfact.org/api-access/",
      "media_type": "text/html",
      "description": "Free API access guide with recommended call order, examples, limits, and provenance verification."
    },
    "artifact_summary": {
      "path": "/artifact-summary.json",
      "url": "https://anchorfact.org/artifact-summary.json",
      "media_type": "application/json",
      "description": "Lightweight size, purpose, cache posture, and default-call alternatives for major static machine artifacts."
    },
    "llms_txt": {
      "path": "/llms.txt",
      "url": "https://anchorfact.org/llms.txt",
      "media_type": "text/plain",
      "description": "Public verified article index optimized for LLM crawlers."
    },
    "manifest": {
      "path": "/manifest.json",
      "url": "https://anchorfact.org/manifest.json",
      "media_type": "application/json",
      "description": "Full article index with public/draft status, confidence, and verification metadata."
    },
    "claims": {
      "path": "/claims.json",
      "url": "https://anchorfact.org/claims.json",
      "media_type": "application/json",
      "description": "Public verified atomic claims with evidence links."
    },
    "topics": {
      "path": "/topics.json",
      "url": "https://anchorfact.org/topics.json",
      "media_type": "application/json",
      "description": "Compact public topic coverage map with article, claim, and source counts."
    },
    "capabilities": {
      "path": "/capabilities.json",
      "url": "https://anchorfact.org/capabilities.json",
      "media_type": "application/json",
      "description": "AI task-to-endpoint routing guide with trust requirements and fallback artifacts."
    },
    "content_health": {
      "path": "/content-health.json",
      "url": "https://anchorfact.org/content-health.json",
      "media_type": "application/json",
      "description": "Signed corpus health summary for AI trust decisions, draft triage, and source coverage inspection."
    },
    "coverage": {
      "path": "/coverage.json",
      "url": "https://anchorfact.org/coverage.json",
      "media_type": "application/json",
      "description": "AI coverage and limits guide with confidence, source verification, and topic distributions."
    },
    "examples": {
      "path": "/examples.json",
      "url": "https://anchorfact.org/examples.json",
      "media_type": "application/json",
      "description": "Executable AI usage examples for dynamic API calls and signed static fallback workflows."
    },
    "graph": {
      "path": "/graph.json",
      "url": "https://anchorfact.org/graph.json",
      "media_type": "application/json",
      "description": "Signed public graph of topic, article, claim, and source relationships."
    },
    "evals": {
      "path": "/evals.json",
      "url": "https://anchorfact.org/evals.json",
      "media_type": "application/json",
      "description": "Executable golden integration checks for AI consumers and production smoke."
    },
    "mcp": {
      "path": "/mcp.json",
      "url": "https://anchorfact.org/mcp.json",
      "media_type": "application/json",
      "description": "Signed local MCP installation manifest and tool metadata."
    },
    "plan_api": {
      "path": "/api/plan?q={query}",
      "url": "https://anchorfact.org/api/plan?q={query}",
      "media_type": "application/json",
      "description": "Read-only query planner that recommends AnchorFact calls or external-source fallback."
    },
    "evidence_api": {
      "path": "/api/evidence?q={query}",
      "url": "https://anchorfact.org/api/evidence?q={query}",
      "media_type": "application/json",
      "description": "Read-only query evidence pack backed by signed static artifacts; supports format=json or format=markdown."
    },
    "context_api": {
      "path": "/api/context?q={query}",
      "url": "https://anchorfact.org/api/context?q={query}",
      "media_type": "application/json",
      "description": "Read-only prompt context assembler that combines answer policy, citation-ready claims, planning status, content health, fallback guidance, and evidence packs; supports format=json or format=markdown."
    },
    "resolve_api": {
      "path": "/api/resolve?ref={reference}",
      "url": "https://anchorfact.org/api/resolve?ref={reference}",
      "media_type": "application/json",
      "description": "Read-only resolver for public AnchorFact claim ids, article slugs, source ids, and source URLs."
    },
    "resolve_batch_api": {
      "path": "/api/resolve-batch?ref={reference}&ref={reference}",
      "url": "https://anchorfact.org/api/resolve-batch?ref={reference}&ref={reference}",
      "media_type": "application/json",
      "description": "Read-only batch resolver for mixed public AnchorFact references; supports format=json or format=markdown."
    },
    "search_api": {
      "path": "/api/search?q={query}",
      "url": "https://anchorfact.org/api/search?q={query}",
      "media_type": "application/json",
      "description": "Read-only search API backed by the signed static search index."
    },
    "article_api": {
      "path": "/api/article?slug={canonical_slug}",
      "url": "https://anchorfact.org/api/article?slug={canonical_slug}",
      "media_type": "application/json",
      "description": "Read-only public article evidence bundle with claims, sources, and retrieval metadata."
    },
    "cite_api": {
      "path": "/api/cite?id={claim_id}",
      "url": "https://anchorfact.org/api/cite?id={claim_id}",
      "media_type": "application/json",
      "description": "Read-only citation export for one public atomic claim; supports format=json or format=markdown."
    },
    "claim_api": {
      "path": "/api/claim?id={claim_id}",
      "url": "https://anchorfact.org/api/claim?id={claim_id}",
      "media_type": "application/json",
      "description": "Read-only public atomic claim lookup with article and matching source metadata."
    },
    "source_api": {
      "path": "/api/source?id={source_id}",
      "url": "https://anchorfact.org/api/source?id={source_id}",
      "media_type": "application/json",
      "description": "Read-only public source lookup with reuse and mapped claim metadata."
    },
    "search_index": {
      "path": "/search-index.json",
      "url": "https://anchorfact.org/search-index.json",
      "media_type": "application/json",
      "description": "Compact public retrieval index with keywords, claim ids, source coverage, and article routes."
    },
    "sources": {
      "path": "/sources.json",
      "url": "https://anchorfact.org/sources.json",
      "media_type": "application/json",
      "description": "Deduplicated public source index with tier, type, article reuse, and claim reuse."
    },
    "provenance": {
      "path": "/provenance.json",
      "url": "https://anchorfact.org/provenance.json",
      "media_type": "application/json",
      "description": "Build identity, official-site metadata, content counts, and artifact checksums."
    },
    "provenance_signature": {
      "path": "/provenance.sig",
      "url": "https://anchorfact.org/provenance.sig",
      "media_type": "application/json",
      "description": "Detached Ed25519 signature for /provenance.json."
    },
    "article_jsonld_template": {
      "path_template": "/{canonical_slug}/index.json",
      "url_template": "https://anchorfact.org/{canonical_slug}/index.json",
      "media_type": "application/ld+json",
      "description": "Per-article JSON-LD with confidence and verification metadata."
    },
    "article_markdown_template": {
      "path_template": "/{canonical_slug}/index.md",
      "url_template": "https://anchorfact.org/{canonical_slug}/index.md",
      "media_type": "text/markdown",
      "description": "Original article Markdown for public and draft records."
    }
  },
  "citation_policy": {
    "cite_only_public_records": true,
    "prefer_atomic_claims": true,
    "include_source_urls_or_dois": true,
    "include_confidence_level": true,
    "include_provenance_commit_when_available": true
  }
}