Flow — Operate the product fleet¶
Generated from the architecture model
This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.
| Persona | Omer (Operator) |
| Experience requirements | FUX-04, FUX-05, FUX-11 |
| Steps | 5 |
An operator watches operated products, rolls out a release in waves under guards, and runs an incident to review.
flowchart TD
s1["1. fleet-board<br/>which product needs attention?"] --> s2
s2["2. product"] --> s3
s3["3. rollouts<br/>plan waves, approve production?"] --> s4
s4["4. incidents<br/>acknowledge, mitigate, resolve, review?"] --> s5
s5["5. status-objectives"]
s1 -. "instance Degraded: objective breach shown with the alert" .-> x1_1["adverse 1.1"]
s2 -. "health endpoint unreachable: staleness, not a guess" .-> x2_1["adverse 2.1"]
s3 -. "guard breached during bake: Halted, wave rolled back, incident opened" .-> x3_1["adverse 3.1"]
s3 -. "ManagedPlus customer not opted in: excluded from early waves" .-> x3_2["adverse 3.2"]
s4 -. "paging connector down: Studio notification only, escalation after target" .-> x4_1["adverse 4.1"]
s5 -. "metric backend unavailable: objective Suspended with note" .-> x5_1["adverse 5.1"]
Hold "Alt" / "Option" to enable pan & zoom
Steps¶
| # | Screen | Decision point | Reads | Commands | Adverse branches |
|---|---|---|---|---|---|
| 1 | fleet-board — Fleet board |
which product needs attention? | ListOperatedProducts, FleetSummary |
— | instance Degraded: objective breach shown with the alert |
| 2 | product — Operated product |
— | GetOperatedProduct, ListProductInstances, GetProductDescriptor |
OnboardProduct, SetProductObjective |
health endpoint unreachable: staleness, not a guess |
| 3 | rollouts — Rollouts |
plan waves, approve production? | ListRollouts, GetRollout |
PlanRollout, ResumeRollout, RollbackRollout, CancelRollout |
guard breached during bake: Halted, wave rolled back, incident opened; ManagedPlus customer not opted in: excluded from early waves |
| 4 | incidents — Incidents |
acknowledge, mitigate, resolve, review? | ListIncidents, GetIncident |
OpenIncident, TransitionIncident |
paging connector down: Studio notification only, escalation after target |
| 5 | status-objectives — Status and objectives |
— | ListServiceHealth, ListSlos |
SetSlo |
metric backend unavailable: objective Suspended with note |
Acceptance¶
Every step is exercised keyboard-only at 1440×900 and 390×844, in light and dark, in en and he (RTL); every adverse branch renders its state from the states catalog with words, never colour alone; a command's outcome is the server's response, never a toast.