ticket: close panel done-ticket action

This commit is contained in:
2026-06-08 15:11:08 +09:00
parent 24159561b6
commit 9129e81fbe
4 changed files with 95 additions and 3 deletions
@@ -0,0 +1,30 @@
Merged and completed the workspace Panel close-done-Tickets action.
Summary:
- Panel `Close` action now closes safe already-done open Tickets through `LocalTicketBackend::close(...)`.
- Safe-close guard requires local status open, `workflow_state: done`, no non-empty `attention_required`, no non-empty `action_required`, and no existing `resolution.md`.
- Unsafe close attempts return bounded diagnostics before mutation.
- Generated resolution text is deterministic/non-LLM and states that the Ticket was already done and the close action did not start implementation, workflow-state changes, Orchestrator/Companion launch, or worker invocation.
- Panel refresh is scheduled after the action path so closed rows leave the open list.
Merged branch/worktree:
- Branch: `panel-close-done-tickets`
- Commit: `6d41ed3 tui: close done tickets from panel`
- Merge commit on `develop`: `2415956 merge: close done tickets from panel`
Validation passed after merge:
- `cargo test -p tui multi_pod --lib`
- `cargo test -p tui workspace_panel --lib`
- `cargo check -q`
- `cargo fmt --check`
- `git diff --check`
- `cargo run -q -p yoi -- ticket doctor`
- `nix build .#yoi`
Cleanup completed:
- Stopped coder/reviewer Pods and reclaimed scope.
- Removed `.worktree/panel-close-done-tickets`.
- Deleted branch `panel-close-done-tickets`.
Residual note:
- Non-open local status blocker has an explicit implementation guard but no dedicated focused test; reviewer accepted this as non-blocking because success and other unsafe cases are covered.