Japanese version: Vfs Capability Contracts
Vfs Capability Contracts
Responsibility
Vfs capability contracts express file-system authority at the type-system level. Implementations expose only the interfaces that correspond to operations they can perform.
These contracts are owned by AIKernel.Abstractions while preserving the public AIKernel.Vfs namespace. The separate AIKernel.Vfs compatibility package was removed in v0.0.4.
Capability Interfaces
| Interface | Responsibility |
|---|---|
IVfsEntryInfo |
Common Vfs entry identity and metadata. |
IReadableVfsFile |
Read file bytes or text. |
IWritableVfsFile |
Write file bytes or text when file-level mutation is supported. |
INavigableVfsDirectory |
Enumerate files, directories, entries, and subdirectories. |
IReadableVfsSession |
Read files and check path existence. |
IWritableVfsSession |
Write files through a session. |
IDeletableVfsSession |
Delete files or directories through a session. |
INavigableVfsSession |
Open navigable directories through a session. |
IQueryableVfsSession |
Execute provider-defined Vfs queries. |
Compatibility Contracts
IVfsFile, IVfsDirectory, and IVfsSession remain as composite compatibility contracts.
IVfsFileextendsIReadableVfsFile.IVfsDirectoryextendsINavigableVfsDirectoryand keeps legacy directory return types.IVfsSessioncomposes readable, writable, deletable, navigable, queryable, and async-disposable session capabilities.
Fail-Closed Rule
A caller must check the required capability interface before executing an operation. If the capability is absent, execution must be denied before side effects begin.
Unsupported capabilities must not be represented by methods that partially execute or fail late with NotSupportedException.
Changelog
- v0.0.2 (2026-05-09): Initial capability-based Vfs contract definition
- v0.0.3 (2026-06-02): Added Abstractions ownership and type-forwarding compatibility note
- v0.0.4 (2026-06-04): Removed the separate AIKernel.Vfs compatibility package note while preserving the public namespace
architecture/interfaces/vfs/IVfsCapabilityContracts.md