ATL-A · the Atlas org list says where the live customers stop

Buckets after a divider: the archived orgs, the dangling ids and the unanchored buildings now sit under a rule that names them.

12 Sept 2026 · branch ui/atl-a-buckets-after-a-divider · captured against propflow-stage · at 365ebb92bf+local

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 · The Organizations list, with the line drawn

ATL-A's open clause is "buckets after a divider". Since #7674 the buckets have been appended after the live orgs and each carries a Bucket pill, but nothing on the page said where the live customers stop — four tiles reading Archived / suspended, a dangling org id and (unassigned) sat in the same grid as a real customer and read as four more customers until you read every pill.

What to look at: the full-bleed rule across the grid, the heading Not a live organization, and the sentence under it. Then look at what is below the rule and confirm every bucket tile is still there and still clickable — the divider heads them, it does not hide them, which is what archive-and-still-readable has to mean on a screen. The first bucket tile starts a fresh row under the rule at every breakpoint (col-span-full), so the boundary is a row break rather than a tile that happens to be to the right of something.

Also visible, and the reason this capture is not decoration: the Probe Co tile read undefined · customer · — · sandbox on the first run. toOrganization back-fills purpose and isSandbox and nothing else, so a row from a partial writer arrives with slug: undefined even though the type says it is required — and the tile printed the literal. #7674 fixed exactly this for status; nothing was looking at slug. It now renders at both places an org's slug appears, the list tile and the card's Identity block, so the two cannot disagree. No assertion in the suite was watching; the picture was.

Asserted in the captured DOMNot a live organization · Nothing here is hidden. The heading and the second half of its sentence, asserted as text in the state the screenshot shows. The POSITION of the rule is asserted separately in atlas-organizations-path.test.ts, which server-renders the real grid over the real resolver output and pins that the heading falls after the last live org's label and before the first bucket's — because this capture can only assert that a string is somewhere on the page, and a heading rendered in the wrong place is still a heading rendered.

The Organizations list, with the line drawn

2 · The same list at phone width

The grid collapses to one column below sm, so the divider is scrolled to rather than shot from the top. The rule is col-span-full and the sentence under it wraps rather than truncating, so the boundary survives the collapse — a divider that only exists at desktop width is one the reader loses exactly where the list is hardest to scan.

Asserted in the captured DOMNot a live organization

The same list at phone width
PropFlow Docs