🔧 Development
### Prerequisites
- Rust 1.77+ with `aarch64-unknown-none` target
- QEMU 8.0+ (for AArch64 virt machine emulation)
```bash
rustup target add aarch64-unknown-none
brew install qemu # macOS
```
### Project Conventions
- `#![no_std]` everywhere — the kernel runs on bare metal
- `#![forbid(unsafe_code)]` where possible; `unsafe` blocks audited and commented
- `#![deny(missing_docs)]` — every public API documented
- Move semantics for memory ownership (`OwnedRegion` is non-copyable)
- Const generics for fixed-size structures (no heap allocation in kernel paths)
- Every state mutation emits a witness record
---
## RuVector Integration
| Crate | Role in RVM |
|-------|-------------|
| [`ruvector-mincut`](../../crates/ruvector-mincut/) | Partition placement and isolation decisions |
| [`ruvector-sparsifier`](../../crates/ruvector-sparsifier/) | Compressed shadow graph for Laplacian operations |
| [`ruvector-solver`](../../crates/ruvector-solver/) | Effective resistance → coherence scores |
| [`ruvector-coherence`](../../crates/ruvector-coherence/) | Spectral coherence tracking |
| [`ruvix-*`](../../crates/ruvix/) | Kernel primitives (Task, Capability, Region, Queue, Timer, Proof) |
| [`rvf`](../../crates/rvf/) | Package format for boot images, checkpoints, and cold storage |
---
## License
Licensed under either of:
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or