Generated · Re-derivable · Zero hand-maintained lists

Integrator Profile

Everything a third party needs to pin against to build an interoperable OpenChainGraph v0.4 implementation, in one place: reproducible golden vectors, the published kernel-identity binding a verifier cross-checks, which historical spec_versions the current verifier still reads, and the exact gate suite that defines conformance. Every table below is generated from the same source the §15 gate suite and conformance roster already run against, so re-running the generator against a changed fixture set, changelog, or gate table changes this page with it, with no hand edit.

01 · Golden vectors

Reproducible conformance vectors

A canonical artifact, its exact hash preimage, and the resulting execution_hash, produced by the reference kernels. Reproduce the hash and your canonicalizer matches the standard. Full set: standard/conformance-vectors/, regenerated by build-vectors.mjs from the same fixtures the §15 gate suite runs.

rcpt_test_ namespace: explicitly unshipped

A tagged rcpt_test_ subset of chaingraph/kernels/fixtures/, naming a golden-vector/integrator-sandbox set within the existing fixture tree, was scoped for this page and is unshipped here. Where that marker sits structurally, whether at the tool_id level, the fixture filename, or elsewhere, has not been confirmed against mcp-apps-poc/generate.mjs or the tool_id validation path, and it must never enter a hash preimage. This is an open question for a follow-up spec note rather than a guess shipped without confirmation. Until answered, the existing conformance vectors above are the reproducible-vector surface a third party has today.

02 · Kernel identity

Kernel digest × spec version

The §17 Kernel Identity Binding a verifier cross-checks: the artifact's audit_signature.build_identity.kernel_digest, the node's published Graph Index compute_images[] entry, and a live recompute from source. This is a documentation and publication gap only, adding no new field and no new hash path. The date-pinned schema a third party pins against is chaingraph.json's spec_version below, published as-is.

chaingraph.json: version of record

spec_version 0.8.13 chaingraph_version 0.4.0 total nodes 663 nodes publishing a source digest 663/663

Pin against spec_version:"0.8.13": every node in the live chaingraph.json was published against this schema/gate baseline. §17 requires the cross-check below to hold for every node that publishes a digest; a mismatch fails the binding rather than this page.

fieldexample (tool_id: 503-canton-tokenization-readiness-diagnostic)
compute_images[].systemsha256-source
compute_images[].image_idsha256:cd83aaa98a7055cdc55b74bf14d81e559e4797625a9796e5d8deaa43a9021157
compute_images[].valid_from2026-07-10
cross-checked againstaudit_signature.build_identity.kernel_digest on that node's own artifacts, and a live recompute via kernels/_buildid.mjs over the deployed kernel source
03 · Compatibility

Compat-contract table

Which historical spec_version the current verifier still reads. Generated from standard/CHANGELOG.md's own record-bump history: every entry not explicitly marked "not a record bump" is a version of record, and every one of them is additive-only by construction, with §4 preimage members and chaingraph_version ("0.4.0") frozen and existing execution_hash values never moving. That invariant is proven live every CI run rather than asserted here: golden-parity.test.mjs and linear-hash-freeze.mjs (§15) recompute and freeze the pinned hashes on every run.

spec_versionwhat it addedadditive-onlycurrent verifier reads it
0.8.13 xBRL-CSV export profile (§13.14) unconfirmed in CHANGELOG text yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.8.8 `seeded-stochastic` determinism class (§24.6.2) + the deferred vouch-hunt record bump yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.8.7 ML landing-pass riders (§HASHRES-1, §PQC-1, §REVOKE-1, §SIDECAR) yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.8.6 Deterministic Compute Profile `@2`: WebCrypto subset split (§24.5) yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.8.5 Private-Input Profile (§25) yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.8.4 Deterministic Compute Profile (§24) yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.8.3 Input Attestations (§23) yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.8.2 Escalation records (§22.8) yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.7.0 Anchor Binding (§20) + SD-JWT selective-disclosure export (§13.12) yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.6.1 Deterministic-node proof profile (§18.6) yes (CHANGELOG states additive) yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.6.0 Kernel Identity Binding (§17) + Compute-Integrity Proof (§18, zkVM) unconfirmed in CHANGELOG text yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.5.0 Proof Binding (§16) + audit_signature schema alignment unconfirmed in CHANGELOG text yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.4.1 Verifiable Credentials export profile unconfirmed in CHANGELOG text yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.4.0 Compute Binding + Export Profiles unconfirmed in CHANGELOG text yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs
0.3.1 base for v0.4 unconfirmed in CHANGELOG text yes, frozen $defs/artifact.required, verified live by golden-parity.test.mjs / linear-hash-freeze.mjs

