ticket: close idle queued attention

This commit is contained in:
Keisuke Hirata 2026-06-13 01:13:08 +09:00
parent 60cf2d9f09
commit f235fd18b2
No known key found for this signature in database
3 changed files with 116 additions and 2 deletions

View File

@ -1,8 +1,8 @@
--- ---
title: "Orchestrator Idle 時の queued Ticket 見落としを防ぐ" title: "Orchestrator Idle 時の queued Ticket 見落としを防ぐ"
state: 'done' state: 'closed'
created_at: "2026-06-08T06:12:35Z" created_at: "2026-06-08T06:12:35Z"
updated_at: '2026-06-12T16:11:51Z' updated_at: '2026-06-12T16:12:42Z'
queued_by: 'workspace-panel' queued_by: 'workspace-panel'
queued_at: '2026-06-12T14:49:40Z' queued_at: '2026-06-12T14:49:40Z'
--- ---

View File

@ -0,0 +1,41 @@
Orchestrator Idle 時に queued Ticket を見落とさない bounded attention layer を実装した。
実装概要:
- `crates/tui/src/multi_pod.rs` に session-scoped `OrchestratorWorkSet` を追加し、Panel reload 境界で queued/actionable/planned/active_inprogress を導出するようにした。
- Idle かつ reachable な Orchestrator Pod にだけ bounded queued-work attention を送る。
- `active_inprogress` がある場合は re-kick を抑制し、waiting reason を session work set / Panel header detail に保持する。
- Duplicate-start guard は Ticket id に紐づく local claim / related visible Pods / worktree 表示情報から導出する。
- Session work set は `MultiPodApp` 内 runtime/session state に留め、durable per-Ticket artifact store は追加していない。
- `resources/prompts/panel/orchestrator_idle_queue_notice.md` を追加し、Orchestrator attention payload の prompt 本文を resource 化した。
- Scheduler loop、polling loop、queue drain loop、core Ticket state、implementation side effect、acceptance gate bypass は追加していない。
Review / integration:
- Implementation commit: `d2fae81a tui: add idle queued orchestrator attention`
- Reviewer: `yoi-reviewer-idle-queued-rekick` が approve。
- Orchestrator merge commit: `9538feb1 merge: idle queued orchestrator attention`
- Ticket completion commit: `60cf2d9f ticket: mark idle queued done`
Validation:
- `cargo test -p tui queued_attention`: pass, 3 tests
- `cargo test -p tui planned_queued_prompts`: pass, 1 test
- `cargo test -p tui rediscovered_queued_work`: pass, 1 test
- `cargo test -p tui active_inprogress_suppresses`: pass, 1 test
- `cargo test -p tui idle_orchestrator_gets_bounded_attention`: pass, 1 test
- `cargo test -p tui workspace_panel`: pass, 12 tests
- `cargo check -p tui`: pass
- `cargo fmt --check`: pass
- `git diff --check HEAD~1..HEAD`: pass
- `./result/bin/yoi ticket doctor`: `doctor: ok`
- `nix build .#yoi`: pass
Known broad-suite failures:
- Existing broad `cargo test -p tui` failures noted in thread remain outside this Ticket and were not blockers for focused implementation/review.
Cleanup:
- coder/reviewer Pods stopped。
- child worktree `/home/hare/Projects/yoi/.worktree/orchestrator-idle-queued-rekick` removed。
- branch `ticket/orchestrator-idle-queued-rekick` deleted。
Non-blocking risks:
- Failed attention delivery is not fingerprint-marked, so a repeatedly reachable-but-rejecting socket can retry on subsequent Panel reloads; this is consistent with existing notice behavior but may be noisy。
- Duplicate guard is bounded to Panel-visible claim/Pod/worktree derivation and is not a full global scheduler/lock, matching this Ticket の scoped attention model。

View File

