__MK__tabaqat · StrataEmergency Management & Response
Live Operations Dashboard — "The Watch Wall"

The feed is up.
That does not mean
the number is current.

An unattended watch wall that runs a shift on its own, ages every figure on two clocks — the feed's, and the ICS 209 record's — and interrupts itself when a high-severity change lands. Then it puts the incident in front of a person, and stops there.

California reference implementation · 187 live · 326 offline · 142 browser assertions, 0 failures Keyless · read-only · no build step, no npm dependencies
© 2026 Tabaqat · Built on Strata — sovereign geospatial applications. Situational awareness beside command — not a system of record. Feeds probed 2026-10-21; final build verified 2026-10-22.
The decision this drives

When to break in — and put an incident in front of the duty officer.

A wall on a watch floor runs between activations: NIMS puts "routine watch and warning activities" at EOC level 3, steady state. Nobody is at the mouse. The one question it must answer, all shift: across the whole jurisdiction, what has changed since handover — and does anything need a person now?

The wall makes the break-in call on the glass, against thresholds the watch centre sets. A person decides what happens next, in their own systems. The wall never evacuates, dispatches, warns or orders, and it pages nobody outside the room.

Buyer: watch-centre manager · duty officer An equal buyer: private watch centres — industrial, energy, campus SOCs Measured against: the wall they built in-house
1800hours PST — when a significant California wildfire's ICS 209 is due, once a day. Weekly (Thursdays) once ≥ 90 % contained, if negotiated. 2026 California Interagency Mobilization Standards, Ch. 60

WFIGS refreshes from IRWIN every 5 minutes. The 209 inside it does not. On 2026-10-21 the NEURALIA fire's record was modified on 20 Oct — and still carried a final 209 from 16 May, 17:52 PDT.

Of 92 current California incidents that morning, 10 carried a 209 at all. The other 82 read "no 209 published", never "overdue".

The finding that shaped the app

A green dot judges the feed. Nobody judges the number.

The feed clock

Every product we read that shows age at all shows when the layer last refreshed. So a dot goes green because WFIGS answered — over a 209 that may be days old. The previous version of this very app made that mistake.

The record clock

NICC already treats a late 209 as a state: values are "carried forward from the last approved ICS-209", and after six consecutive missed updates an incident leaves the national IMSR. The rule is published. No live view applies it.

The silence

A zero is not an all-clear. The NWS warning-polygon layer reads empty for 5–10 s on each ~2-minute reload — 4 of 44 probe reads. The quake feed is a rolling 24 h window: 172 → 162 with no event ending.

So every figure carries two clocks — did the last poll succeed against that feed's cadence, and is the reported number current against its obligation to report — and a drop to zero needs a second read before it means anything.

Where this sits — benchmark and coexist, never copy

The tool that rotates doesn't interrupt. The tools that alert don't run a wall.

What existsRotates unattendedShows ageInterrupts itselfVerdict
Esri ArcGIS Dashboards · Emergency Management Operationsnot statedthe feed clock — "Last update" of an element's layernot statedThe stack the buyer may already own — this wall runs beside it
Juvare WebEOC · Intterra · Veocinot statednot statednot statedThe systems of record and fire COPs. Coexist, never replace
Grafana playlists · Power BI page refreshGrafana yes · Power BI none documentedPower BI: to the author only, 30-min floor on shared/Proa playlist stops when someone presses EscThe in-house wall — the real alternative
Everbridge VCC · Dataminr · Samdesk · Watch Dutynot statednot statedalerts people — not a wallDetection feeds for a wall, with no 209 content
NICC IMSR · CAL FIRE incidents—one timestamp a day · no per-incident update time—The free 209 roll-up the duty officer already opens
The Watch Wallyes — five panestwo clocks, on every figureyes — by severityThe gap

On every product page read (2026-10-21), no product pairs timed rotation with an interrupt that breaks it — and none shows how old a reported number is against the obligation to report it. "Not stated" means the pages read do not say.

The silhouette — "watch-wall"

One map. Five panes. An interrupt that is never a stop.

