The Atlas calendar chip names the endpoint, not the use

`tour calendar · ` described what a connection is FOR, and `— no calendar` said something untrue. N1 D7 separates the connected calendar (a provider endpoint) from the organization schedule view (an aggregate this product builds with no provider read at all) — so a building with no connection still has a schedule view; what it lacks is the endpoint.

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.

1 · Desktop — the chip on the org map

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 Atlas org map tree at desktop width, building rows carrying a calendar chip reading “— no connected calendar”

2 · Phone width — the same chip

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.

The Atlas org map at phone width with the same connected-calendar chip

What this settles

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.

PropFlow Docs