agent-joule/rust-toolchain.toml
David Charlot 24e97428d3 Step 7 (Phase 3a): wire JouleClaw energy as the receipt's energy source
Brings in the Joule Code agent schema's energy crate (jouleclaw-energy) as the
honest, multi-platform source of measured energy, per the Phase 3 scope.

- agent_zed_panel: new host_energy() reads a real jouleclaw_energy::EnergyCounter
  (the host's best counter — Apple Silicon load-avg today, RAPL/NVML = HwShunt
  measured). Surfaced as a 'host N J this session (provenance)' line, distinct
  from the L4 token estimate. map_provenance binds jouleclaw's Provenance to
  joule_code's 1:1 (the two enums are deliberately identical).
- The honesty split the standard requires: an L4 op's receipt energy is the
  REMOTE agent's inference (token-estimated — we cannot read a vendor's
  datacenter shunt); the host line is OUR machine's energy, which becomes a
  local-tier op's receipt energy once L0-L3 land (Phase 3c/3d).
- Honest disclosure carried through: on this Mac the reading is an Estimator
  (jouleclaw has not wired Apple IOReport yet), not HwShunt. True measured energy
  is real on RAPL/NVML hosts.

Toolchain: jouleclaw requires rustc 1.96; agent-zed pinned 1.95. Bumped
rust-toolchain.toml to 1.96.0 to match the agent schema it now depends on —
a necessary consequence of the integration. Full rebuild on 1.96 = 0 errors.

Verified: cargo build --bin agent-zed = 0 errors; launched and live-captured the
panel showing 'host 17.160 J this session (est.)' — a real EnergyCounter reading,
honestly tagged, rendering before any agent connection. JOULE_CODE.md §6 updated.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-03 03:07:12 -04:00

9 lines
262 B
TOML

[toolchain]
channel = "1.96.0"
profile = "minimal"
components = [ "rustfmt", "clippy", "rust-analyzer", "rust-src" ]
targets = [
"wasm32-wasip2", # extensions
"wasm32-unknown-unknown", # gpui on the web
"x86_64-unknown-linux-musl", # remote server
]