# Membrane Agent **L2 Trust-Based Policy Enforcement Daemon for Libertaria** The Membrane Agent is a Rust-based daemon that acts as the immune system for a Libertaria node. It sits between the L0 Transport Layer (UTCP) and the Application Layer, enforcing policies based on the L1 QVL Trust Graph. ## ๐Ÿ—๏ธ Architecture - **L0 Hooks**: Listens for packet events (receipt, connection). - **QVL FFI**: Queries the Zig-based QVL via C ABI for trust scores and betrayal detection. - **Policy Enforcer**: Decides to `Accept`, `Deprioritize`, or `Drop` packets based on sender trust. - **Anomaly Alerts**: Emits P0/P1 alerts when Betrayal (negative cycles) is detected. ## ๐Ÿš€ Running ### Prerequisites - Zig 0.15.2+ (to build `liblibertaria_sdk`) - Rust 1.80+ ### Build First, build the Zig SDK static library: ```bash cd libertaria-sdk zig build ``` Then build the Rust daemon: ```bash cd membrane-agent cargo build --release ``` ### Run ```bash cargo run --release ``` ## ๐Ÿงช Testing ```bash # Run unit tests + FFI integration tests cargo test ``` ## ๐Ÿ”Œ API Integration (Draft) The agent exposes a control socket (TODO) and consumes L0 events via IPC (TODO). Currently operates in STUB MODE for L0 integration.