Carries the SHACL contract shipped at jouleclaw/vocab/v1.shapes.ttl across every TX Science sister standard. Each standard now has a SHACL Core shape graph that validates its main wire types locally — before a payload crosses a tool boundary, a rail driver, a lockstep replicator, a CDN cache, an inference vendor. Live at the same prefix as the JSON-LD + Turtle vocab: https://arl.transaction.science/vocab/v1.shapes.ttl https://openpay.transaction.science/vocab/v1.shapes.ttl https://byte.transaction.science/vocab/v1.shapes.ttl https://eoc.transaction.science/vocab/v1.shapes.ttl https://wai.transaction.science/vocab/v1.shapes.ttl All five serve with Content-Type: text/turtle (joulecode.t.s does not yet have a site config so the file lives in repo only). What each shape graph covers: arl/vocab/v1.shapes.ttl Claim (four-axis: 1–9 validation depth, A–E convergence, energy profile, S0–S4 security, plus derived arlScore in 1–9), Session (Tier 0–3 isolation + replayable/tampering booleans + joules), Attestation (Ed25519 signature 128 hex + public key 64 hex + signedAt), Evaluation (input/output BLAKE3 hex 64). openpay/vocab/v1.shapes.ttl Money (signed integer + ISO 4217 3-letter currency), Receipt (method ∈ {Card, A2A, Stablecoin, Wallet, EMV}; rail ∈ {FedNow, PIX, SEPAInstant, USDC, USDT}; status ∈ {Authorized, Captured, Settled, Refunded, Voided, Disputed, Failed}; idempotencyKey required), Refund (refundedAt required), Card (scheme ∈ {Visa, Mastercard, Amex, Discover} + vaultRef required). smart-byte/vocab/v1.shapes.ttl Byte (BLAKE3 64-hex content hash, issuer IRI, cargo + cargoClass ∈ {Value, Coding, Identity, Telemetry, Custom}, energy provenance, signature 128 hex, sequence ≥ 0), LockstepEvent (previousHash + contentHash hex + lockstepHeight ≥ 0 + signature), AID ([A-Za-z0-9_-]+ identifier). eoc/vocab/v1.shapes.ttl Receipt (stageClosed ∈ {Cache, KeyValue, Graph, Neural} + joules_uj ≥ 0 + energy provenance + input/output BLAKE3 hex 64 + closedAt RFC 3339), CarbonRecord (carbonGrams ≥ 0), Query (queryText required). wai/vocab/v1.shapes.ttl Manifest (modality ∈ {Image, Audio, Video, Volume, Mesh, Compressed}; path ∈ {NeuralPath, ZerothPath}; codec ∈ the v1 registered menu of nine; contentHash BLAKE3 hex 64; size ≥ 0; mediaType IANA-shaped), NeuralPrior (sharedPriorUri IRI + sharedPriorHash hex 64). joule-code/vocab/v1.shapes.ttl Receipt (tierClosed ∈ {L0Cache, L1Lawful, L2Embed, L3Model, L4Wire} + joulesMeasuredUj + joulesEstimatedUj + energy provenance + closedAt), Transition (operation ∈ {Edit, Refactor, Generate} + sourceBefore/ AfterHash BLAKE3 hex 64), Agent (agentId + agentVendor ∈ {ClaudeCode, Gemini, Codex, GenericAgent} + acpEndpoint). Every shape graph uses SHACL Core only — no SPARQL constraints, no qualified value shapes. Consumable by: - Any full SHACL validator (pyshacl, Apache Jena, TopBraid). - The lightweight jouleclaw-shacl Rust validator, which is the reference and ships in ~600 LOC; WASM-compilable for in-browser validation. - The Python + Go reference clients in jouleclaw-hydra-client/clients/{python,go}/. Each vocab README also gains a row pointing at the shapes file. Operational follow-up done in parallel: the canonical Caddyfile at site-ops/ adds an @<site>_jsonld matcher per site so .jsonld files serve as application/ld+json across all five sister-site hosts (joulecode.t.s does not yet have a site). The Caddyfile is in a separate repo and is being committed via that repo's own flow. The Gen-3 architecture — vocabulary, Hydra discovery, SHACL validation — now spans the entire TX Science open-standards portfolio. A consumer reading any TX-Science wire form can validate it locally before sending; can ground its meaning in typed RDF via JSON-LD; can discover what services it can talk to via Hydra (where the service publishes one). One pattern, seven standards.
39 lines
1.8 KiB
Markdown
39 lines
1.8 KiB
Markdown
# ARL vocabulary (v1)
|
||
|
||
Stable IRIs for the AI Readiness Level open standard. Every wire
|
||
field of the four-axis Claim model, ARL-S Session, signed
|
||
Evaluation, and Ed25519 Attestation maps to a globally
|
||
unambiguous IRI under
|
||
`https://arl.transaction.science/vocab/v1#` (prefix `arl:` by
|
||
convention).
|
||
|
||
| File | Format | What |
|
||
|------|--------|------|
|
||
| [`v1.jsonld`](v1.jsonld) | JSON-LD `@context` | Term → IRI mapping. Adds typed RDF semantics to any ARL claim / session / evaluation JSON without changing its wire form. |
|
||
| [`v1.ttl`](v1.ttl) | Turtle (RDF) | Classes, enumerations, properties — the canonical semantic definition. Covers the four axes (validation depth / convergence class A–E / energy profile / security class S0–S4) and the ARL-S isolation tiers (0–3). |
|
||
| [`v1.shapes.ttl`](v1.shapes.ttl) | SHACL Core | Shape graph — validates `Claim`, `Session`, `Evaluation`, `Attestation` locally before the document crosses a tool boundary. SHACL Core only; consumable by any conformant validator (pyshacl, Apache Jena, jouleclaw-shacl). |
|
||
|
||
## How it composes
|
||
|
||
The vocabulary subclasses W3C PROV-O where the alignment is exact:
|
||
|
||
- `arl:Evaluation ⊑ prov:Activity`
|
||
- `arl:Issuer / Holder` align with `prov:Agent` conceptually
|
||
|
||
A claim, session, or evaluation that carries
|
||
`@context: "https://arl.transaction.science/vocab/v1.jsonld"`
|
||
expands into typed RDF triples readable by any JSON-LD parser or
|
||
SPARQL store. The wire form is unchanged: existing ARL consumers
|
||
that ignore `@context` keep working.
|
||
|
||
The pattern mirrors `jouleclaw/vocab/v1` — see also the JouleClaw
|
||
vocab landing page for the third-generation-interop framing.
|
||
|
||
## Versioning
|
||
|
||
A future major bump publishes under `vocab/v2#`. v1 IRIs remain
|
||
resolvable forever per the open-standards "names are final" rule.
|
||
|
||
## Licence
|
||
|
||
CC-BY-4.0 (consistent with the ARL specification text).
|