ticket: accept panel quit latency
This commit is contained in:
parent
6c73b8e076
commit
9dacc90e66
|
|
@ -1,2 +1,3 @@
|
||||||
{"id":"orch-plan-20260613-105653-1","ticket_id":"00001KV0723PC","kind":"conflicts_with","related_ticket":"00001KV072V89","note":"同時 queued routing で `00001KV072V89` を panel mouse selection として受理した。`00001KV0723PC` は spike/readiness の通り `crates/tui/src/multi_pod.rs` の Panel event loop / `PendingReload` / Quit handling / queue-attention notice dispatch / snapshot reload をまず調査する必要があり、`00001KV072V89` も同じ `multi_pod.rs` / Panel row input surface に触れる可能性が高い。衝突 risk が小さくないため、この Ticket は `00001KV072V89` の branch が統合または再評価可能になるまで queued のまま待機させる。","author":"orchestrator","at":"2026-06-13T10:56:53Z"}
|
{"id":"orch-plan-20260613-105653-1","ticket_id":"00001KV0723PC","kind":"conflicts_with","related_ticket":"00001KV072V89","note":"同時 queued routing で `00001KV072V89` を panel mouse selection として受理した。`00001KV0723PC` は spike/readiness の通り `crates/tui/src/multi_pod.rs` の Panel event loop / `PendingReload` / Quit handling / queue-attention notice dispatch / snapshot reload をまず調査する必要があり、`00001KV072V89` も同じ `multi_pod.rs` / Panel row input surface に触れる可能性が高い。衝突 risk が小さくないため、この Ticket は `00001KV072V89` の branch が統合または再評価可能になるまで queued のまま待機させる。","author":"orchestrator","at":"2026-06-13T10:56:53Z"}
|
||||||
{"id":"orch-plan-20260613-105659-2","ticket_id":"00001KV0723PC","kind":"waiting_capacity_note","note":"現在の queue review では `00001KV072V89`(Panel mouse selection)と `00001KV04NJ8D`(single-Pod rewind live refresh)を先に inprogress 受理する。`00001KV0723PC` は Panel Quit 遅延の spike/fix で同じ Panel event-loop surface に触れる可能性が高く、parallel merge conflict と reviewer bottleneck を避けるため queued のまま待機。`00001KV072V89` の統合後、または Orchestrator が conflict surface を再評価して問題なしと判断した場合に受理する。","author":"orchestrator","at":"2026-06-13T10:56:59Z"}
|
{"id":"orch-plan-20260613-105659-2","ticket_id":"00001KV0723PC","kind":"waiting_capacity_note","note":"現在の queue review では `00001KV072V89`(Panel mouse selection)と `00001KV04NJ8D`(single-Pod rewind live refresh)を先に inprogress 受理する。`00001KV0723PC` は Panel Quit 遅延の spike/fix で同じ Panel event-loop surface に触れる可能性が高く、parallel merge conflict と reviewer bottleneck を避けるため queued のまま待機。`00001KV072V89` の統合後、または Orchestrator が conflict surface を再評価して問題なしと判断した場合に受理する。","author":"orchestrator","at":"2026-06-13T10:56:59Z"}
|
||||||
|
{"id":"orch-plan-20260613-112733-3","ticket_id":"00001KV0723PC","kind":"accepted_plan","accepted_plan":{"summary":"`00001KV072V89` の integration/cleanup により以前の Panel surface conflict は解消済み。Panel Quit 遅延を dedicated worktree で調査・修正し、Quit が pending reload / notice dispatch / snapshot observation など非本質的 background work にブロックされないことを検証する。root/original workspace では作業しない。","branch":"ticket-00001KV0723PC-panel-quit-latency","worktree":"/home/hare/Projects/yoi/.worktree/panel-quit-latency","role_plan":"Orchestrator が dedicated child worktree を作成し、Coder Pod に `crates/tui` と本 Ticket record の narrow write scope を渡す。Coder は first-step code-path spike で Quit delay source を特定してから最小修正と focused regression test を行う。Reviewer は read-only を基本に起動する。"},"author":"orchestrator","at":"2026-06-13T11:27:33Z"}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
title: 'Panel Quit 時の断続的な遅延を調査して解消する'
|
title: 'Panel Quit 時の断続的な遅延を調査して解消する'
|
||||||
state: 'queued'
|
state: 'inprogress'
|
||||||
created_at: '2026-06-13T10:04:55Z'
|
created_at: '2026-06-13T10:04:55Z'
|
||||||
updated_at: '2026-06-13T11:00:41Z'
|
updated_at: '2026-06-13T11:27:38Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
readiness: 'spike_needed'
|
readiness: 'spike_needed'
|
||||||
risk_flags: ['tui-panel', 'shutdown-latency', 'async-cancellation']
|
risk_flags: ['tui-panel', 'shutdown-latency', 'async-cancellation']
|
||||||
|
|
|
||||||
|
|
@ -79,3 +79,77 @@ Decision:
|
||||||
- Keep queued; re-evaluate after `00001KV072V89` completion/integration or explicit human override.
|
- Keep queued; re-evaluate after `00001KV072V89` completion/integration or explicit human override.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: orchestrator at: 2026-06-13T11:27:26Z -->
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
Routing decision: implementation_ready
|
||||||
|
|
||||||
|
Reason:
|
||||||
|
- Ticket は `queued` で、Quit 遅延の原因特定と修正の intent / requirements / acceptance criteria / binding invariants / implementation latitude / escalation conditions が揃っている。
|
||||||
|
- `readiness: spike_needed` だが、調査対象は `crates/tui/src/multi_pod.rs` の Panel event loop / `PendingReload` / Quit handling / queue-attention notice dispatch / snapshot reload 周辺に bounded されており、専用 worktree の Coder に first-step code-path spike と修正を委ねられる。
|
||||||
|
- `TicketRelationQuery` に durable dependency blocker はない。
|
||||||
|
- 以前の OrchestrationPlan `conflicts_with` / `waiting_capacity_note` は `00001KV072V89`(Panel mouse selection)との同時編集 conflict を理由に queued 待機としていたが、同 Ticket は review/merge/validation/cleanup 済みで `done`。現在の Orchestrator worktree は clean で、related implementation Pods/worktrees も cleanup 済み。
|
||||||
|
- risk flags は `tui-panel` / `shutdown-latency` / `async-cancellation` だが、Ticket は Quit の authority/invariants と escalation conditions を明記しており、実装前に追加の human decision は不要。
|
||||||
|
|
||||||
|
Evidence checked:
|
||||||
|
- Ticket body / thread / artifacts。
|
||||||
|
- relation records: なし。
|
||||||
|
- orchestration plan records: 既存 `conflicts_with` / `waiting_capacity_note` を確認し、blocking condition(`00001KV072V89` の未統合)は解消済み。
|
||||||
|
- related Ticket `00001KTFMMZP0`: Panel non-blocking transition work は closed で、`PendingReload` / background refresh / attach-return path の背景として参照する。
|
||||||
|
- current code/workspace state: `00001KV072V89` と `00001KV04NJ8D` は merge/validation/cleanup 済み。Orchestrator worktree clean。visible spawned implementation Pods なし。
|
||||||
|
|
||||||
|
IntentPacket:
|
||||||
|
|
||||||
|
Intent:
|
||||||
|
- `yoi panel` / workspace Panel の Quit 操作で、ユーザー入力後に Panel の background reload / notice dispatch / snapshot load / Pod observation など非本質的処理待ちによる断続的な遅延が起きないよう、原因を特定して修正する。
|
||||||
|
|
||||||
|
Binding decisions / invariants:
|
||||||
|
- Quit はユーザーの明示的な終了意思であり、Panel の観測/reload/通知送信完了待ちで遅延してはならない。
|
||||||
|
- 端末状態復旧、描画 backend の正常終了、Rust drop による安全な abort など、最小限の終了処理は維持する。
|
||||||
|
- Ticket lifecycle authority、Pod authority boundary、Panel row/action semantics、Companion/Orchestrator composer target semantics は変更しない。
|
||||||
|
- `resources/prompts` や durable Ticket schema 変更は想定しない。必要になった場合は escalation。
|
||||||
|
|
||||||
|
Requirements / acceptance criteria:
|
||||||
|
- `Ctrl+C` / `Ctrl+D` など現行 Quit 経路が pending background work によって目に見えて遅延しない。
|
||||||
|
- 遅延原因と修正方針を implementation report に説明する。
|
||||||
|
- 可能な範囲で unit test / regression test を追加し、Quit 経路が pending background work にブロックされないことを検証する。
|
||||||
|
- 自動化が難しい場合は manual validation 手順と観測結果を report する。
|
||||||
|
|
||||||
|
Implementation latitude:
|
||||||
|
- まず `crates/tui/src/multi_pod.rs` の event loop / `PendingReload` / Quit handling / terminal event polling / queue-attention notice dispatch / snapshot load を code-path spike する。
|
||||||
|
- 修正手段は、不要 await の回避、cancellable background work の abort/drop、event-loop priority adjustment、test seam 追加などから Coder が選んでよい。
|
||||||
|
- 再現が難しい場合は遅延し得る code path を単体再現できる test seam を優先してよい。
|
||||||
|
|
||||||
|
Escalate if:
|
||||||
|
- Panel public UX、Ticket lifecycle semantics、Pod shutdown semantics、authority boundary の変更が必要になる。
|
||||||
|
- 端末 cleanup や Pod process lifecycle safety を犠牲にしないと遅延を解消できない。
|
||||||
|
- 原因が Panel 外(OS terminal / shell / external command / provider/network)にある証拠が出た。
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- focused test for Quit not waiting on pending background work。
|
||||||
|
- `cargo fmt --check`。
|
||||||
|
- `git diff --check`。
|
||||||
|
- 変更範囲に応じて `cargo test -p tui ...` / `cargo check -p tui --all-targets`。
|
||||||
|
- 可能なら manual `yoi panel` Quit observation を report。
|
||||||
|
|
||||||
|
Current code map:
|
||||||
|
- `crates/tui/src/multi_pod.rs`: Panel run loop、Quit key handling、`PendingReload`、background reload / attention notice / snapshot observation paths。
|
||||||
|
- `crates/tui/src/workspace_panel.rs`: ViewModel は参照のみ。row/action semantics は変更しない。
|
||||||
|
|
||||||
|
Critical risks / reviewer focus:
|
||||||
|
- Quit を速くするために terminal cleanup / safe abort / Pod lifecycle を壊していないこと。
|
||||||
|
- nonessential background work が Quit を block しないこと。
|
||||||
|
- Panel/Ticket/Pod authority semantics と row/action semantics が変わっていないこと。
|
||||||
|
- Regression test が実際に pending background work block を防ぐ性質を持つこと。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: orchestrator at: 2026-06-13T11:27:38Z from: queued to: inprogress reason: orchestrator_acceptance_after_conflict_resolved field: state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Ticket evidence、relation records、existing OrchestrationPlan waiting/conflict notes、related completed Panel mouse integration、visible Pod/worktree state、and clean Orchestrator workspace were checked. The prior conflict/capacity blocker is resolved; no durable dependency blockers remain. Implementation can proceed in a dedicated child worktree with a first-step code-path spike and focused regression test before changing Quit behavior.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user