# Clean-sheet celld workspace. `crates/logic` owns all behavioral state and # decisions; `crates/celld` is only an effect executor and adapter host. [workspace] resolver = "2" members = ["crates/*"] # Size-tuned: fat LTO prunes unused dependency code, panic=abort drops # unwind tables. opt-level "s" (not "z") — measure RPS before trading further. [profile.release] lto = "fat" codegen-units = 1 opt-level = "s" panic = "abort" strip = true # The lab fast loop: release optimization minus the fat-LTO relink that # dominates rebuild time, plus incremental compilation. Shipped artifacts # stay on `release`. [profile.lab] inherits = "release" lto = "thin" codegen-units = 16 incremental = true # Every direct dependency lives here so the crates can never drift onto two # versions of the same crate; members add their own features. [workspace.dependencies] aes-gcm = "0.10" anyhow = "1" async-trait = "0.1" axum = { version = "0.7", features = ["multipart"] } base64 = "0.22" bytes = "1" celld-logic = { path = "crates/logic" } celld-ltx = { path = "crates/ltx" } ed25519-dalek = { version = "2", features = ["pkcs8"] } encoding_rs = "0.8" fastwebsockets = { version = "0.8", default-features = false, features = ["upgrade", "with_axum"] } flate2 = "1" fs2 = "0.4" futures-util = "0.3" getrandom = "0.3" hex = "0.4" hmac = "0.12" http-body-util = "0.1" hyper = { version = "1", features = ["client", "server", "http1"] } hyper-util = { version = "0.1", features = ["tokio"] } libc = "0.2" lz4_flex = { version = "0.11", features = ["frame"] } md-5 = "0.10" object_store = { version = "0.11", default-features = false } p256 = { version = "0.13", features = ["ecdsa", "pkcs8"] } percent-encoding = "2" proptest = "1" rand = "0.8" regex = "1" reqwest = { version = "0.12", default-features = false } rsa = { version = "0.9", features = ["sha2"] } rusqlite = "0.31" rustls = { version = "0.23", default-features = false, features = ["ring"] } serde = { version = "1", features = ["derive"] } serde_json = "1" sha1 = "0.10" sha2 = "0.10" tempfile = "3" thiserror = "2" tokio = "1" tokio-rustls = { version = "0.26", default-features = false, features = ["ring"] } tokio-stream = "0.1" tokio-util = { version = "0.7", features = ["io", "time"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } url = "2" urlpattern = "=0.4.2" v8 = "152" webpki-roots = "1"