15 record-bump versions found in CHANGELOG.md. Every artifact produced under any version above validates against the current v0.4 schema unchanged, because the frozen root schema ($defs/artifact.required) and chaingraph_version ("0.4.0") have never moved across any of them.

04 · Conformance ladder

The gate suite is the ladder

No separate grading engine or badge-tier scenario list exists. The ladder's scenario set IS the §15 gate suite, the same rows enforced against AINumbers.co on the conformance roster. Climbing the ladder means passing more of the rows below; there is nothing else to pass.

gate rows in §15 56 roster entries 1 third-party (non-Post-Oak-Labs) implementations verified 0
Honest current value

Zero external implementations have run and published a dated §15 result yet. That is demand-gated rather than build-gated, so it is not a defect in this ladder. The ladder and its gate rows exist and are truthful at N=0 today, the same way the internal §15 gates already are. See the conformance roster for how an implementation gets listed.

rulegatewhen
§4 canonical execution_hash kernel-hash-integrity.mjs, lint-forbidden-hash.mjs, golden-parity.test.mjs, determinism-replay.test.mjs (N=3 idempotency + JCS key-order stability) validate
§12 every gpu:false node has a kernel check-kernel-coverage.mjs --strict validate
§4 buildArtifact reproduces hash offline kernel-contract.test.mjs validate
§4 live re-verifiability of every deployed node hash-sweep.mjs post-deploy
Live server registers every expected mcp_name verify-mcp-registered.mjs (Addendum A) post-deploy
§1 envelope + node object well-formed schema-validate.mjs (this schema) validate
single version of record across surfaces spec-version-consistency.mjs validate
rendered spec page spec-page-parity.mjs validate
every surface count == chaingraph.json surface-parity.mjs (Addendum A) validate
every node url page + chain page exists catalog-parity.mjs validate
unique mcp_name check-tool-names.mjs validate
chain integrity validate-chains.mjs validate
/mcp handshake works smoke-mcp.mjs post-deploy
§13 export gate honored exporters/export.test.mjs (unit) + smoke-compute.mjs (export round-trip) validate + post-deploy
§16 proof: eddsa-jcs-2022 whole-artifact at audit_signature.proof, no new hash, no chaingraph_version bump,... proof-binding.test.mjs (unit: sign→verify round-trip + tamper-detect + determinism + backward-compat) validate
§17 kernel identity binding: digest at audit_signature.build_identity ↔ Graph Index compute_images ↔ recomp... kernel-identity.test.mjs (unit: digest determinism + three-way cross-check + tamper-detect + backward-compat) validate
§18 compute-integrity proof: object structure, imageId ↔ Graph Index compute_images, journal ↔ output_paylo... compute-proof.test.mjs (unit: binding + real-receipt verify + tamper-detect + backward-compat) validate
§20 anchor binding: per-type proof verification anchor-binding.test.mjs validate
§13.12 SD-JWT export: redact→verify round-trip with disclosures, digest mismatch fails, always-disclosed se... sd-export-roundtrip.test.mjs validate
§13.13 xBRL-JSON export profile ocg-xbrl-json@1: fixture round-trip determinism xbrl-json-fixtures.test.mjs validate
§13.14 xBRL-CSV export profile ocg-xbrl-csv@1: JSON metadata part round-trip determinism xbrl-csv-fixtures.test.mjs validate
§16.5 proof sets/chains: parallel proof set verifies, endorsement previousProof chain verifies in dependenc... proof-binding.test.mjs validate
§1 supersedes shape: array of sha256:-prefixed execution_hashes schema-validate.mjs validate
§PPH-1 policy_parameters_hash: JCS-SHA-256 over policy_parameters alone through the one canonical cgCanon p... policy-params-hash.test.mjs (unit) + schema-validate.mjs (shape, exercised by fixtures/policy-params-hash.fixture.json) validate
§21.1–§21.3 linear composite contract: NO existing linear chain's composite_execution_hash moves linear-hash-freeze.mjs validate
§21.4 gate static validity: RFC 6901 pointer syntax, closed op enum + value typing, default present, all ta... validate-chains.mjs (Layer 4) + gate-static.test.mjs validate
§21.4 evaluator semantics: each op × type mismatch × first-match × mandatory default, determinism, decision... gate-semantics.test.mjs validate
§21.4 both-branch coverage: a gated chain's fixtures drive every branch gate-branch-coverage.test.mjs validate
§21.4 evaluator byte-parity: Worker run_chain and embedded runChain yield identical route + decisions + com... gate-parity.test.mjs validate
§20.1 merkle_inclusion: reconstruct RFC 6962 root from leaf+path, root == anchored_hash, leaf == recomputed... anchor-binding.test.mjs validate
§22 Work Mandate document: separate workMandateDocument $def present + well-formed schema-validate.mjs validate
§22.4 compile_work_mandate determinism: same mandate → byte-identical chain_config compile-mandate-determinism.test.mjs validate
§22.3 "escalate" reserved target: static validation accepts "escalate" as a reserved forward target validate-chains.mjs validate
§22.2 mandate signature: eddsa-jcs-2022 whole-artifact proof REQUIRED proof-binding.test.mjs, mandate-binding.test.mjs validate
§22.5 run_chain mandate binding: no-mandate run hash-identical to pre-mandate mandate-binding.test.mjs, linear-hash-freeze.mjs validate
§22.8 "escalate" evaluator: recognized as a terminal target gate-parity.test.mjs, linear-hash-freeze.mjs validate
§23 input attestations: hash-excluded top-level input_attestations[] validate-input-attestations.test.mjs, schema-validate.mjs validate
§25 private-input profile: hash-excluded top-level private_inputs[] validate-private-inputs.test.mjs, schema-validate.mjs validate
§HASHRES-1 Ledger addressing: the resolution address IS the §4 execution_hash hash-sweep.mjs, kernel-hash-integrity.mjs post-deploy + validate
§CID-1 OCG CID profile: toCid()/fromCid() round-trip bijectively over §4-shaped sha256 digests cid-roundtrip.test.mjs validate
§PQC-1 hybrid dual proof: a §16.5 parallel proof set may carry eddsa-jcs-2022 + a PQ suite over the SAME §1... proof-binding.test.mjs validate
§HEAD-1 head-commit: genesis shape head-commit.test.mjs validate
§SNAP-1 state-snapshot artifact: mandate_type:"state_snapshot" accepted in the existing open envelope string schema-validate.mjs (fixture), golden-parity.test.mjs validate
§APROV-1 ocg-agent-provenance@1 evidence bundle: CARv1 write→read round-trip byte-identity car-roundtrip.test.mjs validate
§REVOKE-1 revocation reference: OPTIONAL W3C BitstringStatusList credentialStatus object under audit_signature schema-validate.mjs validate
§SIDECAR.2 resource-narrowing invariant mandate-binding.test.mjs validate
§24.6.2 seeded-stochastic replay: a kernel declaring the class re-runs at its own declared seed to a byte-i... seed-replay.test.mjs validate
§27 human-accountability records: $defs/humanAccountabilityRecord shape validate-ha-records.test.mjs, schema-validate.mjs validate
§28 clause binding profile ocg-clause-binding@1: hash-excluded top-level clause_bindings[] clause-binding.test.mjs, schema-validate.mjs validate
§21.6 ancestry_digest: bottom-up recompute over {execution_hash, parent_ancestry_digests} via the one cgCan... ancestry-digest.test.mjs (unit) + schema-validate.mjs (shape) validate
§20.3 retention profile: a verifier presented a hash-only survivor retention-profile.test.mjs validate
§STPFWD-1 forward decision-outcome mandate: a NEW gpu:false live node emits haGatePolicy check-kernel-coverage.mjs --strict, compute-proof.test.mjs validate
§30 cited clause digest: a chaingraph.json nodes[] entry NEW or CHANGED on the current branch MUST declare... check-clause-digest.mjs, check-clause-digest.test.mjs validate
§NODEPAGE-1 pageless waiver: a node declaring pageless with no page owned PASSES check-pageless-consistency.mjs, pageless-consistency.test.mjs, schema-validate.mjs validate
§AGID-1 agent-identity binding: OPTIONAL hash-excluded audit_signature.requesting_agent, absence fully conf... schema-validate.mjs, agent-identity-binding.test.mjs validate
every rule above has a gate spec-gate-coverage.mjs validate