Skip to content

Release v0.0.3: Correct Vfs dependency layering and migration docs#15

Merged
egumaru merged 42 commits into
mainfrom
dev
Jun 2, 2026
Merged

Release v0.0.3: Correct Vfs dependency layering and migration docs#15
egumaru merged 42 commits into
mainfrom
dev

Conversation

@egumaru

@egumaru egumaru commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR prepares the v0.0.3 release by correcting the AIKernel.NET Phase-1 dependency structure around Vfs contracts.

The main change is that Vfs interface contracts are now owned by AIKernel.Abstractions, while AIKernel.Vfs remains as a compatibility facade through type forwarding. This removes the previous reverse dependency from AIKernel.Abstractions to AIKernel.Vfs and restores the intended DAG.

Changes

  • Move Vfs contract interfaces from AIKernel.Vfs to AIKernel.Abstractions
  • Add AIKernel.Vfs type forwarding for package/source compatibility
  • Update project references:
    • AIKernel.Abstractions no longer references AIKernel.Vfs
    • AIKernel.Vfs now references AIKernel.Abstractions
  • Update v0.0.3 migration documentation in English and Japanese
  • Update dependency rules, Vfs architecture docs, contract versioning guidance, and README files
  • Preserve public namespace compatibility with AIKernel.Vfs

Target Dependency Graph

AIKernel.Enums -> (none)
AIKernel.Dtos -> AIKernel.Enums
AIKernel.Contracts -> AIKernel.Enums, AIKernel.Dtos
AIKernel.Abstractions -> AIKernel.Dtos, AIKernel.Enums
AIKernel.Vfs -> AIKernel.Abstractions

Verification
dotnet build src\AIKernel.NET.slnx
dotnet test src\tests\AIKernel.Abstractions.Tests\AIKernel.Abstractions.Tests.csproj --no-build
ProjectReference cycle check confirmed no cycles
Migration Notes
Consumers should update related packages together to 0.0.3.

Do not mix:

The recommended package alignment is: Existing using AIKernel.Vfs; directives can remain unchanged unless a project intentionally removes the compatibility facade.

egumaru added 30 commits May 2, 2026 04:10
…osed use-case tests

Re-define IExecutionConstraints for SGS-007 (allowed_tools, scopes, max_token_budget)
Rework prompt governance contracts to result-based fail-closed decisions
Add spec-alignment tests for Execution Pipeline, Signed Prompt Governance, and ROM Core using interface composition stubs
Verify all abstraction tests pass (30 passed)
…-core leakage

Remove AIKernel.Abstractions project references to AIKernel.Dtos and AIKernel.Enums
Introduce core-local contract data types/enums under AIKernel.Abstractions.Core
Add global using for core-local types to keep interface signatures cohesive
Normalize namespace-to-folder alignment across UseCases and Governance
Eliminate abstraction-layer implementation logic from IExecutionOutput (PhaseHandoverResult factories removed)
Reduce leaky abstraction patterns by replacing object-based dictionaries/signatures with typed string-based contracts
Update tests to match new contract namespaces/signatures; verify all abstraction tests pass (30/30)
- docs/architecture に Semantic Context OS ビジョン(v0.0.0)を新規追加
- Thinkingモードによる「抽象汚染(Abstract Pollution)」のリスクを明文化
- 「高速モード = 純粋推論」の原則(Fast-as-Pure)を設計原則に統合
- 思考ステップ制約(Step Constraint)による中間プロセスのガバナンスを定義
- 三層隔離メモリモデル(MMU)によるコンテキスト統治の概念を確立
…replay/rom integrity updates

