Files
hakorune/docs/private/roadmap/phases/phase-20.19/PLAN.md

1.5 KiB
Raw Blame History

Plan — Phase 20.19

タイムライン23週間

  • Week 1
    • P0: execute_via_bridge_b(file_path) 実装Runner/modes/common_util/exec.rs
    • GateC(Core) file/pipe カナリア追加BridgeB経由→ 緑化。
  • Week 2
    • Core: last_error_tag を Array/Map のFail系へ適用拡大print依存の撤退
    • Runner: BridgeB タグ合成フォールバックに TTL を付与し、削除計画を明記。
  • Week 3余裕
    • SSOT/Docs整備、CURRENT_TASK 更新、雑音撤去DBG/print

実装ポイント

  • exec.rs
    • fn execute_via_bridge_b(file_path: &str) -> Option
      • .json: read → try_lang_core_dispatch_json(&json)
      • .hako: selfhost pipelineemit JSON → try_lang_core_dispatch_json(&json)
    • 失敗時 None を返し、caller で従来経路にフォールバック。
  • pipe_io.rs
    • GateC(Core) file/pipe の分岐で execute_via_bridge_b を最初に試行。Some(last) の場合は rc/出力整形に進む。

テスト

  • BridgeB(file): .hako最小 → emit(JSON) → Core 実行rc/出力確認)
  • BridgeB(pipe): stdin JSON → Core 実行rc/出力確認)
  • Core: 代表Failarray set OOB / map set invalid / string indexOf bangで last_error_tag が戻りで観測できる

リスクと対策

  • 自己ホスト emit の負荷 → タイムアウト/並列数の上限をENVで管理HAKO_BRIDGE_B_TIMEOUT_MS, HAKO_SANDBOX_MAX_CHILDREN
  • 既存緑の回帰 → すべて optin で導入。既定挙動は変えない。