{
  "schema": "tiffany.systems/schema/capabilities/1.0.0",
  "note": "What can be done today and what cannot. Availability describes software; it never describes scientific standing.",
  "count": 8,
  "available": 8,
  "capabilities": [
    {
      "id": "read-claims",
      "title": "Read a scientific claim in full",
      "domain": "LABORATORY_INFRASTRUCTURE",
      "development_state": "AVAILABLE",
      "availability": "AVAILABLE",
      "access": "PUBLIC",
      "scientific_qualification": null,
      "enables": "See a claim decomposed into components, each with what actually supports it — including the parts supported by nothing — plus its registered falsifiers, its open evidence debt and everything that changed since the last version.",
      "scope": "This website's own publication infrastructure. It is not a capability of the Tiffany system and is never presented as one.",
      "limitations": [
        "The scientific corpus is empty. Today this works on one clearly-marked demonstration fixture."
      ],
      "enabling_resources": [
        "laboratory"
      ],
      "evidence": [],
      "access_method": "Public HTTP. No credential, no account.",
      "examples": [
        "/demo/claims/demo-0001/v2"
      ],
      "api_relationship": null,
      "app_relationship": null,
      "docs": "/methodology",
      "provenance": {
        "source": "WEBSITE_AUTHORED",
        "publication_decision_ref": null,
        "cleared_at": null
      }
    },
    {
      "id": "verify-record",
      "title": "Verify what you received",
      "domain": "LABORATORY_INFRASTRUCTURE",
      "development_state": "AVAILABLE",
      "availability": "AVAILABLE",
      "access": "PUBLIC",
      "scientific_qualification": null,
      "enables": "Recompute a record's digest from the record itself, check an artifact's bytes against its published hash, or check the whole site against one manifest.",
      "scope": "This website's own publication infrastructure. It is not a capability of the Tiffany system and is never presented as one.",
      "limitations": [
        "Proves you hold the bytes that were published. Proves nothing about whether a claim is true — the site keeps those apart deliberately."
      ],
      "enabling_resources": [
        "verifier"
      ],
      "evidence": [],
      "access_method": "Public HTTP. No credential, no account.",
      "examples": [
        "/developers/api/verification"
      ],
      "api_relationship": null,
      "app_relationship": null,
      "docs": "/verify",
      "provenance": {
        "source": "WEBSITE_AUTHORED",
        "publication_decision_ref": null,
        "cleared_at": null
      }
    },
    {
      "id": "call-api",
      "title": "Call the public API",
      "domain": "LABORATORY_INFRASTRUCTURE",
      "development_state": "AVAILABLE",
      "availability": "AVAILABLE",
      "access": "PUBLIC",
      "scientific_qualification": null,
      "enables": "Fetch claims, changes, the status vocabulary, the publication policy and the demonstration records as JSON. No key, no signup, no client library.",
      "scope": "This website's own publication infrastructure. It is not a capability of the Tiffany system and is never presented as one.",
      "limitations": [
        "Read-only. Scientific endpoints return empty sets by design."
      ],
      "enabling_resources": [
        "public-api"
      ],
      "evidence": [],
      "access_method": "Public HTTP. No credential, no account.",
      "examples": [
        "/api/index.json"
      ],
      "api_relationship": "public-api",
      "app_relationship": null,
      "docs": "/developers/api/quickstart",
      "provenance": {
        "source": "WEBSITE_AUTHORED",
        "publication_decision_ref": null,
        "cleared_at": null
      }
    },
    {
      "id": "resolve-vocabulary",
      "title": "Resolve a status term",
      "domain": "LABORATORY_INFRASTRUCTURE",
      "development_state": "AVAILABLE",
      "availability": "AVAILABLE",
      "access": "PUBLIC",
      "scientific_qualification": null,
      "enables": "Look up exactly what a status term means, in a versioned document, instead of guessing from the word.",
      "scope": "This website's own publication infrastructure. It is not a capability of the Tiffany system and is never presented as one.",
      "limitations": [
        "Definitions are versioned. A changed meaning requires a new ontology version, never a silent edit."
      ],
      "enabling_resources": [
        "ontology"
      ],
      "evidence": [],
      "access_method": "Public HTTP. No credential, no account.",
      "examples": [
        "/api/ontology.json"
      ],
      "api_relationship": null,
      "app_relationship": null,
      "docs": "/ontology",
      "provenance": {
        "source": "WEBSITE_AUTHORED",
        "publication_decision_ref": null,
        "cleared_at": null
      }
    },
    {
      "id": "reproduce-artifact",
      "title": "Reproduce a published artifact",
      "domain": "LABORATORY_INFRASTRUCTURE",
      "development_state": "AVAILABLE",
      "availability": "AVAILABLE",
      "access": "PUBLIC",
      "scientific_qualification": null,
      "enables": "Follow a published verification recipe and re-derive the outputs yourself from the published fixture.",
      "scope": "This website's own publication infrastructure. It is not a capability of the Tiffany system and is never presented as one.",
      "limitations": [
        "Demonstration apparatus only. Reproducing it faithfully reproduces a measurement that was later found invalid — which is the point of the example."
      ],
      "enabling_resources": [
        "research-bundles"
      ],
      "evidence": [],
      "access_method": "Public HTTP. No credential, no account.",
      "examples": [
        "/demo/claims/demo-0001/v2"
      ],
      "api_relationship": null,
      "app_relationship": null,
      "docs": "/developers/api/verification",
      "provenance": {
        "source": "WEBSITE_AUTHORED",
        "publication_decision_ref": null,
        "cleared_at": null
      }
    },
    {
      "id": "build-client",
      "title": "Build a client against the contract",
      "domain": "LABORATORY_INFRASTRUCTURE",
      "development_state": "AVAILABLE",
      "availability": "AVAILABLE",
      "access": "PUBLIC",
      "scientific_qualification": null,
      "enables": "Write software against published schemas and an OpenAPI document generated from the same registry the routes come from.",
      "scope": "This website's own publication infrastructure. It is not a capability of the Tiffany system and is never presented as one.",
      "limitations": [
        "The contract is small because the surface is small. It will grow through versioned, announced changes."
      ],
      "enabling_resources": [
        "developer-portal"
      ],
      "evidence": [],
      "access_method": "Public HTTP. No credential, no account.",
      "examples": [
        "/developers/openapi.json"
      ],
      "api_relationship": "public-api",
      "app_relationship": null,
      "docs": "/developers/api/reference",
      "provenance": {
        "source": "WEBSITE_AUTHORED",
        "publication_decision_ref": null,
        "cleared_at": null
      }
    },
    {
      "id": "trace-provenance",
      "title": "Trace where a record came from",
      "domain": "LABORATORY_INFRASTRUCTURE",
      "development_state": "AVAILABLE",
      "availability": "AVAILABLE",
      "access": "PUBLIC",
      "scientific_qualification": null,
      "enables": "Follow a claim's provenance chain step by step, with input and output digests, and see which steps are sanitised attestations rather than inspectable inputs.",
      "scope": "This website's own publication infrastructure. It is not a capability of the Tiffany system and is never presented as one.",
      "limitations": [
        "A sanitised step never discloses its private input. The record declares its own provenance completeness so you know which you are getting."
      ],
      "enabling_resources": [
        "laboratory"
      ],
      "evidence": [],
      "access_method": "Public HTTP. No credential, no account.",
      "examples": [
        "/demo/claims/demo-0001/v3"
      ],
      "api_relationship": null,
      "app_relationship": null,
      "docs": "/methodology",
      "provenance": {
        "source": "WEBSITE_AUTHORED",
        "publication_decision_ref": null,
        "cleared_at": null
      }
    },
    {
      "id": "validate-records",
      "title": "Validate records against the schemas",
      "domain": "LABORATORY_INFRASTRUCTURE",
      "development_state": "AVAILABLE",
      "availability": "AVAILABLE",
      "access": "PUBLIC",
      "scientific_qualification": null,
      "enables": "Check any document this site serves against its published schema with any draft 2020-12 validator.",
      "scope": "This website's own publication infrastructure. It is not a capability of the Tiffany system and is never presented as one.",
      "limitations": [
        "The build already does this for every emitted document; a failure stops the build."
      ],
      "enabling_resources": [
        "schemas"
      ],
      "evidence": [],
      "access_method": "Public HTTP. No credential, no account.",
      "examples": [
        "/api/schema/claim.schema.json"
      ],
      "api_relationship": "public-api",
      "app_relationship": null,
      "docs": "/developers/api/schemas",
      "provenance": {
        "source": "WEBSITE_AUTHORED",
        "publication_decision_ref": null,
        "cleared_at": null
      }
    }
  ]
}
