feat(phase92): UnifiedBoxRegistry integration roadmap complete
Phase 92 完了: UnifiedBoxRegistry 統合の導線作り **実装内容**: - CoreServices::required_ids() 実装 - Phase 87 CoreBoxId の core_required (6個) を返す - is_core_required() との整合性を型レベルで保証 - CoreInitError enum 追加 - MissingService, RegistryEmpty, InvalidServiceType - Display + std::error::Error trait 実装 - PluginHost::with_core_from_registry() skeleton - Phase 93 で実装予定(todo!() でプレースホルダー) - initialize_runtime() 接続ポイント決定 - Ring0Context と UnifiedBoxRegistry を橋渡し **Phase 87 整合性**: - required_ids() が is_core_required() と完全一致 - テストで整合性を検証 **テスト結果**: - 3件追加(全て合格) - test_required_ids_consistency - test_core_init_error_display - test_with_core_from_registry_todo (should_panic) - ビルド成功 - 既存テストに影響なし **ドキュメント更新**: - Section 9 追加(113行) - ensure_initialized() 呼び出し場所決定(4箇所) - Phase 93 実装計画明記 **次のステップ**: Phase 93 (with_core_from_registry 実装 & 起動パス統合) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -42,6 +42,7 @@ pub use box_registry::{get_global_registry, BoxFactoryRegistry, BoxProvider};
|
||||
pub use core_box_ids::{CoreBoxCategory, CoreBoxId, CoreMethodId}; // Phase 87: 型安全enum
|
||||
pub use plugin_config::PluginConfig;
|
||||
pub use ring0::{get_global_ring0, init_global_ring0, Ring0Context}; // Phase 88: Ring0 公開 API
|
||||
pub use plugin_host::CoreInitError; // Phase 92: CoreServices 初期化エラー
|
||||
pub use plugin_loader_unified::{
|
||||
get_global_plugin_host, init_global_plugin_host, MethodHandle, PluginBoxType, PluginHost,
|
||||
PluginLibraryHandle,
|
||||
@ -57,3 +58,19 @@ pub use unified_registry::{
|
||||
// pub use plugin_box::PluginBox; // legacy
|
||||
// Use unified plugin loader (formerly v2)
|
||||
// pub use plugin_loader::{PluginLoaderV2 as PluginLoader, get_global_loader_v2 as get_global_loader}; // legacy
|
||||
|
||||
/// Runtime 初期化(Phase 92: 接続ポイント決定)
|
||||
///
|
||||
/// Phase 93 で実装予定の接続ポイント。
|
||||
/// Phase 92 では skeleton のみ(todo!() を呼ぶ)。
|
||||
#[allow(dead_code)]
|
||||
pub fn initialize_runtime(ring0: std::sync::Arc<Ring0Context>) -> Result<plugin_host::PluginHost, CoreInitError> {
|
||||
use crate::box_factory::UnifiedBoxRegistry;
|
||||
|
||||
let registry = UnifiedBoxRegistry::new();
|
||||
|
||||
// Phase 92: 接続ポイント決定(実装は Phase 93)
|
||||
let plugin_host = plugin_host::PluginHost::with_core_from_registry(ring0, ®istry)?;
|
||||
|
||||
Ok(plugin_host)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user