[workspace]
members = [
    "crates/stemedb-core",
    "crates/stemedb-wal",
    "crates/stemedb-storage",
    "crates/stemedb-ingest",
    "crates/stemedb-query",
    "crates/stemedb-lens",
    "crates/stemedb-sim",
    "crates/stemedb-api",
    "crates/stemedb-merkle",
    "crates/stemedb-rpc",
    "crates/stemedb-sync",
    "crates/stemedb-cluster",
    "crates/stemedb-chaos",
    "crates/stemedb-ontology",
    "crates/stemedb-admin",
    "applications/aphoria",
]
resolver = "2"

[profile.release]
lto = true
codegen-units = 1
panic = "abort"

[profile.test]
opt-level = 1          # Slightly optimize - faster execution
debug = 0              # Skip debug info - faster linking

[profile.test.build-override]
opt-level = 3          # Optimize proc-macros and build scripts

[workspace.lints.rust]
unsafe_code = "forbid"
missing_docs = "warn"

[workspace.lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
print_stdout = "warn"  # Use tracing instead; allowed in CLI binaries
print_stderr = "warn"  # Use tracing instead; allowed in CLI binaries