ticket: record invalid ticket panel fixes
This commit is contained in:
parent
d81fced051
commit
198d619358
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Panel: invalid Ticket があっても Ticket 機能全体を無効化しない'
|
title: 'Panel: invalid Ticket があっても Ticket 機能全体を無効化しない'
|
||||||
state: 'inprogress'
|
state: 'inprogress'
|
||||||
created_at: '2026-06-14T14:56:51Z'
|
created_at: '2026-06-14T14:56:51Z'
|
||||||
updated_at: '2026-06-14T16:27:19Z'
|
updated_at: '2026-06-14T16:30:55Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
readiness: 'implementation_ready'
|
readiness: 'implementation_ready'
|
||||||
risk_flags: ['tui-panel', 'ticket-backend', 'partial-failure', 'diagnostics']
|
risk_flags: ['tui-panel', 'ticket-backend', 'partial-failure', 'diagnostics']
|
||||||
|
|
|
||||||
|
|
@ -215,3 +215,48 @@ Conclusion:
|
||||||
- Changes requested. Do not integrate until current-ticket detail/artifact corruption cannot expose lifecycle actions and focused coverage is added.
|
- Changes requested. Do not integrate until current-ticket detail/artifact corruption cannot expose lifecycle actions and focused coverage is added.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: implementation_report author: yoi-coder-00001KV3A5CNH at: 2026-06-14T16:30:55Z -->
|
||||||
|
|
||||||
|
## Implementation report
|
||||||
|
|
||||||
|
Follow-up implementation report after reviewer request_changes:
|
||||||
|
|
||||||
|
New commit:
|
||||||
|
- `456722c3 fix: disable tickets with invalid detail records`
|
||||||
|
|
||||||
|
Changed file in follow-up:
|
||||||
|
- `crates/tui/src/workspace_panel.rs`
|
||||||
|
|
||||||
|
Blocker resolved:
|
||||||
|
- `build_ticket_rows(...)` now checks `show_partial(...)` diagnostics for an invalid record whose label matches the Ticket id currently being rendered.
|
||||||
|
- If the current Ticket id is reported invalid during partial detail loading, Panel no longer emits the normal actionable `ticket_row(...)`.
|
||||||
|
- The invalid record flows through the existing bounded invalid placeholder/diagnostic path, so the Ticket id remains visible but has no lifecycle action.
|
||||||
|
|
||||||
|
Behavior after fix:
|
||||||
|
- A ready Ticket with valid `item.md` but malformed `artifacts/relations.json` is shown only as an invalid diagnostic placeholder.
|
||||||
|
- It cannot receive Queue, Close, clarification/planning-return, or other lifecycle mutation actions.
|
||||||
|
- Other valid Ticket rows continue to render normally and keep their actions.
|
||||||
|
|
||||||
|
Coverage added:
|
||||||
|
- `workspace_panel_disables_current_ticket_when_detail_artifact_is_invalid`
|
||||||
|
- Test scenario:
|
||||||
|
- one ready Ticket with malformed `artifacts/relations.json`
|
||||||
|
- one separate valid ready Ticket
|
||||||
|
- Assertions:
|
||||||
|
- corrupt Ticket id is visible as `PanelRowKey::InvalidTicket(...)`
|
||||||
|
- no normal `PanelRowKey::Ticket(...)` row exists for that corrupt id
|
||||||
|
- placeholder has no action and no Ticket action identity
|
||||||
|
- other valid ready Ticket still has `NextUserAction::Queue`
|
||||||
|
- header reports partial Ticket load failure
|
||||||
|
|
||||||
|
Validation reported by coder:
|
||||||
|
- Passed: `cargo test -p tui workspace_panel_disables_current_ticket_when_detail_artifact_is_invalid --lib`
|
||||||
|
- Passed: `cargo test -p tui workspace_panel --lib`
|
||||||
|
- Passed: `cargo fmt --check`
|
||||||
|
- Passed: `git diff --check`
|
||||||
|
|
||||||
|
Repository status:
|
||||||
|
- Child implementation worktree clean after follow-up commit.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user