Carries the third-generation-interop pattern shipped at
jouleclaw/vocab/v1 across every TX Science open standard. Every
sister standard now has a stable IRI for every wire field of
every major data type, plus a Turtle ontology covering classes,
enumerations, and properties.
What ships, per standard:
arl/vocab/ Claim, Session, Evaluation, Attestation;
the four axes (Validation Depth 1–9,
Convergence A–E, EnergyProfile, S0–S4);
ARL-S isolation tiers 0–3.
openpay/vocab/ Money, Currency, PaymentMethod, Receipt,
Refund, Dispute; the five rails (FedNow / PIX
/ SEPA Instant / USDC / USDT); the four card
schemes; the seven lifecycle states.
smart-byte/vocab/ Byte, Envelope, Issuer, Holder, KERI AID,
LockstepEvent; the cargo-class taxonomy
(Value / Coding / Identity / Telemetry /
Custom) and the shared HwShunt / ModelBased /
Estimator energy-provenance enum.
eoc/vocab/ Query, Resolution, EOC Receipt, the four
cascade stages (Cache / KeyValue / Graph /
Neural), CarbonRecord, VendorAPI binding.
wai/vocab/ Manifest, Capability, Codec; the two paths
(NeuralPath shared-prior + ZerothPath
registered codec menu); the six modalities;
the nine codecs in the v1 menu.
joule-code/vocab/ README.md complements the LEXICON.md / v1.jsonld
/ v1.ttl already shipped in b838b86.
Every JSON-LD `@context` pairs with a Turtle ontology. Every
ontology subclasses W3C PROV-O where the alignment is exact
(prov:Activity for sessions / resolutions / lockstep events,
prov:Entity for source trees, prov:Agent for issuers / agents).
Pattern is identical to jouleclaw/vocab/v1 so a downstream
consumer that already loads one vocabulary picks up the others
with no new code: same namespace shape, same JSON-LD context
binding, same Turtle conventions.
Standards documents stay unchanged on the wire: vocabularies are
optional additions, not modifications. A receipt or claim that
doesn't carry `@context` deserialises exactly as before; one that
does gains typed RDF semantics for free.
Licences match each standard's spec text — CC-BY-4.0 for ARL,
Smart Byte, EOC, joule-code; Apache-2.0 for OpenPay, WAI.
Deploy follow-up: extending the Caddyfile @-blocks of arl /
openpay / byte / eoc / wai / joulecode sites to serve `.jsonld`
files as `application/ld+json` is a separate small change. Until
then the vocab is reachable via the GitHub raw URL.
96 lines
6.4 KiB
Turtle
96 lines
6.4 KiB
Turtle
@prefix arl: <https://arl.transaction.science/vocab/v1#> .
|
||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||
@prefix prov: <http://www.w3.org/ns/prov#> .
|
||
@prefix dc: <http://purl.org/dc/terms/> .
|
||
|
||
<https://arl.transaction.science/vocab/v1> a owl:Ontology ;
|
||
dc:title "ARL vocabulary (v1)" ;
|
||
dc:description "Stable IRIs for the AI Readiness Level open standard: claims, sessions, evaluations, the four axes (validation / convergence / energy / security), and the ARL-S sandbox tier model." ;
|
||
dc:license <https://creativecommons.org/licenses/by/4.0/> ;
|
||
owl:versionInfo "1" .
|
||
|
||
# ─── Top-level classes ───────────────────────────────────────────────
|
||
|
||
arl:Claim a owl:Class ;
|
||
rdfs:label "ARL claim" ;
|
||
rdfs:comment "A four-axis readiness claim about an AI system performing a defined task in a defined context." .
|
||
|
||
arl:Session a owl:Class ;
|
||
rdfs:label "ARL-S session" ;
|
||
rdfs:comment "One measurement session under the ARL-S sandbox model." .
|
||
|
||
arl:Evaluation a owl:Class ;
|
||
rdfs:label "Signed evaluation" ;
|
||
rdfs:comment "A Session plus the attestation that signs it." ;
|
||
rdfs:subClassOf prov:Activity .
|
||
|
||
arl:Attestation a owl:Class ;
|
||
rdfs:label "Ed25519 attestation" ;
|
||
rdfs:comment "Ed25519 (RFC 8032) signature over JCS-canonical (RFC 8785) JSON of the session payload." .
|
||
|
||
arl:Harness a owl:Class ;
|
||
rdfs:label "Task harness" ;
|
||
rdfs:comment "The runner that drives the system under test in a Session." .
|
||
|
||
arl:PhysicalTelemetry a owl:Class ;
|
||
rdfs:label "Physical telemetry source" ;
|
||
rdfs:comment "Energy / power telemetry sampled during a Session. Required above Tier 0." .
|
||
|
||
# ─── Convergence class (A–E) ─────────────────────────────────────────
|
||
|
||
arl:ConvergenceClass a owl:Class .
|
||
arl:ConvergenceA a arl:ConvergenceClass ; rdfs:label "Class A — bounded, deterministic" .
|
||
arl:ConvergenceB a arl:ConvergenceClass ; rdfs:label "Class B — bounded, stochastic" .
|
||
arl:ConvergenceC a arl:ConvergenceClass ; rdfs:label "Class C — unbounded, contractive" .
|
||
arl:ConvergenceD a arl:ConvergenceClass ; rdfs:label "Class D — unbounded, drift-bounded" .
|
||
arl:ConvergenceE a arl:ConvergenceClass ; rdfs:label "Class E — unbounded, no drift bound" .
|
||
|
||
# ─── Security class (S0–S4) ──────────────────────────────────────────
|
||
|
||
arl:SecurityClass a owl:Class .
|
||
arl:S0 a arl:SecurityClass ; rdfs:label "S0 — undisclosed" .
|
||
arl:S1 a arl:SecurityClass ; rdfs:label "S1 — disclosed posture" .
|
||
arl:S2 a arl:SecurityClass ; rdfs:label "S2 — attested sandbox" .
|
||
arl:S3 a arl:SecurityClass ; rdfs:label "S3 — confidential compute" .
|
||
arl:S4 a arl:SecurityClass ; rdfs:label "S4 — formal verification" .
|
||
|
||
# ─── ARL-S isolation tier (Tier 0–3) ─────────────────────────────────
|
||
|
||
arl:IsolationTier a owl:Class .
|
||
arl:Tier0 a arl:IsolationTier ; rdfs:label "Tier 0 — host process" .
|
||
arl:Tier1 a arl:IsolationTier ; rdfs:label "Tier 1 — namespace sandbox" .
|
||
arl:Tier2 a arl:IsolationTier ; rdfs:label "Tier 2 — VM sandbox (replayable)" .
|
||
arl:Tier3 a arl:IsolationTier ; rdfs:label "Tier 3 — confidential VM (replayable + attested)" .
|
||
|
||
# ─── Energy profile ──────────────────────────────────────────────────
|
||
|
||
arl:EnergyProfile a owl:Class .
|
||
arl:Disclosed a arl:EnergyProfile ; rdfs:label "Disclosed energy profile" .
|
||
arl:Undisclosed a arl:EnergyProfile ; rdfs:label "Undisclosed energy profile (caps ARL at 3)" .
|
||
|
||
# ─── Properties ──────────────────────────────────────────────────────
|
||
|
||
arl:validationDepth a owl:DatatypeProperty ; rdfs:domain arl:Claim ; rdfs:range xsd:integer ; rdfs:label "Validation depth (1–9)" .
|
||
arl:convergenceClass a owl:ObjectProperty ; rdfs:domain arl:Claim ; rdfs:range arl:ConvergenceClass ; rdfs:label "Convergence class" .
|
||
arl:energyProfile a owl:ObjectProperty ; rdfs:domain arl:Claim ; rdfs:range arl:EnergyProfile ; rdfs:label "Energy profile" .
|
||
arl:securityClass a owl:ObjectProperty ; rdfs:domain arl:Claim ; rdfs:range arl:SecurityClass ; rdfs:label "Security class" .
|
||
arl:arlScore a owl:DatatypeProperty ; rdfs:domain arl:Claim ; rdfs:range xsd:integer ; rdfs:label "Composed ARL score (1–9)" .
|
||
arl:task a owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:label "Task description" .
|
||
arl:context a owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:label "Context description" .
|
||
arl:term a owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:label "Controlled-vocabulary term" .
|
||
arl:violation a owl:ObjectProperty ; rdfs:label "Validation violation" .
|
||
|
||
arl:isolationTier a owl:ObjectProperty ; rdfs:domain arl:Session ; rdfs:range arl:IsolationTier ; rdfs:label "Sandbox isolation tier" .
|
||
arl:telemetry a owl:ObjectProperty ; rdfs:domain arl:Session ; rdfs:range arl:PhysicalTelemetry ; rdfs:label "Captured telemetry" .
|
||
arl:replayable a owl:DatatypeProperty ; rdfs:domain arl:Session ; rdfs:range xsd:boolean ; rdfs:label "Replayable" .
|
||
arl:tamperingDetected a owl:DatatypeProperty ; rdfs:domain arl:Session ; rdfs:range xsd:boolean ; rdfs:label "Tampering detected" .
|
||
arl:joulesMicrojoules a owl:DatatypeProperty ; rdfs:range xsd:nonNegativeInteger ; rdfs:label "Energy (microjoules)" .
|
||
arl:inputHash a owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:label "Input hash (BLAKE3 hex)" .
|
||
arl:outputHash a owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:label "Output hash (BLAKE3 hex)" .
|
||
|
||
arl:signature a owl:DatatypeProperty ; rdfs:domain arl:Attestation ; rdfs:range xsd:string ; rdfs:label "Ed25519 signature (hex)" .
|
||
arl:publicKey a owl:DatatypeProperty ; rdfs:domain arl:Attestation ; rdfs:range xsd:string ; rdfs:label "Ed25519 public key (hex)" .
|
||
arl:signedAt a owl:DatatypeProperty ; rdfs:domain arl:Attestation ; rdfs:range xsd:dateTime ; rdfs:label "Signed at (RFC 3339)" .
|