B4: Windows via a WSL2 worker and Docker backend (blocked on D2/O5)

オープン
#553 コメント 2 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@yifanxuaaa がすでに取り組んでいます。

2026年11月9日 から。

評価

この issue はまだ評価されていません。

説明

new feature

Parent: #545 (index). This issue owns the B4 Windows / WSL2 slice and is blocked on D2 (Windows/WSL2, #527) and #533 O5.

Summary

#545 B4 is 0/4 done, 1/4 partial and 2/4 N/A. The contract is clear — a WSL2 worker plus a Docker backend, no new daemon protocol, the machine record decides subsequent calls, and WSL2 is a machine + backend rather than a new isolation class — but the implementation must not start before D2 fixes the Windows route and #533 O5.

This issue records the contract and the acceptance so the slice can start the day D2 closes; it does not implement anything before then.

Scope (from #545 B4)

  • start with a WSL2 worker + Docker backend. (B4-214)
  • add no new daemon protocol. (B4-215; N/A until implementation)
  • the machine record decides subsequent calls. (B4-216; the principle already holds in #529/#536, the WSL2 proof does not)
  • WSL2 is a machine + backend (native / namespaces or docker), not a new isolation class. (B4-217; N/A until implementation)

Contract

  • A WSL2 worker is a normal machine worker; the control plane reaches it the same way it reaches an ssh host.
  • The backend inside WSL2 is docker (or native / namespaces); Windows is not an isolation class and never becomes a Machine.kind vendor enum.
  • The machine record carries the WSL2 route; every subsequent call is decided by the record, not by a platform branch.
  • No new daemon protocol and no per-platform forked protocol.
  • The same workspace.exec semantics hold on WSL2 as on native Linux / Docker.

Blocked on

  • D2 / #527: the Windows decision.
  • #533 O5: the isolation model that says WSL2 is a machine + backend.
  • Until then: do not write the adapter; keep the contract and the tests as a design record.

Acceptance (after D2)

  • machine.create / machine.start starts a WSL2 worker and a Docker backend.
  • The machine record decides every subsequent call; no new daemon protocol is introduced.
  • The same workspace.exec call matrix passes on WSL2, native Linux and Docker.
  • doctor reports WSL2 availability through the declared backend capability, not a Windows-specific branch.
  • WSL2 appears as isolation_class: container (or process for native), never as a new kind.

Non-goals

  • The Windows-native transparent Workspace proposal (#454) is a different layer.
  • Provider adapters are the B7 issue.

Related

  • Parent index: #545
  • B0 contract: #551
  • B5 lifecycle: #548
  • B6 scratch: #549
  • B9 worker health: #550
  • StoragePlacement guard: #552
  • B4 WSL2: #553
  • B7 cloud/provider: #554
  • Step runtime: #555
  • #547 is the daemon-admission follow-up: a different custody layer, not this sub-issue.
主要言語
Rust
スター
2.1k
フォーク
110
平均マージ
23時間 52分
マージ済み PR(30日)
138

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Ephemeral-AI-Lab/layerfs のほかの issue

Ephemeral-AI-Lab/layerfs の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。