Bloodhound v0.3.0 - Multi-Backend Capstone Release
This release introduces Bloodhound's pluggable backend architecture with four determinism mechanisms working together. Each backend is optimal for different bug types.
🎯 Key Innovation: Not Just Hypervisors
Bloodhound uses multiple determinism mechanisms, not just traditional hypervisors:
| Backend | Mechanism | Speed | Best For |
|---|---|---|---|
| Simulated | In-process actors | 33,456 iter/sec | Fast iteration, logic bugs |
| Hermit | ptrace + PMU | 10-50x slower | Thread race detection |
| gVisor DST | Userspace kernel | 2-5x slower | Disk/network faults |
| QEMU TCG | Full emulation | 100-1000x slower | Complete system determinism |
✅ Capstone Test Results
All 5 scenarios pass with 4 backends working together:
- Scenario 1: Thread race detection (Hermit) - deterministic goroutine scheduling
- Scenario 2: Disk fault resilience (gVisor DST) - 17 corruptions detected in buggy store
- Scenario 3: Network partition recovery (Simulated) - fast split-brain exploration
- Scenario 4: Full determinism proof (QEMU TCG) - identical seed initialization
- Scenario 5: Fast iteration (Simulated) - 33,456 iterations/second
🔧 gVisor DST Improvements
- Added fault hooks to
pread64,preadv,preadv2,pwrite64,pwritev,pwritev2 - FD filtering (0-2) protects stdio while allowing application file faults
- Deterministic xorshift64 RNG for reproducible fault patterns
- Config propagation via
ToFlags()to child processes
🍴 Backend Forks
All forks rebased to upstream (2026-01-11):
- Hermit: https://github.com/nerdsane/hermit
- gVisor DST: https://github.com/nerdsane/gvisor-dst
- QEMU: https://github.com/nerdsane/qemu
📖 Documentation
- Updated ADR-005 (Execution Modes) with multi-backend validation
- Updated ADR-009 (gVisor DST Integration) with pread/pwrite hooks
- Comprehensive capstone README with test results
🚀 Quick Start
```bash
Run capstone demo (all backends)
cd examples/multi-backend-capstone
./run_demo.sh --all
Or individual backends
./run_demo.sh --scenario 01-thread-race --backend hermit
./run_demo.sh --scenario 02-disk-faults --backend gvisor
```
Full Changelog: v0.2.0...v0.3.0