89 lines
5.1 KiB
Markdown
89 lines
5.1 KiB
Markdown
---
|
|
title: 'pod crateをworker crateへ改名する'
|
|
state: 'ready'
|
|
created_at: '2026-06-25T13:42:37Z'
|
|
updated_at: '2026-06-25T14:08:22Z'
|
|
assignee: null
|
|
---
|
|
|
|
## 背景
|
|
|
|
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 を動かす環境、という命名を揃える。
|
|
- 既存 `pod` crate の実装は基本 rewrite せず、rename / import path / type name / docs / tests を整理する。
|
|
- 後続の `worker-runtime` crate が `worker` crate を 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 の `Pod` terminology を 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 pod` CLI 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 はしない。
|
|
- `worker` crate は当面 single Worker host として以下を保持する。
|
|
- input handling
|
|
- `llm-engine` integration
|
|
- 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-runtime` crate の実装。
|
|
- Backend internal Companion Web Console の実装。
|
|
- `pod-store` / `pod-registry` の `worker-store` / `worker-registry` への中間 rename。
|
|
- Runtime 内部 persistence / allocation module の完成。
|
|
- Existing process/socket/session model の完全削除。
|
|
- `llm-engine` rename の実装。
|
|
- 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`, not `pod::Pod`.
|
|
- Repository-wide active references to `pod` crate / `pod::` import / `crates/pod` are gone except intentionally documented legacy context.
|
|
- Dependent crates compile against `worker` crate.
|
|
- `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-registry` are not renamed to standalone `worker-store` / `worker-registry` in this Ticket.
|
|
- `cargo test -p worker` passes.
|
|
- `cargo test -p yoi` or relevant CLI tests covering process launch pass.
|
|
- `cargo check -p yoi` passes.
|
|
- `git diff --check` passes.
|
|
- `nix build .#yoi --no-link` passes.
|