From a7683bda8e8cafa8dde41aed4493c6f2218b1634 Mon Sep 17 00:00:00 2001 From: Hare Date: Sun, 7 Jun 2026 19:00:33 +0900 Subject: [PATCH] ticket: delegate orchestrator diagnostic persistence --- .../item.md | 2 +- .../thread.md | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/.yoi/tickets/open/20260607-095142-workspace-orchestrator-spawn-diagnostic-persistence/item.md b/.yoi/tickets/open/20260607-095142-workspace-orchestrator-spawn-diagnostic-persistence/item.md index 2db778bb..16fc61e8 100644 --- a/.yoi/tickets/open/20260607-095142-workspace-orchestrator-spawn-diagnostic-persistence/item.md +++ b/.yoi/tickets/open/20260607-095142-workspace-orchestrator-spawn-diagnostic-persistence/item.md @@ -8,7 +8,7 @@ priority: P2 labels: [tui, panel, orchestrator, diagnostic] workflow_state: intake created_at: 2026-06-07T09:51:42Z -updated_at: 2026-06-07T09:51:42Z +updated_at: 2026-06-07T10:00:33Z assignee: null legacy_ticket: null --- diff --git a/.yoi/tickets/open/20260607-095142-workspace-orchestrator-spawn-diagnostic-persistence/thread.md b/.yoi/tickets/open/20260607-095142-workspace-orchestrator-spawn-diagnostic-persistence/thread.md index 55c125a7..35241c18 100644 --- a/.yoi/tickets/open/20260607-095142-workspace-orchestrator-spawn-diagnostic-persistence/thread.md +++ b/.yoi/tickets/open/20260607-095142-workspace-orchestrator-spawn-diagnostic-persistence/thread.md @@ -50,4 +50,42 @@ Keep Orchestrator lifecycle diagnostics visible across panel refreshes until sup - `cargo test -p tui ... --lib`, `cargo fmt --check`, `git diff --check`, and `target/debug/yoi ticket doctor` pass. +--- + + + +## Plan + +## Delegation intent + +Implement `workspace-orchestrator-spawn-diagnostic-persistence` in a dedicated worktree. + +Worktree: +- `.worktree/workspace-orchestrator-spawn-diagnostic-persistence` +- branch `work/workspace-orchestrator-spawn-diagnostic-persistence` + +Coder Pod: +- `orchestrator-diagnostic-coder-20260607` + +Scope and boundaries: +- Keep Orchestrator scope policy unchanged. The observed scope conflict with the current `yoi` Pod is expected for dogfooding and should remain a visible diagnostic, not be solved by loosening scope. +- Preserve the current `Ensure` vs `Observe` lifecycle distinction. `Observe` refresh must not retry spawn. +- Persist or carry forward the most recent actionable Orchestrator lifecycle failure from an `Ensure` attempt so a later `Observe` result of plain `missing` does not erase it. +- Clear/supersede stale lifecycle failures when Orchestrator becomes live/restored/spawned or when a newer lifecycle diagnostic is produced. +- Keep Ticket actionbar gate messages separate from Orchestrator lifecycle diagnostics. +- Prefer a small panel/app-state model change plus focused tests over broad UI restructuring. + +Relevant code map: +- `crates/tui/src/multi_pod.rs`: panel load/reload, `OrchestratorLifecycleMode::{Ensure, Observe}`, `orchestrator_lifecycle`, `spawn_orchestrator_pod`, snapshot assembly. +- `crates/tui/src/workspace_panel.rs`: panel model/header diagnostics rendering and actionbar behavior. +- `crates/client/src/ticket_role.rs`: Ticket role Pod launch path; errors from spawn/connect/initial Run should remain available to the TUI lifecycle layer. + +Requested validation: +- Focused TUI tests covering diagnostic persistence and clearing. +- `cargo test -p tui ... --lib` for affected tests. +- `cargo fmt --check`. +- `git diff --check`. +- `target/debug/yoi ticket doctor`. + + ---