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.
110 lines
6.3 KiB
TOML
110 lines
6.3 KiB
TOML
[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
|