The OTHER half of board row bug-on-dashboard-and-conversations-…-does-not-refetch-the-page-body. The 40-of-40 measurement that opened the row was taken 5.5 hours BEFORE #9087 landed; this capture is what decides whether that fix closed the dashboard half. It did.
17 Sept 2026 · branch refetch-on-switch-p1 · captured against propflow-stage · at b309ed6187
Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.
JPCO on a plain hard load: occupancy 88.4% on 205 of 232 occupied, revenue $341,012, 22 open work orders, $20,724 past due at 13.7% of tenants past due.
Asserted in the captured DOM — occupied. Broad on purpose — this run is to LEARN the exact figures for both companies.
The other company, same route, same viewer. Every figure the board row names differs: occupancy 0 of 14 occupied, revenue No rent recorded in view yet
, renewals No decisions yet this cycle
, 0 open work orders, $0 past due at 0% of tenants past due. That is the differ-proof, executed rather than asserted.
⚠️ And the trap the row warned about is visible here: LEADS BY SOURCE reads 54 in last 30 days for JPCO and 53 for Fairhaven — near-identical. Nothing here asserts on that card.
Asserted in the captured DOM — occupied. Same.
Starts on Fairhaven, ticks JPCO on and Fairhaven off, closes to commit — no document is loaded. Every figure turns over to JPCO’s, and Fairhaven’s contrasting values are gone from the frame: 0 of 14 occupied, No decisions yet this cycle
and 0% of tenants past due are all absent.
Asserted in the captured DOM — occupied. The screenshot is the measurement — the figures are read off it.
The dashboard half of the row is met. After a committed switch with no page load, the four figures the row names — occupancy, revenue, maintenance backlog and past-due balances — all read the newly selected company’s, and the previous company’s contrasting values are absent from the same frame.
This is NOT the conversations PR’s work, and saying so matters. #9291 changed ConversationsLog.tsx only. The dashboard already carried the tab’s selection on its requests through useTabScope, and #9087 made SelectionProvider re-derive the committed selection from the address on every change — which is what makes the polling deps rotate on a commit. The row’s 40-of-40 measurement was taken at 01:50 local on 2026-09-17; #9087 merged at 07:31 the same morning. The measurement predated the fix, and this capture is what turns that from a hypothesis read off the source into an observation.
Captured as smoke@propflowai.co, an active platform_admin. A single-company viewer was NOT captured, and deliberately: this defect requires holding grants on two or more companies, so a viewer with one has nothing to switch between and the soft-switch case is vacuous for them.
Data source propflow-stage, anonymized by construction (ADR-0097/0110).