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 e093ae80d8
Some checks failed
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 6s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 5s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 5s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Successful in 2m50s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m43s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m26s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Successful in 1m46s
joule-code conformance gate / joule-moq-relay, every target (pull_request) Successful in 1m51s
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 1m13s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 6s
WAI conformance / does this change touch it (pull_request) Successful in 6s
WAI energy receipts / does this change touch it (pull_request) Successful in 5s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 5s
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Successful in 6s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 5s
wai-web wasm32 / does this change touch it (pull_request) Successful in 4s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 1m50s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m16s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 32s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 10m4s
wai-pack / wai-pack · linux (pull_request) Successful in 1m26s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 1m51s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 19m11s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 2m26s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 3m52s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 18s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 11s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 24s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 2m3s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 17m40s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 4m55s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 3m3s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 8m11s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 11m40s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 46s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m36s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 8m51s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 37m14s
wai-quantum studio and desktop / desktop app · macos (pull_request) Has been cancelled
wai-pack / wai-pack · macos (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Has been cancelled
WAI energy receipts / energy receipts · macos (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
age_rising: the slow viewer reads until its receipts are whole, not to the bound
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 20:15:10 -04:00
.githooks ci: no-vanity-metrics scanner + pre-commit hook + CHARTER policy 2026-06-02 10:39:43 -04:00
.github/workflows WAI_RATING as a wire identifier, the CHANGELOG, SPEC §5, the READMEs, the example configuration and CI's path filters 2026-10-21 19:27:22 -04:00
aac Merge aac/sw-webkit-install: the app's service worker is kept installed in WebKit too (bug 215122), and never hangs installing 2026-10-18 14:23:54 -04:00
arl licences: ship the Apache-2.0 text the code already declares 2026-10-09 17:22:32 -04:00
eoc energy meters: a GPU counter reading low is refuted in sandbox-meter, eoc-meter and jcp-energy too 2026-10-20 04:15:36 -04:00
jcp jcp-wire: a caller-signed challenge, and endpoint evidence bound to the answer 2026-10-21 10:26:42 -04:00
joule-code age_rising: the slow viewer reads until its receipts are whole, not to the bound 2026-10-21 20:15:10 -04: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 jcp: a ModelIn caveat says which model a grant authorizes, and the frame names the model it runs 2026-10-17 04:21:21 -04:00
jouleclaw Merge pull request 'jouleclaw-routing: ROUTING_JOULES is an Estimator-class floor, and says so' (#390) from fix/routing-joules-is-an-estimator into main 2026-10-21 10:19:45 -04:00
joulecontract joulecontract: an unattested Metered tag falls to the class its evidence supports 2026-10-11 22:47:45 -04:00
jouledesk jcp-efficiency: carry the Option through its cross-workspace consumers 2026-10-17 09:29:59 -04:00
joulehook Merge pull request 'joulehook: the joule budget survives the process, so it can be exceeded' (#310) from fix/joulehook-budget-survives-the-process into main 2026-10-18 13:45:33 -04:00
jouletable jouletable: new umbrella standard — a metered/gated/attested agent at every surface 2026-07-05 07:32:59 -04:00
map map-receipt: HwShunt's doc says a vendor counter counts only while live 2026-10-01 01:10:36 -04:00
mesh Merge pull request 'jcp: WithinWindow, a sliding-window caveat over calls, payloads and measured joules' (#388) from feat/jcp-window-caveat into main 2026-10-21 10:20:14 -04:00
openpay op-screening: the audit log can outlive the process that wrote it 2026-10-17 09:35:49 -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 IOReport meters: the two clippy warnings each macOS reader carried 2026-10-14 01:19:55 -04:00
sandbox sandbox: flow across a run's checkpoints — an untrusted read closes the sinks that follow 2026-10-21 10:49:52 -04:00
scripts Merge pull request 'joule-moq-relay: a WebTransport session closes with its MOQT code and reason (WT_CLOSE_SESSION), on a vendored wtransport 0.7.2' (#365) from joule-moq/wt-session-close into main 2026-10-20 17:21:17 -04:00
sense specs: a vendor counter is a hardware reading only while it is demonstrably live 2026-10-01 01:10:36 -04:00
smart-byte clippy: no workspace reports an error, and the unsafe FFI states its contract 2026-10-13 09:56:05 -04:00
tools repo hygiene: cross-arch byte-equality CI + branch-drift audit 2026-07-03 00:52:55 -04:00
wai age_serving: groups after the claim's object are sent once the relay holds it (each group is read by a task of its own); the corpus paragraph of §12 states each scope case's reason 2026-10-21 19:46:46 -04: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 README: index pool/ among the standards 2026-10-18 13:43:55 -04: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.

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)```

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.

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

## Contact

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