Resources — Reference
Cross-cutting resources: ACF® glossary index, doctrine metadata (version, hash, signature, archive URL, supported locales) and permanent archive bundle. The corpus infrastructure layer — indispensable to verify that a tool output is defensible.
acf://meta resource is the pivot of the ACF® trust model. It exposes the doctrine content_hash and its Ed25519 signature. Pin it in your audit pipeline and you get a single entry point to verify that a tool output matches a precise doctrine version.What this contains
Three cross-cutting resources: (1) acf://glossary, the canonical ACF® term index; (2) acf://meta, the doctrine’s technical metadata; (3) the permanent archive bundle exposed outside MCP via a frozen HTTPS URL. None is bulky — they all fit in a client cache.
Exhaustive list
Glossary
acf://glossaryJSONFR + ENCanonical index of ACF® terms
Structured list of official terms (DDAO, Decision Sovereignty, N0–N3 levels, kill switch, mandate, decision register, etc.) with bilingual definitions and cross-refs to principles, cards and regulator articles.
See also — READ tool acf.glossary.define for the canonical definition of a specific term.
Doctrine metadata
acf://metaJSONneutralVersion, hash, signature, archive URL, supported locales
Short document (JSON, ~1 KB) describing the doctrine version currently served: semantic framework_version, ISO 8601 content_build, SHA-256 content_hash, Ed25519 doctrine_signature, doctrine_public_key, permanent_archive_url, rules_version, fallback_locale and the exhaustive list of supported locales (V1.0: fr, en, es, de, pt, it, nl, ru, ar, tr, ja, zh, ko — only fr and en are actually served, the rest fall back to en).
Permanent archive bundle
https://archive.acfstandard.com/doctrine/v1.0/HTTPSFrozen URL outside MCP, served by an immutable CDN
The archive bundle is not an MCP resource in the protocol sense (no acf:// URI) — it is a frozen, signed HTTPS URL containing the full corpus for the version (whitepaper, cards, guides, manual, principles, dimensions, glossary, meta). Pin it in your audit pipeline to keep a defensible root of trust independent of MCP server availability.
Metadata shape
What acf://meta returns in V1.0 (real values and timestamp):
{
"framework_version": "1.0",
"content_build": "2026-06-14T10:47:44.384Z",
"content_hash": "sha256:bf0b6d8e4731ebdc58f6d6338702c5b74af47874cf0ad3dc958cde5c5b30b9dc",
"permanent_archive_url": "https://archive.acfstandard.com/doctrine/v1.0/",
"rules_version": "2026-06",
"locales": ["fr", "en", "es", "de", "pt", "it", "nl", "ru", "ar", "tr", "ja", "zh", "ko"],
"fallback_locale": "en",
"doctrine_signature": "ed25519:yqySJDnYnXaAIC37LJXyw3D9F4dDX7Gt29Em7nn9/wW/EXt1Y8ychyrqnLnWqxDpC2Ek+FYsgPPGFm9q/11TCg==",
"doctrine_public_key": "MCowBQYDK2VwAyEAojtKfh20SGGV63LMETjZBXRWo2tY0viAYziG/y3/L0s="
}Fetching reference resources
In practice, a client typically starts by reading acf://meta once at startup to pin the doctrine version and obtain the verification public key. The glossary follows and is usually cached on the client side afterwards, since it only changes with the doctrine itself.
// 1. Pin the doctrine version on startup
const metaResp = await client.readResource({ uri: "acf://meta" });
const meta = JSON.parse(metaResp.contents[0].text);
const pinnedVersion = meta.framework_version; // "1.0"
const pinnedHash = meta.content_hash; // "sha256:bf0b..."
const verificationKey = meta.doctrine_public_key; // base64 SPKI Ed25519
const archiveUrl = meta.permanent_archive_url; // immutable bundle
// 2. Read the glossary index
const glossaryResp = await client.readResource({ uri: "acf://glossary" });
const glossary = JSON.parse(glossaryResp.contents[0].text);
// Array of { term, expansion?, definition: { fr, en }, related_principles, related_fiches, ... }
// 3. Every later tool output must embed the same content_hash —
// otherwise the doctrine has shifted and the client must refresh.See also
The Signatures page details offline Ed25519 verification and provides Node / Python / Go reference implementations. The Architecture page explains why the signature contract is built around acf://meta rather than a per-resource signature.