{"id":"orch-plan-20260620-163100-1","ticket_id":"00001KVJX7VZT","kind":"accepted_plan","accepted_plan":{"summary":"Implement explicit `yoi resume [--all]` CLI, remove top-level bare Pod-name inference, make default resume workspace-scoped by Pod metadata, preserve explicit `--pod <NAME>`, update help and focused parser/TUI tests.","branch":"impl/00001KVJX7VZT-cli-resume-subcommand","worktree":"/home/hare/Projects/yoi/.worktree/00001KVJX7VZT-cli-resume-subcommand","role_plan":"Orchestrator creates child worktree and records acceptance. Coder gets narrow write scope for implementation worktree. Reviewer will be spawned read-only after Coder reports implementation commit(s), then Orchestrator integrates approved branch into `orchestration`, validates, records closure, and cleans only child worktree/branch."},"author":"yoi-orchestrator","at":"2026-06-20T16:31:00Z"}
- Ticket body は `yoi resume` サブコマンド化、top-level bare Pod name 推測廃止、workspace-scoped resume default、明示 `resume --all`、`--pod <NAME>` 維持、help/parser/picker tests 更新まで具体化されている。
- Binding decisions / invariants と implementation latitude が分離されており、`-r` / `--resume` alias を残さない方針、host-wide enumeration を `resume --all` に限定する方針、legacy Pod metadata 判断時の escalation 条件も明示されている。
- Relation metadata と orchestration plan に blocker はない。
- Related panel semantics reference: `crates/tui/src/workspace_panel.rs` / dashboard PodList filtering, but avoid broad dashboard churn。
Critical risks / reviewer focus:
- Backward compatibility intentionally changes: ensure old positional Pod name tests are removed/replaced, not silently preserved。
- Ensure `resume --all` is explicit and default resume cannot leak host-wide Pod list。
- Ensure `--pod <NAME>` remains the explicit direct Pod path。
- Ensure help text and parser error behavior make the new command model discoverable。
- Ensure workspace filtering depends on metadata `workspace_root`, not live socket heuristics alone。
---
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-20T16:30:54Z from: queued to: inprogress reason: human_authorized_unblocked_implementation field: state -->
## State changed
Human authorized queue routing from Workspace Dashboard. Ticket has concrete acceptance criteria and no recorded blockers, so Orchestrator accepts implementation and will create a child implementation worktree before spawning sibling Coder/Reviewer roles.
- Wait for Coder implementation report, then spawn Reviewer read-only for the implementation diff. Orchestrator will not merge/close until reviewer approval and validation evidence are available。
1. Stale user-facing guidance still tells users to run removed `yoi -r`。
Evidence:
```rust
// crates/tui/src/dashboard/mod.rs:91-94
Self::NoPods=>write!(
f,
"no Tickets or Pods found — create a Ticket with `yoi ticket create` or restore a Pod with `yoi -r`"
),
```
This is misleading because `yoi -r` intentionally fails:
```text
$ target/debug/yoi -r
yoi: unknown argument: -r
try `yoi --help` for usage.
exit=1
```
This conflicts with the Ticket’s explicit CLI replacement intent and the reviewer focus that parser/help/user-facing errors should be discoverable and not misleading. Update the guidance to `yoi resume`, or if this Dashboard no-pods case intends host/data-dir-wide discovery, use explicit `yoi resume --all` wording。
Non-blocking concern:
-`PickerError::NoPods` still says `no pods found — start a fresh pod with `yoi` and try again`。
- For default workspace-scoped `yoi resume`, this can be ambiguous if Pods exist outside the current workspace。Consider a scope-aware message such as `no pods found in this workspace; use `yoi resume --all` to list all host/data-dir Pods` either in this fix or as follow-up。This is not blocking by itself。
- Found blocking active product-code stale guidance at `crates/tui/src/dashboard/mod.rs:93`; historical docs/report mentions were not treated as product guidance。
Worktree status:
- Clean on `impl/00001KVJX7VZT-cli-resume-subcommand`。
Coder r1-fix report received from `yoi-coder-00001KVJX7VZT`.
New fix commit:
-`d25ca6ff fix: update resume guidance`
Branch commits now:
-`861c351a feat: add explicit resume command`
-`d25ca6ff fix: update resume guidance`
Changed files in r1 fix:
-`crates/tui/src/dashboard/mod.rs`
-`crates/tui/src/picker.rs`
Fix summary:
- Updated Dashboard no-pods guidance from removed `yoi -r` to `yoi resume`。
- Searched active product guidance for `yoi -r`, `--resume`, and `[POD_NAME]` excluding historical docs/reports and Ticket records; no remaining active stale guidance found。
- Addressed Reviewer non-blocking concern:
- Workspace-scoped resume empty result now says: `no pods found in this workspace — use yoi resume --all to list all host/data-dir Pods`
- Host-wide `--all` empty result keeps the fresh Pod hint。
- Added picker tests for these messages。
Coder validation reported:
-`cargo fmt --check`: passed
-`git diff --check`: passed
-`cargo test -p tui picker_`: passed
-`cargo test -p yoi parse_`: passed
-`cargo test -p tui workspace`: passed
-`cargo check -p yoi -p tui`: passed
-`target/debug/yoi ticket doctor`: passed
-`cargo build -p yoi`: passed
- CLI smoke:
-`target/debug/yoi --help`: passed
-`target/debug/yoi resume --help`: passed
-`target/debug/yoi agent`: nonzero with `unknown command \`agent\``
-`target/debug/yoi -r`: nonzero with `unknown argument: -r`
-`target/debug/yoi --resume`: nonzero with `unknown argument: --resume`
Orchestrator evidence checked:
- Implementation worktree clean on `impl/00001KVJX7VZT-cli-resume-subcommand`。
- HEAD is `d25ca6ff`。
- r1-fix diff `861c351a..HEAD` touches only `crates/tui/src/dashboard/mod.rs` and `crates/tui/src/picker.rs`。
- Active product-guidance grep under `crates` / `resources` for `yoi -r|--resume|[POD_NAME]` returned only the parser test expectation for `unknown argument: --resume`, not active user guidance。
-`git diff --check a63b40f4..HEAD` produced no diagnostics。
Next action:
- Route back to Reviewer for r2 verification and final acceptance review。
- Dashboard no-pods guidance now says `yoi resume`, not removed `yoi -r`。
- Workspace-scoped picker empty result now points users to explicit `yoi resume --all`。
- Host-wide `--all` empty result keeps the fresh-Pod hint。
- Active stale-guidance search found only the parser test expectation for rejecting `--resume`, not active user guidance。
Acceptance / critical focus verification:
- Legacy top-level `-r` / `--resume` no longer parse as resume; both fail as unknown arguments。
- Top-level bare word such as `agent` fails as unknown command; no positional Pod-name inference remains。
-`yoi resume` is an explicit subcommand and defaults to workspace-scoped picker behavior。
-`yoi resume --workspace <PATH>` is supported and mutually exclusive with `--all`。
-`yoi resume --all` is the explicit host/data-dir-wide listing path。
- Default workspace filtering uses stored Pod metadata `workspace_root` semantics, with live entries included only when tied to matching stored metadata names。
-`yoi --pod <NAME>` and explicit subcommands remain covered by parser tests。
- Help advertises `yoi resume [--workspace <PATH>] [--all]` and no longer advertises `[POD_NAME]` or `-r, --resume`。
- Orchestrator worktree remains clean on `orchestration` at `19c3ec45`。
Root/original workspace was not used for merge/validation/cleanup operations。
---
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.