--- title: 'runtime workspace と process cwd を分離する' state: 'closed' created_at: '2026-06-11T15:45:07Z' updated_at: '2026-06-13T16:34:06Z' assignee: null queued_by: 'yoi ticket' queued_at: '2026-06-11T15:45:53Z' --- ## 背景 Ticket role Pod、とくに workspace Orchestrator は、runtime workspace として original workspace を使い続けながら、Bash / file tool の default cwd だけ dedicated orchestration worktree にしたい。 直前の調査で `--workspace` を dedicated worktree に寄せたり、`--tool-cwd` のような追加 CLI surface を作る方向は不適切だと確認した。`--workspace` は runtime workspace / project context の基準であり、process cwd は通常の current directory として扱えばよい。 また、コード内で `pwd` と `cwd` に明確な意味差がない箇所は `cwd` に統一し、用語混乱を減らす。 ## 要件 - `--workspace` は runtime workspace / project context の基準として維持する。 - process current directory は Pod の tool default cwd として起動時に snapshot する。 - Ticket role Orchestrator は `--workspace = original workspace` のまま、process cwd を dedicated orchestration worktree にして起動・restore される。 - `--tool-cwd` のような追加 CLI surface は作らない。 - `SpawnConfig` など host-side launch config で必要なら `cwd` を内部値として持ち、child process の `Command::current_dir` にだけ使う。 - `pwd` と `cwd` に意図的な意味差がない runtime field / helper / local 変数は `cwd` に統一する。 - cwd は authority ではないため、scope / delegation / workspace identity の基準として扱わない。 ## 受け入れ条件 - Orchestrator role launch/restore が original workspace を runtime workspace として使い、dedicated orchestration worktree を process cwd として使う。 - child Pod へ `.worktree` 配下を delegate できる authority は original workspace profile/scope に基づいて評価される。 - `--tool-cwd` などの新しい CLI argument が残らない。 - `pwd` / `cwd` の命名が混在していた主要 runtime path は `cwd` に統一される。 - 既存の `SpawnPod.cwd` semantics は「child process cwd を指定する」で維持され、runtime workspace を変更しない。 - `nix build .#yoi` が通る。