d70329e5df
feat(selfhost): Phase 151 - ConsoleBox Selfhost Support
...
- Identify ConsoleBox registration issue: plugins registered but PluginBoxFactory can't find them
- Root cause: timing/initialization order between BoxFactoryRegistry and UnifiedBoxRegistry
- Solution: Add ConsoleBox builtin fallback for selfhost Stage-3 pipeline
- Implementation: Plugin-preferred, builtin as fallback
- Test results: 2/2 PASS (esc_dirname_smoke.hako, string_ops_basic.hako)
Modified files:
- src/box_factory/builtin_impls/console_box.rs (new, 35 lines)
- src/box_factory/builtin_impls/mod.rs (add console_box module)
- src/box_factory/builtin.rs (add ConsoleBox creation and box_types)
- CURRENT_TASK.md (Phase 151 completion)
- docs/development/current/main/phase151_consolebox_selfhost_support.md (implementation summary)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-04 13:07:12 +09:00
e328be0307
Phase 122.5-126完了:ConsoleBox 品質改善・最適化・統合
...
## 実装成果(Phase 122.5-126)
### Phase 122.5: nyash.toml method_id 修正
- println method_id を 2 → 1 に統一(log と同じ)
- TypeRegistry slot 400 との整合性確保
### Phase 123: ConsoleBox WASM/非WASM コード統一化
- マクロ define_console_impl! による重複排除
- 67行削減(27.3% 削減達成)
- ビルド成功・全テストパス
### Phase 124: VM Method Dispatch 統一化
- TypeRegistry ベースの統一ディスパッチ (dispatch_by_slot)
- String/Array/ConsoleBox を一元化
- 100行削減、メソッド解決の高速化
### Phase 125: 削除:deprecated builtin ConsoleBox
- src/box_factory/builtin_impls/console_box.rs 削除
- Plugin-only 移行で "Everything is Plugin" 実現
- 52行削減
### Phase 126: ドキュメント統合
- consolebox_complete_guide.md (27KB統合マスター)
- core_boxes_design/logging_policy/hako_logging_design 更新
- ~750行の navigation・cross-reference 改善
## 数値成果
- **総コード削減**: 219行
- **新規ドキュメント**: 1ファイル (+27KB)
- **更新ドキュメント**: 6ファイル (+~750行)
- **テスト**: Phase 120 representative tests ✅ PASS
- **ビルド**: Zero errors
## 設計原則の完全実現
✅ println/log エイリアス統一(Phase 122)
✅ WASM/非WASM 統一化(Phase 123)
✅ TypeRegistry 統合(Phase 124)
✅ Plugin-only 移行(Phase 125)
✅ ドキュメント統合(Phase 126)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-04 06:02:03 +09:00
99f57ef27d
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 >
2025-12-04 03:35:25 +09:00
50ac8af2b8
Phase 21.4 Complete: FileBox SSOT + Analyzer Stabilization (7 Tasks)
...
✅ Task 1: Fallback Guarantee (create_box failure → ring1/core-ro auto fallback)
- Three-tier fallback system: plugin → builtin → core-ro
- Mode control: auto/plugin-only/core-ro
- New: src/box_factory/builtin_impls/file_box.rs
- New: tools/test_filebox_fallback_smoke.sh
✅ Task 2: Provider Registration SSOT (static/dynamic/core-ro unified)
- ProviderFactory trait with priority-based selection
- Global registry PROVIDER_FACTORIES implementation
- Priority: dynamic(100) > builtin(10) > core-ro(0)
- New: src/boxes/file/builtin_factory.rs
- New: tools/smoke_provider_modes.sh
✅ Task 3: FileBox Publication Unification
- Verified: basic/file_box.rs already minimized (11 lines)
- Perfect re-export pattern maintained
✅ Task 4: ENV Unification (FILEBOX_MODE/DISABLE_PLUGINS priority)
- Removed auto-setting of NYASH_USE_PLUGIN_BUILTINS
- Removed auto-setting of NYASH_PLUGIN_OVERRIDE_TYPES
- Added deprecation warnings with migration guide
- ENV hierarchy: DISABLE_PLUGINS > BOX_FACTORY_POLICY > FILEBOX_MODE
✅ Task 5: Error Log Visibility (Analyzer rule execution errors to stderr)
- Added [rule/exec] logging before IR-based rule execution
- Format: [rule/exec] HC012 (dead_static_box) <filepath>
- VM errors now traceable via stderr output
✅ Task 6: Unnecessary Using Removal (14 rules Str alias cleanup)
- Removed unused `using ... as Str` from 14 rule files
- All rules use local _itoa() helper instead
- 14 lines of dead code eliminated
✅ Task 7: HC017 Skip & TODO Documentation (UTF-8 support required)
- Enhanced run_tests.sh with clear skip message
- Added "Known Limitations" section to README.md
- Technical requirements documented (3 implementation options)
- Re-enable timeline: Phase 22 (Unicode Support Phase)
📊 Test Results:
- Analyzer: 10 tests PASS, 1 skipped (HC017)
- FileBox fallback: All 3 modes PASS
- Provider modes: All 4 modes PASS
- Build: Success (0 errors, 0 warnings)
🎯 Key Achievements:
- 28 files modified/created
- Three-Tier Fallback System (stability)
- SSOT Provider Registry (extensibility)
- ENV unification (operational clarity)
- Error visibility (debugging efficiency)
- Code cleanup (maintainability)
- Comprehensive documentation (Phase 22 ready)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-08 17:04:21 +09:00
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
73b90a7c28
feat: スモークテストv2実装&Phase 15.5後のプラグイン対応
...
Phase 15.5 Core Box削除後の新テストシステム構築:
## 実装内容
- スモークテストv2システム完全実装(3段階プロファイル)
- 共通ライブラリ(test_runner/plugin_manager/result_checker/preflight)
- インタープリター層完全削除(約350行)
- PyVM重要インフラ特化保持戦略(JSON v0ブリッジ専用)
- nyash.tomlパス修正(13箇所、プラグイン正常ロード確認)
## 動作確認済み
- 基本算術演算(+, -, *, /)
- 制御構文(if, loop, break, continue)
- 変数代入とスコープ
- プラグインロード(20個の.soファイル)
## 既知の問題
- StringBox/IntegerBoxメソッドが動作しない
- オブジェクト生成は成功するがメソッド呼び出しでエラー
- Phase 15.5影響でプラグイン実装が不完全な可能性
## ドキュメント
- docs/development/testing/smoke-tests-v2.md 作成
- docs/reference/pyvm-usage-guidelines.md 作成
- CODEX_QUESTION.md(Codex相談用)作成
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-24 09:30:42 +09:00
adbb0201a9
chore(fmt): add legacy stubs and strip trailing whitespace to unblock cargo fmt
2025-09-17 07:43:07 +09:00
6488b0542e
Phase 12.7完了 + ChatGPT5によるVMリファクタリング
...
## 📚 Phase 12.7 ドキュメント整理
- ChatGPT5作成のANCP Token仕様書v1を整備
- フォルダ構造を機能別に再編成:
- ancp-specs/ : ANCP圧縮技法仕様
- grammar-specs/ : 文法改革仕様
- implementation/ : 実装計画
- ai-feedback/ : AIアドバイザーフィードバック
- 各フォルダにREADME.md作成で導線改善
## 🔧 ChatGPT5によるVMリファクタリング
- vm_instructions.rs (1927行) をモジュール分割:
- boxcall.rs : Box呼び出し処理
- call.rs : 関数呼び出し処理
- extern_call.rs : 外部関数処理
- function_new.rs : FunctionBox生成
- newbox.rs : Box生成処理
- plugin_invoke.rs : プラグイン呼び出し
- VM実行をファイル分割で整理:
- vm_state.rs : 状態管理
- vm_exec.rs : 実行エンジン
- vm_control_flow.rs : 制御フロー
- vm_gc.rs : GC処理
- plugin_loader_v2もモジュール化
## ✨ 新機能実装
- FunctionBox呼び出しのVM/MIR統一進捗
- ラムダ式のFunctionBox変換テスト追加
- 関数値の直接呼び出し基盤整備
次ステップ: ANCPプロトタイプ実装開始(Week 1)
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-04 03:41:02 +09:00
7a0f9bd432
🚨 AI協調開発の危機回避事例を論文化(paper-09)
...
「ん?大丈夫?」の一言がPython特化ハードコーディングを防いだ事例を記録。
Everything is Box哲学 vs 技術的正しさの綱渡りからの生還を分析。
- docs/research/paper-09-ai-collaboration-pitfall/ を新規作成
- incident-analysis.md: Lowerer特殊化危機の詳細分析
- ai-collaboration-lessons.md: AI協調開発の教訓
- intuition-in-engineering.md: エンジニアの直感の価値
- summary.md: 綱渡りからの生還まとめ
- 研究論文の1論文1フォルダ原則に従い整理
- Python統合関連の実装修正とビルド成功確認
🛡️ Generated with Claude Code
2025-08-30 08:54:15 +09:00
8e58942726
feat: プラグインパスをOS非依存に更新(.so拡張子削除)
...
- nyash.tomlからすべての.so拡張子を削除
- plugin_loader_v2のresolve_library_pathが自動的に適切な拡張子を追加
- Linux: .so
- Windows: .dll
- macOS: .dylib
- クロスプラットフォーム対応の準備完了
2025-08-29 23:11:21 +09:00
d67f27f4b8
Phase 10.10: GC Switchable Runtime & Unified Debug System 実装完了
...
Phase 10.10の主要実装:
- GcConfigBox: GC設定の実行時制御(counting/trace/barrier_strict)
- DebugConfigBox: デバッグ設定の統一管理(JIT events/stats/dump/dot)
- メソッドディスパッチ: system_methods.rsで両Boxのメソッド実装
- CountingGC動作確認: write_barriers正常カウント(VM実行時)
技術的詳細:
- BoxCore/BoxBase統一アーキテクチャを活用
- setFlag/getFlag/apply/summaryメソッドで統一API提供
- 環境変数経由でVM/JITランタイムと連携
- GcConfigBox.apply()は次回実行から有効(ランタイム作成前に環境変数参照)
テスト済み:
- examples/gc_counting_demo.nyash: CountingGCの動作確認
- write_barriers=3でArray.push/set, Map.setを正しくカウント
- NYASH_GC_TRACE=1でGC統計出力確認
Box-First哲学の体現: 設定も制御も観測もすべてBox!
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-28 22:31:51 +09:00
e54561e69f
Phase 10.7 - JIT統計とイベント機能の完成
...
主要な実装:
- PHI(b1)統計追跡: phi_total_slots/phi_b1_slotsをJSON出力
- 関数単位統計API: JitStatsBox.perFunction()で詳細統計取得
- JITイベントシステム: compile/execute/fallback/trapをJSONL形式で記録
- Store/Load命令対応: ローカル変数を含む関数のJIT実行が可能に
新しいBox:
- JitStatsBox: JIT統計の取得
- JitConfigBox: JIT設定の管理(将来用)
- JitEventsBox: イベントのJSONL出力(将来用)
- JitPolicyBox: 実行ポリシー管理(将来用)
CLI拡張:
- --jit-exec, --jit-stats, --jit-dump等のフラグ追加
- --jit-directモードでの独立JIT実行
- NYASH_JIT_*環境変数によるきめ細かい制御
ドキュメント:
- Phase 10.7実装計画の詳細化
- Phase 10.9 (ビルトインBox JIT) の計画追加
- JIT統計JSONスキーマ v1の仕様化
ChatGPT5との共同開発により、JIT基盤が大幅に強化されました。
次はPhase 10.9でビルトインBoxのJIT対応を進め、
Python統合(Phase 10.1)への道を開きます。
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-28 09:26:58 +09:00
6eda81f5db
feat: Major documentation reorganization and unified Box design updates
...
## Documentation & Organization
- Moved copilot_issues.txt → 00_MASTER_ROADMAP.md (phases folder)
- Created Phase 9.79b.1 & 9.79b.2 plans for unified Box implementation
- Updated unified-box-design-deep-analysis.md with ChatGPT5 insights
- Added P2P documentation and examples (ping-pong, self-ping)
## Code Updates
- P2PBox: Reverted to original error state for demonstration
- VM: Enhanced BoxCall dispatch for unified approach
- Updated box factory, interpreter calls, and transport layer
## Cleanup & Privacy
- Removed private/ and private_test/ from git tracking
- Added private folders to .gitignore for security
- Cleaned root directory: moved backups, removed temp files
- Moved consultation files to docs/archive/consultations/
## Other Improvements
- Added object literal syntax improvement idea
- Updated CLAUDE.md with master roadmap reference
- Updated CURRENT_TASK.md with latest progress
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-26 20:30:07 +09:00
779e3be5d9
fix: Unified registry e2e tests passing and Nyash code fix
...
- Added is_builtin_factory() method to BoxFactory trait
- Added register_box_factory() method to NyashInterpreter for dynamic factory registration
- Added is_valid_type() and has_type() methods for unified type checking
- Fixed e2e tests by removing 'return' statements (Nyash doesn't require them at top level)
- Created TestPluginFactory with EchoBox and AdderBox for testing
- All e2e tests now passing: EchoBox returns "hi", AdderBox returns "42"
This commit finalizes the unified registry system with full support for
dynamic factory registration, enabling plugins and custom Box types to be
seamlessly integrated into the interpreter at runtime.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-21 15:30:57 +09:00
2fc6ce3aa6
feat: Unified registry and major code cleanup by ChatGPT5
...
- Unified Box Registry: Replaced 600+ line match statement with clean factory pattern
- Code cleanup: Removed unused imports, variables, and dead code
- Import fixes: Fixed RangeBox, NullBox, MapBox imports
- Transport Debug: Added Debug trait implementation for Transport interface
- WASM build: Successfully tested with wasm_playground preset ready for integration
- Performance: Build time stable, WASM package generated successfully (1.89MB)
This commit represents a major architectural improvement with the unified registry
system now fully operational, reducing code duplication and improving maintainability.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-21 14:28:24 +09:00
3e8b75f4de
fix: Kilo/CHIP-8アプリエラー修正 - toInteger, substring, レガシーBox削除
...
## 修正内容
1. **toIntegerメソッド実装** (#125 )
- StringBoxにtoInteger()メソッド追加
- box_trait::IntegerBoxを返すよう統一(レガシーboxes::IntegerBox削除)
2. **substringメソッド実装**
- StringBoxにsubstring(start, end)メソッド追加
- Kiloエディタで必要な文字列操作を完全サポート
3. **レガシーコード削除**
- src/boxes/mod.rsから重複StringBox/IntegerBox/BoolBoxエクスポート削除
- 全てbox_trait実装に統一
4. **プラグインドキュメント整理**
- 古い仕様書に「理想案・未実装」「将来構想」明記
- 実装ベースの正確な仕様書作成
- migration-guide.md追加
## テスト結果
- ✅ Kiloエディタ: 完全動作確認("Enhanced Kilo Editor test complete")
- ✅ toInteger()の乗算: 正常動作
- ✅ substring(): 正常動作
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-20 14:13:47 +09:00
9eb52982b5
fix: Phase 9.78e+: Fix birth constructor and builtin Box method inheritance
...
🌟 Major fixes:
- Fix birth constructor lookup (was searching for 'init/N', now 'birth/N')
- Fix builtin Box method inheritance via __builtin_content field
- Remove InstanceBox wrapping for builtin Boxes
- Update execute_builtin_birth_method to properly store builtin content
- Update method resolution to check __builtin_content for builtin methods
✅ All tests pass:
- Birth constructors work correctly
- User-to-user Box delegation works
- User-to-builtin Box delegation works (toString() properly inherited)
- Apps folder tested (chip8, kilo editor run successfully)
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-20 02:19:59 +09:00
03e4de6ad7
feat: Phase 9.78d完全達成 - InstanceBox統合 + type_name委譲実装成功
...
🎉 Phase 9.78d 主要マイルストーン達成!
主要成果:
✅ Rustスコープ問題完全解決 - use crate::instance_v2::InstanceBox;
✅ StringBox → InstanceBox統合完成 - BuiltinBoxFactory経由で成功
✅ type_name()委譲実装 - 内包Boxの型名を正しく返す修正完了
✅ 基本機能完全動作 - 文字列作成・連結・基本操作すべて正常
✅ 統一レジストリ確認 - 🏭 Unified registry created動作確認
✅ デバッグ情報改善 - type_name='StringBox'正確表示
技術的達成:
- InstanceBox::from_any_box()によるビルトインBox統合
- 内包Boxへの透過的type_name()委譲実装
- BuiltinBoxFactory経由での統一Box生成確立
- 全体Progress: 44% → 85%完了に大幅進展
次期課題:
⚠️ メソッド呼び出し統合 - str.type_name()等の動的ディスパッチ
🎯 Phase 9.78e - Gemini提案のcall_method設計実装予定
ファイル変更:
- src/instance_v2.rs: type_name()内包Box委譲実装
- src/box_factory/builtin.rs: InstanceBox統合実装
- docs/CURRENT_TASK.md: 進捗85%完了に更新
- local_tests/: Gemini設計相談ファイル追加
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-19 20:00:16 +09:00
5f1a50e4af
feat: Phase 9.78d部分達成 - InstanceBox統合でBuiltinBox作成成功
...
🎯 Phase 9.78d: InstanceBox簡素化統一実装の主要マイルストーン達成
主要成果:
✅ Rustスコープ問題をシンプル解決 - `use crate::InstanceBox;`
✅ StringBox → InstanceBox統合完了 - BuiltinBoxFactory経由
✅ 統一レジストリ経由での動的Box作成が動作
✅ 基本機能テスト成功(文字列作成・連結)
技術詳細:
- BuiltinBoxFactory内でInstanceBox::from_any_box()による統合実装
- lib.rsのpub useを活用した最軽量import戦略
- 🏭 Unified registry created: StringBoxログで統合動作確認
- StringBox基本機能(連結演算子等)は正常動作
次の課題:
⚠️ メソッド呼び出し統合(str.type_name()等)は別途対応
ファイル変更:
- src/box_factory/builtin.rs: StringBoxのInstanceBox統合実装
- src/lib.rs: コメント整理
- docs/CURRENT_TASK.md: 進捗状況更新
- local_tests/: 統合動作テスト追加
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-19 19:48:35 +09:00
5b6cf828af
feat: Phase 9.78b完了 - UnifiedBoxRegistry統合とビルド最適化
...
🏭 **Phase 9.78b: 統合レジストリ実装完了**
**主要な変更:**
- execute_new()に統合レジストリを統合、レガシーmatch文への自動フォールバック
- 全importエラー解決(RuntimeError, モジュールパス修正)
- runner.rs起動時に統合レジストリ初期化
- 20+種類のビルトインBoxが統合ファクトリ経由で作成可能
**ビルド時間最適化:**
- wasmtime/wabt依存を"wasm-backend"フィーチャーでオプション化
- デフォルトビルド 4分 → 43秒の劇的高速化達成
**技術的達成:**
- 600+行match文 → 30行ファクトリパターンへの移行基盤完成
- プラグイン・ユーザー定義・ビルトインBox統一アーキテクチャ確立
- Everything is Box哲学の実装レベル体現
**次のステップ:**
Phase 9.78c: プラグインBox統合、Phase 9.78d: ユーザー定義Box統合
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-19 16:56:44 +09:00
18d26ed130
feat: Phase 9.78a complete - Unified BoxFactory Architecture foundation
...
- Add complete BoxFactory trait and UnifiedBoxRegistry infrastructure
- Implement BuiltinBoxFactory with 20+ Box types (basic, container, utility, I/O, native/WASM)
- Add PluginBoxFactory integration with v2 plugin system
- Create UserDefinedBoxFactory stub for future InstanceBox integration
- Add global unified registry with priority ordering (builtin > user > plugin)
- Support for all existing Box creation patterns with declarative registration
- Ready for migration from 600+ line match statement to clean Factory pattern
Technical improvements:
- Eliminate 600+ line match statement complexity
- Enable unified Box creation interface: registry.create_box(name, args)
- Support birth/fini lifecycle across all Box types
- Maintain WASM compatibility with conditional compilation
- Thread-safe with Arc<Mutex> pattern
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-19 16:43:13 +09:00