11 KiB
11 KiB
作成
LocalTicketBackend によって作成されました。
Intake summary
Marked ready by yoi ticket state.
State changed
Marked ready by yoi ticket state.
State changed
Ticket を workspace-panel が queued にしました。
Decision
Routing decision: implementation_ready
Reason:
- Dashboard Queue により人間が Orchestrator routing を許可した queued Ticket として確認した。
- outgoing
depends_onは00001KVZD10EDで、00001KVZD10EDは done / merged / reviewed / validated 済み。TicketShowderived blockers は空で、implementation acceptance blocker は残っていない。 - incoming dependent
00001KVZBCQH4は後続 worker-runtime creation であり、この Ticket の acceptance blocker ではない。 - Ticket body は
crates/pod->crates/workercrate/package/import rename、public execution-unit API rename、CLI/process surface update、non-goals、validation を具体的に列挙している。 - bounded context check で current active references to
crates/pod,pod::, packagepod,yoi podprocess entrypoint, tests/docs/Nix を確認した。変更量は大きいが mechanical rename + bounded public surface alignment として進められる。 - CLI/process surface は risk だが、Ticket は backward compatibility alias 不要、dogfooding runtime/spawn path/scripts/tests 影響を明示処理することを要求している。設計未決定というより implementation slice 内の bounded choice と判断する。
Evidence checked:
- Ticket body / thread:
item.md,thread.md。thread は create、planning->ready、ready->queued のみで未解決 blocker は記録されていない。 - Relations / orchestration plan: outgoing depends_on
00001KVZD10EDis done; incoming dependent00001KVZBCQH4; routing 前 plan 0 件。accepted planorch-plan-20260625-141406-1を記録済み。 - Code context:
git grepでcrates/pod,pod::, package/dependencypod,yoi pod,Podpublic API refs を確認。 - Workspace state:
/home/hare/Projects/yoi/.worktree/orchestrationは clean。queued Ticket はこの 1 件、inprogress Ticket は 0 件。
IntentPacket:
Intent:
- 現在の single execution-unit host crate
podをworkerに rename し、実行単位としてのworker::Workerと LLM turn enginellm_engine::Engineの命名境界を揃える。
Binding decisions / invariants:
- This is a rename / API terminology alignment Ticket, not a responsibility rewrite.
workercrate remains the current single Worker host: input handling, llm-engine integration, event emission, session/transcript compatibility, tool registry, workflow integration, legacy socket compatibility.- Do not implement
worker-runtimecrate or multi-worker Runtime API. - Do not standalone-rename
pod-store/pod-registrytoworker-store/worker-registryin this Ticket. - Do not change provider request/tool-call/history semantics.
- Do not create
podcrate/import compatibility alias. - Existing on-disk/socket/session compatibility may retain legacy
podstrings only where explicitly legacy/internal and documented.
Requirements / acceptance criteria:
crates/workerexists;crates/poddoes not remain.- Cargo package/import path are
worker. - Public execution-unit type is
worker::Worker, notpod::Pod. - Active repository references to
podcrate /pod::import /crates/podare gone except intentional legacy context. - Dependent crates compile against
workercrate. llm_engine::Enginevsworker::Workerboundary is clear in 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 as standalone crates.- Validation target includes
cargo test -p worker,cargo test -p yoior relevant CLI tests,cargo check -p yoi,git diff --check,nix build .#yoi --no-link.
Implementation latitude:
- Exact CLI command spelling may be updated according to Ticket requirement, but no backward alias should be added unless a hard blocker appears. If command migration threatens current runtime dogfooding assumptions, escalate.
- Internal legacy file/socket/session names may remain only when required for compatibility and must be clearly legacy/internal, not active API guidance.
- Type/module rename can be staged mechanically; prioritize compile/test correctness and grep evidence.
Escalate if:
- Rename requires broad runtime architecture rewrite or worker-runtime implementation.
- Current process launch/spawn mechanics cannot work without a compatibility
podcommand/alias. pod-store/pod-registrymust be renamed for compile correctness.- Session/socket/on-disk migration would be required beyond explicit legacy compatibility labels.
- Behavior changes unrelated to naming are needed.
Validation:
cargo test -p workercargo test -p yoior focused process/CLI testscargo check -p yoigit diff --checknix build .#yoi --no-link- grep evidence for stale active references.
Current code map:
- Primary:
crates/pod, workspaceCargo.toml, dependent crates (crates/yoi,crates/tui, workspace-server/client as discovered), tests/docs/resources,Cargo.lock,package.nix. - Avoid:
pod-store/pod-registrystandalone rename, worker-runtime implementation, root/original workspace operations.
Critical risks / reviewer focus:
- stale active
podcrate/import/directory references. - hidden compatibility alias.
- breaking runtime process launch / spawn command path.
- accidentally renaming persistence crates out of scope.
- behavior changes mixed into mechanical rename.
- confusion between
llm_engine::Engineandworker::Workerresponsibilities.
Next action:
queued -> inprogressを記録してから worktree-workflow で/home/hare/Projects/yoi/.worktree/00001KVZG9BMS-worker-crate-renameを作成し、multi-agent-workflow で Coder/Reviewer sibling loop に進める。
State changed
Orchestrator acceptance: queued -> inprogress
- 直前確認で
TicketShowは statequeued、derived blockers は空。 - outgoing dependency
00001KVZD10EDは done / merged / reviewed / validated 済み。 - accepted plan
orch-plan-20260625-141406-1を確認した。 - routing decision と IntentPacket は Ticket thread に記録済み。
- これ以降に worktree-workflow で
/home/hare/Projects/yoi/.worktree/00001KVZG9BMS-worker-crate-renameを作成し、multi-agent-workflow に接続する。
Implementation report
Implementation orchestration update:
- prerequisite
00001KVZD10EDが done であることを確認し、00001KVZG9BMSを受理した。 - worktree-workflow に従い、implementation worktree
/home/hare/Projects/yoi/.worktree/00001KVZG9BMS-worker-crate-renameと branchwork/00001KVZG9BMS-worker-crate-renameを作成した。 - child worktree では tracked
.yoiproject records を見える状態にし、.yoi/memory、local/runtime/log/lock/secret-like.yoipaths を sparse-checkout で除外する方針にした。 - Coder Pod
yoi-coder-00001KVZG9BMS-worker-renameを sibling として起動した。write scope は child worktree に限定し、runtime workspace root/home/hare/Projects/yoiは startup 要件を満たすため non-recursive read のみにした。 - Coder には root/original workspace と orchestration worktree で read/write/validation/git operation を行わないよう明示した。
Implementation report
Implementation report:
実装概要:
crates/podをcrates/workerへ改名。- Cargo package/import path を
podからworkerへ更新。 worker::Worker,WorkerConfig,WorkerState,WorkerEvent,WorkerClient,WorkerRuntimeCommandなど Worker 用語へ更新。
- Cargo package/import path を
- CLI/process surface を
yoi podからyoi workerへ変更。- 後方互換の
yoi podalias は追加していません。
- 後方互換の
llm_engine::Engineとworker::Workerの境界を明確化。- 既存 manifest の turn-engine 側設定は
engine用語へ寄せ、Worker host 側設定と分離しました。
- 既存 manifest の turn-engine 側設定は
pod-store/pod-registryは crate/package としては改名していません。- ただし Worker API と整合するよう、関連する型・呼び出し側は Worker 用語へ更新。
- 既存互換・内部文脈として、legacy on-disk metadata directory
podsなどは残しています。
- resources/prompts、profiles、docs、Nix、Cargo workspace、Cargo.lock を更新。
package.nixのcargoHashを更新。
主な変更ファイル:
crates/pod/**→crates/worker/**crates/client/src/pod_client.rs→crates/client/src/worker_client.rscrates/tui/src/pod_list.rs→crates/tui/src/worker_list.rscrates/yoi/src/pod_cleanup_cli.rs→crates/yoi/src/worker_cleanup_cli.rsresources/prompts/pod/**→resources/prompts/worker/**resources/prompts/common/pod-orchestration.md→resources/prompts/common/worker-orchestration.mddocs/design/pod-session-state.md→docs/design/worker-session-state.mdCargo.toml,Cargo.lock,package.nix- dependent crates:
protocol,manifest,tui,client,workspace-server,yoi, docs/resources
Validation:
cargo test -p worker: successcargo test -p yoi: successcargo check -p yoi: successgit diff --check: successnix build .#yoi --no-link: success
Grep evidence:
crates/podrefs: intentionalpod-store/pod-registrypath を除きなしpod::refs: なし- package/import
podrefs: intentionalpod-store/pod-registrydependencies を除きなし - old public
Pod*execution-unit type refs: intentional exclusions を除きなし - active CLI refs:
yoi pod: なし"pod" =>: なし--pod: なしPOD_OPTIONS: なしparse_pod: なしpod_name: intentional exclusions を除きなし
残っている lower-case pod は主に以下の intentional legacy/internal context:
- crate/package name として残す指定のある
pod-store - crate/package name として残す指定のある
pod-registry - legacy on-disk metadata directory
pods - related comments/tests describing those legacy/internal boundaries
Commit:
6c59fe927b8094f735651ef0e18fad5e8b62ea83 refactor: rename pod crate to worker
Residual risks / notes:
pod-store/pod-registrycrate 名は Ticket invariant に従って残しています。そのため grep 上の lower-casepodは完全にはゼロになりません。- legacy on-disk directory
podsは既存 metadata/session compatibility のため維持しました。 - merge / close / cleanup は実施していません。