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

Japanese version: Index

vfs Interfaces

1. Responsibility Boundary

Vfs abstracts the persistence boundary for intelligence assets. IVfsProvider opens authenticated sessions, and session/file/directory capabilities expose only the operations that a provider actually supports. Concrete data carriers stay in the DTO layer.

Vfs permissions are expressed through capability interfaces rather than late runtime failure. A read-only provider should expose readable session/file contracts and must not be forced to implement write or delete operations.

  • UC-01 ROM Loading and Parsing
  • UC-09 Execution State Persistence and Restore
  • UC-20 Deterministic Replay and Audit Trail
  • 03.ROM_CORE_SPEC.md
  • 06.REPLAY_DUMP_SPEC.md

4. Dependency Boundary

  • Contract owner: AIKernel.Abstractions
  • Public namespace: AIKernel.Vfs
  • DTO dependency: AIKernel.Dtos.Vfs
  • Package: AIKernel.Abstractions publishes these contracts directly; the separate AIKernel.Vfs compatibility package was removed in v0.0.4
  • Called by: AIKernel.Abstractions.Rom, AIKernel.Abstractions.Hosting, AIKernel.Abstractions.Execution

Boundary Rule

  • Vfs interface contracts are owned by the Abstractions assembly; concrete data carriers are defined in AIKernel.Dtos.Vfs.
  • AIKernel.Vfs is a public namespace, not a separate package/project dependency.
  • Capability availability must be represented by implemented interfaces, not by placeholder methods that throw NotSupportedException.
  • IVfsFile, IVfsDirectory, and IVfsSession remain composite compatibility contracts for callers that require the legacy full surface.

Documents


Changelog

  • v0.0.0 / v0.0.0.0: Initial draft
  • v0.0.1 (2026-05-06): Version upgrade aligned with documentation guidelines
  • v0.0.2 (2026-05-09): Added capability-based Vfs interface segregation
  • v0.0.3 (2026-06-02): Clarified Abstractions ownership and AIKernel.Vfs type-forwarding facade
  • v0.0.4 (2026-06-04): Removed the separate AIKernel.Vfs compatibility package while preserving the public namespace
Source: architecture/interfaces/vfs/index.md