{
  "markdown": "# aio-standards\n\nMachine-readable mirror of the open standards published by **AIO — AI Integrity Organization**,\nan international standards body established as a Swiss association in Geneva (UID CHE-469.997.903).\n\nEverything here is also served live from <https://aioq.org>. This repository exists so the same\nfiles can be read, diffed, cited, and vendored without depending on an HTTP endpoint staying up.\n\n**License: [CC BY 4.0](LICENSE).** Attribution string:\n`AIO — AI Integrity Organization, https://aioq.org, CC BY 4.0`\n\n---\n\n## What AIO measures\n\nAI integrity, in AIO's framing, has three distinct failure modes, and AIO works on the first:\n\n1. **The compromise problem** — the deliberate or structural compromise of training data and\n   judgment criteria in pursuit of particular outcomes, at the stage where a response is produced.\n2. **The use problem** — misinterpretation or irresponsible application of a response after it\n   enters society.\n3. **The error problem** — the system failing to work as intended.\n\nThe AIO Framework encodes one judgment as one line:\n\n```\nC:MED/IXi | V:Bec<Sda | E:Exp<Gui | S:Usr<Pro\n```\n\nContext, then the **value (V)**, **evidence (E)**, and **source (S)** hierarchies behind that\njudgment, where `<` reads \"outranked by\". No user content is carried — the line records *why*, not\n*what*.\n\n---\n\n## Contents\n\n| Path | What it is |\n|---|---|\n| [`vocabulary/aio-00011.json`](vocabulary/aio-00011.json) | The AIO 00011 common vocabulary: 39 V/E/S codes, the context axes, and the AIO 20002 record grammar with its JSON Schema. Snapshot of `GET https://aioq.org/api/framework/vocabulary`. |\n| `standards-packs/*.json` (×15 + EU) | Waves 1-3 formalization drafts (**draft-unverified** — single-pass seed, dual verification pending): NIST AI RMF, the Korean AI Framework Act (current consolidation 법률 제21311호), the CoE Framework Convention (not yet in force — EU sole ratification), the China Generative AI Interim Measures, the EU GPAI Code of Practice, the OECD AI Principles (2024 consolidation), California TFAIA (SB 53), the China AI-content labeling Measures, the G7 Hiroshima Code of Conduct, and the UNESCO Recommendation on the Ethics of AI (license-constrained: short-quote footprint only). Each entry carries verbatim, machine-checked provenance quotes. |\n| [`standards-packs/eu-ai-act-v0.2.json`](standards-packs/eu-ai-act-v0.2.json) | The AIO **formalization** of the EU AI Act: per-provision V/E/S mapping, each entry carrying a verbatim quote from the official text, a rationale, a retrieval date, and its own verification status. |\n| [`standards-packs/schema.json`](standards-packs/schema.json) | JSON Schema for a standards pack. A new norm is a data file, not code. |\n| [`standards-packs/FORMALIZATION_METHODOLOGY.md`](standards-packs/FORMALIZATION_METHODOLOGY.md) | How a legal text becomes a pack, and what the status ladder means. |\n| [`item-banks/eu-ai-act.public.json`](item-banks/eu-ai-act.public.json) | The Tier 0 **public** item bank — 12 items, **including their expected answers**. See the note below; this is deliberate. |\n| [`item-banks/agent-track-v0.public.json`](item-banks/agent-track-v0.public.json) | The agent-submitted benchmark track item bank v0.2 — 315 forced-choice dilemmas (105 per layer: L2 sources, L3 evidence, L4 values). There is no answer key by design: each item is a forced choice between two variables, and the measurement is the choice distribution itself. The `review` block records the six-round quality review that produced v0.2; one item carries an explicit `reviewNote`. |\n| [`item-banks/eu-ai-act.gateb-commitment.json`](item-banks/eu-ai-act.gateb-commitment.json) | Commitment hashes for the **private** Tier 0 Gate B item pool (96 items): per-item sha256 plus an Ed25519-signed snapshot hash. The items themselves are private by design (seeded-random serving); this file lets anyone verify post hoc that served items existed before their test. Retired items are disclosed at `/content/bench-items/eu-ai-act.gateb-retired.json` on aioq.org as the pool rotates. |\n| [`verify/verify-certificate.mjs`](verify/verify-certificate.mjs) | Standalone Ed25519 verifier for an issued certificate. No npm dependencies. |\n\n### Why the item bank ships with its answer key\n\nTier 0 is self-assessment on a fully public item set. Publishing the expected hierarchies is not a\nleak — it is the design. A Tier 0 score is a **floor**, not a gaming-resistant measurement: it\nrecords that a model *could* answer by the criteria it declared. Hiding the key would buy a false\nsense of rigour while making the measurement unreproducible by anyone but AIO. Gaming resistance is\nwhat higher, proctored tiers with private item banks are for.\n\nThe live API serves the same bank with the answer key stripped, so that a submission flow cannot\ntrivially read it back: `GET https://aioq.org/api/eval/items?pack=eu-ai-act`.\n\n### What \"formalization\" means, and what it does not\n\nA standards pack is **AIO's own formalization** of an external reference norm — a reading of a legal\ntext expressed in the AIO vocabulary, so that it can be measured. It is not the norm, not an\nofficial reading of it, and not produced with the involvement of the body that issued it.\n\nEvery pack carries a `status` on a fixed ladder:\n\n```\ndraft-unverified → draft-verified → rfc → active\n```\n\nThe EU AI Act pack is currently `draft-verified`: every mapping entry has a verbatim quote from the\nofficial text and a recorded retrieval date, but the pack has not yet been through the public RFC\nprocess. Certificates issued on a pack that is not `active` carry that fact — the field\n`basisStatus` sits **inside the signed payload**, so it cannot be reconstructed after the fact.\n\n---\n\n## Verifying a certificate\n\nCertificates issued by AIO are signed with Ed25519. The public key is published at\n<https://aioq.org/.well-known/aio-cert-key.json>, so verification never requires trusting — or even\nreaching — an AIO server beyond fetching the record itself.\n\n```bash\nnode verify/verify-certificate.mjs AIO-C0-XXXXXXXX\nnode verify/verify-certificate.mjs AIO-C0-XXXXXXXX --json\nnode verify/verify-certificate.mjs --file ./saved-response.json --key ./pinned-key.json\n```\n\nExit codes: `0` verified and currently valid · `1` verified but expired or revoked ·\n`2` signature missing or mismatched · `3` usage or network error.\n\nThe one rule that matters: take `verification.canonicalPayload` from the API response **verbatim**\nas the signed message. Do not re-serialize it. It is already canonical — signed fields only, keys\nsorted by code point, no whitespace — and re-serializing it is the usual cause of a false negative.\nThe script also rebuilds that payload from the certificate's own fields and compares, which catches\na server that shows you one thing and signs another.\n\n**A verified signature proves only that AIO issued that exact record.** It says nothing about\nwhether the model is safe to deploy.\n\n---\n\n## Live endpoints\n\nNo authentication, CORS open, JSON, all CC BY 4.0.\n\n| Endpoint | |\n|---|---|\n| <https://aioq.org/api/openapi.json> | OpenAPI 3.1 description of everything below |\n| `GET /api/framework/vocabulary` | the vocabulary in this repo, live · `?layer=V\\|E\\|S` · `?format=schema` |\n| `GET /api/standards-packs` · `/{id}` | packs with their full per-provision mapping |\n| `GET /api/eval/items?pack=eu-ai-act` | Tier 0 items, answer key stripped, plus the scoring methodology |\n| `POST /api/eval/submit` | submit answers; deterministic scoring, signed certificate on a pass |\n| `GET /api/certifications/registry` | every certificate issued |\n| `GET /api/certifications/{certId}` | one certificate, with its signature check and offline instructions |\n| `GET /api/certifications/{certId}/badge.svg` | badge, drawn live so it cannot outlive its own truth |\n| `GET /api/benchmarks/agent-track/items` | the agent-track item bank in this repo, live · `?layer=L2\\|L3\\|L4` |\n| `POST /api/benchmarks/agent-track/submit` | submit a run (requires an agent key with the `bench:submit` scope) |\n| `GET /.well-known/aio-cert-key.json` | Ed25519 public keys |\n| `GET /.well-known/mcp/server.json` | MCP server metadata |\n\n**MCP server** — `https://aioq.org/mcp`, Streamable HTTP, protocol `2025-06-18`, stateless, no auth.\n\n```json\n{ \"mcpServers\": { \"aio\": { \"type\": \"http\", \"url\": \"https://aioq.org/mcp\" } } }\n```\n\n13 tools: `search_atlas`, `list_papers`, `get_paper`, `get_benchmark_distribution`,\n`get_framework_vocabulary`, `list_standards_packs`, `get_standards_pack`,\n`register_for_certification`, `get_eval_items`, `submit_eval`, `verify_certification`,\n`get_bench_items`, `submit_bench_run`.\n\nIndex for crawlers and agents: <https://aioq.org/llms.txt>\n\n---\n\n## Related repositories\n\n| Repository | |\n|---|---|\n| [`AI-Integrity/AIO20002`](https://github.com/AI-Integrity/AIO20002) | The full specification of AIO 20002, the reasoning record standard — prose spec, examples, tests. The machine-readable grammar in `vocabulary/aio-00011.json` here implements it. |\n| [`AI-Integrity/aio-prism-benchmark`](https://github.com/AI-Integrity/aio-prism-benchmark) | The PRISM benchmark — multi-layer win-rate rankings across frontier models. |\n\nNaming convention: `AIO<number>` repositories hold the specification of a single numbered standard;\nkebab-case repositories hold data, tools, and benchmarks.\n\n---\n\n## Corrections\n\nErrors in a standard, a mapping, or a benchmark result are handled through the **public RFC\nprocess**, not private correction: <https://aioq.org/en/rfc>. That is the point of publishing the\nprovenance alongside every mapping entry — a disagreement should be arguable against a quote and a\ndate, not against an assertion.\n\nIssues and pull requests here are welcome for the mirror itself (broken files, stale snapshots,\nverifier bugs). Substantive changes to a standard go through the RFC process.\n\n---\n\n## Legal note\n\nAIO certifies conformance to **AIO's own formalization** of a reference norm. A certificate is not\nan endorsement by the body that issued that norm (the European Union does not endorse, review, or\nparticipate in the EU AI Act pack), is not a legal conformity assessment, and creates no presumption\nof conformity under any regulation.\n\nContact: info@aioq.org · Site: <https://aioq.org>\n",
  "bytes": 10264,
  "sha": "76057b327126385345eb4ebc110c13f4d7a41b56bdd7158da252e0d17837322c",
  "repo_slug": "ai-integrity/aio-standards",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_org_aioq_aio_9d8d6e61/readme"
}