5.1 KiB
5.1 KiB
| title | state | created_at | updated_at | assignee | queued_by | queued_at |
|---|---|---|---|---|---|---|
| pod crateをworker crateへ改名する | queued | 2026-06-25T13:42:37Z | 2026-06-25T14:13:35Z | null | workspace-panel | 2026-06-25T14:13:35Z |
背景
Yoi は旧 Pod 相当の実行単位を今後 Worker として扱い、Runtime が複数 Worker を保持・操作する構造へ移行する。既存の crates/pod は、現在の yoi pod process / Unix socket / session persistence / tool registry / workflow / llm-engine turn execution host を束ねる実行単位の本体であり、実質的には「single Worker host」である。
llm-worker は llm-engine に改名して LLM turn engine から Worker 名を空ける。その後、pod crate を rewrite ではなく rename として worker crate に寄せる。大規模な責務移動はこの Ticket では行わず、名前と公開 API を今後の Runtime/Worker model に合わせる。pod-store / pod-registry 相当の責務は、この rename Ticket では直接扱わず、後続の worker-runtime 作成時に Runtime 内部 persistence / allocation module として吸収する。
目的
- 旧
Pod実行単位をWorkerとして命名し直す。 worker-runtime導入前に、Workerが実行単位、llm-engineが turn engine、Runtimeが Worker を動かす環境、という命名を揃える。- 既存
podcrate の実装は基本 rewrite せず、rename / import path / type name / docs / tests を整理する。 - 後続の
worker-runtimecrate がworkercrate を single Worker host として扱える状態にする。
要件
Crate / package rename
crates/podをcrates/workerに rename する。- Cargo package name を
podからworkerに変更する。 - Rust import path を
podからworkerに変更する。 - Workspace
Cargo.toml、crate dependencies、tests、docs、Nix packaging references を更新する。 - 旧 crate name / import path の compatibility alias は作らない。
Type / module rename
- Public type / module / doc comment の
Podterminology を Worker terminology に更新する。Pod->Worker。PodConfig/PodController/PodState/PodEvent相当があれば Worker terminology に寄せる。pod_nameはworker_nameまたはworker_id相当へ寄せる。
- ただし、既存 socket protocol / session file / on-disk compatibility の詳細に残る
pod文字列については、後続 Runtime 移行で消すべき legacy detail として明示的に扱う。 llm-engine内部のEngineと、実行単位としてのworker::Workerが名前上衝突しないようにする。
CLI / process surface
- 現在の
yoi podCLI surface をどう rename するかを実装時に決める。 - 後方互換は設けなくてよいが、dogfooding runtime / spawn path / scripts / tests への影響を明示的に処理する。
- Low-level process launch path は、後続の
worker-runtimeでは compatibility / process-backed Worker host として扱えるようにする。
Responsibility boundary
- この Ticket は rename が主目的であり、大規模な responsibility rewrite はしない。
workercrate は当面 single Worker host として以下を保持する。- input handling
llm-engineintegration- event emission
- session / transcript compatibility
- tool registry / workflow integration
- legacy socket compatibility
- Runtime に属する責務は後続 Ticket へ残す。
- 複数 Worker 管理
- embedded / networked Runtime API
- worker store / allocation integration
- remote runtime support
pod-store/pod-registryの standalone rename は行わず、後続worker-runtime作成時に直接内部 module へ吸収する。
Non-goals
worker-runtimecrate の実装。- Backend internal Companion Web Console の実装。
pod-store/pod-registryのworker-store/worker-registryへの中間 rename。- Runtime 内部 persistence / allocation module の完成。
- Existing process/socket/session model の完全削除。
llm-enginerename の実装。- Provider request / tool-call loop / history semantics の変更。
受け入れ条件
crates/workerが存在し、crates/podは残っていない。- Cargo package name and Rust import path are
worker. - Public execution-unit type is
worker::Worker, notpod::Pod. - Repository-wide active references to
podcrate /pod::import /crates/podare gone except intentionally documented legacy context. - Dependent crates compile against
workercrate. llm-engine::Engineとworker::Workerの責務境界が code/docs/comments 上で明確になっている。- Existing process/socket/session compatibility path still works or is explicitly updated without old-name alias.
pod-store/pod-registryare not renamed to standaloneworker-store/worker-registryin this Ticket.cargo test -p workerpasses.cargo test -p yoior relevant CLI tests covering process launch pass.cargo check -p yoipasses.git diff --checkpasses.nix build .#yoi --no-linkpasses.