@ -440,3 +440,76 @@ Remaining non-blocking risks:
Implementation was merged into the Orchestrator branch, reviewer approved with no blockers, and post-integration validation passed. Cleanup and closure will be recorded next. Implementation was merged into the Orchestrator branch, reviewer approved with no blockers, and post-integration validation passed. Cleanup and closure will be recorded next.
--- ---
<!-- event: implementation_report author: orchestrator at: 2026-06-12T16:12:22Z -->
## Implementation report
Cleanup completed.
- Stopped coder Pod: `yoi-coder-idle-queued-rekick`
- Stopped reviewer Pod: `yoi-reviewer-idle-queued-rekick`
- Removed child worktree: `/home/hare/Projects/yoi/.worktree/orchestrator-idle-queued-rekick`
- Deleted implementation branch: `ticket/orchestrator-idle-queued-rekick`
- Orchestrator worktree status after cleanup: clean
Cleanup was limited to child implementation worktree/branch and related child Pods. Root/original workspace was not touched.
---
<!-- event: state_changed author: hare at: 2026-06-12T16:12:42Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-12T16:12:42Z status: closed -->
## 完了
Orchestrator Idle 時に queued Ticket を見落とさない bounded attention layer を実装した。
実装概要:
- `crates/tui/src/multi_pod.rs` に session-scoped `OrchestratorWorkSet` を追加し、Panel reload 境界で queued/actionable/planned/active_inprogress を導出するようにした。
- Idle かつ reachable な Orchestrator Pod にだけ bounded queued-work attention を送る。
- `active_inprogress` がある場合は re-kick を抑制し、waiting reason を session work set / Panel header detail に保持する。
- Duplicate-start guard は Ticket id に紐づく local claim / related visible Pods / worktree 表示情報から導出する。
- Session work set は `MultiPodApp` 内 runtime/session state に留め、durable per-Ticket artifact store は追加していない。
- `resources/prompts/panel/orchestrator_idle_queue_notice.md` を追加し、Orchestrator attention payload の prompt 本文を resource 化した。
- Scheduler loop、polling loop、queue drain loop、core Ticket state、implementation side effect、acceptance gate bypass は追加していない。
Review / integration:
- Implementation commit: `d2fae81a tui: add idle queued orchestrator attention`
- Reviewer: `yoi-reviewer-idle-queued-rekick` が approve。
- Orchestrator merge commit: `9538feb1 merge: idle queued orchestrator attention`
- Ticket completion commit: `60cf2d9f ticket: mark idle queued done`
Validation:
- `cargo test -p tui queued_attention`: pass, 3 tests
- `cargo test -p tui planned_queued_prompts`: pass, 1 test
- `cargo test -p tui rediscovered_queued_work`: pass, 1 test
- `cargo test -p tui active_inprogress_suppresses`: pass, 1 test
- `cargo test -p tui idle_orchestrator_gets_bounded_attention`: pass, 1 test
- `cargo test -p tui workspace_panel`: pass, 12 tests
- `cargo check -p tui`: pass
- `cargo fmt --check`: pass
- `git diff --check HEAD~1..HEAD`: pass
- `./result/bin/yoi ticket doctor`: `doctor: ok`
- `nix build .#yoi`: pass
Known broad-suite failures:
- Existing broad `cargo test -p tui` failures noted in thread remain outside this Ticket and were not blockers for focused implementation/review.
Cleanup:
- coder/reviewer Pods stopped。
- child worktree `/home/hare/Projects/yoi/.worktree/orchestrator-idle-queued-rekick` removed。
- branch `ticket/orchestrator-idle-queued-rekick` deleted。
Non-blocking risks:
- Failed attention delivery is not fingerprint-marked, so a repeatedly reachable-but-rejecting socket can retry on subsequent Panel reloads; this is consistent with existing notice behavior but may be noisy。
- Duplicate guard is bounded to Panel-visible claim/Pod/worktree derivation and is not a full global scheduler/lock, matching this Ticket の scoped attention model。
---