open-standards/eoc
Repository files (latest commit first)
Filename Latest commit message Latest commit date
David Charlot 84fc32449a
All checks were successful
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (push) Successful in 57s
chore(deps): update dependencies for Rust 1.98, pinning the crypto generations
Finishes the workspace-wide dependency refresh on stable 1.98.0. Most crates
took the newest release cleanly; the ones below could not, and the reason is
worth recording because "latest" is the wrong answer for several of them.

rand is pinned to 0.8, not 0.10. rand 0.10 dropped `rand::RngCore` and
`rand::rngs::OsRng`, but the real blocker is that it ships rand_core 0.10
while every signature crate here (ed25519-dalek 2.x, bls12_381, k256/p256)
is built on rand_core 0.6 -- so a 0.10 RNG is not even the right *type* to
hand to `SigningKey::generate`. rand 0.8 re-exports rand_core 0.6, which is
exactly what those crates want. rand_chacha follows it to 0.3 for the same
reason. The RNG generation is pinned by the crypto ecosystem, not by recency.

aes is pinned to 0.8 (cipher 0.4) in smart-byte-nostr and op-mobile-wallets:
aes 0.9 moved to cipher 0.5, which removed `BlockEncryptMut`,
`encrypt_padded_vec_mut` and `StreamCipherCoreWrapper::new` that this code
uses, and aes-gcm 0.10 pulls cipher 0.4 anyway -- so 0.9 also put two aes and
two cipher versions in the graph. op-3ds2 declared aes/cbc for an encrypted
deviceInfo block it never implemented; dropping those unused deps removes the
last cipher 0.5 edge, leaving a single aes and a single cipher.

reqwest 0.13 moved `RequestBuilder::query` and `::form` behind new features,
which `default-features = false` was silently excluding. Enabled per crate.

Source changes are the matching API drift:
  - hmac's `new_from_slice` lives on `KeyInit`, not `Mac`
  - secp256k1 0.31 takes the array by value in `from_byte_array`, and its own
    re-exported `rand` is used for keygen so the two can never drift again
  - smart-byte-mdl reads OS entropy from getrandom directly. It was reaching
    for a rand RNG only to get 32 bytes, and going to the primitive genuinely
    removes the CryptoRng skew with p256 0.14-rc that the comment there
    described dodging -- and drops rand from that crate entirely.

Verified: all 20 workspaces in the monorepo compile with
`cargo check --workspace --all-targets` on 1.98.0, zero errors.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-08-26 12:19:50 -04:00
..
cookbook Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
docs Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
eoc-bench chore(deps): cargo update across the workspace; eoc toolchain → 1.98.0 2026-08-26 07:39:26 -04:00
eoc-rs chore(deps): update dependencies for Rust 1.98, pinning the crypto generations 2026-08-26 12:19:50 -04:00
os Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
spec Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
standards Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
vocab vocab v1 SHACL shapes across sister standards (wave-23 #4/#5) 2026-06-02 18:55:56 -04:00
LICENSE Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
README.md Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
THREE_FACES.md Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00

EOC — Energy-Optimized Compute

A free, always-available, energy-honest AI substrate. AI that costs joules, not tokens.

AI is not free yet. The internet is. EOC closes the gap: a substrate that resolves work at the lowest sufficient cost and refuses to spend unbounded energy chasing benchmark deltas. Every query flows through a four-stage pipeline — state-construct → retrieve → refine → check — and a large language model is one of six refine operators, ordered last. The Fourth Truth: refinement before generation. The substrate runs in a browser, runs on commodity CPUs, denominates everything in joules per task against an open evaluation corpus, and cannot be turned off because no one entity runs it.

The substrate is intentionally ownerless: no protocol-level token, permissive licensing, conformance test vectors and open eval corpora so any implementation can verify itself without a trust relationship with the authors. Transaction Science is one steward — it publishes the spec, ships a reference implementation, and operates commercial services around the substrate (managed nodes, certification, registry hosting) — not its proprietor.

Contents

  • spec/eoc1_spec.docx, spec/eoc1_v0_1_1_patch.docx, spec/eoc1_v0_2.docx, spec/eoc1_v0_2_addendum_A.docx — EOC-1: the substrate architecture (v0.1 tiers → v0.2 four-stage pipeline; Addendum A: non-goals — token economics)
  • spec/eoc2_wire.docx — EOC-2: the wire protocol (capability exchange, gossip, signed envelopes)
  • spec/eoc3.docx — EOC-3: artifact distribution (content-addressed fetch for models, state machines, corpora)
  • spec/eoc4_dcy.docx — EOC-4: DCY (Deterministic Cypher — the query language for the knowledge-graph retrieve operator)
  • spec/eoc5_registry.docx — EOC-5: the Operator Family Registry (stable identifiers + conformance tests)
  • spec/eoc1_eval001*.docx, spec/eval001_worked_instances.docx, spec/eval002.docx — Eval-001 (schema-conformant generation proficiency standard) and Eval-002 (retrieval/provenance)
  • spec/eoc_architecture.docx — the architecture working draft
  • spec/tokens_concealment.docx — Tokens Are the Concealment (the rhetorical companion to Addendum A)
  • os/THEOREM.md, os/Q1_W_DEFINITION.md — the energy-first OS theorem the substrate is designed to run on, and the resolution of its open question on defining "useful work" in joules-per-work

Status

EOC-1 at v0.2; EOC-2..5 and Eval-001/002 at working-draft 0.1; OS theorem at v0.2. The reference implementation referenced across the specs as "v0.3" is to be brought into this repository.

  • Smart Byte (../smart-byte/) — the value substrate; uses EOC's energy attribution.
  • TX Science AI (ais.transaction.science) — the AI PaaS; its memoizing cascade is an instance of the EOC four-stage pipeline.