38 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 は実施していません。
Review: request changes
Review result: request_changes
読取専用で Ticket / IntentPacket、4c677640..HEAD diff、grep/nl による focused inspection を行いました。cargo/nix 系の再実行は read-only 指示と書込み副作用回避のため行っていません。
良い点:
crates/workerは存在し、crates/podは削除済み。- workspace/Cargo.lock 上の package/import は
workerに移行済みで、pod-store/pod-registryは standalone rename されていません。 - CLI は
yoi worker/--worker側へ移行しており、明示的なyoi podalias は見当たりませんでした。
Blockers:
-
生成済み Web protocol が旧 Pod protocol のまま。
web/workspace/src/lib/generated/protocol.tsが Rust 側のWorker*protocol と不整合です。- 例:
PodStatus,Greeting { pod_name: ... },PodEvent, methodpod_event,list_pods,restore_pod, eventspods_listed,pod_restoredなど。 crates/protocol/src/lib.rsはWorkerStatus/WorkerEvent/worker_name/worker_event等へ更新済みのため、Web/TS client 側が socket protocol とズレるリスクがあります。
-
public API に旧 Pod 名の enum variant が残存。
crates/client/src/spawn.rsのSpawnError::PodLaunchFailed { ... }。crates/client/src/lib.rsでSpawnErrorは public re-export されているため、Ticket の “Public execution-unit type/API terminology is Worker, not Pod” に反します。
-
model-facing prompts / workflows / active docs に旧 Pod guidance が残存。
resources/prompts/common/worker-orchestration.md: “Peer Pods ...”resources/workflows/ticket-orchestrator-routing.md: “Coder/Reviewer は sibling Pods ...”resources/prompts/role/intake.md,resources/prompts/role/orchestrator.md,resources/prompts/panel/orchestrator_idle_queue_notice.mdにも active orchestration guidance として “Pods” が残っています。docs/design/worker-session-state.mdにSendToPeerPodと記載されていますが、実装側はSendToPeerWorker。- これらは legacy/internal compatibility label ではなく current LLM/workflow guidance なので例外扱いできません。
-
active documentation に壊れた旧パス / 旧型名が残存。
crates/pod-store/README.mdに削除済みdocs/design/pod-session-state.mdへのリンク。KNOWN_ISSUES.mdにcrates/worker/src/pod.rs/Pod::ensure_segment_head等、存在しない path/type。
Required fixes:
web/workspace/src/lib/generated/protocol.tsを Rust protocol と一致させる。client::SpawnError::PodLaunchFailedをWorkerLaunchFailedに rename し、match/source mapping も更新する。resources/prompts/**/resources/workflows/**の active “Pod(s)” guidance を Worker terminology に更新する。SendToPeerPodなど実装と不一致な docs をSendToPeerWorkerに更新する。- 削除済み
docs/design/pod-session-state.mdへのリンク、存在しないcrates/worker/src/pod.rs/Pod::ensure_segment_head参照を修正する。 - 修正後、報告済み validation に加えて stale grep を再実施する。
Implementation report
Follow-up implementation report after review request_changes:
対応内容:
- Web generated protocol の Worker 用語追従
web/workspace/src/lib/generated/protocol.tsを Rust protocol から再生成。- 旧 Pod protocol 名を Worker に更新。
PodStatus→WorkerStatusGreeting { pod_name }→Greeting { worker_name }PodEvent→WorkerEventpod_event→worker_eventlist_pods→list_workersrestore_pod→restore_workerpods_listed→workers_listedpod_restored→worker_restored
- public API enum variant の修正
crates/client/src/spawn.rsSpawnError::PodLaunchFailed→SpawnError::WorkerLaunchFailed- public re-export される型なので、match / source mapping も更新。
- active model-facing guidance の Pod 表現修正
- 以下を Worker 用語へ更新。
resources/prompts/common/worker-orchestration.mdresources/workflows/ticket-orchestrator-routing.mdresources/prompts/role/intake.mdresources/prompts/role/orchestrator.mdresources/prompts/panel/orchestrator_idle_queue_notice.md
- stale docs/path/type の修正
docs/design/worker-session-state.mdSendToPeerPod→SendToPeerWorker
crates/pod-store/README.md- deleted path
docs/design/pod-session-state.md→docs/design/worker-session-state.md - crate 名は invariant に従い
pod-storeのまま、説明は legacy-named crate owning current Worker metadata と明記。
- deleted path
KNOWN_ISSUES.mdcrates/worker/src/pod.rs→crates/worker/src/worker.rsPod::ensure_segment_head→Worker::ensure_segment_headPodError::WorkflowResolve→WorkerError::WorkflowResolve
Validation:
cargo test -p worker: successcargo test -p yoi: successcargo check -p yoi: successcargo test -p protocol --features typescript: successcd web/workspace && deno task check: successgit diff --check: successnix build .#yoi --no-link: success
Stale grep evidence:
- review blocker terms were checked and found no matches:
PodStatus,PodEvent,pod_name,pod_event,list_pods,restore_pod,pods_listed,pod_restored,PodLaunchFailed,SendToPeerPod,sibling Pods,Peer Pods,yoi pod,--pod,crates/worker/src/pod.rs,Pod::ensure_segment_head,pod-session-state.md
- Strict stale grep was rerun; intentional
pod-store/pod-registrycrate names aside, active public Pod protocol/prompt/API reference remains absent.
Commit:
ebf50baa94f76bb000f70f63e133c7883729de5c fix: align worker rename followups
Residual risks / notes:
- なし。child worktree は commit 後 clean。
Review: request changes
Review result: request_changes
Follow-up を read-only で確認した。6c59fe92..HEAD の差分確認と blocker term grep を実施し、ビルド/テストは副作用回避のため再実行していない。
解消確認:
web/workspace/src/lib/generated/protocol.tsはWorkerStatus/worker_name/WorkerEvent/worker_event/list_workers/restore_worker/workers_listed/worker_restoredに更新済み。SpawnError::PodLaunchFailedはWorkerLaunchFailedに更新済み。- 主要 prompt/workflow の
Peer Pods/sibling Podsは一部修正済み。
Remaining blockers:
-
削除済み docs path がまだ残存。
crates/pod-registry/README.md:29../../docs/design/pod-session-state.mdへの link が残っている。対象 file はworker-session-state.mdに移行済みなので、壊れた active doc link。
-
旧 tool 名
SendToPeerPodが active code に残存。crates/session-analytics/src/lib.rs:1600- 実装側は
SendToPeerWorkerへ移行済みだが、analytics の分類にSendToPeerWorkerがなくSendToPeerPodだけ残っている。stale name であるだけでなく、現行 tool の分類漏れに見える。legacy log 対応で旧名を残すなら、SendToPeerWorkerを追加した上で legacy comment を付けるのが安全。
-
active docs/comments に旧 Pod guidance がまだ残存。
docs/development/work-items.md:250:Reviewer Pods should be sibling Pods...crates/protocol/src/lib.rs:80:List Pods visible to this Worker...AGENTS.md:19:Notify / PodEvent / ...- いずれも compatibility/internal on-disk
podsの説明ではなく、現在の active terminology / protocol guidance なので Worker terminology に寄せるべき。
Required verification after fix:
rg -n -S 'SendToPeerPod|pod-session-state\.md|sibling Pods|List Pods visible|PodEvent' \
AGENTS.md crates resources docs web/workspace/src/lib/generated/protocol.ts \
--glob '!target' --glob '!docs/report/**'
This grep should be empty or any remaining hit must be explicitly legacy/internal and justified.
Implementation report
Second follow-up implementation report after review request_changes:
対応内容:
- broken docs path 修正
crates/pod-registry/README.md../../docs/design/pod-session-state.md→../../docs/design/worker-session-state.mdpod-registryは invariant に従って crate 名を維持しつつ、本文では legacy-named crate と明記して Worker 用語へ更新。
- old tool name classification 修正
crates/session-analytics/src/lib.rs- current tool name
SendToPeerWorkerを worker tool classification に追加。 - historical session logs の分類維持のため、
SendToPeerPodはLEGACY_SEND_TO_PEER_POD_TOOLとして明示的な legacy analytics-only comment 付きで保持。
- current tool name
- active docs/comments の Pod guidance 修正
docs/development/work-items.mdReviewer Pods should be sibling Pods...→Reviewer Workers should be sibling Workers...
crates/protocol/src/lib.rsList Pods visible...→List Workers visible...
AGENTS.mdPodの状態→Workerの状態Notify / PodEvent / ...→Notify / WorkerEvent / ...
Validation:
cargo test -p session-analytics: successcargo test -p worker: successcargo test -p yoi: successcargo check -p yoi: successcargo test -p protocol --features typescript: successcd web/workspace && deno task check: successgit diff --check: successnix build .#yoi --no-link: success
Specified grep evidence:
crates/session-analytics/src/lib.rs:1595: const LEGACY_SEND_TO_PEER_POD_TOOL: &str = "SendToPeerPod";
- この 1 件のみ残存。
- historical session logs の分類維持のための analytics-only legacy tool name で、直下の classification branch にも legacy comment を付けている。
- active prompt/protocol/docs/API guidance の旧 Pod 参照ではない。
Commit:
94c7aa793a179b377108dea841fe9d381affbd9c fix: clean remaining worker rename references
Residual risks / notes:
- child worktree は commit 後 clean。
Review: request changes
Review result: request_changes
読取専用で 94c7aa79 を確認した。前回指摘分のうち、以下は解消済み。
crates/pod-registry/README.mdのworker-session-state.mdlink 更新。crates/protocol/src/lib.rsのList Workers...comment 更新。AGENTS.md/docs/development/work-items.md:250の前回 exact blocker 更新。SendToPeerPodはLEGACY_SEND_TO_PEER_POD_TOOLとして analytics-only legacy comment 付きで残り、現行SendToPeerWorker分類も追加済みなので、この残存は許容可能。
Remaining blockers:
-
active E2E helper に旧
--podCLI が残存。tests/e2e/src/lib.rs:1541config.command_argsがまだ"--pod"を渡している。yoi pod/--podalias を作らない方針なので、これは現行 CLI に対して壊れた active test/helper。--workerへ更新が必要。
-
active user-facing / developer-facing guidance に旧 Pod terminology が残存。 代表例:
crates/tui/src/dashboard/mod.rs:96—"no Tickets or Pods found ..."crates/tui/src/dashboard/mod.rs:2939—"spawning role Pods"crates/tui/src/dashboard/mod.rs:4951—"sibling coder/reviewer Pods"crates/tui/src/dashboard/tests.rs:837— 旧文字列期待crates/client/README.md:5— “talking to Pods”crates/manifest/src/config.rs:43— “spawned child Pods”docs/design/overview.md:14— “between clients and Pods”docs/development/workflows.md/docs/development/dogfooding.md/docs/development/work-items.mdにも current guidance としてのPodsが残存。
これらは pod-store / pod-registry crate 名や on-disk pods compatibility の説明ではなく、現在の実行単位・CLI・Dashboard guidance なので Worker terminology に寄せるべき。
Required verification after fixes:
rg -n -S --glob '!target' --glob '!docs/report/**' -- '--pod|yoi pod' .
rg -n -S --glob '!target' --glob '!docs/report/**' \
'sibling coder/reviewer Pods|role Pods|talking to Pods|between clients and Pods|Spawned Pods|child Pods|Pods found|Pod categories|Pod row' \
crates docs tests resources AGENTS.md README.md KNOWN_ISSUES.md
These should be empty or any remaining hit must be explicitly legacy/internal and justified.
Implementation report
Third follow-up implementation report after review request_changes:
対応内容:
- E2E helper の旧 CLI 引数修正
tests/e2e/src/lib.rs- rewind fixture の起動引数を
--podから--workerに変更。 - 関連 helper 名・フィールド・説明も
worker_names/worker_rows/ Worker row に更新。
- rewind fixture の起動引数を
tests/e2e/tests/panel.rs- 期待値・メッセージを Worker terminology に更新。
- Active user/developer guidance の Pod 表現修正
crates/tui/src/dashboard/mod.rsno Tickets or Pods found ...→no Tickets or Workers found ...spawning role Pods→spawning role Workerssibling coder/reviewer Pods→sibling coder/reviewer Workers
crates/tui/src/dashboard/tests.rs- 期待文字列を Worker に更新。
crates/client/README.mdtalking to Pods→talking to Workers
crates/manifest/src/config.rsspawned child Pods→spawned child Workers
docs/design/overview.mdbetween clients and Pods→between clients and Workers
docs/design/profiles-manifests-prompts.mdSpawned Pods→Spawned Workers
docs/development/dogfooding.mdchild Pods→child Workers
docs/development/workflows.mdSpawned Pods→Spawned Workers
Validation:
cargo test -p worker: successcargo test -p yoi: successcargo check -p yoi: successcargo test -p protocol --features typescript: successcargo check -p yoi-e2e: successcd web/workspace && deno task check: successgit diff --check: successnix build .#yoi --no-link: success
Notes:
cargo check -p e2eは package 名が存在しなかったため失敗し、正しい package 名yoi-e2eでcargo check -p yoi-e2eを実行して成功。
Specified grep evidence:
rg -n -S --glob '!target' --glob '!docs/report/**' -- '--pod|yoi pod' .: no matches.rg -n -S --glob '!target' --glob '!docs/report/**' 'sibling coder/reviewer Pods|role Pods|talking to Pods|between clients and Pods|Spawned Pods|child Pods|Pods found|Pod categories|Pod row' crates docs tests resources AGENTS.md README.md KNOWN_ISSUES.md: no matches.- Additional E2E stale grep for
pod_rows,pod_names,row.key.kind == "pod","--pod": no matches.
Commit:
da96d06f25932ff60fc00a3fc516a276a2847125 fix: remove stale pod guidance references
Residual risks / notes:
- child worktree は commit 後 clean。
Review: request changes
Review result: request_changes
読取専用で da96d06f を確認した。指定 grep は報告通り概ね解消しており、--pod / yoi pod、pod_rows / pod_names / row.key.kind == "pod" は見当たらなかった。
ただし、前回 blocker の「active user/developer-facing guidance に旧 Pod terminology が残存」に対して、まだ active docs/test diagnostics に旧名が残っている。
Remaining blockers:
docs/development/workflows.md20: ## Child Pods38: Child Pods may commit ...
docs/development/work-items.md27: Inside Pods ...32: Ticket tools inside Pods34: Pods with the Ticket built-in feature ...198: spawn coder/reviewer Pods ...229: coder Pods ...
tests/e2e/tests/panel.rs77: fixture blocks host Pod launch626: host/fixture runtime Pod marker ...
これらは pod-store / pod-registry crate 名や on-disk pods compatibility の説明ではなく、現在の Worker 実行単位・workflow guidance・test diagnostics なので、Ticket の Worker rename intent に合わせて Worker(s) へ更新が必要。
SendToPeerPod の analytics-only legacy constant は、現行 SendToPeerWorker 分類と明示 comment があるため許容。
Implementation report
Fourth follow-up implementation report after review request_changes:
対応内容:
- 指摘箇所の Worker terminology 更新
docs/development/workflows.md## Child Pods→## Child WorkersChild Pods may commit ...→Child Workers may commit ...
docs/development/work-items.mdInside Pods ...→Inside Workers ...Ticket tools inside Pods→Ticket tools inside WorkersPods with the Ticket built-in feature ...→Workers with the Ticket built-in feature ...spawn coder/reviewer Pods ...→spawn coder/reviewer Workers ...coder Pods ...→coder Workers ...
tests/e2e/tests/panel.rsfixture blocks host Pod launch→fixture blocks host Worker launchhost/fixture runtime Pod marker ...→host/fixture runtime Worker marker ...
- 追加で見つかった docs/tests の active Pod 表現も更新
docs/design/tool-permissions-scope.md:Child Pods→Child Workersdocs/design/compaction.md:long-running Pods→long-running Workersdocs/design/memory-knowledge.md:normal Pods→normal Workersdocs/design/plugin-packages.md:Restored Pods→Restored Workersdocs/development/environment.md:spawned Pods→spawned Workerstests/e2e/tests/rewind.rs:single-pod rewind fixture→single-worker rewind fixturetests/e2e/tests/panel.rs: active test helper/fixture naming and diagnostics updated to Worker terminology.
Validation:
cargo test -p worker: successcargo test -p yoi: successcargo check -p yoi: successcargo test -p protocol --features typescript: successcargo check -p yoi-e2e: successcd web/workspace && deno task check: successgit diff --check: successnix build .#yoi --no-link: success
Grep evidence:
rg -n -S --glob '!target' --glob '!docs/report/**' -- '--pod|yoi pod' .: no matches.rg -n -S --glob '!target' --glob '!docs/report/**' 'sibling coder/reviewer Pods|role Pods|talking to Pods|between clients and Pods|Spawned Pods|child Pods|Pods found|Pod categories|Pod row' crates docs tests resources AGENTS.md README.md KNOWN_ISSUES.md: no matches.rg -n -S 'Child Pods|Inside Pods|Ticket tools inside Pods|Pods with the Ticket built-in feature|spawn coder/reviewer Pods|coder Pods|host Pod launch|runtime Pod marker' docs/development/workflows.md docs/development/work-items.md tests/e2e/tests/panel.rs: no matches.rg -n -S '\bPod\b|\bPods\b' docs tests --glob '!target' --glob '!docs/report/**': no matches.
Commit:
cb0c52e7871849b9482c37ae63cacf4a2898da90 fix: update remaining active worker wording
Residual risks / notes:
- child worktree は commit 後 clean。
Review: request changes
Review result: request_changes
読取専用で cb0c52e7 を確認した。前回指摘した docs/development/workflows.md / docs/development/work-items.md / tests/e2e/tests/panel.rs の blocker は解消している。指定 grep も報告通り空だった。
ただし、Ticket の「public type / module / doc comment の Pod terminology を Worker terminology に更新」「active references は legacy context として明示」条件に対して、まだ active な旧 wording が残っている。
Remaining blockers:
-
crates/tui/src/picker.rs:49- user-facing error message:
list all host/data-dir Pods - 現在の CLI/UX surface では Worker を表示しているため
Workersへ更新が必要。
- user-facing error message:
-
crates/tools/README.md:5used by Pods- crate README の active architecture doc なので
Workersへ更新が必要。
-
crates/manifest/README.md:5used to create or restore PodsWorkerterminology に更新が必要。
-
crates/pod-store/Cargo.toml:3- description:
Durable Pod-name metadata/state persistence pod-storecrate 名を残すのは Ticket invariant 通りだが、metadata description は current Worker 実行単位に合わせるか、legacy-named ... Worker metadata/state persistenceのように legacy context を明示する必要がある。
- description:
補足:
SendToPeerPodの analytics-only legacy constant は、現行SendToPeerWorker分類と明示 comment があるため許容。YOI_POD_RUNTIME_COMMANDや on-diskpodscompatibility は、別途 legacy/process compatibility context として扱われているため今回の blocker にはしていない。
Implementation report
Fifth follow-up implementation report after review request_changes:
対応内容:
crates/tui/src/picker.rs- user-facing error message:
list all host/data-dir Pods→list all host/data-dir Workers
- user-facing error message:
crates/tools/README.mdused by Pods→used by Workers
crates/manifest/README.mdused to create or restore Pods→used to create or restore Workers
crates/pod-store/Cargo.toml- description:
Durable Pod-name metadata/state persistence→Legacy-named durable Worker metadata/state persistence - crate 名
pod-storeは invariant 通り維持。
- description:
Validation:
cargo fmt --all: successcargo check -p yoi: successcargo test -p yoi: successgit diff --check: success
今回の変更は README / Cargo description / user-facing string の小修正のみのため、重い検証は追加していない。
Grep evidence:
rg -n -S 'list all host/data-dir Pods|used by Pods|used to create or restore Pods|Durable Pod-name metadata/state persistence' crates docs tests --glob '!target' --glob '!docs/report/**': no matches.rg -n -S '\bPod\b|\bPods\b|\bpod-name\b|\bPod-name\b' crates docs tests --glob '!target' --glob '!docs/report/**': no matches.
Commit:
60dbd724c5496e80c7fe31a51f1425a7688e50ee fix: clean remaining worker wording
Residual risks / notes:
- child worktree は commit 後 clean。
Review: approve
Review result: approve
読取専用で 60dbd724 の follow-up diff と grep を確認した。追加の blocker は見つからなかった。
確認した点:
crates/tui/src/picker.rsの user-facing wording はWorkersに更新済み。crates/tools/README.md/crates/manifest/README.mdはWorkersterminology に更新済み。crates/pod-store/Cargo.tomldescription はLegacy-named durable Worker metadata/state persistenceとなり、crate 名を残す Ticket invariant と current Worker terminology の両方に整合。crates/workerは存在し、crates/podは不在。- workspace/Cargo 上の旧
podpackage/import は見当たらず、workercrate 参照になっている。 - 指定 blocker phrase grep は空。
- repo-wide の高リスク旧語 grep では、
SendToPeerPodはcrates/session-analyticsの analytics-only legacy constant のみで、現行SendToPeerWorker分類と明示 comment があるため許容範囲。 --pod/yoi pod/PodEvent/PodStatus/PodLaunchFailed/SpawnPod/pod-session-state.md等の active stale refs は見当たらなかった。
検証コマンド自体は read-only 方針のため再実行していないが、報告された validation 内容と今回の差分・grep 確認から、これまでの request_changes blockers は解消済みと判断する。
Decision
Routing decision: blocked_by_dependency_or_missing_authority
Reason:
- Dashboard 起点の
/ticket-orchestrator-routingで target Ticket は未指定だったため、queue 状態を再確認した。 TicketListではqueued0 件、ready0 件、inprogress1 件のみ。追加で受理すべき queued Ticket はない。- 唯一の active Ticket は本 Ticket
00001KVZG9BMS。実装 branch は reviewer approve 済みで、orchestration worktree には merge commit2a7e8775 merge: 00001KVZG9BMS worker crate renameがある。 - ただし Orchestrator 側の最終 validation 実行はユーザー割り込みで中断され、merge 後の Orchestrator validation / done 遷移 / child worktree cleanup の evidence はまだ Ticket に記録されていない。
- 今回の workflow invocation は「Dashboard opened... wait for explicit follow-up before spawning role Pods」という指示付きであり、この routing pass では新規 role Pod は spawn しない。
Evidence checked:
- Ticket body / thread: rename 要件、accepted IntentPacket、Coder implementation reports、Reviewer approve (
60dbd724follow-up) を確認。 - Relations: outgoing dependency
00001KVZD10ED、incoming dependent00001KVZBCQH4。derived blockers は空。 - Orchestration plan: accepted plan
orch-plan-20260625-141406-1は implementation worktree/home/hare/Projects/yoi/.worktree/00001KVZG9BMS-worker-crate-rename/ branchwork/00001KVZG9BMS-worker-crate-rename。 - Repository/worktree: orchestration branch HEAD は
2a7e8775merge commit、working tree は clean。implementation worktree remains at60dbd724and clean per prior checks. - Visible Workers/Pods: existing coder/reviewer child Workers are idle; no new child Worker was spawned in this routing pass.
Next action:
- 明示 follow-up があれば、orchestration worktree で interrupted final validation を再開する。
- validation が通れば結果を implementation_report として記録し、
inprogress -> done、必要な cleanup(child Workers stop、implementation worktree/branch cleanup)へ進む。 - validation/review evidence に新 blocker が出た場合だけ、追加修正または reviewer loop を検討する。新規 role Worker spawn は明示 follow-up/authority のもとで行う。
Escalate if:
- merge 後 validation が失敗する。
- cleanup が dirty worktree / branch divergence / live Worker scope conflict で blocked になる。
developなど merge target への反映権限・タイミングについて追加判断が必要になる。