nyash-codex
20f978fdf9
refactor: Phase 109後のコード整理・改善(セットA/B/C完全実装)
全セット実装で総95行の純削減を達成(190削除, 95追加)
## Set A: Quick Wins (55行削減)
- FileBox caps check を check_write_capability() ヘルパーに統一
- is_required_in() から冗長な local variable 削除
- 未使用の CoreServicesConfig::from_env() 削除
## Set B: Architecture Refinement (65行削減)
- provider_lock の責務を「登録」のみに限定(init_* メソッド削除)
- PluginHost を initialization hub に統一
- profile-aware provider 初期化を一元化
- Default/NoFs の両 profile に対応
- FileBox::new() を Result-based に改善(Fail-Fast)
- delete()/copy() デッドコード削除(実装なし)
- PluginRegistry skeleton 削除(Phase 92 未実装プレースホルダ)
## Set C: Future-Proofing (+36行, 46追加/10削除)
- RuntimeProfile ドキュメント大幅拡充
- 現在のプロファイル(Default, NoFs)の詳細説明
- 将来のプロファイル(TestMock, Sandbox, ReadOnly, Embedded)を明示
- PluginHost::new_skeleton() 削除
## 設計改善
1. **責務分離の明確化**:
- provider_lock: 登録のみ (set/get)
- PluginHost: initialization hub (profile-aware setup)
- initialize_runtime: env読み込みのみ
2. **Fail-Fast 原則の強化**:
- FileBox provider missing → 即座にエラー(Default profile)
- new() でパニック vs try_new() で Result
3. **将来への足がかり**:
- Profile システムは拡張可能に設計
- TestMock/Sandbox/ReadOnly/Embedded への対応準備完了
テスト:
- 既存テスト: 25/25 PASS ✅
- ビルド: SUCCESS ✅
ファイル変更:
- src/boxes/file/mod.rs (-58)
- src/runtime/core_box_ids.rs (-6)
- src/runtime/mod.rs (-23)
- src/runtime/plugin_host.rs (-90)
- src/runtime/provider_lock.rs (-62)
- src/runtime/runtime_profile.rs (+46)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 19:58:50 +09:00
..
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-12-01 11:10:46 +09:00
2025-09-24 14:13:15 +09:00
2025-08-18 21:10:06 +09:00
2025-08-18 20:53:48 +09:00
2025-09-25 01:09:48 +09:00
2025-12-02 22:22:32 +09:00
2025-11-21 06:25:17 +09:00
2025-12-03 19:58:50 +09:00
2025-11-26 10:17:37 +09:00
2025-12-02 21:09:15 +09:00
2025-09-17 07:43:07 +09:00
2025-11-21 06:25:17 +09:00
2025-12-03 19:58:50 +09:00
2025-11-22 05:33:40 +09:00
2025-11-21 09:38:49 +09:00
2025-11-29 12:44:40 +09:00
2025-09-17 07:43:07 +09:00
2025-12-03 13:59:06 +09:00
2025-11-30 14:30:28 +09:00
2025-12-03 19:37:32 +09:00
2025-11-10 23:17:46 +09:00
2025-12-03 17:55:26 +09:00
2025-12-03 19:58:50 +09:00
2025-09-23 02:15:56 +09:00
2025-11-21 06:25:17 +09:00
2025-09-17 07:43:07 +09:00
2025-12-02 21:09:15 +09:00
2025-11-30 14:30:28 +09:00
2025-09-17 07:43:07 +09:00
2025-11-30 14:30:28 +09:00
2025-11-21 06:25:17 +09:00
2025-11-20 03:56:12 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-09-17 07:43:07 +09:00
2025-11-13 18:55:14 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00
2025-12-01 11:10:46 +09:00
2025-09-17 07:43:07 +09:00
2025-09-19 12:13:43 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00