ticket: close panel done-ticket action

This commit is contained in:
Keisuke Hirata 2026-06-08 15:11:08 +09:00
parent 24159561b6
commit 9129e81fbe
No known key found for this signature in database
4 changed files with 95 additions and 3 deletions

View File

@ -2,13 +2,13 @@
id: '20260608-032200-panel-close-done-tickets'
slug: 'panel-close-done-tickets'
title: 'Close done Tickets from workspace panel'
status: 'open'
status: 'closed'
kind: 'task'
priority: 'P2'
labels: ['tui', 'panel', 'ticket', 'close', 'workflow-state']
workflow_state: 'inprogress'
workflow_state: 'done'
created_at: '2026-06-08T03:22:00Z'
updated_at: '2026-06-08T06:09:31Z'
updated_at: '2026-06-08T06:10:59Z'
assignee: null
legacy_ticket: null
queued_by: 'workspace-panel'

View File

@ -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.

View File

@ -241,3 +241,65 @@ Parent/human decision needs:
- User has authorized merge-completion and cleanup after approved work. Proceeding to merge-completion unless post-merge validation fails.
---
<!-- event: review author: orchestrator at: 2026-06-08T06:10:45Z status: approve -->
## Review: approve
Final merge-completion approval after merge to `develop` and post-merge validation.
Evidence:
- Merged branch `panel-close-done-tickets` with `--no-ff`.
- Reviewer `reviewer-panel-close-done` approved the branch-local implementation.
- Post-merge validation passed: `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`, and `nix build .#yoi`.
- Coder/reviewer Pods stopped and delegated scope reclaimed.
- Merged worktree removed and branch deleted.
This approval is for the merged main-branch result, not merely the branch-local reviewer verdict.
---
<!-- event: state_changed author: orchestrator at: 2026-06-08T06:10:45Z from: inprogress to: done reason: merged_and_validated field: workflow_state -->
## State changed
Merged to `develop`, post-merge validation passed, final merge-completion approval recorded, and panel-close branch/worktree/Pods cleaned up.
---
<!-- event: close author: hare at: 2026-06-08T06:10:59Z status: closed -->
## Closed
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.
---