Show incident-board freshness independently from incident status
A disconnected screen says All systems normal because incident cards retain their last values. Add transport freshness.
- Focused work estimate
- 1h 45m + prerequisites
- Priority in the scenario
- Medium
- Engineering practice
- UX · Observability
Estimated field mix
- Frontend60%
- Real-time systems40%
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
Fictional internal status team Harbor updates operational incident cards. Build a local event log and SSE adapter; incidents and service names are invented.
Setup prerequisites
- Create synthetic incident revisions and a local append-only event stub.
- Provide controllable disconnect, replay and retention fixtures.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
- CLIVE-101 · Give live incident events stable opaque identifiers
- CLIVE-102 · Render incident status text independently of severity color
- CLIVE-103 · Apply live incident updates only to newer revisions
- CLIVE-104 · Resume incident streams from the last applied event
- CLIVE-105 · Return a reset contract when incident replay history expired
- CLIVE-106 · Join incident snapshots and streams at one watermark
- CLIVE-108 · Bound each incident subscriber buffer
Acceptance criteria
- Last applied time is visible
- Disconnect shows stale state
- Reconnect clears stale only after catch-up
Implementation constraints
- Use synthetic clock values in tests.
Verification to include
- Disconnect resolved board
- Reconnect with missed open incident
Deliverables
- Freshness banner and recovery cases
Rollout and recovery
Hide aggregate healthy claim while freshness is uncertain.
Value of the work
For the engineer: Practice event projection, replay and freshness communication.
For the team: Inspect whether dashboards remain trustworthy through network interruptions.
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.