feat(phase113): FileHandleBox Nyash 公開 API 完成
FileHandleBox の内部メソッド(open/read/write/close/exists/size)を Nyash (.hako) 側から「普通の Box メソッド」として使える形に完全公開 【実装内容】 Task 1: 公開 API 設計書完成 - phase113_filehandlebox_public_api.md 作成(380行完全仕様書) - I/O メソッド: open(path, mode) / read() / write(text) / close() - メタデータメソッド: exists() / size() / isFile() / isDir() - Profile 別動作: Default (全機能) / NoFs (open で panic) Task 2: Rust 側メソッド公開 - FileHandleBox に ny_* メソッド実装(8メソッド) - BoxFactory 登録完了 - StringBox と同じ invoke_method() パターン採用 Task 3: .hako サンプル & テスト - append_and_stat.hako サンプル作成(実用例) - Rust ユニットテスト 6個(全メソッド + Profile カバレッジ) Task 4: Profile 統合確認 - Default プロファイル: 全機能正常動作 ✅ - NoFs プロファイル: open は panic、cascade disabled ✅ - Ring0Registry による自動無効化パターン確立 ✅ Task 5: ドキュメント完全更新 - core_boxes_design.md: Section 16.1 追加(88行) - ring0-inventory.md: Phase 113 エントリ追加(8行) - CURRENT_TASK.md: Phase 113 完了マーク 【統計】 - 新規作成: 3ファイル(.md + .hako + factory) - 修正: 6ファイル - 追加行数: +210行 - テスト: 6個(全 PASS) - ビルド: SUCCESS 【Phase 106-113 通算】 - 7フェーズ完成 - 33+17=50ファイル修正 - +1,350+210=+1,560行実装 - 設計書: 6つの大規模 markdown - テスト: 33+6=39個全PASS - 第1章完結状態に到達 ✅ 【設計原則確立】 - Ring0 → Ring1 FS API の完全統一 - Profile-aware 初期化(SSOT パターン) - FileBox / FileHandleBox / Ring0 の非矛盾性設計 - .hako 入口から Rust 実装まで全導線完備 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -601,6 +601,14 @@ Phase 106–108 では FileBox provider_lock / Ring0FsFileIo / write/write_all
|
||||
- Profile 応じた実装選択(Default → StdFs、NoFs → NoFsApi)
|
||||
- default_ring0() を Ring0Registry 経由に統一(互換性維持)
|
||||
- 将来の拡張準備(TestMock/Sandbox/ReadOnly/Embedded プロファイル対応可能)
|
||||
- ✅ **Phase 113: FileHandleBox Nyash 公開 API** (COMPLETED - 2025-12-04)
|
||||
- FileHandleBox の内部メソッドを Nyash (.hako) 側から使える形に公開
|
||||
- 実装: ny_* メソッド群(ny_open/ny_read/ny_write/ny_close/ny_exists/ny_size/ny_is_file/ny_is_dir)
|
||||
- エラーハンドリング: panic ベース(unwrap_or_else)
|
||||
- BoxFactory 登録: BuiltinBoxFactory に FileHandleBox 追加
|
||||
- テスト: Rust ユニット 6個 + .hako サンプル 1個(全 PASS)
|
||||
- Profile 対応: Default ✅ 全メソッド動作、NoFs ❌ open で panic
|
||||
- 設計原則確立: Rust internal vs Nyash-visible 分離パターン
|
||||
|
||||
さらに長期的には、Ring0 全体を「統一サービスレジストリ」として扱うフェーズ(Mem/Io/Time/Log/Fs/Thread の trait 統合)を
|
||||
Phase 11x 以降で検討する予定だよ。Phase 112 で factory pattern による拡張基盤が整備された!
|
||||
|
||||
Reference in New Issue
Block a user