agent-joule/crates/agent_mei_panel/Cargo.toml
David Charlot 7a59f0ffc5 agent-mei: rename agent_joule panel/theme/workflows to agent-mei, MEI fleet wiring and honest-energy receipts
Brings over the uncommitted agent-mei work (Mac checkout, Sep 22) plus box
follow-ups (Oct 17: agent_mei action namespace in keymap/zed.rs, MEI_BRIDGE.md,
RENAME_AGENT_MEI.md, unmetered receipts report 0 uJ). joule_core, JOULE_CODE_*
and JouleDB names unchanged. *.bak.* scratch files excluded.
2026-10-27 12:59:12 -04:00

110 lines
6.3 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[package]
name = "agent_mei_panel"
version = "0.1.0"
edition.workspace = true
publish.workspace = true
license = "GPL-3.0-or-later"
[lints]
workspace = true
[lib]
path = "src/agent_mei_panel.rs"
[dependencies]
# The GPUI-free engine, shared with the headless `joule-coded` worker. The GUI
# always uses the on-device L3 model tier, so enable its `l3` feature.
joule_core = { workspace = true, features = ["l3"] }
acp_thread.workspace = true
agent-client-protocol.workspace = true
agent_servers.workspace = true
anyhow.workspace = true
edit_prediction_types.workspace = true
futures.workspace = true
icons.workspace = true
log.workspace = true
serde.workspace = true
serde_json.workspace = true
text.workspace = true
editor.workspace = true
gpui.workspace = true
language.workspace = true
menu.workspace = true
multi_buffer.workspace = true
project.workspace = true
ui.workspace = true
util.workspace = true
workspace.workspace = true
# The session signs its spec, ops, and citations with a per-workspace identity
# so the methodology tracker holds real signed artifacts (not placeholders).
ed25519-dalek = "2" # must match the open-standards crates (SigningKey crosses the boundary)
# Joule Code standard reference library. agent-mei is the standard's reference
# consumer; the joule meter emits a real joule-code-receipt::Receipt per session.
# Git deps against the public open-standards repo, pinned to a commit so a bare
# clone of agent-mei builds standalone (no sibling checkout required). Bump the
# rev to adopt a newer standard release. See JOULE_CODE.md.
joule-code-schema = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c" }
joule-code-cargo = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c" }
joule-code-receipt = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c" }
joule-code-cascade = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c" }
# JCP gate: each cascade tier (l0..l4) is a granted, energy-budgeted, sealed
# action. A session grant names the tiers the editor may consult and a joule
# ceiling; omit "l4" and the remote frontier agent is structurally unreachable.
joule-code-review = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c" }
joule-code-identity = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c" }
# Per-op contract frame check: an op's edits must stay within the footprint
# the human declared in .joule/spec.json. Structural (frame_check), no proof.
# JCP bridge: gate the local agent loop's tool calls. Each tool (read_file,
# grep, run, edit_file, mcp…) is a content-addressed capability under a joule
# budget; a call to an ungranted tool — including one an injected tool result
# coaxed the model into — is denied before it executes, and sealed.
# JouleClaw is the Joule Code agent schema. Its energy crate is the honest,
# multi-platform source of the receipt's energy reading: RAPL/NVML = HwShunt
# (measured), Apple Silicon = IOReport ModelBased (measured). Light (no ML deps),
# reads unprivileged.
jouleclaw-energy = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c", features = ["ioreport"] }
# JouleClaw's from-scratch GGUF tensor runtime — the editor's L3 tier. An on-device
# model generates the change in-process (no daemon, no network) before any cloud
# agent is consulted, metered by jouleclaw-energy. Set JOULECLAW_L3_MODEL to a
# .gguf path to enable; absent, the cascade falls straight through to L4 (ACP).
# `accelerate` routes f32 matmul through Apple AMX (macOS aarch64; no-op cfg
# stub elsewhere); `rayon` fans matmul across cores. Both speed the in-process
# Runtime engine and the opt-in in-process Mellum decoder (JOULE_CODE_L3_ENGINE=mellum).
jouleclaw-loader-gguf = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c", features = ["accelerate", "rayon"] }
[dev-dependencies]
# The standard's own conformance harness (SPEC §8). agent-mei runs the C1–C4
# wire vectors (vendored under tests/conformance/v1) against the pinned standard
# version it builds on, so "reference consumer" is a tested claim, not a label.
joule-code-conformance = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c" }
# GPUI fixtures for the end-to-end steering test (a real workspace + window
# driving control_dispatch over a real on-disk git repo via RealFs). The first
# four are also base deps; re-declared here to switch on their test-support.
gpui = { workspace = true, features = ["test-support"] }
project = { workspace = true, features = ["test-support"] }
workspace = { workspace = true, features = ["test-support"] }
editor = { workspace = true, features = ["test-support"] }
settings = { workspace = true, features = ["test-support"] }
db = { workspace = true, features = ["test-support"] }
theme.workspace = true
theme_settings.workspace = true
fs.workspace = true
# Linux measured-energy counters: RAPL (Intel/AMD package energy via sysfs
# powercap) and NVML (NVIDIA GPU shunt) — both report HwShunt. Added here (a
# per-target table after all base [dependencies]) so it doesn't swallow the
# entries below it. nvml-wrapper loads libnvidia-ml at runtime, so this builds
# without CUDA/NVIDIA present and degrades to "unavailable" when the GPU/driver
# is absent. Verified live on an AWS c5.metal (Xeon 8275CL): RAPL HwShunt, ~98 J
# over a 2 s window.
[target.'cfg(target_os = "linux")'.dependencies]
jouleclaw-energy = { git = "https://git.transaction.science/Transaction-Science/open-standards.git", rev = "6cdc92381361890c1e6bdd79ac82e23236063a2c", features = ["rapl", "nvml"] }
# macOS Seatbelt (`sandbox-exec`) for the local agent's `run` tool: build/test
# commands run with the network denied and writes confined to the worktree.
[target.'cfg(target_os = "macos")'.dependencies]
sandbox.workspace = true