spawn <task.toml> internally calls prepare + ledger fork, emits JSON ready for Agent tool invocation. verify wraps post-return check+ledger update. list-pending shows running forks. kei-ledger invoked via subprocess (no lib.rs in kei-ledger). KEI_SPAWN_LEDGER_NOOP=1 test escape hatch for CI without binary. spec_sha = SHA-256 of task.toml bytes (workspace sha2 dep). Tests: 6/6 integration (happy, explicit-id, unknown-role, non-spawnable, verify-missing, end-to-end roundtrip). Step 3 (Anthropic API) stays with orchestrator — next iteration adds kei-spawn drive <task.toml> for HTTP automation. Workspace Cargo.toml: +kei-spawn member. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
748 B
TOML
29 lines
748 B
TOML
[package]
|
|
name = "kei-spawn"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
rust-version = "1.75"
|
|
description = "Agent substrate v1 — automation envelope around prepare + ledger fork + verify"
|
|
|
|
[[bin]]
|
|
name = "kei-spawn"
|
|
path = "src/main.rs"
|
|
|
|
[lib]
|
|
name = "kei_spawn"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
kei-agent-runtime = { path = "../kei-agent-runtime" }
|
|
clap = { version = "4", features = ["derive"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
anyhow = "1"
|
|
sha2 = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
|
|
[package.metadata.keisei]
|
|
backend = "none"
|
|
description = "Wraps kei-agent-runtime prepare + kei-ledger fork + kei-agent-runtime verify into a single CLI. Step 3 (Agent tool call) stays with the orchestrator."
|