A headerless dark kiosk — an airport departures board for disasters. One full-bleed map is shown on every pane, reframed by each pane: overview · by area · weather & hydrology · resources · power. The escalation pane exists only while something has fired; rotation never visits it.

The standard map controls sit top-right on every pane. No tools and no scale bar — nobody measures, draws or prints at an unattended wall, and the wall computes no distance. The basemap pair is vt-gray / vt-gray-dark, because 40/255 polygon fills vanish on a colourful ground.

currentmore than 6 h before the next 209 is due
duewithin 6 h of it
overdueone cycle missed
carried forwardtwo or more missed — drawn with its report date
finala final 209 — nothing further due
no 209never reported — never "overdue"
NOTICE — situational awareness only · not a system of record · Hold / Acknowledge: local — not shared ⚠ ESCALATION — only while something has fired · +N more READING · since handover +1 new incidents (WF)±0 ac acres grown13 warnings issued17,810 customers out current due overdue final LIVE · since 18:00 · Overview 1/5 LEGEND · this pane click hide · ⇧ isolate n of N kept WFIGS fresh · every 5 min · record 20:55 NWS alerts · every 2 min PSPS grey: gated 11 of 14 feeds green The rotation — 20 s a pane by default overview by area weather resources power ESCALATION 2 × dwell, then resume snaps in on a high-severity change — never in the loop
Schematic, drawn to explain the layout — the shipped wall is on the next slide. Rotation holds while a person is present (pointer over the wall, a drawer, a popup, an adopted row, an isolated county, the ⚙ dialog) and resumes 10 s after the last clears, with a countdown in the strip.
The application, first paint

Every figure shows its source, its age and its cadence — without a click.

The Watch Wall at first paint on live feeds: the notice bar, the overview reading since the 18:00 handover with the ICS 209 clock chips, the wall strip, the full-bleed California map with incidents and quakes, the legend and the 14-chip feed bar.
LiveFinal build, 22:23 PDT on 21 Oct (the run of 2026-10-22) — a browser screenshot written by the automated driver, not a mock-up. NWS alerts and river gauges have not answered yet.
  • "Still reading: NWS alerts — not counted as zero." The first build said "Quiet since 06:00" while alerts were still loading. A false all-clear on first paint, with every non-visual suite green. Quiet now needs every feed to have answered.
  • The ICS 209 clock leads. 10 of 91 incidents carry a 209: 3 current · 0 due · 0 overdue · 0 carried forward · 7 final · 81 "no 209 published" — with the rule it applied, in words.
  • The delta, from handover. 1 new wildfire, RX counted apart. A wall started late says so: "since 22:23 (wall started after the 18:00 handover)".
  • The feed bar. 14 chips — word · fetch age · cadence · time of record. 9 of 14 green at this instant; PSPS, CAISO and CHP CAD grey with their reasons.
The signature loop — met live on the final run

A high-severity change breaks the rotation.

The live wall with a red escalation banner: Flash Flood Warning issued, Santa Barbara, CA, NWS Los Angeles/Oxnard, sent 22:14 PDT, with Review and +1 more; Santa Barbara County's warning polygons on the map; 13 warnings issued since 18:00; 11 of 14 feeds green.
LiveA real Flash Flood Warning for Santa Barbara County from NWS Los Angeles/Oxnard — CAP Actual, Severe, sent 22:14 PDT; a second one had been sent at 21:11. The wall opened on the escalation pane, and rotation never came back to it.

Snap → dwell → resume. The wall flies the map to the trigger, frames it in the banner colour and dwells 2 × the pane dwell (40 s by default). Then rotation resumes — and the banner stays, with "⚠ 2 unacknowledged" in the strip, until someone acknowledges.

  • Each key fires once per shift. A disappearance or a zero never fires.
  • Esc never acknowledges. It unwinds one thing per press — popup, drawer, county isolate, adopted row.
  • A status report on the glass, nothing more. No page, no SMS, no e-mail.

A test tsunami escalated the live wall

At 09:31 PDT on 21 Oct NWS sent a Tsunami Warning, severity Extreme, San Diego to Alaska — with CAP status: "Test". /alerts/active leaves tests out; the 7-day /alerts history does not. Now only Actual counts: that day, 257 kept, 1 left out.

