[package] name = "jouleclaw-lab" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Self-driving lab backend trait — submit/poll/fetch over a typed Protocol enum. SiLA 2 (gRPC) is the canonical case; Opentrons + Emerald + Custom variants are escape hatches. Tier 3 of the determinism contract." [dependencies] jouleclaw-energy = { path = "../jouleclaw-energy" } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true }