Files
hakorune/src/box_factory/builtin_impls/mod.rs
Selfhosting Dev 56f128eecd 🎉 feat: Phase 15.5革命完了!StringBox/IntegerBoxプラグイン優先度問題根治
何十日間の激闘ついに完全解決!"Everything is Plugin"哲学実装達成🚀

🏆 核心成果:
- FactoryPolicy システム完全実装 (StrictPluginFirst/CompatPluginFirst/BuiltinFirst)
- プラグイン優先をデフォルト化: plugins > user > builtin
- builtin_impls/ 分離実装でPhase 2削除準備完了
- unified_registry.rs でwith_env_policy()によるポリシー制御
- 環境変数制御: NYASH_BOX_FACTORY_POLICY=strict_plugin_first

🔧 技術実装:
- src/box_factory/mod.rs: FactoryPolicy enum + rebuild_cache() + policy-based ordering
- src/box_factory/builtin.rs: builtin_impls/への振り分け実装
- src/box_factory/builtin_impls/: 7ファイル分離 (削除順序コメント付き)
- src/runtime/unified_registry.rs: with_env_policy() でStrictPluginFirst デフォルト

 動作確認完了:
- StringBox プラグイン優先で作成成功
- Factory Policy: StrictPluginFirst メッセージ確認
- プラグイン初期化確認 (Net plugin, FileBox plugin)

📋 Phase 2準備完了: builtin_impls/ 段階削除戦略
1. string_box.rs, integer_box.rs (プラグイン準備済み)
2. bool_box.rs (プラグイン要作成)
3. array_box.rs, map_box.rs (プラグイン確認要)
4. console_box.rs (最後 - ログ用に重要)

🎯 ChatGPT戦略 + ユーザー分離アイデアの完璧な統合実装成果!

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 11:43:11 +09:00

26 lines
1.2 KiB
Rust

/*!
* Builtin Box Implementations (Phase 15.5: Everything is Plugin Migration)
*
* 🎯 Purpose: Separated implementations for easy deletion during Phase 2
* 🗓️ Timeline: These files will be deleted one by one in Phase 2.1-2.6
*
* Deletion Order (dependency-based):
* 1. string_box.rs - Phase 2.1 ✅ Plugin ready
* 2. integer_box.rs - Phase 2.2 ✅ Plugin ready
* 3. bool_box.rs - Phase 2.3 🔄 Plugin needed
* 4. array_box.rs - Phase 2.4 🔄 Plugin check needed
* 5. map_box.rs - Phase 2.5 🔄 Plugin check needed
* 6. console_box.rs - Phase 2.6 🔄 Plugin exists, remove LAST
* 7. null_box.rs - TBD: 🤔 Keep as language primitive?
*/
// Phase 2.1-2.6: Delete these modules one by one
pub mod string_box; // DELETE: Phase 2.1 (plugin ready)
pub mod integer_box; // DELETE: Phase 2.2 (plugin ready)
pub mod bool_box; // DELETE: Phase 2.3 (plugin needed)
pub mod array_box; // DELETE: Phase 2.4 (plugin check)
pub mod map_box; // DELETE: Phase 2.5 (plugin check)
pub mod console_box; // DELETE: Phase 2.6 (LAST - critical for logging)
// Special consideration
pub mod null_box; // DISCUSS: Keep as primitive?