The queue — ordered by severity, not arrival

Acknowledge one, and the next most severe takes the screen.

Fixture run: after the M5.3 earthquake is acknowledged, the escalation card shows the Red Flag Warning issued for Mono, with Hold, Acknowledge and local — not shared; the banner reads +2 more and the strip 3 unacknowledged.
Fixture dataTest run on the synthetic escalation fixture, as the band across the wall says. The M5.3 earthquake has been acknowledged; the Red Flag Warning is next; +2 more.

Feeds answer on their own clocks, so first-fired-first put a fire's growth (BRAVO, in the fixture) ahead of a Red Flag Warning. The product owner ruled on 2026-10-21: most severe first.

Escalation tiersmost severe first
0An Evacuation Order, or an NWS warning CAP-rated Extreme
1An earthquake at the trigger (M5.0 in the county polygons)
2Another listed warning — Red Flag, Fire, Flash Flood, Extreme Heat…
3A new or growing fire at the acreage trigger (1,000 ac)
4Containment fell

A more severe arrival takes the screen unless the current one is held; the displaced item goes back in the queue, unacknowledged, and the log says what displaced it. Hold and Acknowledge are labelled "local — not shared": a second screen in the room does not know.

The second clock — the ICS 209 ledger

Every 209 number, judged against its own obligation.

The live resources pane: the ICS 209 ledger of 10 California incidents with acres, percent contained, personnel, 209 report time in Pacific, version and the clock state with the rule applied; the map labels each incident with its personnel.
LiveFinal run, 22:24 PDT on 21 Oct. Click a row to adopt it (fly, popup, halo); click again to release. Engines, crews, dozers and aircraft by type: not published — WFIGS carries total personnel only.
From the ledger abovereport · rule · state
COOLEY · 74 %21 Oct 17:28 · dailycurrent
NORTE · 95 %21 Oct 17:49 · weeklycurrent
Timber · 97 %21 Oct 15:29 · weeklycurrent
HENDERSON · 100 %19 Oct 17:08 · Ffinal
NEURALIA · 100 %16 May 17:52 · Ffinal

The trap a naive rule falls into: judged "daily by 1800", HENDERSON and NEURALIA would both read overdue. Neither is — ICS209ReportStatus = 'F' means no further 209 is due.

The four update reports probed on 21 Oct landed 17:10–17:57 PDT — the deadline is read on the Pacific clock, DST-aware. Weekly applies at ≥ 90 % contained "(if negotiated)": the app cannot see the negotiation, and says so on every chip.

The California spine — all public, all keyless, every trap inverted on purpose

Fourteen feeds, each on its own clock. Six traps that fake an all-clear.

A long GET is a 404 page

WFIGS answers a GET over ~2,048 characters with HTTP 404 and an HTML page — not 414, not an ArcGIS error. The first departure join reported 12 of 92 because the 404s parsed as "no match". IN-lists go by POST; HTML is a failed poll.

The layer blanks on reload

NWS warning polygons answer HTTP 200, count 0 for 5–10 s of each ~2-minute reload — indistinguishable from "no warnings". A zero after non-zero is held as "re-checking" until a read ≥ 15 s later agrees.

A falling count is not an event

USGS's past-day feed is a rolling window: 172 → 168 → 166 → 162 with no event ending. The California bounding box also catches Nevada and Baja — quakes are clipped to the 58 county polygons.

A 200 that is an error

The Cal OES PSPS "Current" layer answers HTTP 200 carrying {"error":{"code":499}} — token required. The "Active" layer is a single 2021 row. PSPS is a grey chip with its citation, never a substitute.

An order from 2023, still "current"

Eight Tulare Evacuation Order zones were last updated 2023-09-21 and are still published. Any order older than 30 days reads "unverified — check the county" and never counts as a change.

Case and code decide a county

Cal OES outage counties are UPPER CASE — the wall read "17 of 58 counties changed" one minute into a shift until the compare was case-folded. NWS alerts join on SAME codes, never areaDesc.

