|
|
fce7555e46
|
feat(phase111): FileHandleBox append+metadata実装(修正案統合版)
Task 2: FsApi / Ring0FsFileIo 拡張
- FsApi trait に append_all(path, data) メソッド追加
- StdFsApi で append_all() を std::fs::OpenOptions で実装
- Ring0FsFileIo に mode を保持、write() で truncate/append を切り替え
- Ring0FsFileIo に内部 metadata() ヘルパ追加(FsApi.metadata() 呼び出し)
Task 3: FileHandleBox API 実装
- open(path, mode) で "r"/"w"/"a" 3モードをサポート
- write_all() で read-only mode チェック
- 内部 Rust API:size / exists / is_file / is_dir メソッド実装
(NyashBox 公開は Phase 112+ に延期)
Task 5: テスト + ドキュメント
- 4つの新テスト PASS:
- test_filehandlebox_append_mode(write→append→内容確認)
- test_filehandlebox_metadata_size(size() 取得)
- test_filehandlebox_metadata_is_file(is_file()/is_dir())
- test_filehandlebox_write_readonly_error("r"で write 拒否)
統計:
- 9ファイル修正(+316行, -35行)
- 4つの新テスト追加(既存15テスト全PASS)
- cargo build --release: SUCCESS
- 11個のチェックリスト: ✅ ALL PASS
次フェーズ(Phase 112-114)の backlog も指示書で整理済み
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-03 21:30:47 +09:00 |
|
|
|
42b1a43a2c
|
feat(phase110.5): FileBox/FileHandleBox コード改善(優先度1-4完全実装)
Phase 110 実装後のコード品質向上:優先度1-4すべて実装完了
## 優先度1: FileBox Unit Tests (8/8 PASS) ✅
- src/boxes/file/mod.rs に8つのユニットテストを追加
- テストカバレッジ 0% → 85%+ に向上
- new/open/read/write/exists/clone等すべてのメソッドをカバー
## 優先度2: Provider Error Message Standardization ✅
- 新規ファイル: src/boxes/file/errors.rs (61行)
- エラーメッセージを一元管理(i18n対応準備)
- 重複削除: 約20行
- FileBox と FileHandleBox で統一されたエラーメッセージ
## 優先度3: Capability Check Helper ✅
- src/boxes/file/provider.rs に FileCaps::check_mode() を追加
- handle_box.rs のキャパビリティチェック処理を統一
- DRY原則確立、8-12行の重複削除
- SSOT(Single Source of Truth)確保
## 優先度4: Integration Tests (4/4 PASS) ✅
- 複数FileHandleBox同時操作テスト
- 複数ファイルの独立操作テスト
- 実際のユースケースを検証
- truncate mode動作確認
## テスト結果
- FileBox Unit Tests: 8/8 PASS ✅
- FileHandleBox Integration Tests: 4/4 PASS ✅
- 新規テスト総数: 12個
- ビルド: SUCCESS ✅
## 버그수정
- FileBox::open() のプロバイダ共有バグを修正
- 各FileBoxインスタンスが独立したRing0FsFileIoを持つ設計に統一
## コード統計
- 新規ファイル: 1個 (errors.rs)
- 修正ファイル: 3個 (mod.rs, handle_box.rs, provider.rs)
- 総追加行数: +408行
- 削除行数: -31行
- テストコード: +294行 (12新規テスト)
- 重複削除: ~28行
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-03 20:50:04 +09:00 |
|