1.7 KiB
1.7 KiB
Phase 20.25 — 実装計画(MVP)
1) Plugins 集約(Boxes→Plugins)
- 代表 extern をプラグイン経由で解決(動的/静的)
- String: length(indexOf/lastIndexOf/substring)
- Array: size/push/pop/get/set/clear
- Map: len(get/set/delete) + keys/values
- Gate‑C(Core):
HAKO_GATE_C_ENABLE_PLUGINS=1で opt‑in 実行 - スモーク(opt‑in)追加:Gate‑C(Core)+plugins の file/pipe 対称性・RC の整合
2) 正規化の恒久化(Router/Verifier)
- 既存: runner/normalize に一本化(済)
- 追加: builder/verification に段階導入(既定OFF)
- 入口:
mir/builder/normalize/とmir/verification/core_extern.rsに opt‑in path - SSOT:
mir/call_core_extern.rsormir/externs/registry.rsを唯一のマッピング源へ
- 入口:
3) CLI トグルの実効化(既定不変)
- --boxes/--vm-backend/--builder を Runner に配線(env 化済 → 実分岐適用)
- スモーク: トグル指定時にのみスイッチされることを確認(デフォルトは不変)
4) 付随ドキュメント
- externs_registry(SSOT)の更新:
nyrt.box.*の代表リストとエラータグ - Gate‑C/Core route の運用(rc/タグ整合、timeouts)
スケジュール(目安)
- Week 1: Plugins 集約(代表)+ opt‑in スモーク緑
- Week 2: Router/Verifier 恒久化(段階導入)+ CLI トグル実効化
リスクと対策
- リスク: 名称の揺らぎによるミスマッチ
- 対策: extern_adapter 側で
nyrt.box.*→nyrt.*、size↔length/len↔sizeを吸収(済)
- 対策: extern_adapter 側で
- リスク: 既定挙動変更
- 対策: すべて opt‑in。既定は不変。Fail‑Fast を維持。