The spine: NIFC/WFIGS incidents (Current + Year-to-Date) · CAL FIRE FIRIS+WFIGS perimeters · NWS CAP alerts and WWA polygons · USGS quakes · NWS river gauges · EPA AirNow · Cal OES outages (points, county totals, PG&E-only areas) · CAL FIRE statewide evacuation view · CA Geoportal counties. Grey, with citation: PSPS (gated), CAISO (no CORS), CHP CAD (unreachable). Every bound feed probed 2026-10-21 and re-probed at 13:13Z before any code.

Proof, not promises

Built, driven and left alone for 30 minutes — 2026-10-22.

655assertions, 0 failures, on the final build — 187 live · 326 offline · 142 in real headless Chrome
23/0map-controls conformance; the vendored package byte-identical (check-drift OK, 40 files); 51 behaviours each mapped to a suite
5.10worst informational contrast, re-measured in the browser in both themes (light; dark worst 6.54) — the floor is 4.5
0API keys, proxies and npm dependencies — node server.mjs and it runs

A shift, unattended

The 30-minute accelerated run passed on the final build (142 / 0): 5 panes cycled, 7,602 polls; map sources 14 → 14, layers 276 → 276, the wall's own DOM 288 → 288, features painted 289 → 289. Accelerated timing on the fixture.

Caught by looking, not asserting

The false "Quiet since 06:00" on first paint, "17 of 58 counties changed", the legend under the open drawer, the feed bar wrapping to four lines at 1920 px — found in screenshots or the browser suite. Every non-visual suite was green over each.

Said before you ask

One live run made during the soak, on an earlier build, reported 169 / 170; its log was not kept and three reruns were 170 / 170. It is recorded as unexplained, not guessed at. Legibility at 15 ft on a 4K panel was judged, not driven (1920×1080 and 390 px were).

Reading the figures: live screenshots and counts come from public feeds on the dates named. Nothing is seeded — a quiet shift is a designed pane. Synthetic fixtures (every name starts FIXTURE) exist for the tests only and paint a "FIXTURE DATA — test run, not live" band whenever they are on; the slides that show one say so.

Stated as boundaries, not caveats

What this application will not do.

  • Not a system of record. Not CAD, not WebEOC, not SIT-209 or the incident's Documentation Unit, not a warning originator. The notice bar says so on every pane; every brief page repeats it.
  • It notifies nobody. The interrupt is a status report on the glass — no page, no SMS, no e-mail, no write-back of any kind.
  • Hold and Acknowledge are this screen's. A second screen in the room does not know. The baseline and the sparkline live in this browser.
  • Gated lanes stay grey. PSPS (2021 snapshot / token-gated), CAISO (no CORS), CHP CAD (unreachable) — cited, never substituted.
  • Posture is personnel only. Engines, crews, dozers and aircraft by type are not published openly; the wall renders them absent with the citation.
  • No distance, no exposure, no history. The only distance on screen is USGS's own place text, quoted. Replay and per-incident briefing belong to the operating picture.
  • "Live" means polling at a printed cadence — never push, never "real-time". Outage areas are PG&E only; other utilities are points.
  • English only; California. Print pagination of the brief and swipe on a real touch device are unverified.

Every one of these is written into the delivered application's own README. A wall that hides its edges trains the room to trust a green dot.

Point it at your jurisdiction

Your feeds. Your handovers.
Your thresholds for breaking in.

An incident feed that carries its own report clock, the warning and hazard feeds you already watch, your jurisdiction's boundaries — and the handover times and escalation triggers your watch floor works to.

Set on the wall, not in code: handover times, pane dwell and the escalation thresholds live in the ⚙ Shift dialog. The feeds are one registry; each carries its cadence and its time-of-record field. It reads ESRI services and runs keyless — beside the Dashboards, WebEOC or Grafana wall you already own, not instead of it.

tabaqat.net → Solutions → Emergency Management info@tabaqat.net
© 2026 Tabaqat · Built on Strata. Reference implementation over California, feeds probed 2026-10-21. Situational awareness only — not a system of record, not a warning originator, not CAD. Esri, ArcGIS and other marks are used nominatively; no affiliation or endorsement is implied.
1 / 13