Huginn/crates/mind-body/Cargo.toml
Meta Vens 8f15aad458 mind-body: the Self-run actuator, mind-self-run
self_run::carry finds her one open Self run through launch::holders, starts
claude over stream-json with a fixed argument list (session id UUIDv5 of the
run id, budget the run's own), writes the start message, counts the main
thread's requests once per message id, asks for the flush once at the 300k
ceiling, closes stdin at the first result and interrupts at most once after the
grace or at the hard limit. It admits nothing. Fixtures are Claude Code
2.1.268's own records. Builds; tests/public_surface.txt follows.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 17:44:33 +02:00

62 lines
2.2 KiB
TOML

[package]
name = "mind-body"
version = "0.1.0"
edition.workspace = true
license.workspace = true
publish.workspace = true
# One crate for her organs (rationale "One crate for her organs"). It holds the
# operator's brake and burn-rate dial today: a root-owned per-instance CultCache
# store (`control`), the operator's CLI over it (`cli`, the `mind-control`
# binary) and the one fail-closed reader every acting organ calls
# (`control::read_effective`). It also holds the launch primitive (`launch`,
# `queue`): the one way her organs open a run and start its unit. The waker
# (`wake`, the `mind-wake` binary) is one cycle over them. The actuator
# (`self_run`, the `mind-self-run` binary) carries her one open Self run.
#
# `rust_decimal` is the dial's number type: heat, cadence and the run cap are
# money-adjacent and the tests pin exact products, which a float would blur. It
# serialises as a string, so the stored document carries no float.
#
# `serde_json` reads Claude Code's stream-json, a foreign owner's wire (`self_run`);
# `uuid`'s v5 makes a Self run's session id derivable from the run's id.
[dependencies]
anyhow = "1"
chrono = { version = "0.4.44", features = ["serde"] }
cultcache-rs.workspace = true
cultnet-rs.workspace = true
eureka-pipeline = { path = "../eureka-pipeline" }
eureka-state = { path = "../eureka-state", default-features = false }
huginn-mind = { path = "../huginn-mind" }
rust_decimal = { version = "1", default-features = false, features = ["std", "serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
uuid = { version = "1", default-features = false, features = ["v5"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
# `syn`, `quote` and `proc-macro2` read the library's own source for
# tests/public_surface.rs, which pins its public surface. All three are already
# in the workspace's graph (serde's derive uses them); they are test-only.
[dev-dependencies]
proc-macro2 = "1"
quote = "1"
syn = { version = "2", features = ["full"] }
tempfile = "3"
[lib]
name = "mind_body"
path = "src/lib.rs"
[[bin]]
name = "mind-control"
path = "src/main.rs"
[[bin]]
name = "mind-wake"
path = "src/bin/mind-wake.rs"
[[bin]]
name = "mind-self-run"
path = "src/bin/mind-self-run.rs"