40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
# Phase‑20.27 — PLAN
|
||
|
||
## Tracks
|
||
|
||
1) 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(安定メッセージ)
|
||
|
||
2) 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(境界/負例含む)
|
||
|
||
3) 委譲の収束(hakorune‑vm → Core)
|
||
- 1:1 対応のハンドラは Core へ再委譲(残りは TODO ラベルを付与)
|
||
- HostSlot/Extern の SSOT 準拠(呼名と arity の正規化)
|
||
|
||
4) 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 で固定
|
||
|