Project: ManagedCode.Storage.VirtualFileSystem Owned by: ManagedCode.Storage maintainers
Parent: ../AGENTS.md
- Implements the virtual file system abstraction that layers directory and file semantics over
IStorageproviders. - Exists to give consumers a higher-level file system API without coupling them to any single provider implementation.
Core/IVirtualFileSystem.csImplementations/VirtualFileSystem.csExtensions/ServiceCollectionExtensions.csMetadata/IMetadataManager.csStreaming/VfsWriteStream.cs
- In scope: virtual file and directory contracts, metadata handling, streaming, and DI wiring for VFS consumers
- Out of scope: provider SDK specifics, HTTP or SignalR transports, and Orleans persistence behavior
- Protected or high-risk areas: path semantics, metadata consistency, and any flow that resolves storages through
IStorageFactory
build:dotnet build ManagedCode.Storage.VirtualFileSystem.csprojtest:dotnet test ../Tests/ManagedCode.Storage.Tests/ManagedCode.Storage.Tests.csproj --configuration Releaseformat:dotnet format ../ManagedCode.Storage.slnx- Active test framework:
xUnit - Runner model:
VSTest - Analyzer severity lives in the repo-root
.editorconfig.
mcaf-dotnetmcaf-testingmcaf-dotnet-xunitmcaf-dotnet-quality-cimcaf-solid-maintainabilitymcaf-dotnet-features
- Stricter maintainability limits: none; inherit the root defaults.
- Required local docs:
docs/Architecture.md,README.md, and the nearest feature or ADR docs when public behavior changes. - Local exception policy: inherit the root
exception_policyand document any project-specific exception in the nearest ADR, feature doc, or localAGENTS.md.
- Keep VFS layered on
IStorageandIStorageFactory; do not add direct dependencies on provider internals. - Preserve the separation between metadata management and byte-stream operations.
- Any keyed-storage behavior here must stay compatible with the StorageFactory conventions used across the repo.