open-standards/eoc/eoc-rs/crates/eoc-agent
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 30370b1996
All checks were successful
standards workspaces build + test / jouleclaw-rs (pull_request) Successful in 1m48s
standards workspaces build + test / aac-rs (pull_request) Successful in 36s
standards workspaces build + test / joule-code-rs (pull_request) Successful in 37s
standards workspaces build + test / joulecontract-rs (pull_request) Successful in 34s
standards workspaces build + test / map-rs (pull_request) Successful in 31s
standards workspaces build + test / mesh-rs (pull_request) Successful in 25s
standards workspaces build + test / openpay (pull_request) Successful in 1m27s
standards workspaces build + test / eoc-rs (pull_request) Successful in 1m50s
standards workspaces build + test / jcp-rs (pull_request) Successful in 1m18s
standards workspaces build + test / proof-rs (pull_request) Successful in 1m12s
standards workspaces build + test / sandbox-rs (pull_request) Successful in 2m10s
standards workspaces build + test / smart-byte-rs (pull_request) Successful in 2m38s
standards workspaces build + test / arl-rs (pull_request) Successful in 2m6s
standards workspaces build + test / joule-ui-rs (pull_request) Successful in 2m35s
standards workspaces build + test / jouledesk-rs (pull_request) Successful in 2m39s
standards workspaces build + test / joulehook-rs (pull_request) Successful in 2m39s
standards workspaces build + test / sense-rs (pull_request) Successful in 2m33s
standards workspaces build + test / macOS energy backend (jcp-energy) (pull_request) Successful in 2m14s
eoc-agent: a local model's measured step is a measured span
LlmReply carried a bare `microjoules`, and charge_llm_step tagged every
model step Estimated. A backend that ran a model in this process and read
it on a live counter (an eoc-local backend's MeterSpan, now backed by
the per-process counter) had no way to say so. Its measured figure was
recorded as an estimate.

- LlmReply carries a JouleCost. LlmReply::new is the provider's estimate,
  as before, and LlmReply::with_cost gives a figure with its grade.
- charge_llm_step records the provider's cost as graded and charges the
  budget that figure.
- NeuralProvider wraps any in-process NeuralBackend as an LlmProvider.
  The reply's energy is the backend's own JouleCost. Tokens are counted
  from the text (approx_tokens, or the model's tokenizer through
  with_token_counter) and feed only the token budget.

A model served over the network still reports an estimate: it ran on
hardware no counter here reads.

Tests: an MlcBackend metered by an advancing counter gives a measured
span, and a held, failed or stub counter gives the estimate. A whole
ReAct run records the model step measured. Reverting charge_llm_step to
always-estimated fails both end-to-end tests.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 01:27:42 -04:00
..
src eoc-agent: a local model's measured step is a measured span 2026-10-01 01:27:42 -04:00
tests ingest wave A2: 3 crates · op-dispute-evidence + smart-byte-edv + eoc-agent 2026-05-24 11:42:26 -04:00
Cargo.toml eoc-agent: a local model's measured step is a measured span 2026-10-01 01:27:42 -04:00