open-standards/arl/vocab/README.md
Transaction Science 43cb6a2ace vocab v1 SHACL shapes across sister standards (wave-23 #4/#5)
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.
2026-06-02 18:55:56 -04:00

39 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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).