Separate an empty queue from a failed request
During an API outage the console said No tickets, and an agent assumed the queue was clear. Give loading, empty, stale, and failed responses distinct presentations.
- Focused work estimate
- 1h + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Error handling · UI state · Accessibility
Estimated field mix
- Frontend70%
- Accessibility30%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
The fictional Alder support team handles billing and delivery conversations in a browser console. Agents keep several tickets open, share filtered queues, and work through unreliable office Wi-Fi. The API contract returns ticket revisions and cursor-based pages; work stays within the console and its test adapter.
Setup prerequisites
- A ticket-list and reply API contract to implement or stub
- Synthetic conversations across two organizations with revision conflicts
Preceding work
No earlier ticket is required. Complete the project setup above.
Acceptance criteria
- An empty successful response shows active filters and a clear-filters action.
- A failed refresh retains previously loaded rows and labels them stale.
- Retry fetches the active query once and exposes an accessible error if it fails again.
Implementation constraints
- Keep the last successful response while refreshing.
Verification to include
- Return an empty successful page and verify no outage message appears.
- Load three rows, reject refresh, then recover on retry; rows persist until replacement.
Deliverables
- Explicit queue request states and failure screenshots
Rollout and recovery
Release state rendering independently; revert the presentation component if the queue becomes unusable.
Value of the work
For the engineer: Practice state ownership, asynchronous races, accessible interaction, and recovery in bounded changes.
For the team: Inspect how an engineer protects agent work and handles failures that interrupt support operations.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.