Cargo Features

[dependencies]
harn-cli = { version = "0.8.92", default-features = false, features = ["hostlib", "guard-neural", "testbench-wasi"] }
default = hostlib

The hostlib feature is set by default whenever harn-cli is added without default-features = false somewhere in the dependency tree.

hostlib default

Wire harn-hostlib's code-intelligence and tool builtins into the ACP server. Default-on so harn run-driven scripts that name a hostlib builtin work without extra flags. Disable with --no-default-features if you want a slimmer build that doesn't pull tree-sitter/notify/etc.

Enables harn-rules and harn-rules-hostlib, full of harn-hostlib, hostlib-full of harn-serve

guard-neural

Off by default: link the on-device neural injection classifier (candle/ONNX). The default release binary stays lean — harn guard management works without it, falling back to the built-in heuristic at runtime.

Enables neural of harn-guard

Management layer for downloadable injection-detection models (Layer 2). Light (no model runtime); the heavy neural backend is behind harn-guard/neural, pulled in only by the off-by-default guard-neural feature below.

testbench-wasi

Off by default: link wasmtime + the cranelift JIT so harn testbench run --process-wasi <dir> can run subprocesses as wasm32-wasi modules under a virtualized clock. Adds ~36 crates / ~8.6 MB stripped. Every other testbench path works without it, so the default distributed binary stays lean. Opt in for a from-source build: cargo install harn-cli --features testbench-wasi.

Enables testbench-wasi of harn-vm

testbench-wasi (wasmtime + the cranelift JIT, ~36 crates, ~8.6 MB of the stripped binary plus real compile time) is NOT enabled by default — it only backs the advanced harn testbench run --process-wasi <dir> subprocess mode, which substitutes real subprocesses with pre-compiled wasm32-wasi modules. Every other testbench path (record/replay tapes, FS overlay, paused clock, LLM fixtures, fidelity, annotations, conformance sidecars) works without it, so the default binary stays lean. Opt in with the testbench-wasi feature below; without it --process-wasi returns a clear "requires the testbench-wasi Cargo feature" error.