Prospects — the list paints without waiting for the stats

the two stats-fed lines after the stats land: the Tours tile's upcoming line and the funnel's occupancy line

23 Sept 2026 · branch feat/prospects-stats-own-suspense · captured against propflow-stage · at 9bdfca8701

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.

1 · Loaded: the Tours tile's upcoming line

The page no longer awaits the leasing stats before it paints the list. The stats feed exactly two lines. This is the first: the Tours tile's sub-line, which reads the forward book of tours (N upcoming / none upcoming). Until the stats land, the slot holds a skeleton; once they land it reads as before. Every other tile is counted from the list itself and is unaffected. Scoped to the stage sandbox company, Fairhaven Residential (TEST).

Asserted in the captured DOM — Fairhaven Residential (TEST) · Inquiries · Tours · Applications · Signed Leases · upcoming. The Tours sub-line carries its stats-fed text, so the seed or the poll reached it.

Loaded: the Tours tile's upcoming line

2 · Loaded: the funnel's occupancy line

The second stats-fed line lives under the funnel, which opens from any metric tile. It reads the vacancy context (vacant, on notice). While the stats are in flight it holds a skeleton of the same height, so the panel does not move when they land. Scoped to the stage sandbox company, Fairhaven Residential (TEST).

Asserted in the captured DOM — Fairhaven Residential (TEST) · on notice · vacant. The occupancy line carries its stats-fed text.

Loaded: the funnel's occupancy line

What these captures cannot show

The stats-pending state (the two skeletons) only lasts until the stats answer, and this capture tool loads each page to completion and has no way to hold one response open, so it cannot photograph that moment. The skeletons are pinned in code instead: prospects-ssr-one-load.test.tsx renders the island exactly as the server does with the stats still in flight and asserts the Tours slot is a skeleton, and ProspectFunnel.occupancy-pending.test.tsx does the same for the occupancy slot.

PropFlow Docs