AIKernel.NET
version: 0.0.4 / status: Refactor / edition: Draft / published: 2026-05-16 / updated: 2026-06-04

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.

  • IVfsFile extends IReadableVfsFile.
  • IVfsDirectory extends INavigableVfsDirectory and keeps legacy directory return types.
  • IVfsSession composes 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
Source: architecture/interfaces/vfs/IVfsCapabilityContracts.md