Files
hakorune/docs/private/roadmap/phases/phase-20.17/TASKS.md

2.9 KiB
Raw Blame History

Phase 20.17 — Tasks & Checklist

Core tasksselfhosting 優先。Optional/Bang のコード実装は 20.18 に延期)

  • MIR(JSON v0) schema doc finalized and referenced by smokes
  • GateC(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 coveragerangeを固定一部追加予定あり
  • Core mir_call: Map delete/clearmetadata + negative smokes; len consistency
  • Core ModuleFunction: interpreterinlineStringHelpers.*)と 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: selfbuild with artifact parity (hash/canonical)
  • Optional: Stage 2 → Stage 3 (timeboxed confidence)
  • Minimal selfhost (emit→parse→execute) quick optin canary PASSCore直行
  • 子 emitonly → parent firstline 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 formsv0互換

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を明記
  • GateC(Core) routing doc linked from INDEX (JSON→preflight→Interpreter)
  • Exit code rounding note (0255) in VM README crossreferenced from testing guide
  • Optional/Null Semanticsdocs/development/architecture/optional-semantics.mdに従い、language reference に補足
  • GateC(Core) routing doc: Helpers/quiet/rc記述を更新
  • INDEX から GateC/Core と VM README へ導線追加

Recent progress (Phase 20.1620.17 bridge)

  • GateC(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: GateC 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