Ring0 初期化を Ring0Registry::build(profile) に集約し、プロファイル対応を統一化 【実装内容】 - Task 2: Ring0Registry struct + build(profile) メソッド実装 - RuntimeProfile::Default → StdFs を使用 - RuntimeProfile::NoFs → NoFsApi を使用 - build_default()/build_no_fs() の内部メソッド分離 - Task 3: NoFsApi struct 実装(FsApi trait) - すべてのファイルシステム操作を「disabled」として失敗させる - read/write/append/metadata/canonicalize が IoError を返す - exists() は false を返す - 49行の新規実装 - Task 4: initialize_runtime() SSOT パターン確認 - env 読み込み → RuntimeProfile::from_env() - Ring0Context 構築 → Ring0Registry::build(profile) - グローバル登録 → init_global_ring0() - 唯一の責務分離を確立 - Task 5: PluginHost/FileBox/FileHandleBox からの Ring0 統合 - Ring0.fs = NoFsApi の場合、すべての上位層が自動的に disabled - 特別なロジック不要(カスケード disabled パターン) - Task 6: ドキュメント更新 - core_boxes_design.md: Section 17 追加(88行) - ring0-inventory.md: Phase 112 エントリ追加(16行) - CURRENT_TASK.md: Phase 106-112 完了表更新 - phase112_ring0_registry_design.md: 完全設計書(426行) 【統計】 - 8ファイル修正(+261行, -30行) - 3つの新テスト追加(Ring0Registry関連) - test_ring0_registry_default_profile - test_ring0_registry_nofs_profile - test_default_ring0_uses_registry - cargo build --release: SUCCESS - 全テスト PASS 【設計原則確立】 - Ring0Registry factory pattern で profile-aware 実装選択を一本化 - NoFsApi による自動 disabled により、上位層の特別処理を排除 - initialize_runtime() が唯一の env 読み込み入口として SSOT 確立 - 将来の profile 追加(TestMock/Sandbox/ReadOnly/Embedded等)が容易に 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
Nyash Development Documentation 🔧
開発者向けの進行中タスクと開発計画ドキュメントです。
📂 ディレクトリ構造
current/
CURRENT_TASK.md- 現在進行中のタスク- アクティブな開発作業の詳細
- 最新の実装状況
roadmap/
- phases/ - フェーズ別開発計画
- phase-8/ - AST→MIR変換
- phase-9/ - VM/JIT実装
- phase-10/ - AOT最適化
- native-plan/ - ネイティブビルド計画
- 実行バックエンド統合
- パフォーマンス目標
proposals/
- RFC(Request for Comments)
- 新機能提案
- 設計ディスカッション
🎯 重要な参照先
- 進行状況:
current/CURRENT_TASK.md - 開発計画:
roadmap/phases/ - 技術提案:
proposals/
📝 注意事項
このディレクトリの内容は開発中であり、頻繁に変更されます。
安定した仕様はreference/を参照してください。