open-standards/eoc/eoc-rs/crates
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 23eacd79a5
All checks were successful
energy meters on real hardware / RAPL and NVML on jetson-hub (pull_request) Successful in 57s
standards workspaces build + test / jouleclaw-rs (pull_request) Successful in 2m42s
standards workspaces build + test / jouledesk-rs (pull_request) Successful in 55s
standards workspaces build + test / joule-code-rs (pull_request) Successful in 1m32s
standards workspaces build + test / aac-rs (pull_request) Successful in 2m38s
standards workspaces build + test / joulecontract-rs (pull_request) Successful in 57s
standards workspaces build + test / map-rs (pull_request) Successful in 56s
standards workspaces build + test / mesh-rs (pull_request) Successful in 55s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 4m33s
standards workspaces build + test / openpay (pull_request) Successful in 3m27s
lockfiles / every Cargo.lock is current (pull_request) Successful in 37s
no-vanity-metrics / Scan committed Markdown for vanity metrics (pull_request) Successful in 4s
no-vanity-metrics / WAI public text names no comparison (pull_request) Successful in 7s
no-vanity-metrics / WAI public text names no company or product (pull_request) Successful in 6s
standards workspaces build + test / arl-rs (pull_request) Successful in 1m14s
standards workspaces build + test / eoc-rs (pull_request) Successful in 2m1s
standards workspaces build + test / jcp-rs (pull_request) Successful in 1m35s
standards workspaces build + test / joule-ui-rs (pull_request) Successful in 1m12s
standards workspaces build + test / joulehook-rs (pull_request) Successful in 1m13s
standards workspaces build + test / proof-rs (pull_request) Successful in 1m18s
standards workspaces build + test / sense-rs (pull_request) Successful in 1m14s
standards workspaces build + test / sandbox-rs (pull_request) Successful in 2m24s
standards workspaces build + test / smart-byte-rs (pull_request) Successful in 3m59s
eoc docs: what a resolve is charged, with the measured figures; the example prints the unmetered baseline
The README said only that joule cost is the unit of accounting. It now has
the rule and where the cascade reads its meter since 0d78becb: around the
neural stage, never around a hit, which is charged a per-hit figure
calibrated on the host. The example output shows the `hit` line, with and
without a live counter.

eoc-cascade's own docs carry the final figures from the build host (M3
Ultra, macOS 27.0.1, release, load average 5 to 14, three runs of
`examples/hit_cost`):

- 10,000 cache hits: 4.18 to 4.20 ms, 0.375 µs a resolve at the median
  (parent: 1,641 to 1,651 ms, 162 to 164 µs). A cascade given no meter at
  all: 3.55 to 3.60 ms, 0.333 µs. KV 0.667 µs, graph 0.75 to 0.79 µs.
- calibrated: 1,413 to 1,716 nJ a cache hit, 2,672 to 2,961 nJ a KV hit,
  3,007 to 3,163 nJ a graph hit, each from 416 to 3,328 lookups in a span
  51 to 351 times the 12 to 19 µJ an empty span read; 0.85 to 2.3 ms for a
  first hit, calibration included, 0.96 to 1.35 ms for one asked again.
- a neural stage that does nothing: 162.4 to 162.6 µs a resolve and 14.3 to
  14.8 µJ measured, the cascade's two reads; 0.79 to 0.83 µs with no meter.
  The three misses before the opening read: 0.95 µJ and 220 ns together.

`HitCalibration`'s docs say the figure is that of the core the batch ran on
and of the build, and that the calibration's own energy is charged to no
resolve. The module docs no longer link the private `cascade_cost`.

eoc-meter's crate docs and `detect_in_process` say how eoc-cascade uses a
counter now (it was the example of a caller that should bracket a batch, not
each operation). eoc-core's `JouleCost::zero` and eoc-cache said a lookup's
energy is below any counter's resolution; it is about a microjoule, readable
as the mean of a batch, and less than a read costs, which is why no counter
is read for a hit.

`examples/hit_cost` also runs the same stages with no meter, the baseline a
metered hit is now within 0.05 µs of.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 02:22:58 -04:00
..
eoc eoc: a hit prints its estimate and the calibration it came from 2026-10-13 02:22:58 -04:00
eoc-agent eoc-agent: a local model's measured step is a measured span 2026-10-01 01:27:42 -04:00
eoc-cache eoc docs: what a resolve is charged, with the measured figures; the example prints the unmetered baseline 2026-10-13 02:22:58 -04:00
eoc-carbon eoc-carbon: an account and an SCI score are measured only where every part was, and a run with no correct answer has no score 2026-09-30 21:07:25 -04:00
eoc-cascade eoc docs: what a resolve is charged, with the measured figures; the example prints the unmetered baseline 2026-10-13 02:22:58 -04:00
eoc-core eoc docs: what a resolve is charged, with the measured figures; the example prints the unmetered baseline 2026-10-13 02:22:58 -04:00
eoc-distributed ingest wave A4: 3 crates · smart-byte-atproto + op-openbanking + eoc-distributed 2026-05-24 12:22:09 -04:00
eoc-embeddings Repo-wide toolchain refresh + jouleclaw policy/sandbox updates 2026-06-07 17:04:45 -04:00
eoc-eval eoc-carbon: an SCI score is only as measured as the joules it was computed from 2026-09-30 20:17:24 -04:00
eoc-graph Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
eoc-kv Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
eoc-local eoc: the CLI's cascade is metered by this process's own counter, because all of its stages run in-process 2026-09-30 22:39:01 -04:00
eoc-memory ingest wave F: 3 crates · op-crypto-extra + smart-byte-acdc + eoc-memory 2026-05-24 17:28:24 -04:00
eoc-meter eoc docs: what a resolve is charged, with the measured figures; the example prints the unmetered baseline 2026-10-13 02:22:58 -04:00
eoc-multimodal Repo-wide toolchain refresh + jouleclaw policy/sandbox updates 2026-06-07 17:04:45 -04:00
eoc-neural Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
eoc-observability ingest wave C: 3 crates · op-statements + smart-byte-activitypub + eoc-observability 2026-05-24 13:51:09 -04:00
eoc-quantize ingest wave D: 3 crates · op-fraud-graph + smart-byte-ilp + eoc-quantize 2026-05-24 16:10:10 -04:00
eoc-rag ingest wave A3: 3 crates · op-ewallets-asia + smart-byte-zk + eoc-rag 2026-05-24 12:08:49 -04:00
eoc-rerank Repo-wide toolchain refresh + jouleclaw policy/sandbox updates 2026-06-07 17:04:45 -04:00
eoc-route-learned eoc-route-learned: unbreak the build — rand_distr 0.4 pulled rand 0.8 2026-07-20 12:46:50 -04:00
eoc-safety ingest wave E: 3 crates · op-bin + smart-byte-tendermint + eoc-safety 2026-05-24 16:52:07 -04:00
eoc-spec-decode Repo-wide toolchain refresh + jouleclaw policy/sandbox updates 2026-06-07 17:04:45 -04:00
eoc-streaming eoc-streaming: a stream nothing metered has no energy figure, never 0 µJ 2026-09-30 20:17:36 -04:00
eoc-tools eoc: pin rand off 0.10.2, which does not compile 2026-08-27 13:32:56 -04:00
eoc-vendor-api Repo-wide toolchain refresh + jouleclaw policy/sandbox updates 2026-06-07 17:04:45 -04:00
eoc-wasm Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00