Incidents and Maintenance
StatiBeat is built to make status communication easier for your team and clearer for your customers.
Incident administration
The admin UI for incidents currently includes:
- create incident
- create incident from an AI-assisted draft when AI is configured
- edit incident
- add update
- resolve incident
- reopen a resolved incident when policy allows it
- draft and publish a
Post-Incident Reportafter resolution - revise or unpublish an existing
Post-Incident Report - delete incident
- edit component impacts
- filter ongoing versus resolved incidents
These flows are implemented in application/frontend/src/pages/admin/IncidentManagement.jsx.
For historical imports or cleanup work, the backend also supports admin-only incident backfill routes. Those routes are meant for retrofilling past incidents from another tool or from an internal incident log. They are currently backend-first APIs rather than a dedicated admin UI flow.
During incidents
Focus on clarity first:
- identify affected services
- publish a short initial update quickly
- keep follow-up messages consistent
- close with a clear resolution message
Customers do not need every internal detail. They do need confidence that you understand the problem and are actively responding.
Post-Incident Reports
Resolved incidents can also carry a Post-Incident Report.
That report is separate from the live incident timeline:
- incident updates explain what changed while the issue was active
- the
Post-Incident Reportexplains what happened after the fact - drafts stay admin-only until an operator publishes them
On public surfaces, only published Post-Incident Reports are shown, and only while the incident remains resolved.
Historical backfill
Historical backfill is designed for reconstructing the real timeline of a past incident or maintenance window.
- incident backfill accepts an explicit
started_at, optionalacknowledged_at, optionalresolved_at, and ordered updates with their own timestamps - maintenance backfill accepts a scheduled window plus ordered, timestamped updates
- non-scheduled historical maintenances need at least one status-bearing update so the platform does not invent transition times
- backfill is silent by default, so it does not replay subscriber notifications, Slack fanout, or live WebSocket announcements
That silence is intentional. A retrofilled event should appear in history and feeds, but it should not surprise subscribers with stale notifications.
Maintenance administration
The maintenance UI currently supports:
- creating and editing maintenance windows
- selecting affected items
- scheduling date/time ranges
- adding maintenance updates
- using preset messages
- auto-transition messages for maintenance start and completion
- deleting maintenance windows
- marking maintenance complete
- cancelling maintenance windows
- filtering upcoming, active, and past maintenance work
These flows are implemented in application/frontend/src/pages/admin/MaintenanceManagement.jsx.
Like incidents, maintenances can also be backfilled through admin API routes when you need to reconstruct past work after a migration or import.
During planned maintenance
Maintenance updates should make timing and impact easy to understand:
- what is changing
- when it starts
- who might be affected
- when users should expect things to be normal again
Why this matters
When communication fails, customers often assume the worst. StatiBeat helps you show what is happening visually so trust does not erode faster than the incident itself.