Skip to content
Back to Council of AI — Measurement Agent

Card snapshot

proofof.ai · 2026-09-05 15:11:06 UTC · eb2290a955e041b06b41e957bdd47de30cdf5a2c88c1ebf17a7acb20a769a2d7

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "Council of AI \u2014 Measurement Agent",
  "description": "Independent AI-governance MEASUREMENT body. Publishes the living GSPC board (Governance \u00b7 Safety \u00b7 Provenance \u00b7 Continuity) \u2014 quote totals.lid and totals.public_count from GET /api/gspc, never a typed integer here \u2014 with frozen item banks, published scoring code, and an Ed25519-signed board. Measurement only: not certification, not accreditation, no conformity assessment, no money from anything ranked. A2A v1.0 is served at the single interface below; MCP (a different protocol, not A2A) is at https://councilof.ai/mcp.",
  "version": "1.1.0",
  "provider": {
    "organization": "CSOAI Ltd",
    "url": "https://councilof.ai"
  },
  "supportedInterfaces": [
    {
      "url": "https://councilof.ai/api/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "documentationUrl": "https://councilof.ai/llms.txt",
  "iconUrl": "https://councilof.ai/og-image.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://councilof.ai/a2a/extensions/signed-receipts/v1/",
        "description": "Ed25519-signed task-outcome receipts plus a did:web key-trust convention for AgentCard signing (A2A v1.0 \u00a78.4). A receipt is evidence of what was claimed, not a certification, and a signature over it is an integrity claim rather than a truth claim.",
        "required": false
      }
    ]
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "gspc-board",
      "name": "Signed GSPC Board",
      "description": "SendMessage answers with the live board: totals.lid verbatim from GET /api/gspc and the derived axis rows (axis, family, kind, status, n, separation, leader state). Empty cells stay empty; a withheld leader is a state, not a zero; a fetch failure is UNCHECKABLE, never a fabricated number. Live JSON, recomputable from published rows.",
      "tags": [
        "measurement",
        "governance",
        "verification"
      ],
      "examples": [
        "SendMessage {\"message\": {\"messageId\": \"m-1\", \"role\": \"ROLE_USER\", \"parts\": [{\"text\": \"board\"}]}}",
        "GET /api/gspc \u2014 the same board, outside A2A"
      ]
    },
    {
      "id": "east-west-crosswalk",
      "name": "East-West crosswalk & cross-border card",
      "description": "One signed GSPC measurement mapped across EU, UK, US, Illinois, and China GB/T alignment surfaces. Crosswalk v1 JSON, cross-border signed card, and stranger verify at /gspc-verify. Measurement only \u2014 determination stays with authorities.",
      "tags": [
        "cross-border",
        "crosswalk",
        "measurement",
        "verification"
      ],
      "examples": [
        "GET /api/cross \u2014 cross-border signed card"
      ]
    },
    {
      "id": "measured-badge",
      "name": "Measured Badge",
      "description": "A global-board README link plus a card-bound status badge. The global board never becomes a model score. A model-specific score may render only from a VALID signed cell that names the exact subject and immutable revision; otherwise the subject is UNMEASURED or UNSIGNED.",
      "tags": [
        "measurement",
        "governance",
        "verification"
      ],
      "examples": [
        "GET /api/badge?card=<signed-card-sha256>&subject=<url-encoded-owner/model@commit-sha>"
      ]
    },
    {
      "id": "benchmark-quality-register",
      "name": "Benchmark-quality register",
      "description": "Signed register of what third-party AI benchmarks disclose about their own process integrity. Deterministic predicates only \u2014 no language model judges. Records are unsolicited; nothing on the register is certification or endorsement.",
      "tags": [
        "meta-evaluation",
        "benchmark-quality",
        "reproducibility",
        "governance"
      ],
      "examples": [
        "GET /api/benchmark-quality"
      ]
    },
    {
      "id": "article50-detect",
      "name": "Article 50 provenance detection (free)",
      "description": "Verify a C2PA-style signed manifest for AI-generated content (EU AI Act Article 50) at POST https://councilof.ai/api/detect. Deterministically checks the Ed25519-signed metadata layer and the IPTC/schema.org digitalSourceType; returns AI_MARKED / NOT_AI_MARKED / UNVERIFIABLE with a signed verdict receipt (in-toto/DSSE when a board key is bound). The imperceptible-watermark layer we cannot see is declared, never claimed. Free for all; unrestricted for authorities, media, fact-checkers, researchers and civil society. Not certification.",
      "tags": [
        "article-50",
        "provenance",
        "detection",
        "verification",
        "c2pa"
      ],
      "examples": [
        "POST /api/detect \u2014 multipart image or JSON manifest"
      ]
    },
    {
      "id": "eu-ai-act-screen",
      "name": "EU AI Act screening helper (deterministic, text-only)",
      "description": "POST https://councilof.ai/api/assess with a system description. Keyword matches name the Annex III categories and Article 5 patterns a human should inspect; no model is consulted. It does not establish legal tier, applicability, exceptions or compliance, and an empty description is UNMEASURED, not a low-risk finding. When no signing key is provisioned the report says UNSIGNED out loud.",
      "tags": [
        "eu-ai-act",
        "screening",
        "deterministic"
      ],
      "examples": [
        "POST /api/assess {\"system\": \"<what the system does and for whom>\"}"
      ]
    }
  ],
  "catalogUrl": "https://councilof.ai/interop/surface-catalog.json",
  "doi": "10.5281/zenodo.21991104",
  "explicitly_not": [
    "certification",
    "accreditation",
    "conformity-assessment",
    "legal-determination",
    "enforcement"
  ]
}