Transaction Science open standards — sovereign home
  • Rust 74.5%
  • Fluent 10.2%
  • Python 7.6%
  • JavaScript 2.9%
  • C 1.2%
  • Other 3.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science f64d8fb533
Some checks failed
wai-app and Create / wai-app · does this change touch it (pull_request) Successful in 14s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 17s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Successful in 26s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 27s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 9s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Successful in 56s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Successful in 1m3s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 6m5s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 10m32s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Successful in 11m17s
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Successful in 13m18s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 13m47s
wai-audit collector and player integration / does this change touch it (pull_request) Successful in 8s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (pull_request) Successful in 7s
WAI operation catalogue / does this change touch it (pull_request) Successful in 8s
WAI conformance / does this change touch it (pull_request) Successful in 8s
WAI energy receipts / does this change touch it (pull_request) Successful in 9s
WAI examples / WAI examples · does this change touch them (pull_request) Successful in 7s
wai-fleet service / does this change touch it (pull_request) Successful in 7s
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Successful in 7s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 37s
WAI JPEG-AI whole decode (pinned inputs, required) / does this change touch it (pull_request) Successful in 8s
wai-key-proxy / does this change touch it (pull_request) Successful in 7s
wai-ledger service / does this change touch it (pull_request) Successful in 7s
WAI neural sink gates / does this change touch it (pull_request) Successful in 7s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (pull_request) Successful in 1m33s
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Successful in 8s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 7s
wai-quantum docs, course and locales / does this change touch it (pull_request) Successful in 7s
wai-quantum for JavaScript / does this change touch it (pull_request) Successful in 8s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 8s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 2m29s
wai-quantum WebGPU member / does this change touch it (pull_request) Successful in 7s
wai-sink-android native sink library / does this change touch it (pull_request) Successful in 8s
wai-sink-swift native sink package / does this change touch it (pull_request) Successful in 8s
WAI Studio / does this change touch it (pull_request) Successful in 7s
wai-web wasm32 / does this change touch it (pull_request) Successful in 8s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 2m29s
wai-audit collector and player integration / collector · linux (pull_request) Successful in 2m51s
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Successful in 55s
wai-fleet service / service · linux (pull_request) Successful in 2m20s
wai-key-proxy / proxy · linux (pull_request) Successful in 1m0s
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (pull_request) Successful in 3m13s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 3m33s
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (pull_request) Successful in 3m34s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Successful in 1m59s
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 1m38s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 8s
wai-pack / wai-pack · linux (pull_request) Successful in 1m46s
wai-ledger service / service · linux (pull_request) Successful in 3m58s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 4m45s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 3m55s
wai-quantum for JavaScript / javascript · linux (pull_request) Successful in 2m57s
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 6m57s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 3m39s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 10m48s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 1m50s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 1m2s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 5m44s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m49s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 10m28s
WAI operation catalogue / the catalogue and every door · linux (pull_request) Successful in 11m23s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 8m43s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (pull_request) Successful in 2m37s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 56s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 14m26s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m51s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 6m47s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 2m51s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 18m9s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 12m44s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 20s
wai-quantum studio and desktop / desktop app · windows (pull_request) Successful in 10m21s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 11m37s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 13s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 51s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 22m13s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 12m38s
wai-fleet service / service · macos (pull_request) Successful in 40s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 22m45s
wai-ledger service / service · macos (pull_request) Successful in 52s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 24m41s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 2m50s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 10m38s
wai-pack / wai-pack · macos (pull_request) Successful in 2m33s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 18m9s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 8m25s
standards workspaces build + test / macOS energy backends (pull_request) Failing after 1m24s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m14s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 3m49s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Failing after 5m1s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 5m25s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Failing after 10s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Failing after 4s
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Failing after 9s
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Failing after 10s
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Failing after 11s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Failing after 11s
wai-pack / wai-pack · linux-arm64 (pull_request) Failing after 7s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Failing after 10s
wai-pack / wai-pack · the floor through a media prober (pull_request) Failing after 10s
wai-pack / wai-pack · dependency licences (pull_request) Failing after 8s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Failing after 7s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 24m46s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Failing after 6s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Failing after 8m21s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 11m43s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 29m54s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 38m12s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h29m5s
carousel §11: the patents disclosed on RaptorQ and Raptor, and no-code as the default
The IETF holds disclosures on RaptorQ (RFC 6330; #2554 current, updating #1958) and on Raptor
(RFC 5053; #1957 current, with #1176 the holder's general licence statement). Both current
ones give two terms by product: a licence within the holder's standard terms for a device that
implements a wireless wide-area standard, and a non-assertion, conditional on full
implementation and suspended against a party that asserts, for one that implements none. No
disclosure relates to RFC 5445 or RFC 5052.

§11 cites them by number and states each licence class as disclosed. Since neither code is
royalty-free for every implementer, no-code is the default a tool that writes schedules uses,
as SPEC §5 keeps a capability that is not royalty-free from being a default. The reference
implementation encodes and decodes no symbol; its RFC 6330 decoder is a development dependency.
Security and privacy considerations move to §12; nothing cites them by number.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 16:39:35 -05:00
.githooks ci: no-vanity-metrics scanner + pre-commit hook + CHARTER policy 2026-06-02 10:39:43 -04:00
.github/workflows wai: the carousel schedule — when each object passes on a bearer with no return path, and when a receiver holds it 2026-11-02 23:00:07 -05:00
aac sec: close the advisory backlog across every workspace, and move the WASM sandbox off a runtime with three critical escapes 2026-10-22 09:44:59 -04:00
arl licences: ship the Apache-2.0 text the code already declares 2026-10-09 17:22:32 -04:00
eoc Merge pull request 'eoc-route-learned: recommend the stage cheapest in expectation, not the likeliest' (#439) from fix/eoc-route-cheapest into main 2026-11-01 09:38:34 -05:00
jcp jcp-x402: refuse a payment scheme this crate does not implement 2026-10-22 07:27:44 -04:00
joule-code Merge pull request 'joule-moq-web room: draw only what changed, and send a key at once' (#585) from room/draw-on-new-frame into main 2026-11-02 19:49:34 -05:00
joule-os Add joule-os/ — the UDA reference runtime, as a family open standard 2026-06-27 07:12:43 -04:00
joule-ui wai-app: Create's crate, a library with no binary, whose export wai create writes 2026-10-27 05:13:27 -04:00
jouleclaw Merge pull request 'jouleclaw-compliance: no ESPR record on an AI service passport' (#441) from fix/passport-no-espr into main 2026-11-01 09:38:42 -05:00
joulecontract joulecontract: an unattested Metered tag falls to the class its evidence supports 2026-10-11 22:47:45 -04:00
jouledesk sec: answer the gate's first catch — two constant-time advisories, and pin an allowance to the version it excuses 2026-10-24 20:06:05 -04:00
joulehook sec: close the advisory backlog across every workspace, and move the WASM sandbox off a runtime with three critical escapes 2026-10-22 09:44:59 -04:00
joulespec joulespec: applied to a standard that is not its own, which found a mis-aimed mutation 2026-11-02 04:27:13 -05:00
jouletable jouletable: new umbrella standard — a metered/gated/attested agent at every surface 2026-07-05 07:32:59 -04:00
map sec: close the advisory backlog across every workspace, and move the WASM sandbox off a runtime with three critical escapes 2026-10-22 09:44:59 -04:00
mesh sec: move quick-xml to 0.41 where we control it — the ISO 20022 deserializer parses counterparty XML 2026-10-22 09:48:55 -04:00
openpay sec: answer the gate's first catch — two constant-time advisories, and pin an allowance to the version it excuses 2026-10-24 20:06:05 -04:00
pool pool/1: reclaim idle capacity without reclaiming on a missing number (SPEC §2.7) 2026-10-18 19:25:23 -04:00
proof joulespec: applied to a standard that is not its own, which found a mis-aimed mutation 2026-11-02 04:27:13 -05:00
sandbox sandbox §13.2: what an executed interval proves about waiting 2026-11-02 13:37:56 -05:00
scripts sec: RUSTSEC-2026-0429, a zip archive that aborts the process on extract 2026-11-02 06:31:12 -05:00
sense sense §11: what a running agent receives when an observation surfaces to it 2026-11-02 13:56:29 -05:00
smart-byte sec: move crypto-bigint off a release that was yanked after I picked it, and say plainly why warnings are not gated 2026-11-01 09:43:26 -05:00
tools repo hygiene: cross-arch byte-equality CI + branch-drift audit 2026-07-03 00:52:55 -04:00
wai carousel §11: the patents disclosed on RaptorQ and Raptor, and no-code as the default 2026-11-03 16:39:35 -05:00
.gitignore feat(aac-web): better voices, on the device, in 11 languages 2026-09-30 18:23:13 -04:00
.m3.sh jouleclaw-omni: the metal model references, 286 errors down to 111 2026-10-20 03:58:06 -04:00
.m4.sh jouleclaw-omni: the metal model references, 286 errors down to 111 2026-10-20 03:58:06 -04:00
.m5.sh jouleclaw-omni: the metal model references, 286 errors down to 111 2026-10-20 03:58:06 -04:00
.m286.sh jouleclaw-omni: the metal model references, 286 errors down to 111 2026-10-20 03:58:06 -04:00
.m308.sh jouleclaw-omni: the metal model references, 286 errors down to 111 2026-10-20 03:58:06 -04:00
.nx.sh jouleclaw-omni: drop the redundant model RwLock, fix 15 metal errors 2026-10-20 04:07:38 -04:00
CHARTER.md ci: one job for the repository's script checks 2026-10-14 12:05:46 -04:00
CLAUDE.md docs: restore CLAUDE.md (my prior commit wrote it empty) + correct the arm64 build matrix 2026-07-15 10:17:44 -04:00
INGEST.md Reframe: INGEST.md scope manifest replaces RESEARCH.md; pin Rust 1.95.0 2026-05-23 11:50:45 -04:00
LICENSE Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
NOTICE Merge branch 'aac/cores' into aac/integration 2026-09-30 01:47:23 -04:00
README.md joulespec: the E4 rung reaches a real prover, and §9 gives the nearest prior art its due 2026-11-01 18:41:37 -05:00
rust-toolchain.toml chore: root toolchain pin 1.97.1 -> 1.98.0 (latest stable; eoc-rs and the CI pins were already bumped) 2026-08-26 08:43:43 -04:00

Transaction Science Open Standards

This repository houses the open reference standards stewarded by Transaction Science. Each is published as a separate top-level directory with its own README, its own licence file, and its own status.

The wire format and the right to fork are public. Transaction Science writes the reference implementation and runs the optional hosted services — the protocols themselves are owned by no one.

The standards

openpay/ — Payment acceptance without the SaaS tax

A reference payment-acceptance stack in Rust. Card, account-to-account (FedNow, PIX, SEPA Instant), and stablecoin rails behind one orchestrator; typestate-enforced payment lifecycle; append-only double-entry ledger with bi-temporal time-travel. One core compiles to iOS, Android, browser, and Linux. PAN never crosses a non-vault boundary.

  • Site: openpay.transaction.science · spec
  • Licence: Apache-2.0 (see openpay/LICENSE)
  • Status: v0.1.0 reference. cargo test --workspace is 1124 passing, 0 failing; cargo clippy --workspace --all-targets is zero warnings. Not certified by a card scheme, not audited by a PCI QSA, not run in regulated production.

smart-byte/ — A carrier for value

A content-addressed, signed envelope that carries any cargo with provenance and energy cost intrinsic, replicated by deterministic lockstep, owned by no one. TCP/IP for value: settlement-agnostic, energy-attributed, with no off switch.

eoc/ — AI that costs joules, not tokens

Energy-optimised compute: every query resolves through a four-stage pipeline — cache, key-value, graph, neural — and only invokes a neural model when nothing cheaper can. The substrate runs in a browser, on commodity CPUs, and cannot be turned off because no single entity runs it.

  • Site: eoc.transaction.science
  • Licence: CC-BY-4.0 (see eoc/LICENSE)
  • Status: Reference protocol. Specification suite published across spec/; reference implementation pending.

wai/ — Web AI Media Transport & Execution

A container + capability-dispatch standard for media. WAI does not re-implement codecs; it dispatches to SOTA standard libraries (PNG, FLAC, zstd as the mandatory floor; AVIF, JPEG-XL, Opus, AV1, XZ as the recommended modern set) and adds an envelope that lets a neural-shared-prior path coexist with the model-free floor. Two paths open every conforming file: the neural condition (sink regenerates from a shared ambient prior) and the zeroth condition (registered SOTA codec menu). The capability a file requires is named, not supplied.

  • Site: wai.transaction.science
  • Licence: Apache-2.0 (see wai/LICENSE)
  • Status: v1.0 draft standard. wai-rs/ reference implementation (Rust lib + cdylib + staticlib, C FFI) round-trips every registered capability through the full envelope. Known consumer: CommunicationOS.

jouleclaw/ — Energy-optimised AI runtime

A pure-Rust, omni-modal AI runtime that dispatches every operation through an energy-tiered cascade — L0:Cache (picojoules) → L1:Lawful (nanojoules, deterministic primitives) → L2:Embed (sub-millijoules, Matryoshka embeddings + hybrid search) → L3:Model (joules, local SSM / ternary / multimodal / diffusion) → L4:Wire (tens of joules, remote frontier as the escape hatch). Inference is the last resort, not the entry point. Frozen weights are less trustworthy than fresh, provenance-stamped retrieval. Every operation is metered in microjoules where the hardware permits, with an honest Provenance tag (HwShunt | ModelBased | Estimator) on every reading so the spec never claims accuracy the platform can't deliver. Omni-modal: text, code, vision, audio, video, image diffusion, 3D Gaussian splatting, and cross-modal fusion all dispatch through the same cascade.

arl/ — AI Readiness Level

A universal, vendor-neutral standard for measuring the readiness of an AI system to perform a defined task in a defined context — what the Technology Readiness Level scale is to technology. Tied to no model, runtime, or vendor. Every score has four required parts, each anchored in math or physics that does not move: validation depth (1–9, statistics), convergence class (A–E, stochastic process theory), energy profile (joules, thermodynamics), and security class (S0–S4, information theory and cryptography). Cross-axis gates make a high readiness claim unreachable without matching convergence and security, and energy non-disclosure caps the score. The companion ARL Sandbox (ARL-S) specifies the measurement environment.

  • Site: arl.transaction.science
  • Licence: CC-BY-4.0 (see arl/LICENSE); forthcoming reference implementation Apache-2.0.
  • Status: Document stack v1.3 (May 2026). Specification published (ARL.md, ARL-S.md, LEXICON.md), with RATIONALE.md covering the trends and reasoning behind it; standalone reference impl in arl-rs/ — arl-core (four-axis claim model + cross-axis gates + lexicon enforcement) arl-sandbox (ARL-S session model + tier/telemetry gates + Ed25519-over-JCS + SHA-256 attestation + a trait-based Supervisor), arl-cli (the arl reference checker — validate / lint / verify / explain, CI-ready exit codes), and arl-wasm (the same gates compiled to WASM for an in-browser playground). Covered by a test suite; no runtime coupling.

joule-code/ — A carrier for coding work

The coding cargo class of the substrate. A coding operation — an edit, a refactor, a generated function — is a content-addressed, signed transition over a source tree, with its energy cost intrinsic. Every request resolves through an explicit energy-tiered cascade (L0:Cache → L1:Lawful → L2:Embed → L3:Model → L4:Wire) and stops at the first tier that closes it; inference is the escape hatch, not the entry point. The agent schema is JouleClaw; remote frontier agents (Claude Code, Gemini, Codex) are the L4 tier, reached over the Agent Client Protocol with the credential held by the vendor's own client — the protocol carries no token and a conforming endpoint performs its core function without contacting any single company. Every operation emits a signed JCR-1 receipt (the family's canonical det-CBOR + COSE_Sign1 format): a two-part measured + estimated energy cost with an honest provenance tag.

  • Site: joulecode.transaction.science
  • Licence: Apache-2.0 for reference code (see joule-code/LICENSE); CC-BY-4.0 for specification text (see joule-code/LICENSE-SPEC).
  • Status: v0.2.0 draft. Specification core published (SPEC.md + spec/); reference library in joule-code-rs/ (joule-code-schema, -cargo, -receipt, -cascade, -conformance) with the C1–C4 conformance harness (vectors are real cryptographic values; the harness passes the pack with no skips). Receipts seal as JCR-1 envelopes, interoperable with the family's existing JCR-1 verifiers. Single-endpoint operation is the current surface; the federated-collaboration binding is specified at interface level and classified Research. The flagship consumer is a hard fork of the Zed editor that drives logged-in vendor agents over ACP and meters every turn.

sandbox/ — A sandbox for the heterogeneous compute fabric

An isolated-execution substrate where the unit of isolation is not a CPU process but a heterogeneous unit of work across the whole fabric — CPU, GPU, NPU, TPU, photonic, quantum. Every run carries four guarantees: it runs at the lowest rung of an eight-tier isolation ladder (S0:Bare → S7:Sovereign) that its capabilities require; every resource it touches — each accelerator device class included — is explicitly granted, deny-by-default; it emits a signed energy receipt with per-device-class joule attribution and an honest provenance tag; and it emits an attestation of what image ran, at what tier, under what grants, on what hardware, for what cost. The accelerator is a first-class capability, a first-class metered resource, and a first-class attested line item — not an opaque passthrough.

  • Site: sandbox.transaction.science
  • Licence: Apache-2.0 for reference code (see sandbox/LICENSE); CC-BY-4.0 for specification text (see sandbox/LICENSE-SPEC).
  • Status: v0.1.0 draft. Specification core published (SPEC.md + spec/); reference library in sandbox-rs/ (sandbox-schema, -capability, -meter, -attest, -runtime, -tee, -exec-wasm, -exec-microvm, -conformance, -proof, -cli) with the C1–C5 + C-neg + C-tee conformance harness (in-code + file-backed vectors via gen_vectors). Real tier executors ship across the ladder: a wasmtime S2 executor (runs untrusted WASM, brokers capabilities, meters fuel→joules), a Firecracker S5 executor (boots a microVM, meters CPU and an assigned accelerator separately), and the S6/S7 confidential + sovereign path (verified SEV-SNP TEE evidence via real ECDSA-P384, locality binding, hash-chained audit log). Energy receipts seal as JCR-1 envelopes (shared with the family); attestations sign Ed25519 over JCS, interoperable with the ARL Sandbox. The one hardware-bound piece — generating a genuine vendor-signed TEE report — uses the Linux configfs-tsm interface on real confidential hardware; verification is implemented and vectored.

map/ — A carrier for place

The geospatial cargo class of the substrate. A region of the world — at a position, an altitude, an instant, and a fidelity — is a content-addressed, signed tile with its energy cost intrinsic, addressed by a 4D cell key (S2 cell + altitude band + time bucket + LOD). Tiles pack into a single range-requestable tileset on dumb storage — Hilbert-ordered so a viewport is a near-contiguous byte range, with no server and no per-request billing — under a signed manifest whose revisions are append-only, dated transitions (a new forecast hour, a new AIRAC cycle), so a published map works forever. Render requests resolve through an energy-tiered fidelity cascade — F0:Cache → F1:Base → F2:Field → F3:Feature → F4:Photoreal — returning the highest tier at or below the request that holds data and falling back to the F1 base floor, which is defined everywhere: graceful fallback is a property of the standard, not of an implementation. Every resolve emits a signed JCR-1 receipt (measured + estimated microjoules with an honest provenance tag). The temporal axis is first-class — what 3D Tiles lacks and what weather and flight navigation require.

  • Site: maps.transaction.science — a wgpu globe demonstrating the standard end to end.
  • Licence: Apache-2.0 for reference code (see map/LICENSE); CC-BY-4.0 for specification text (see map/LICENSE-SPEC).
  • Status: v0.1.0 draft. Specification core published (SPEC.md + spec/); reference workspace map-rs/ — map-schema (4D cell key, content addressing, tile, Hilbert directory + range planner, signed manifest + revision chain), map-cascade (F0–F4 resolver with guaranteed F1 fallback), map-receipt (JCR-1 sealing, byte-compatible with the family verifiers), map-conformance (C1–C5 + negative pack, all checks real, published vectors in conformance/v1/), and map-index (pure-Rust S2 geometry ported from joule-s2 — with its broken polygon containment/area corrected — plus the volume 4D scheme from joule-spatial3d: logarithmic altitude bands + time tiers, and a bridge that covers a region or a region × altitude × time volume into the directory's cell keys), and map-tiles (the Tile-cargo codecs ported from joule-tiles — MVT vector (encode and decode), raster PNG/WebP, terrain quantized-mesh, 3D Tiles (encode + b3dm/glTF decode), an SPZ-style splat codec, and INRIA .ply ingest (F4) — each bridged to a content-addressed tile at its cascade tier), map-orbital (TLE + SGP4/SDP4 propagation from joule-orbital, with a bridge mapping a satellite sub-point to a CellKey for the F3 live-satellite layer), and map-route (local geocode/routing/geofencing over a tileset from joule-maps, plus a feed-agnostic Feed/Entity adapter that resolves any source — flights, vessels, satellites, CVEs, incidents, enterprise signals — to a CellKey). The substrate port is complete; cargo test green, cargo clippy --all-targets zero warnings. The demonstrator (maps.transaction.science) is a wgpu globe (write-once native + WASM) that consumes the standard end to end — cascade-resolved basemap (F2), MVT-decoded feature lines (F3), and cell-addressed feed entities — with map-receipt metering. Not certified for primary navigation (SPEC §9).

aac/ — A carrier for voice

The communication cargo class of the substrate. A board — a non-speaking person's communication surface and every bit of customization invested in it — is a content-addressed, portable file: cells placed once and locked so muscle memory is never invalidated, symbols referenced by source and id rather than baked-in pixels, the access method and its timing carried with the user, language as a graph edge so a bilingual user code-switches by traversal, and a two-part joule cost on every operation that is shown for transparency and never billed. Communication resolves through a ten-level energy-tiered cascade — L0:Cache → L1:Symbol → L2:LocalPredict → … → L9:AdaptiveModel — where exactly L0–L2 are offline and carry the overwhelming majority of utterances, so a network drop never silences anyone, and every level is free at the protocol layer. The board exports to a canonical interchange form and ingests the open board format and community exports, so a user brings their existing boards in and takes everything with them when they leave — augmentative & alternative communication as a file, not a subscription.

  • Site: aac.transaction.science
  • Licence: Apache-2.0 for reference code (see aac/LICENSE); CC-BY-4.0 for specification text (see aac/LICENSE-SPEC).
  • Status: v0.1.0 draft. Specification core published (SPEC.md); reference workspace aac-rs/ — aac-core (the engine: boards, symbols, vocabulary, motor planning, switch scanning, dwell/eye-gaze, prediction, context, multilingual, accessibility, partner tools, analytics, the L0–L9 cascade router, the store, interchange import/export), aac-web (a free offline-first reference app on Leptos), and aac-conformance (C1–C4: cascade routing, energy monotonicity, the offline invariant, wire round-trips — all checks real, published vectors in conformance/v1/). cargo test green, cargo clippy --all-targets zero warnings on the engine and harness. Not a medical device; not certified as a speech-generating device for funding (SPEC §11).

proof/ — A carrier for verified work

The verification cargo class of the substrate. A proof obligation is a content-addressed {statement, context, kind, intent, grounding}; a solver is anything that can attempt one at a declared tier; a discharged obligation seals as a signed JCR-1 receipt recording which tier closed it and the joules it cost. The standard fixes the one axis the theorem-proving field leaves implicit — joules per verified proof — and makes it portable. The cheapest sufficient solver wins: every obligation goes to the cheapest rung that can discharge it — deterministic automation (T0) → SMT (T1) → a small distilled prover (T2) → a frontier model (T3, last resort) — and escalates only on failure. Correctness is the verifier's, never the optimizer's: a solver returns proved only when a verifier would accept the artifact, so the standard changes which tier pays, not whether a proof is checked; the joules a cheaper solver spent before failing are disclosed (wasted_uj), never hidden. Energy carries an honest provenance tag (HwShunt/ModelBased/Estimator), the per-tier breakdown keeps Amdahl behaviour visible, and a receipt for an Ungrounded statement says, in the signed artifact itself, that the statement was never validated against intent — a proof is not a specification.

  • Site: jouleproof.transaction.science (the JouleProof pillar is the steward + services layer over this standard).
  • Licence: Apache-2.0 for reference code (see proof/LICENSE); CC-BY-4.0 for specification text (see proof/LICENSE-SPEC).
  • Status: v0.1.0 draft. Specification core published (SPEC.md + conformance/v1/); reference workspace proof-rs/ — proof-schema (content-addressed goal, the strictly-monotone tier ladder, the HwShunt/ModelBased/Estimator energy model with the coupling enforced, SpecGrounding, the Solver trait, canonical det-CBOR), proof-solvers (two real rungs, measured energy: an in-process propositional decider at T0 and z3 — shelled or kept resident across goals — at T1, each refusing rather than faking; T2/T3 are honest stand-ins), proof-cascade (the escalation router with every joule accounted and wasted_uj disclosed, the content-addressed proof cache as the durable energy flywheel, and batch accounting against a frontier-only baseline), proof-receipt (the proof/1 JCR-1 receipt — canonical det-CBOR + COSE_Sign1/EdDSA, byte-compatible with the family verifiers, refuses to seal an unproved goal), proof-conformance (C1–C5 + a negative pack, all checks real, published vectors in conformance/v1/), and proof-cli (the proof demo: joules-per-proof vs a frontier-only baseline, the Amdahl breakdown, the cache flywheel, a sealed + verified receipt). cargo test --workspace green, cargo clippy --workspace --all-targets zero warnings. The two bottom rungs decide for real; the model rungs are honestly marked as stand-ins until inference backends are wired.

jcp/ — The Joule Context Protocol

The unified, energy-native, capability-secured protocol for agentic systems. Where today's stack splits across MCP (tool/context connection), A2A/ACP (agent-to-agent), an identity layer, and an authorization layer — and standardizes energy nowhere — JCP is one spec built on one object: a capability and an energy budget are the same thing, a signed, bounded, debited Grant. A capability you can't pay for is denied; an expenditure you're not capable of is denied — one check, made deterministically outside the model, sealed in a receipt. It answers the documented failure modes head-on: tool descriptions are untrusted input, so a tool's output can never take control (data ≠ control, defeating tool poisoning); prompts can't enforce access control and a more capable model only follows injected instructions better, so every action is decided by the runtime, not the LLM (the inverse-scaling-law result made model-side control unsound by construction); agent loops have no cost ceiling, so every grant carries a joule budget debited and enforced before the side effect; audit is a mutable span, so every decision — allow and deny — seals as a non-repudiable JCR-1 receipt. Delegation is object-capability attenuation: a child grant can only narrow, so a chain never conveys more authority or energy than its root. Every actor is a did:key; every resource is content-addressed (audience binding an attacker can't spoof by name).

  • Licence: Apache-2.0 for reference code (see jcp/LICENSE); CC-BY-4.0 for specification text (see jcp/LICENSE-SPEC).
  • Status: v0.1.0 draft. Specification core published (SPEC.md + conformance/v1/); reference workspace jcp-rs/ — jcp-schema (the did:key actor, the metered Grant = capability ⊗ joule budget content-addressed and signed, the Frame with its control/data trust tag, the family Energy/Provenance model, canonical det-CBOR), jcp-grant (issuance, signature verification, strictly-narrowing object-capability attenuation with delegation-depth control, hop-by-hop chain verification, issuer-only signed revocation, budget sharding for consensus-free distributed enforcement, and KERI-style pre-committed key rotation), jcp-runtime (the deterministic enforcer — one ordered check fusing untrusted-control, revocation, audience binding, signature, expiry, capability, and budget, decided outside any model, then debit; decide_chained enforces full delegation chains with the cost debited from every link, so sibling delegations share their root's budget), jcp-receipt (the jcp/1 JCR-1 receipt, byte-compatible with the family verifiers; allow and deny both seal), jcp-bridge (a reference gateway wrapping existing MCP tool calls and A2A tasks in Grants and Frames — decided against the grant before the call reaches the endpoint, results framed as untrusted data — so an existing server keeps its transport while every call becomes capability-scoped and joule-budgeted), jcp-energy (the metering ladder — RAPL and optional NVML hardware counters when the platform exposes them, a time×calibrated-power model and a constant estimator when it doesn't, the provenance always honest), jcp-wire (the jcp/1 wire binding — length-prefixed canonical det-CBOR over TCP/Unix/any byte stream; requests carry the full grant chain, responses the decision + sealed receipt), jcp-threshold (k-of-n FROST threshold actors — the two-agent rule: the group key is an ordinary did:key, so a 2-of-3 team signs wire requests with nothing else changing), jcp-channel (receipt-settled budget channels: optimistic multi-point spend settled by signed statements, bounded provable overdraft), jcp-conformance (C1–C18 + a negative pack, all checks real, published vectors in conformance/v1/), and jcp-cli (the jcp demo: one metered grant through an agent loop — legit calls debited, a poisoned tool-result refused structurally, out-of-scope action/resource denied, the budget stopping a runaway loop, a weaker delegated sub-grant, a verified receipt). cargo test --workspace green, cargo clippy --workspace --all-targets zero warnings. Consumed in-repo by JouleClaw (jouleclaw-jcp: MCP dispatch gated pre-call), Sandbox (sandbox-jcp: execution authorized against the image's content address before the executor runs), and Joule Code (joule-code-jcp: cascade stages decided per consultation — no grant, no L4).

joulecontract/ — A carrier for obligation

Five clauses, one signed receipt, owned by no one. JouleContract is the contract cargo class: a content-addressed statement of what a unit of work must hold (pre, post, inv), what it may touch (frame — everything outside is implicitly invariant), and what it may spend (ceiling, a joule EnPI against a signed baseline) — the operand the rest of the family acts on. One receipt simultaneously evidences functional safety, energy management, and AI governance: three audit programs as three projections of one log. The doctrine is inherit, don't invent — bind, don't name — seal, don't float: every trust-bearing field (including the joule figure itself) binds to a key, a sealed attestation, or an independent timestamp, or serializes one of twenty-two demoted states; conformance seals once at discharge against a content-addressed evidence bundle, so re-verification is resolution-free (air-gapped capable) and receipts never rot; breach is deviation without a timely amendment, amendments govern the future only, and a withheld receipt gains nothing. Hardened by four published adversarial diff rounds — three against the spec text, the fourth against the reference implementation itself — whose findings folded back as traced amendments and repaired code, with a real, mechanically-verified digest chain.

  • Site: joulecontract.transaction.science · spec · provenance
  • Licence: Apache-2.0 for reference code (see joulecontract/LICENSE); CC-BY-4.0 for specification text (see joulecontract/LICENSE-SPEC).
  • Status: v0.8.0 draft. Specification published with its full amendment history (archive/ byte-exact, seven anchors, digests verify against SPEC.md §16 mechanically on every test run); two-stage evaluation normative (receipt-local witnesses at most JR-2; JR-3+/certified are composed verdicts); reference workspace joulecontract-rs/ — joulecontract-schema (the five-obligation core object, algorithm-prefixed content addressing over canonical JSON, the JCAP composed profile, the demoted-state vocabulary), joulecontract-receipt (one discharge entry per declared obligation or the receipt is malformed; independence computed from key disjointness over the effective generator key set, never copied from a producer flag; receipt-local validation honestly capped at JR-2 with JR-3/JR-4 and certified as composed verdicts over sealed evidence + key log + interval; the least-bound-axis gates and the §15-token claim-discipline rule), joulecontract-seal (content-addressed evidence bundles, Ed25519 envelopes, resolution-free offline re-verification, evidence-lost vs unresolvable), joulecontract-amend (sealed intervals, start-anchor governance — the withheld-receipt attack gains nothing — breach classification against a named covering amendment, the chronologically-evaluated office key log with forward-only revocation windows), joulecontract-wire (the recognized edge: the receipt as an in-toto Statement with the JouleContract predicate type, wrapped in DSSE with exact PAE), and joulecontract-conformance (the worked example through the composed path, the adversarial scenarios from all four diff rounds as tests, a regenerable vector pack, mechanical verification of the amendment digest chain); composition with per-component ceiling accountability, the per-EnB ratchet, recourse + sector-equivalence bindings, and cross-digest re-anchoring round out the surface — every §15 demoted state is producible. cargo test --workspace green, cargo clippy --workspace --all-targets zero warnings.

joule-os/ — An operating system that bills in joules

The runtime the rest of the substrate lowers onto — the UDA reference runtime realized on commodity hardware. One intent IR is specialized at boot against a control vector (address-space ownership, capability enforcement, persistence directness, dispatch reach), so the same program runs as a native app, in a browser, or on bare metal with the lowering chosen for the coordinate it lands on. State lives in a single-level store — the in-memory bytes ARE the durable bytes, every mutation wrapped in a transaction with an undo log so a power loss at any instruction boundary rolls back or commits, never tears. Every intent dispatches through a cost-ordered cascade of refine families (Lawful ~1 µJ → DeterministicSm → LocalSearch → StateGraph → ConstrainedSearch → TinyRecursive → LlmInLoop ~5 mJ) and stops at the cheapest that closes it; inference is the last resort, and check is deterministic, never an LLM-as-judge. A capability ledger unforgeable by construction (eight typed classes) gates every I/O path; a measured energy oracle (Apple Silicon AMU / Linux RAPL / estimator) tags every reading's provenance and pins work across eight non-fungible classes; receipts seal as JCR-1, shared with the family verifiers.

  • Site: jos.transaction.science
  • Licence: Apache-2.0 for reference code (see joule-os/LICENSE); CC-BY-4.0 for specification text once published.
  • Status: v0.1 reference. The single-level-store cutover has landed; the capability ledger, the refine-family cascade, the measured energy oracle, and the AOT interpreter with an optional out-of-TCB Cranelift JIT tier are implemented across the native (winit + wgpu), PWA (wasm + WebGPU), and bare-metal (x86_64-unknown-none, no_std) surfaces. The conformance suite enforces the THEOREM v0.2 invariants I1–I20 and asserts AOT ≡ JIT bit-for-bit (lowering_aot_jit.rs). Not certified for production; the bare-metal surface is a development target, not a shipping OS.

mesh/ — Energy-accounted inference serving & routing

The serving + routing fabric: the front door in front of many models and many backends. A request declares a joule ceiling and a fidelity floor; the mesh routes it to the cheapest-sufficient model on the cheapest-sufficient backend, serves it under an energy meter, and seals a receipt whose headline figure is microjoules per accepted output token — measured at the meter, not estimated from a price list. The serving shelf reports dollars-per-token and tokens-per-second; Mesh reports the one unit that is physical, comparable across hardware, and impossible to inflate. It rides on JCP (a serve request is authorised by a metered Grant; receipts seal in JCR-1), dispatches to runtimes such as JouleClaw, and routes across compute described by EOC and isolated by Sandbox — introducing no new cryptography. The route is auditable from the receipt alone: every backend weighed, with the reason each was kept (fidelity ≥ floor, estimate ≤ ceiling) or rejected, and the cheapest-sufficient choice recorded — so the deterministic/cached tier is preferred and a frontier model is the expensive last resort, priced in joules.

  • Licence: Apache-2.0 for reference code (see mesh/LICENSE); CC-BY-4.0 for specification text (see mesh/LICENSE-SPEC).
  • Status: v0.1.0-draft.1. Specification core published (SPEC.md + conformance/v1/); reference workspace mesh-rs/ — mesh-schema (the content-addressed ServeRequest carrying joule ceiling + fidelity floor, the ordered F0–F4 fidelity scale, the two-part HwShunt/ModelBased/Estimator Energy model with the coupling enforced, the model-as-recipe, the RouteDecision/RouteCandidate audit and ServeOutcome counters), mesh-router (energy-weighted cheapest-sufficient routing — admissibility by fidelity floor and joule ceiling, cheapest admissible chosen, every candidate and its reject reason recorded), mesh-engine (the ServingEngine interface plus a deterministic, weights-free ReferenceEngine), mesh-meter (the meter window — an always-available load estimator plus an optional bridge to the family hardware meter (RAPL / NVML / Apple) behind hw-meter, provenance preserved across the bridge), mesh-receipt (the mesh/1 JCR-1 receipt — canonical det-CBOR + COSE_Sign1/EdDSA, byte-compatible with the family verifiers, the wedge metric uj_per_accepted_token sealed in, refuses to seal a dishonest HwShunt, hash-chained log), mesh-core (the orchestration — authorise the JCP grant, route, meter around the engine, seal — infer decided outside the model), mesh-conformance (the deterministic reference serve, field-by-field checks, vectors in conformance/v1/), and mesh-openai (an OpenAI-compatible /v1/chat/completions ingest — any OpenAI client drives metered serving and gets the sealed receipt back in usage.energy) — plus mesh-engine-gguf, a real backend behind the gguf feature wrapping the family's pure-Rust GGUF/Metal inference substrate, kept out of the default build so it needs no weights. The input token payload travels with the serve call and is never sealed — the receipt records only the content-addressed prompt_hash. cargo test --workspace green, cargo clippy --workspace --all-targets zero warnings.

pool/ — Energy-accounted multi-tenant scheduling

The entitlement layer in front of a contended pool: who may start, on whose budget, and what gets reclaimed when capacity runs short. A cluster scheduler's quota is conventionally a device count, which is a proxy — the quantity paid for, drawn from a grid and reported under an energy-disclosure regime is energy, and a guarantee of "eight accelerators" cannot express "this team may spend 40 MJ this window". In pool/1 an entitlement guarantees microjoules and devices together, and both bind. Three rules need that unit to state at all: an Estimator figure may not draw on surplus borrowed from a sibling (a tenant may bear its own mis-estimate; a neighbour's unspent joules are not the tenant's to gamble); a gang is all-or-nothing in joules, not only in slots (admitting part of a gang against a budget that cannot finish it spends real energy and delivers nothing); and preemption follows evidence before declaration — workloads with a measured cost per completed unit are reclaimed worst-first, while workloads that have completed nothing are unmeasured rather than wasteful and fall back to declared priority. That last rule is why the energy unit is load-bearing: ranking by cost per completed unit needs an outcome anchor, which device-seconds cannot supply. Surplus is shared by weight among borrowers under one parent and never crosses roots; a claim that cannot fit today queues, and one that can never fit is refused with the reason. Scope is narrow on purpose: pool/1 decides, and does not place, meter or execute — the grade of every energy figure travels into the verdict rather than sitting beside it.

  • Licence: Apache-2.0 for reference code (see pool/LICENSE); CC-BY-4.0 for specification text (see pool/LICENSE-SPEC).
  • Status: v0.1.0-draft.1. SPEC.md published; reference workspace pool-rs/ — pool-core carries the entitlement tree with weighted sibling surplus, the normative §4 admission order (impossibility before pendency, guarantee, then borrowing), and the §5.2 preemption order. cargo test --workspace green.

joulespec/ — A carrier for intent

The specification cargo class: what software owes, and whether anything established it. Specification-driven practice converged on prose an agent interprets and a human reads, and the difficulties catalogued wherever it is examined — specifications drifting from the code they describe, generated artifacts trusted past their evidence, no method for checking conformance, a review burden heavy enough that practitioners report preferring to read the code — are measurement problems rather than methodology ones. They persist because the specification is a document: a clause cannot be addressed, so nothing binds to it; conformance is a sentence in a review, so it cannot be graded or capped; the cost of the ceremony is an anecdote, so the argument about whether it earns its overhead has no units. joulespec/1 leaves the prose alone and changes what the specification is. A clause is addressed by its obligation — the content address of its kind and text, with the label deliberately excluded — so renaming a clause loses no evidence while rewording one invalidates exactly that clause's evidence, which is the inversion that lets drift go unobserved under label-bound citations. Evidence climbs a ladder ordered by one question, how hard would it be for this obligation to be violated without this evidence noticing: E0:Cited (testimony — where prevailing practice lands) → E1:Reviewed → E2:Exercised (a green check, which flatters: a test with no assertion passes) → E3:Falsifiable (the same check on record failing against a named counter-artifact) → E4:Proved. Every rung above E2 rests on a demonstrated failure, and the rule binds proofs as much as tests: a formal statement can hold vacuously, true because nothing ever reaches the condition it guards, so E4 needs the statement refuted against a counter-model and its formalization cross-checked by a key other than the prover's. Whether a check can fail is also structural, not only empirical — an oracle whose expected value derives from the system it judges cannot disagree with that system when a fault moves measurement and expectation together — so every check declares an anchor (specification / state / unstated), and an unstated one caps at E2 because the answer is free to whoever wrote the check. A second axis runs beside the first: attestation (A0:self-attested → A1:independent → A2:reproduced), derived from work authorship and from agreement between disjoint keys, never declared, and absent rather than independent where no implementer is known — because how strong a check is and who vouches for it fail separately, most obviously when the implementer and the reporter are one process. Both axes are minima over the owed obligations and both gate conformance; non-goals are first-class, and evidence that one was implemented is a flag that blocks conformance however good the rest is. Revising a specification yields the exact partition of which evidence survives, while a witness names the footprint it depended on and survives any later state that still contains it — so a documentation edit does not expire the evidence for an authentication requirement, which is how traceability decays in practice. Every witness and every unit of work carries its joules, so the receipt seals the specified share (how much energy went into work citing no clause, with that work named, because unintended function is what backward traceability exists to exclude) and microjoules per falsifiable obligation — the denominator deliberately the rung whose evidence can fail, and comparable only at a fixed specification address, since any evidenced-over-total figure improves when trivial items are added. Receipts are derived from the evidence and never from a verdict handed in, so every claim in one is reproducible by anyone holding the same inputs.

  • Licence: Apache-2.0 for reference code (see joulespec/LICENSE); CC-BY-4.0 for specification text (see joulespec/LICENSE-SPEC).
  • Status: v0.3.0-draft.1. SPEC.md published, with §9 setting out what it takes from requirements-traceability tooling, assurance-case structure, certified-airborne traceability, supply-chain provenance levels, mutation testing and carbon-intensity accounting, and what it adds to each. The traceability family is the nearest prior art and narrows the claim honestly: it already binds evidence to a requirement by identifier and revision, and its strongest member already requires the covering check to have run — so E2 is independent convergence rather than a contribution. What it leaves open is what this standard closes: the revision is bumped by hand, where an obligation address is computed; and a passing check that asserts nothing still satisfies such a gate, with test quality deferred to human review, where E3 makes it mechanical. Reference workspace joulespec-rs/ — joulespec-core carries obligation-addressed clauses and signed revisions, the graded evidence ladder with oracle anchoring, vacuity and independence computed from key disjointness, the deterministic two-axis evaluator with both minima, the four flag conditions and footprint-aware staleness, the revision partition, and the joulespec/1 JCR-1 receipt with its per-clause audit. joulespec-cli is the reference producer: it reads clauses from the published specification document, runs each declared check, runs it again against a declared counter-artifact, and emits a signed witness only at the rung the observations support — distinguishing a check that failed from one that did not compile from one that should not have passed. It also drives a model checker for the E4 path, where it parses the property table rather than the verdict line: a checker reports success for a harness whose assumptions emptied the domain in the same words it uses for one that examined all of it, so a gate reading the verdict passes vacuous proofs. A budget per harness makes an undecided run a finding instead of a hang. Two conformance packs: byte-stable wire vectors carrying one witness of every rung plus one bound to a superseded state, and the standard applied to its own implementation, where every conformance item of §7 reaches E3 against a counter-artifact that made its check fail, and two items also carry a proof discharged over their whole input domain. That exercise keeps finding real defects inspection missed — a test whose assertion could not fail, a branch that could not change a verdict, and two counter-artifacts silently aimed at text a refactor had moved, which now fails closed before anything runs. It also measured why the top rung exists: the counter-artifact that narrows the ratio rule's arithmetic to 64 bits is invisible to the whole test suite and refuted by the prover at once. cargo test --workspace green, cargo clippy --workspace --all-targets zero warnings, both gated in CI alongside the harvest and a live proof leg.

How this is organised

Each subdirectory is self-contained: it carries its own README, its own licence, and its own contribution guidance. Cross-protocol consistency lives at this level — in this README and in CHARTER.md.

open-standards/
├── README.md       — this file
├── CHARTER.md      — the stewardship pattern
├── openpay/        — payment-acceptance stack (Apache-2.0, Rust)
├── smart-byte/     — value-carrier substrate (CC-BY-4.0, spec)
├── eoc/            — energy-optimised compute (CC-BY-4.0, spec)
├── wai/            — media transport + capability dispatch (Apache-2.0, Rust ref impl)
├── jouleclaw/      — energy-optimised AI runtime (Apache-2.0, Rust ref impl)
├── arl/            — AI Readiness Level measurement standard (CC-BY-4.0, spec; ref impl in progress)
├── joule-code/     — energy-attributed federated coding operations (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
├── sandbox/        — isolated, metered, attested execution across the heterogeneous compute fabric (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
├── map/            — geospatial cargo class: range-requestable signed tilesets + fidelity cascade (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
├── aac/            — communication cargo class: portable boards + a ten-level offline-first cascade (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
├── proof/          — verification cargo class: energy-accounted cheapest-sufficient cascade + signed proof receipts (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
├── jcp/            — Joule Context Protocol: unified energy-native capability-secured agentic substrate (metered grants + signed receipts, decided outside the model) (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
├── joulecontract/  — contract cargo class: five-obligation energy-accounted interface contracts, bound + sealed receipts, adversarial-diff provenance (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
├── joule-os/       — the UDA reference runtime: single-level store + refine-family cascade + capability ledger, lowered per coordinate across native / PWA / bare-metal (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
├── mesh/           — inference serving + routing fabric: joule-ceiling × fidelity-floor requests routed cheapest-sufficient, metered, sealed as µJ-per-accepted-token receipts (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)
└── joulespec/      — specification cargo class: obligation-addressed clauses, a graded evidence ladder from testimony to proof beside a derived attestation axis, deterministic drift, and the joules a specification cost to evidence (Apache-2.0 code / CC-BY-4.0 spec, Rust ref impl)```

The standards do not depend on one another. They share a steward and a doctrine — that the protocol is the public commitment and the operations are the offer. (Most also share a unit of accounting, joules; ARL is universal and tied to nothing, joules being one of its four measured axes rather than a shared substrate.)

## Contributing

Contributions are welcome at the subdirectory level. Issues, discussions, and pull requests scope by subdirectory tag. The smallest valuable contributions:

- **OpenPay:** new driver implementations, persistence backends for the domain stores, FFI platform glue, ISO 20022 / EMV test vectors.
- **Smart Byte:** worked examples of cargo types, additional conformance vectors, security-engineering critique.
- **EOC:** evaluation suites, additional `eval*` worked instances, registry entries.
- **WAI:** new capability registrations (neural codec extensions), conformance test vectors per registered capability, language bindings against the `wai-rs` C ABI (Python ctypes, Node N-API, Swift, JNI, Go cgo).
- **Joule Code:** additional conformance vectors (especially adversarial negatives), real `L0`/`L2` cascade stages, measured-energy backends feeding the receipt's `HwShunt` path, and independent third-party implementations certifying against the public suite.
- **Sandbox:** adversarial conformance negatives (folded accelerator energy, grant-set mutation mid-run, tier-minimization violations), per-device measured-energy backends (NVML / RAPL / ROCm SMI / Level Zero) feeding the `HwShunt` path, and real S2 (WASM) and S5 (microVM) tier executors behind the `sandbox-runtime` executor trait.
- **Map:** adversarial conformance negatives (a directory root disagreeing with its entries, a revision-chain fork, an over-fetching range planner), the substrate port (`map-index` S2 + 4D, `map-tiles` MVT/raster/3D-Tiles, `map-orbital` SGP4, `map-route`), measured-energy backends feeding the receipt's `HwShunt` path, and new tile-payload codecs with per-codec vectors.
- **Proof:** real solver backends behind the `Solver` trait (a Lean tactic runner at `T0`, CVC5 alongside `z3` at `T1`, a distilled prover at `T2`), a `HwShunt` measured-energy backend (RAPL/NVML), adversarial conformance negatives (a router hiding escalation waste, a receipt sealed for an unproved goal, a provenance/measured mismatch), and spec-grounding cross-checkers that earn a `CrossChecked` grounding against an independent encoding.
- **JCP:** transport bindings that wrap existing MCP/A2A tool and agent calls in Grants and Frames without moving the decision into the model; a `HwShunt` measured-energy cost backend (RAPL/NVML); grant revocation lists and multi-hop attenuation-chain verification; a signed content-addressed capability-discovery catalog; and adversarial conformance negatives (a chain that amplifies mid-delegation, a receipt whose budget disagrees with its grant, a replayed nonce).
- **JouleContract:** the in-toto/DSSE `JouleContract` predicate emission at the recognized edge; a signed conformance vector pack (`conformance/v1/`); adversarial negatives from the published diff rounds (a frame amendment racing its breach, a quorum whose members share a parent entity, an evidence bundle with one swapped attestation); meter-attestation backends (RAPL / NVML / substrate telemetry) feeding the `Metered` binding; and a fourth adversarial diff round.
- **Joule OS:** additional refine-family backends behind the cascade (real `LocalSearch` / `StateGraph` / `ConstrainedSearch` stages); per-platform measured-energy oracles feeding the work-class receipts; conformance negatives against the THEOREM I1–I20 invariants (a capability minted outside `Ledger::issue`, a single-level-store mutation that tears across an instruction boundary, an AOT/JIT divergence); and bare-metal surface drivers.

- **JouleSpec:** witness producers that emit `E3` evidence from suites already in use (a mutation runner recording the mutant each test was written against is the natural one, and a test harness that observes its own reads can emit the footprint rather than leaving it empty), a bridge that turns the verification standard's discharged goals into `E4` witnesses with their formalizations and vacuity checks carried through, adversarial negatives (a witness re-bound to a reworded obligation, a footprint widened after signing, a review countersigned by the citing key, a receipt sealed from a hand-built verdict), and measured-energy backends feeding the witness `HwShunt` path.

A `CONTRIBUTING.md` per standard captures the specifics where they diverge.

## Contact

- Web: [transaction.science](https://transaction.science)
- Mail: [[email protected]](mailto:[email protected])