ADR-0006: User-Space-First Drivers and Filesystems
Status
Accepted
Context
Drivers and filesystems are major sources of complexity, parser risk, and fault amplification in operating systems. VibeOS also needs a natural place for compatibility-related mediation and policy enforcement.
Decision
Drivers and concrete filesystem implementations default to user-space hosts or services.
Kernel-space exceptions are allowed only when:
- required before trusted user-space exists
- the interrupt or latency path cannot tolerate the boundary
- benchmark evidence justifies privileged placement
Consequences
Positive:
- failure containment improves
- parser-heavy code stays outside the kernel
- service restart and supervision become possible
Negative:
- IPC and shared-memory data paths become performance-critical
- DMA and MMIO mediation need careful design
Implementation notes
- the device manager and filesystem service contracts must be versioned
- storage and network fast paths should be re-evaluated after profiling, not guessed in advance