ATL-E · the what-if, on the map

One catalogue change rehearsed on a test building: the marks, the rows it would write, the count, and Undo. Nothing is saved.

1 Oct 2026 · branch ui-atl-e-part1b-whatif-wire · captured against propflow-stage · at fd679464ce3

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 · A rehearsal link, clicked: #3 on a test building

Clicking a test building's #3 link (found at runtime) shows the rehearsal with no page load: the rows it would write, the count labelled as a design-model count, and the new chip.

Why this is right

The links are drawn only on test buildings, so the gate applies before a link exists. The click writes ?whatif=3:prop:<id> with history.pushState, the same way Atlas.tsx writes path. The rows use the map log's own words, and the count follows the 2026-10-01 ruling.

Asserted in the captured DOM — What-if: a rehearsal, nothing is written · Undo · inserted 3 · updated 1 · moved 0 · a design-model count · Moved is 0 by construction · a new number · #3 Building gets its own number. Asserted after the click, in the state shown.

A rehearsal link, clicked: #3 on a test building

2 · #1 on the same building: refused by name

This building holds no line of its own, so change #1 is refused in a sentence. No panel and no marks are drawn.

Asserted in the captured DOM — holds no line of its own to move

#1 on the same building: refused by name

What the capture caught

The first capture caught a layout gap: the rehearsal links filled the space below a test building's card. The layout now counts them.

Detail

Card heights come from a chip-row model, and the links (plus the address card's this row would be … line) were not in it. They are now counted, and the render test pins the drawn min-height. Undo was driven separately against the same server: it removes whatif from the address, the panel goes, and link, link and Undo cause zero document loads.

PropFlow Docs