2.9 KiB
2.9 KiB
Phase 20.17 — Tasks & Checklist
Core tasks(self‑hosting 優先。Optional/Bang のコード実装は 20.18 に延期)
- MIR(JSON v0) schema doc finalized and referenced by smokes
- Gate‑C(Core) exit semantics symmetric (file/pipe) with stable tags
- Front EXE contracts (OK/NOOP/FAIL) finalized; strict unknown keys behavior documented
- Core mir_call: String methods (size/indexOf/lastIndexOf/substring) negative coverage(range)を固定(一部追加予定あり)
- Core mir_call: Map delete/clear(metadata) + negative smokes; len consistency
- Core ModuleFunction: interpreter‑inline(StringHelpers.*)と Core 実装の棲み分け整理
- Optional policy (MVP) は設計メモに留め、実装は 20.18 チケットへ(docs/architecture/optional-semantics.md に計画を残す)
Selfhost pipeline
- Stage 0 → Stage 1: compiler AOT build (smoke)
- Stage 1 → Stage 2: self‑build with artifact parity (hash/canonical)
- Optional: Stage 2 → Stage 3 (time‑boxed confidence)
- Minimal selfhost (emit→parse→execute) quick opt‑in canary PASS(Core直行)
- 子 emit‑only → parent first‑line JSON 捕捉のカナリア追加(curated 昇格)
Builder/VM parity
- Builder covers minimal instruction set required by selfhost subset
- Core VM mir_call supports Array/Map/Extern/Method/ModuleFunction minimal set
- Negative smokes for unsupported callee types with stable tags
- Reader covers unary/params/Constructor/Const nested forms(v0互換)
Docs
- Spec v1 (syntax subset + MIR semantics) published
- ABI(min) and stdlib nucleus documented
- TTL notes for Rust boundary diagnostics; removal plan recorded
- HKI ガイド: gate表 / env.* 警告計画(deprecate→warn→remove)を明記
- Gate‑C(Core) routing doc linked from INDEX (JSON→preflight→Interpreter)
- Exit code rounding note (0–255) in VM README cross‑referenced from testing guide
- Optional/Null Semantics(docs/development/architecture/optional-semantics.md)に従い、language reference に補足
- Gate‑C(Core) routing doc: Helpers/quiet/rc記述を更新
- INDEX から Gate‑C/Core と VM README へ導線追加
Recent progress (Phase 20.16–20.17 bridge)
- Gate‑C(Core) direct route stabilized (file/pipe): quiet numeric output; rc rounded; stable tags
- Core mir_call: Array/Map minimal ops + String(size/indexOf/lastIndexOf/substring)
- to_i64: tests adjusted to stdout+rc(9) when value>255; negatives tagged
- Legacy cleanup: selfhost compiler paths unified to lang/; prelude exclusion pattern fixed
Next actions (P0/P1)
- P0: Gate‑C symmetry smoke (file/pipe × plugins on/off) in one script
- P0: substring negative smokes (start>end, negative/large indices); document behavior
- P1: Map delete/clear minimal implementation (metadata) + len parity tests