Transaction Science
1bae1ea17d
eoc-meter: real IOReport energy on Apple Silicon (was a stub)
...
eoc-meter's macOS counter was an explicit stub that always errored, so
every reading on Apple Silicon degraded to JouleSource::Estimated (zero
real energy). Port the validated, no-sudo, no-external-binary IOReport
Energy-Model FFI reader (from jouleclaw-energy's apple_ioreport) as
MacosIoReportCounter and prefer it in detect() ahead of the powermetrics
stub, so eoc reports Measured energy on this platform.
Relaxed the crate-root #![forbid(unsafe_code)] to #![deny] with a scoped
#[allow(unsafe_code)] on the single audited FFI module — real hardware
reads are unreachable without the unsafe IOReport calls; everything else
stays unsafe-free.
Validated on Apple Silicon: ioreport_advances_after_cpu_burn passes (real
energy advances after a CPU burn); detect() returns the ioreport counter.
5 tests green, clippy clean.
Co-Authored-By: Claude Opus 4.8 <[email protected] >
2026-06-25 03:58:42 -04:00
..
eoc
Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc
2026-05-23 13:24:05 -04:00
eoc-agent
ingest wave A2: 3 crates · op-dispute-evidence + smart-byte-edv + eoc-agent
2026-05-24 11:42:26 -04:00
eoc-cache
Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc
2026-05-23 13:24:05 -04:00
eoc-carbon
Repo-wide toolchain refresh + jouleclaw policy/sandbox updates
2026-06-07 17:04:45 -04:00
eoc-cascade
Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc
2026-05-23 13:24:05 -04:00
eoc-core
Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc
2026-05-23 13:24:05 -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
Repo-wide toolchain refresh + jouleclaw policy/sandbox updates
2026-06-07 17:04:45 -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
Repo-wide toolchain refresh + jouleclaw policy/sandbox updates
2026-06-07 17:04:45 -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-meter: real IOReport energy on Apple Silicon (was a stub)
2026-06-25 03:58:42 -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
Repo-wide toolchain refresh + jouleclaw policy/sandbox updates
2026-06-07 17:04:45 -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
ingest wave B: 3 crates · op-payouts + smart-byte-nostr + eoc-streaming
2026-05-24 13:39:09 -04:00
eoc-tools
Repo-wide toolchain refresh + jouleclaw policy/sandbox updates
2026-06-07 17:04:45 -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