1.7 KiB
1.7 KiB
Phase‑20.27 — PLAN
Tracks
- mir_call 完全化(Core)
- ModuleFunction 受理(String/Array/Map 代表 + SSOT名の別名統一)
- Method 受理(receiver→第1引数の正規化を統一)
- Constructor 受理(new Box → birth/0 or host slot init; Fail‑Fast方針を固定)
- Closure は v0 で Fail‑Fast(安定メッセージ)
- Box 基本意味論(Core 実装の安定化)
- Array: size/get/set/push/pop/clear の正/負(OOB/型不一致)
- Map: size/get/set/has/delete/keys/values(欠落/型不一致)
- String: length/indexOf/lastIndexOf/substring/charAt/replace(境界/負例含む)
- 委譲の収束(hakorune‑vm → Core)
- 1:1 対応のハンドラは Core へ再委譲(残りは TODO ラベルを付与)
- HostSlot/Extern の SSOT 準拠(呼名と arity の正規化)
- Gate‑C(JSON→Core) の回帰拡張
- file/pipe×plugins ON/OFF の対称性カナリアを追加
- rc 伝搬のテーブル化(数値/文字列の代表)
Milestones
- M1: mir_call ModuleFunction/Method 実装 + String/Array 正例 PASS
- M2: Array/Map の負例(OOB/型)タグ安定 + Gate‑C 対称カナリア PASS
- M3: hakorune‑vm の代表ハンドラを Core へ再委譲(diff 小)
- M4: quick(opt‑in)で Core canaries 10本以上 緑、ドキュメント更新
ENV/Flags(開発用)
SMOKES_ENABLE_CORE_CANARY=1(Core canaries 有効)HAKO_CORE_MAX_ITERS(Dispatcher ループ上限。既定 10000)HAKO_GATE_C_CORE=1(Gate‑C→Core 直行)
Risks / Mitigations
- 並列テストでのフォーク増幅 → RunnerPlan から子依存を撤退(ExecuteBoxes はローカル決定済)
- タグの揺れ → 安定タグ表を docs に明記/canary で固定