8.2 KiB
作成
LocalTicketBackend によって作成されました。
Decision
調査結果:
crates/podは現 workspace には存在しない。Cargo.tomlworkspace members / workspace dependencies にもcrates/pod/pod = ...はない。したがって「pod crate を消す」作業は既に過去の移行で遂行済みで、この Ticket では不在確認と再導入防止を扱う。- 残っている旧 Pod 関連 crate は
crates/pod-registryとcrates/pod-store。 - これらが残っている理由は、旧 Pod UI crate ではなく、現
worker/tui/yoiの内部がまだ旧 store / registry を使っているため。
現時点の直接依存:
crates/worker/Cargo.tomlpod-store = { workspace = true }pod-registry = { workspace = true }
crates/tui/Cargo.tomlpod-store = { workspace = true }pod-registry = { workspace = true }
crates/yoi/Cargo.tomlpod-store = { workspace = true }
主な残存理由:
-
workercrate の Spawn/Stop/peer discovery/delegated scope 経路がpod-registryを使っている。worker/src/spawn/tool.rs:delegate_scope,release_worker,default_registry_path,LockFileGuard。worker/src/spawn/registry.rs: delegated scope reclaim / release。worker/src/worker.rs: top-level install / adopt allocation / segment update / reclaim。worker/src/discovery.rs: segment lookup / peer discovery。 これは旧 child Pod/Worker process orchestration の実行時 authority が残っているため。
-
workercrate の metadata/session persistence がpod-storeを generic Worker store として使い続けている。worker/src/entrypoint.rs:FsWorkerStore,CombinedStore。worker/src/runtime_adapter.rs:FsWorkerStore,CombinedStore,pod_store_dir。worker/src/controller.rs,worker/src/worker.rs,worker/src/ticket_event_notify.rs, tests。 これは名前は Pod だが、WorkerMetadataStore/WorkerMetadata/FsWorkerStoreが現 Worker 実行にも必要な metadata/session store として残っているため。削除前に Worker/Runtime store 境界へ move/rename が必要。
-
tuicrate が旧 local Worker inventory / picker / dashboard でpod-store/pod-registryを読んでいる。tui/src/picker.rstui/src/worker_list.rstui/src/dashboard/mod.rscurrent Runtime API / Backend Worker list へ置換するか、旧 TUI inventory を削除する必要がある。
-
yoiCLI の session / worker cleanup がpod-storeを読んでいる。yoi/src/session_cli.rsyoi/src/worker_cleanup_cli.rs旧 metadata cleanup / referenced session discovery 用。Runtime/worker-runtime store へ置換するか、旧 cleanup CLI を削除する必要がある。
結論:
crates/podが残っているわけではない。既に消えている。pod-registryは旧 process/delegation/segment/socket 系 authority としてworkerと TUI に残っている。pod-storeは旧名のまま generic Worker metadata/session store としてworker、TUI、CLI に残っている。- 削除作業は「pod crate の削除」ではなく、
pod-registryの旧 orchestration authority 削除と、pod-storeの必要部分を Worker/Runtime store に移管して crate を消す作業になる。
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:
Workspace Dashboard Queue authorized Orchestrator routing, so the Ticket and current workspace state were inspected.
Findings:
- Ticket state:
queued - Outgoing dependency:
depends_on 00001KW7726H9 - Blocking Ticket
00001KW7726H9is currentlyinprogress. - Current inprogress Tickets:
00001KW7726H9 - Orchestration worktree: clean
Decision:
- Leave
00001KW7835H0queued and do not create a child worktree / role Pod yet. - Reason:
pod-registry/pod-storeremoval must follow the canonical Runtime Worker creation authority decision and implementation in00001KW7726H9. Starting both in parallel would risk deleting/moving store/registry paths while the canonical Worker creation API is still being shaped.
Next routing condition:
- Re-evaluate this Ticket after
00001KW7726H9is merged, validated, and closed, or after an explicit replan changes the dependency.
Decision
Routing decision:
The previously blocking dependency 00001KW7726H9 is now merged, validated, closed, and cleaned up. Related fs-store persistence Ticket 00001KW76E8EG is also merged, validated, closed, and cleaned up. Current workspace state was inspected before implementation side effects.
Findings:
- Ticket state:
queued - Blocking dependency:
00001KW7726H9is closed. - Related persistence Ticket:
00001KW76E8EGis closed. - Current
inprogressTickets: 0 - Orchestration worktree: clean
Decision:
- Accept this Ticket for implementation and transition
queued -> inprogressbefore child worktree / Pod side effects.
Plan:
- Worktree:
/home/hare/Projects/yoi/.worktree/00001KW7835H0-old-pod-crate-cleanup - Branch:
work/00001KW7835H0-old-pod-crate-cleanup - Coder Worker will remove old
pod-registry/pod-storecrates and migrate any remaining authority/persistence responsibilities to Worker/Runtime/session-store boundaries. - Reviewer Worker will verify crate removal, dependency graph cleanup, Runtime authority invariants, stale compatibility avoidance, Browser/UI/CLI/prompt/test wording, and validation evidence.
Operational note:
- User instructed not to use
StopPodfor now after repeated stop/hang symptoms. Cleanup will skip role-Pod shutdown and remove only child worktree/branch unless explicitly reauthorized.
State changed
Dependencies are closed, no Ticket is currently inprogress, and the orchestration worktree is clean. Accepting implementation before child worktree / role Pod side effects.
Implementation report
Implementation kickoff:
- Worktree created:
/home/hare/Projects/yoi/.worktree/00001KW7835H0-old-pod-crate-cleanup - Branch:
work/00001KW7835H0-old-pod-crate-cleanup - Coder Worker spawned:
yoi-coder-00001KW7835H0-pod-cleanup
Scope notes:
- Coder write scope covers the old crate directories
crates/pod-registry,crates/pod-store, affected active crates (crates/worker,crates/tui,crates/yoi,crates/worker-runtime,crates/session-store,crates/manifest), prompt/profile/web workspace paths, and root Cargo/package files. crates/podis already absent; Coder is instructed to verify absence and prevent reintroduction.- Coder is instructed not to modify Ticket records and not to operate in root/orchestration worktrees.
Implementation focus:
- remove
crates/pod-registryandcrates/pod-storefrom workspace - migrate/rename any remaining Worker metadata/session persistence to Worker/Runtime/session-store boundaries without active Pod authority naming
- remove old pod-registry path APIs and old Pod metadata inventory/cleanup dependencies from worker/tui/yoi where active
- ensure Runtime Worker identity / creation / persistence remains
worker-runtimefs-store + execution backend mapping authority - do not use old Pod registry/store/socket/name as active authority
- keep historical docs only if clearly historical
- validate dependency graph and run targeted tests/checks