`tour calendar ·
16 Sept 2026 · branch terminology-evidence · captured against propflow-stage · at f5b73ac745
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.
Building rows on the Atlas org map carry a calendar chip. It read tour calendar · <provider> when a connection existed and — no calendar when none did.
The gap label is the load-bearing half. building-calendar.ts builds the organization schedule view out of rows this product already holds — tours, work orders, turnovers, move-ins, key pickups, vendor visits — and reads no provider and no credential to do it. So a building with no connected calendar still has a calendar; what it does not have is an endpoint. — no calendar was not a terser way of saying that, it was a different and false claim. The sibling chip on the same row already says — no org line, naming the missing thing rather than an absent capability, which is the shape this now matches.
The connected half loses tour for the same reason: booking tours is what we currently USE the endpoint for, not what the endpoint IS.
Asserted in the captured DOM — — no connected calendar. The gap label, on screen. Asserting the exact string is what stops a blank or half-hydrated page from passing as evidence — an earlier run of this spec captured the Atlas root card grid instead of the map, and the assertion is what caught it.
The same map at phone width. The chip row wraps; the label does not truncate to the old, shorter, untrue wording.
Asserted in the captured DOM — — no connected calendar. Same string, narrow viewport — a wrap that clipped it would fail here and pass at desktop.
That the changed label reaches a screen, at both widths — the claim a source-scanning drift test cannot make. Captured from this branch's own dev server against propflow-stage, proved from the server's own /api/health before the first shot.
The BEFORE is not photographed: it is in the diff and in the guard, which reddens on the superseded strings tour calendar · and '— no calendar' and goes green only on both new ones. This surface is platform_admin-only by middleware.ts; the capture identity is the smoke user, which already holds that role, and no gate was touched to obtain this capture — the earlier failure was a compile/navigation timeout, not access.