B4: Windows via a WSL2 worker and Docker backend (blocked on D2/O5)
メンテナーはふだん 1 日以内に返信
@yifanxuaaa がすでに取り組んでいます。
2026年11月9日 から。
評価
この issue はまだ評価されていません。
説明
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
machinerecord decides subsequent calls. (B4-216; the principle already holds in #529/#536, the WSL2 proof does not) - WSL2 is a machine + backend (
native/ namespaces ordocker), 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(ornative/ namespaces); Windows is not an isolation class and never becomes aMachine.kindvendor enum. - The
machinerecord 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.execsemantics 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.startstarts a WSL2 worker and a Docker backend. - The
machinerecord decides every subsequent call; no new daemon protocol is introduced. - The same
workspace.execcall matrix passes on WSL2, native Linux and Docker. -
doctorreports WSL2 availability through the declared backend capability, not a Windows-specific branch. - WSL2 appears as
isolation_class: container(orprocessfornative), 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 を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Ephemeral-AI-Lab/layerfs のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Ephemeral-AI-Lab/layerfs#689 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Ephemeral-AI-Lab/layerfs#643 ·
メンテナーはふだん 1 日以内に返信
-
`branch.publish` accepts a stale base and overwrites `main` (lost update)対応中かも @mengmengmengqiang が今日担当しました。 オープンapi/calls bug core/history
Ephemeral-AI-Lab/layerfs#691 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 8/100
Ephemeral-AI-Lab/layerfs#684 · コメント 10 件 ·
メンテナーはふだん 1 日以内に返信
-
docs
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
Ephemeral-AI-Lab/layerfs#683 ·
メンテナーはふだん 1 日以内に返信
Ephemeral-AI-Lab/layerfs の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
pop-os/cosmic-settings#2296 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
jonathanong/no-mistakes#3431 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Eyevinn/open-live-ingest#36 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信