integrate updated drafts into 02/03/04/06 specs (JP/EN) with deterministic governance, canonicalization-first hashing, replay lock contracts, and force-provider replay flow
reorganize 16.SEMANTIC_CONTEXT_OS_VISION (JP/EN) with SIR requirements, kernel startup state machine, and logical audit constraints
fix architecture index reference mismatches and update 1.15 summaries to reflect new SIR/state-machine model
preserve fail-closed semantics across updated documents and align section numbering for cross-doc consistency
AIKernel.Abstractions から public class/record/enum/struct を排除し、interface-only 構成へ再編
AIKernel.Dtos / AIKernel.Enums に契約データ型を移設・新設(Routing/Context/Governance/Prompt など)
Abstractions の参照を Dtos / Enums に統一し、GlobalUsings と csproj 依存を整理
旧重複定義(CoreDataTypes, ModelCapacityVector, StandardCapacityAxis ほか)を削除
テスト参照を新しい DTO/Enum 名前空間に追従させ、ビルド成立を確認 (AIKernel.Abstractions.Tests)
AIKernel.Abstractions / AIKernel.Dtos / AIKernel.Enums の複数型同居ファイルを解消し、1 class|record|enum|struct = 1 file に統一
TransferTrace / Purpose、Prompt系DTO、ROM系DTO、Buffer系DTOを個別ファイルへ分離
LatencyClass から ModelType / Modality を分離、PdpDecision から RejectCode を分離
Abstractions内の具体型(KernelExecutionResult、AttentionAnalysis、AccessRequest など)を個別ファイル化し、可読性と保守性を向上
ROM検証関連型を分割し、型定義の責務境界を明確化
AIKernel.VFSをInterface専用に整理し、具象データ型をAIKernel.Dtos.Vfsへ移管
VfsEntryTypeをAIKernel.Enumsへ移管し、VFS境界の責務を明確化
VFSインターフェースのシグネチャをDTO参照へ更新(object辞書をstring辞書へ型安全化)
AIKernel.VFS.csprojの未使用参照(KernelContext/Enums)を削除し依存を最小化
Prompt系DTOのrequired/初期化子を統一しnullable警告を解消
関連テスト(SignedPrompt/MaterialQuarantine)を新DTO初期化方式へ追従
AuditEventの型不整合(AuditSeverity/Metadata)を契約に合わせて修正
REPO_DEPENDENCY_RULES(英日)およびVFSインターフェース文書/indexを最新構成へ同期
- Consolidate 'KernelContext' and 'Events' projects into Abstractions/Dtos/Core to eliminate project fragmentation and clarify architectural layers.
- Split files containing multiple definitions into individual files.
- Remove 'UseCases' namespace to purge application-level leakage (Ref: Issue #2).
- Restructure directory and namespace hierarchy to improve modularity.
- Ensure all types are organized by their architectural roles (VFS, Kernel, etc.).
- Align project with strict C# conventions for upcoming AIKernel.Core implementation.
- Remove DTO-layer exception classes and exception-oriented tests to keep DTOs as pure data contracts.
- Align DTO namespaces with physical paths (Context/Core/Messaging) for full Structure Integrity.
- Replace ambiguous router contracts:
  - Routing: IModelVectorRouter -> IRoutingDecisionEngine
  - Execution: IModelVectorRouter -> IExecutionVectorRouter
- Update related references/global usings and verify build integrity across Abstractions/DTOs/Tests.

This structural refinement establishes a clean, navigable 'Canonical Source'
at version 0.0.1, ensuring deterministic dependency management.

Fixes #2
リプレイ機能の保証範囲について、「LLM の内部推論アルゴリズム自体の再現は目的とせず、実行時のコンテキスト構成・パイプライン通過順序・各ステップのデータ変換が記録と同一の論理パスを辿ることのみを保証する」旨を明記しました。英語・日本語両方のドキュメントに追記しています。
AIKernel.NET の設計意図や契約レイヤの意義を明確化し、C#によるホスティング例・curlによるAPI実行例・レスポンス例を README-jp.md/README.md に追加。アーキテクチャやリポジトリ構成の説明も整理し、実装分離の方針を強調。英語READMEも同様に刷新。
Directory.Build.props のリリースノートを英日両言語で詳細化し、AIKernel.NET の設計思想やコアスペックを明記。各 csproj から <Version> 記述を削除し、バージョン管理を共通プロパティに集約。
README-jp.md/README.md を全面的にリライトし、構成・表記・内容を整理・強化しました。NuGetパッケージ一覧やリポジトリ構成表を刷新し、各レイヤーや設計原則の説明を体系化。API実行例・起動ログ例を追加し、コントリビューションやライセンスの指針も明文化。英語READMEも日本語版と同等の内容にアップデートしました。
すべてのcsprojから著者・会社・ライセンス等のパッケージメタデータを削除し、Directory.Build.propsに集約しました。バージョンも0.0.2へ更新し、全プロジェクトで一貫した情報管理を実現しました。ビルド設定や説明文には変更ありません。
VFSインターフェースをcapability-based設計に大幅リファクタリング。`IReadableVfsSession`等の細分化interfaceを新設し、権限を型安全に表現。従来の合成契約は後方互換で維持。ドキュメントも責務・設計方針・fail-closed原則を明記し刷新。ユニットテストでcapability分離の動作を検証。権限管理・拡張性・型安全性を強化。
#4
v0.0.2対応として、VFSの命名を.NETガイドライン準拠の「Vfs」へ統一する破壊的変更手順を追加。namespace・プロジェクト名・パッケージ名・ドキュメント表記の変更、`ProviderID`→`ProviderId`への統一も明記。
Vfs権限をcapability interfaceベースへ移行する手順・指針を追加し、既存contractとの互換性や新規実装の推奨方針も記載。
移行チェックリストと変更履歴(v0.0.2: Issue #4, #7)も追記。
全ドキュメントで「VFS」を「Vfs」へ統一しました。タイトル、見出し、表、契約名、依存関係表などVFS関連の表記揺れを修正し、設計・拡張点・ユースケース・ガイド等の用語一貫性を向上。仕様自体の変更はありません。#4, #7
仮想ファイルシステム層の命名を `VFS` から `Vfs` へ統一しました。プロジェクト名、名前空間、NuGet パッケージ名、ドキュメント、テスト、依存関係など全体を対象にリネームを実施し、表記ゆれを解消しました。
#4, #7
IROMCanonicalizer→IRomCanonicalizer等、acronym命名を.NET標準に統一。Provider/RAG/ToolAccess等の大規模インターフェースをcapability contract群に分割し、合成インターフェースで再構成。全ドキュメント・テスト・マイグレーションガイドを反映。型安全性・拡張性・責務分離を強化し、実行時挙動は不変。
#7
EventBus/Task/Scheduler/Tokenizer/SignatureTrustStore/Kernel等の主要インターフェースをcapability interface群として細分化・再設計。合成インターフェースは用途ごとに必要最小限のcapabilityのみを継承し、観測専用・購読専用adapter等が不要な権限を持たない設計に。MIGRATION_GUIDEも更新。各capability分離の正当性を検証するテストを追加。
#7
egumaru added 12 commits May 9, 2026 17:05
v0.0.2対応として、各種契約インターフェースから正規化・検証・変換・分析などの責務を排除し、専用サービスインターフェースへ移動。不変ビュー/記述子のみを契約で表現。Provider/Store/Validator/Sandbox/Compute/Security/Policy/Rule/Audit等の広いインターフェースを細粒度capability interfaceに分割し、合成互換インターフェースを追加。テスト・ドキュメントも新設計に対応。MIGRATION_GUIDEに移行ガイドを追記。
#8, #9, #10, #11
AIKernelにPhase 1 Query Processing(補間・分解・意味空間化・routing)抽象を追加し、`IQueryAugmentor`/`IQueryDecomposer`/`IQueryRouter`/`QueryPart`を新設。
Provider capabilityにquery-processing/embeddingメタデータを拡張し、責務境界・Fail-Closed条件を明確化。
主要ドキュメント・テスト・usingも対応。RAG/embeddingのCore分離を徹底。
#12
- Added English and Japanese theory documents
- Added YAML metadata (issuer, version, published date, maintainer)
- Established ROM as the formal specification baseline
AIKernel 理論 ROM v0.1.0 を追加
- 英語版・日本語版の理論ドキュメントを追加
- YAML メタデータ(issuer, version, published, maintainer)を整備
- ROM(固定版)としての正式仕様を確立
- Added issuer: ai-kernel@aikernel.net
- Set version to 0.0.2
- Added published/updated dates
- Added maintainer and  status
Normalize YAML headers for theory documents
- Added issuer: ai-kernel@aikernel.net
- Set version to 0.0.2
- Added published/updated dates
- Added maintainer and status
- Added theory/README (JP/EN)
- Marked theory as WIP research area
- Established migration path to papers/specs
HATL v1.0リリースに伴い、3部構成パッケージの全体設計・仕様・付録・日本語訳を追加。プロトコル仕様書、リポジトリ構成、JSONスキーマ、C#インターフェイス、スマートコントラクト例、ベンチマーク・シミュレータ補助ファイル、ライセンス文書を整備。設計思想・実装指針・データ仕様・ガバナンスモデルを一貫して参照可能な技術パッケージを構築。
AIKernel / AIOS Paper Series の全体構成・各フェーズ(Phase-1, Phase-1.1, Phase-3 Foundation)の目的・成果・論文一覧を表形式で整理。ディレクトリ構成例を明示し、旧来の詳細説明を簡潔なフェーズ別説明に統合。ライセンス・引用方法を簡素化し、今後の方針も明記。
…Finalization

• Finalized Context/Execution boundaries and canonicalization rules.
• Introduced IKernelClock and removed TimeProvider.System dependency.
• Promoted VFS contract to first-class boundary with session capabilities.
• Updated Query Processing abstractions (Augmentor/Decomposer/Router).
• Refined Provider capability model and embedding provider split.
• No breaking changes; ABI surface stabilized for v0.1.0.
Vfsインターフェース契約(IVfsProvider等)の所有元をAIKernel.VfsからAIKernel.Abstractionsへ移動し、AIKernel.Vfsはtype forwardingによる互換facadeとしました。これにより依存方向が明確化され、Abstractions→Vfsの依存を排除。TypeForwarding.csを追加し、Vfs契約型のtype forwardingを実装。各種ドキュメント・移行ガイド・依存規約もv0.0.3仕様に更新し、ABI安定化と将来の拡張性を強化しました。
@egumaru egumaru merged commit 0a43492 into main Jun 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant