{"schema":"stream-v3-reliability-public.v6","generated_at":1793049000.0,"generated_at_iso":"2026-10-26T21:10:00Z","cadence_sec":60,"scope":"operational_reliability_indicators","interpretation":"Viewer-facing SLO rows carry a target, error budget and assessment; quality rows are references; guardrail rows are constraints and invariants. Targets are internal engineering objectives, not guarantees.","tiers":[{"id":"slo","label":"Viewer-facing SLOs"},{"id":"quality","label":"Quality references"},{"id":"guardrail","label":"Guardrails & invariants"}],"active_incidents":{"status":"ok","count":0,"items":[],"interpretation":"Current incidents are separate from notification delivery and recovery execution."},"items":[{"id":"delivery_availability_estimate","tier":"slo","label":"YouTube delivery availability","window":"rolling 7d","value":99.841,"unit":"%","target":99.0,"assessment":{"status":"UNKNOWN","label":"not judged: sources disagree"},"facts":[{"label":"Conservative value","value":99.841,"unit":"%"},{"label":"Coverage","value":100.0,"unit":"%"},{"label":"Coverage gate","value":99.0,"unit":"%"},{"label":"Bad minutes","value":16.0,"unit":"min"},{"label":"Interruptions","value":4.0,"unit":"episodes"},{"label":"Longest interruption","value":6.0,"unit":"min"},{"label":"Error budget","value":100.8,"unit":"min"},{"label":"Budget remaining","value":84.8,"unit":"min"},{"label":"Raw bad","value":18.0,"unit":"samples"},{"label":"Excluded public-only","value":2.0,"unit":"samples"}],"note":"Minutes where YouTube is publicly live, the ingest is connected and the watchdog is healthy. Uncorroborated public-only status gaps stay separate. An interruption is a run of consecutive bad minutes.","recent_24h":100.0},{"id":"twitch_delivery","tier":"slo","label":"Twitch delivery availability","window":"rolling 24h (7d collecting)","value":100.0,"unit":"%","target":99.0,"assessment":{"status":"COLLECTING","label":"collecting until 10-27 08:43 JST · 24 h meets target"},"facts":[{"label":"Conservative value","value":99.653,"unit":"%"},{"label":"Coverage","value":99.653,"unit":"%"},{"label":"Bad minutes","value":0.0,"unit":"min"},{"label":"Unknown minutes","value":2.0,"unit":"min"},{"label":"Error budget","value":14.4,"unit":"min"},{"label":"Budget remaining","value":14.4,"unit":"min"},{"label":"Relay continuity","value":100.0,"unit":"%"},{"label":"API observation","value":99.653,"unit":"%"}],"note":"Helix reports the channel LIVE, over known provider minutes; relay continuity and API observation are shown beside it. The SLO period starts at 2026-10-20T08:43:00+09:00 (OCI fan-out)."},{"id":"picture_freshness","tier":"slo","label":"Picture freshness (relay output)","window":"rolling 24h (7d collecting)","value":100.0,"unit":"%","target":99.0,"assessment":{"status":"COLLECTING","label":"collecting until 10-28 16:50 JST · 24 h meets target"},"facts":[{"label":"Clock moving","value":1436.0,"unit":"min"},{"label":"Frozen or black","value":0.0,"unit":"min"},{"label":"Unread (OCR)","value":4.0,"unit":"min"},{"label":"No sample","value":0.0,"unit":"min"},{"label":"Relay standby","value":0.0,"unit":"min"},{"label":"Coverage","value":99.722,"unit":"%"},{"label":"Coverage gate","value":90.0,"unit":"%"},{"label":"Interruptions","value":0.0,"unit":"episodes"},{"label":"Longest interruption","value":0.0,"unit":"min"},{"label":"Error budget","value":14.36,"unit":"min"},{"label":"Budget remaining","value":14.36,"unit":"min"}],"note":"Minutes where the observer saw the on-screen clock advancing in the relay output, over minutes it could judge. Unread OCR minutes and missing samples lower coverage, not the value; relay standby is outside the denominator. The 90% coverage gate is provisional while OCR leaves about 5% of minutes unread. Checks the picture the relay sends, not what viewers receive."},{"id":"audio_check_samples","tier":"quality","label":"Audio checks","window":"rolling 7d","value":99.841,"unit":"%","target":99.5,"assessment":{"status":"MET","label":"at reference"},"facts":[{"label":"Conservative value","value":99.841,"unit":"%"},{"label":"Coverage","value":100.0,"unit":"%"},{"label":"Coverage gate","value":99.0,"unit":"%"},{"label":"Bad minutes","value":16.0,"unit":"min"},{"label":"Interruptions","value":5.0,"unit":"episodes"},{"label":"Longest interruption","value":6.0,"unit":"min"},{"label":"Error budget","value":50.4,"unit":"min"},{"label":"Budget remaining","value":34.4,"unit":"min"}],"note":"Pulse monitor energy and audio fault evidence observed by the monitoring layer.","recent_24h":100.0},{"id":"visual_supporting_samples","tier":"quality","label":"Viewer frame checks","window":"rolling 7d scheduled probes","value":100.0,"unit":"%","target":99.0,"assessment":{"status":"MET","label":"at reference"},"facts":[{"label":"Probe coverage","value":98.116,"unit":"%"},{"label":"Coverage gate","value":95.0,"unit":"%"},{"label":"Scheduled probes","value":2017.0,"unit":"events"},{"label":"Viewer probe events","value":1979.0,"unit":"events"},{"label":"Eligible frames","value":1979.0,"unit":"events"},{"label":"Confirmed visual bad","value":0.0,"unit":"events"},{"label":"Probe unavailable","value":0.0,"unit":"events"},{"label":"Scheduled missing","value":38.0,"unit":"events"},{"label":"Probe event coverage","value":98.116,"unit":"%"},{"label":"Full-HD evidence","value":1979.0,"unit":"events"},{"label":"Legacy low-resolution","value":0.0,"unit":"events"},{"label":"Resolution unknown","value":0.0,"unit":"events"},{"label":"Full-HD scheduled coverage","value":98.116,"unit":"%"}],"note":"Share of captured frames from scheduled five-minute viewer probes that passed the visual checks. Capture failures and missed probes lower coverage, not the result. New evidence counts as Full-HD only when the selected source and saved frame are both at least 1920x1080; legacy 320x180 samples stay separate."},{"id":"youtube_input_quality","tier":"quality","label":"YouTube input quality","window":"rolling 7d","value":98.883,"unit":"%","target":99.0,"assessment":{"status":"BELOW","label":"below reference"},"facts":[{"label":"Conservative value","value":98.542,"unit":"%"},{"label":"Coverage","value":100.0,"unit":"%"},{"label":"Coverage gate","value":99.0,"unit":"%"},{"label":"Bad minutes","value":112.167,"unit":"min"},{"label":"Interruptions","value":18.0,"unit":"episodes"},{"label":"Longest interruption","value":16.9,"unit":"min"},{"label":"Error budget","value":100.8,"unit":"min"},{"label":"Budget remaining","value":-11.367,"unit":"min"},{"label":"Eligible duration","value":10080.0,"unit":"min"},{"label":"Outside denominator","value":34.783,"unit":"min"},{"label":"Missing evidence","value":0.0,"unit":"min"},{"label":"Recovery warnings (separate)","value":16.0,"unit":"events"}],"note":"Fresh active YouTube OAuth health evidence. Local ingest disconnects and stale probes are outside this denominator and remain separate availability or coverage evidence.","recent_24h":100.0},{"id":"upload_within_ceiling","tier":"guardrail","label":"Upload within 5 Mbps ceiling","window":"rolling 24h","value":100.0,"unit":"%","target":99.0,"assessment":{"status":"HOLDING","label":"within ceiling"},"facts":[{"label":"Ceiling","value":5.0,"unit":"Mbps"},{"label":"Max p95 (24 h)","value":4.343,"unit":"Mbps"},{"label":"Minutes over (24 h)","value":0.0,"unit":"min"},{"label":"7 d trend","value":100.0,"unit":"%"},{"label":"Minutes over (7 d)","value":0.0,"unit":"min"},{"label":"Longest over (7 d)","value":0.0,"unit":"min"},{"label":"Max p95 (7 d)","value":4.971,"unit":"Mbps"}],"note":"One-minute observations of the rolling 1 h upload p95 against the 5.0 Mbps home-uplink ceiling. This is a bandwidth constraint, not availability."},{"id":"same_url_observation","tier":"guardrail","label":"Same YouTube URL","window":"rolling 30d","value":0.0,"unit":"transitions","target":null,"assessment":{"status":"HOLDING","label":"URL unchanged"},"facts":[{"label":"Distinct URLs","value":1.0,"unit":"URLs"},{"label":"Evidence rows","value":3983.0,"unit":"events"},{"label":"Raw metric","value":99.287,"unit":"%"},{"label":"Raw bad","value":308.0,"unit":"samples"}],"note":"The public watch URL stays the same; observed transition and URL counts are shown apart from the raw monitoring ratio."},{"id":"twitch_daily_renewal","tier":"guardrail","label":"Twitch daily session renewal","window":"rolling 24h (7d collecting)","value":100.0,"unit":"%","target":100.0,"assessment":{"status":"HOLDING","label":"every renewal on time"},"facts":[{"label":"On time","value":1.0,"unit":"events"},{"label":"Failed","value":0.0,"unit":"events"},{"label":"Unknown or pending","value":0.0,"unit":"events"},{"label":"Expected","value":1.0,"unit":"events"}],"note":"OFFLINE, then a new LIVE stream ID and start time within 600 s of 00:00 JST."},{"id":"adsb_source_health","tier":"guardrail","label":"ADS-B source availability","window":"rolling 7d monitor events","value":100.0,"unit":"%","target":99.0,"assessment":{"status":"HOLDING","label":"source fresh"},"facts":[{"label":"Evidence coverage","value":100.0,"unit":"%"},{"label":"Coverage gate","value":99.0,"unit":"%"},{"label":"Uncovered time","value":0.0,"unit":"min"},{"label":"Unclassified time","value":0.0,"unit":"min"},{"label":"Event valid for up to","value":90.0,"unit":"s"},{"label":"Monitor events","value":9096.0,"unit":"events"},{"label":"Classified events","value":9096.0,"unit":"events"},{"label":"Active","value":9082.0,"unit":"events"},{"label":"Quiet","value":14.0,"unit":"events"},{"label":"Stale","value":0.0,"unit":"events"},{"label":"Unknown","value":0.0,"unit":"events"},{"label":"Report issues (diagnostic)","value":0.0,"unit":"events"}],"note":"Active and quiet are both healthy when the aircraft.json source heartbeat is fresh. Zero traffic is activity information, not a source failure. Coverage is the share of time with a current classified monitor event (each event stays current until the next, for at most its stated span); below the 99% coverage gate the result is not judged, so missing evidence never reads as healthy."}]}
