# File System Sources This doc describes how Spiderweb routes filesystem operations across heterogeneous sources. ## Source Adapters Source adapters live under `src/fs_*_source_adapter.zig` and are created via `fs_source_adapter_factory.zig`. Implemented adapters include: - `local` / `posix` / `linux` - `windows` (host-gated) - `gdrive` - `namespace` Each adapter advertises capability hints (case sensitivity, native watch, xattr, etc.) used by the router. ## Router Behavior The router (`src/fs_router.zig`) chooses a target export for each operation based on: - read/write intent - export capability flags - read-only status - health / availability scoring - alias groups and failover ordering Routing policy decisions are centralized in `src/fs_source_policy.zig`. ## Metadata & Export Discovery Exports include metadata used by the router and mount client: - `source_kind` - `source_id` - `caps.native_watch` - `caps.case_sensitive` ## Implementation Pointers - `src/fs_router.zig` - `src/fs_source_policy.zig` - `src/fs_source_adapter.zig` - `src/fs_source_adapter_factory.zig`