# The impeccable runtime: one Cargo workspace next to the skill it powers. # `cargo build --release -p impeccable` produces the engine binary the launcher # (skill/scripts/impeccable) runs. See docs/ENGINE.md. [workspace] resolver = "2" members = ["crates/*"] [workspace.package] version = "0.1.0" edition = "2021" license = "Apache-2.0" publish = false [workspace.dependencies] impeccable-foundation = { path = "crates/foundation" } impeccable-common = { path = "crates/common" } impeccable-core = { path = "crates/core" } impeccable-detect = { path = "crates/detect" } impeccable-html = { path = "crates/html" } impeccable-browser = { path = "crates/browser" } impeccable-live = { path = "crates/live" } impeccable-context = { path = "crates/context" } impeccable-hook = { path = "crates/hook" } impeccable-comp = { path = "crates/comp" } impeccable-comp-verbs = { path = "crates/comp-verbs" } serde = { version = "1", features = ["derive"] } serde_json = { version = "1", features = ["preserve_order"] } anyhow = "1" thiserror = "2" regex = "1" once_cell = "1" # No cross-crate LTO: crates/core links the prebuilt detector as a native # archive of Rust objects, and fat or thin LTO internalizes the std symbols # those opaque objects still reference (the link then fails with "symbol(s) # not found"). Cargo's default thin-local LTO is what `lto = false` means. [profile.release] opt-level = 3 lto = false codegen-units = 1 strip = true panic = "abort"