[package] name = "jouleclaw-stack" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "JouleClaw full-stack assembler — wires the L0.25–L10 tier crates into one runnable Runtime + control plane, using each crate's deterministic reference backend." [dependencies] jouleclaw-cascade = { path = "../jouleclaw-cascade" } # Resolver tiers (terminal answers) — registered into the Runtime walk. jouleclaw-formula = { path = "../jouleclaw-formula" } jouleclaw-tool-tier = { path = "../jouleclaw-tool-tier" } jouleclaw-ssm-reader = { path = "../jouleclaw-ssm-reader" } jouleclaw-llm = { path = "../jouleclaw-llm" } jouleclaw-verification-tier = { path = "../jouleclaw-verification-tier" } jouleclaw-proof-tier = { path = "../jouleclaw-proof-tier" } # Pipeline-stage tiers (intermediate artifacts) — exposed for explicit composition. jouleclaw-ssm-router = { path = "../jouleclaw-ssm-router" } jouleclaw-local-index = { path = "../jouleclaw-local-index" } jouleclaw-graph-rag = { path = "../jouleclaw-graph-rag" } jouleclaw-struct-contrast = { path = "../jouleclaw-struct-contrast" } jouleclaw-federation = { path = "../jouleclaw-federation" } jouleclaw-rerank = { path = "../jouleclaw-rerank" } # Control plane. jouleclaw-agent = { path = "../jouleclaw-agent" } jouleclaw-routing = { path = "../jouleclaw-routing" } jouleclaw-reflection = { path = "../jouleclaw-reflection" } jouleclaw-tuner = { path = "../jouleclaw-tuner" } jouleclaw-supervisor = { path = "../jouleclaw-supervisor" } jouleclaw-governor = { path = "../jouleclaw-governor" } jouleclaw-approve = { path = "../jouleclaw-approve" } jouleclaw-dispatch = { path = "../jouleclaw-dispatch" } jouleclaw-promote = { path = "../jouleclaw-promote" } jouleclaw-skill = { path = "../jouleclaw-skill" } jouleclaw-verify = { path = "../jouleclaw-verify" } jouleclaw-memory = { path = "../jouleclaw-memory" } jouleclaw-intent = { path = "../jouleclaw-intent" } jouleclaw-calibration = { path = "../jouleclaw-calibration" } jouleclaw-prov = { path = "../jouleclaw-prov" } serde = { workspace = true } serde_json = { workspace = true } [dev-dependencies] jouleclaw-program = { path = "../jouleclaw-program" } jouleclaw-energy = { path = "../jouleclaw-energy" } jouleclaw-ledger = { path = "../jouleclaw-ledger" } jouleclaw-local-index = { path = "../jouleclaw-local-index" } jouleclaw-skill = { path = "../jouleclaw-skill" } jouleclaw-datum = { path = "../jouleclaw-datum" } jouleclaw-jcr1 = { path = "../jouleclaw-jcr1" } jouleclaw-context-store = { path = "../jouleclaw-context-store" } jouleclaw-cone = { path = "../jouleclaw-cone" } jouleclaw-oracle = { path = "../jouleclaw-oracle" } jouleclaw-oracle-fuzz = { path = "../jouleclaw-oracle-fuzz" } jouleclaw-stream = { path = "../jouleclaw-stream" } jouleclaw-stream-oracle = { path = "../jouleclaw-stream-oracle" } jouleclaw-ui-output = { path = "../jouleclaw-ui-output" } jouleclaw-ui-oracle = { path = "../jouleclaw-ui-oracle" } jouleclaw-cross-binding = { path = "../jouleclaw-cross-binding" } jouleclaw-coding-stream = { path = "../jouleclaw-coding-stream" } jouleclaw-event-log = { path = "../jouleclaw-event-log" } # Adapter crates exercised by the seeded-cascade-with-adapters # integration example. jouleclaw-fresh = { path = "../jouleclaw-fresh" } jouleclaw-embed-api = { path = "../jouleclaw-embed-api" } jouleclaw-rerank-api = { path = "../jouleclaw-rerank-api" } async-trait = { workspace = true } chrono = { workspace = true } ed25519-dalek = { workspace = true } blake3 = { workspace = true } hex = "0.4" tokio = { workspace = true, features = ["macros", "rt"] }