Connect the email you want Clara to reply from — the admin's inbox step, and nothing else

Wave 2, lane G1: the calendar question is gone from the company admin's step, and the screen is titled in the founders' words. One heading, and it says what state the admin is in.

17 Sept 2026 · branch onboarding/g1-inbox-only · captured against propflow-stage · at ede27ac46d+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 inbox step — staff have not chosen the address yet

Founders' standup 2026-09-17 (flow map ch.9, rulings 1 and 3): the company admin connects the shared leasing inbox and nothing else. The title is Fede's wording, after a customer connected his personal Gmail by accident — Connect the email you want Clara to reply from, with Not your personal one — the shared leasing inbox Clara will write from. beneath it. Below the card there is nothing: Who books tours? and its three answers (I do / A shared calendar / My leasing team does) are gone, and no calendar is asked of the admin.

This is the not-yet-chosen state — an anonymous request resolves to the staff sentinel company, whose staff have not picked an address — so the sample email describes a PropFlow address for your company (a description, never an invented address) and no vendor buttons render. Continue is the only control.

Asserted in the captured DOMConnect the email you want Clara to reply from · Not your personal one — the shared leasing inbox Clara will write from. · YOUR LEASING EMAIL · a PropFlow address for your company · We'll confirm this address with you before Clara sends anything. · Continue. The h1 and sub-line in the ruling's words, the card's section label (uppercased by CSS, so asserted as a person sees it), the described From, its caption, and the single Continue. Nothing about tours is asserted because nothing about tours renders — the frame is the proof of absence.

The inbox step — staff have not chosen the address yet

2 · The same screen at phone width

The title wraps onto two lines, the sub-line onto two, and the card's caption inside its border. Nothing below the card to scroll to — the screen ends at the footer.

Asserted in the captured DOMConnect the email you want Clara to reply from · YOUR LEASING EMAIL · Continue

The same screen at phone width

3 · Leasing email connected — the heading says what happened

Back from the vendor with the inbox connected. The same h1 now reads Leasing email connected and the sub-line is gone: an instruction over a done state is exactly what Fede reported on 2026-09-11 (it is already saying connect), and review round 1 of this PR caught the first cut shipping the ruling's title unconditionally over a smaller connected heading. There is one heading, and it describes the state the admin is in.

Reached by the redirect's own parameter, so no mailbox row exists behind it — the address slot under the check is empty here, and would carry the connected inbox for a real company.

Asserted in the captured DOMLeasing email connected · Clara now answers from this inbox. · Continue. The outcome heading, its line, and Continue. The instruction and its sub-line must not be on this frame; the unit test pins that absence, the frame shows it.

Leasing email connected — the heading says what happened

4 · Approval sent — the pending state, same heading slot

The Microsoft admin-consent shape. The h1 reads Approval sent to your Microsoft 365 admin; below it the one thing the pending state carries — connecting a different mailbox, for an approval requested against the wrong account (incident 2026-09-11) — is in the footer's secondary slot, unchanged.

Asserted in the captured DOMApproval sent to your Microsoft 365 admin · This connection needs an admin · Continue

Approval sent — the pending state, same heading slot

5 · The per-building shape — the building's rows stay, the tours question does not

A company that runs a team per building gets the three-row list — SMS, Email and Calendar. The Calendar row is the building's calendar, ruled to stay (flow map ch.4); the Who books tours? section that briefly sat under these rows is gone from this shape too, and with it the ?tours= landing guard that only existed to keep the two calendar callbacks apart. This is the shape the gate falls to on an anonymous status read, so it is what a local capture shows without a company_* parameter.

Not fixed here, known gap: this shape still carries the heading Connect Clara to your channels and no email card (flow map, known gaps).

Asserted in the captured DOMConnect Clara to your channels · SMS · Email · Calendar · Continue

The per-building shape — the building's rows stay, the tours question does not

What these frames prove, and what they cannot

Captured anonymously against a dev server bound to propflow-stage; the run's own guard confirmed the table before a browser launched, and a production frame is impossible by construction. The wizard layout redirects a signed-in platform admin to the dashboard, so the wizard is photographed the way the whole-flow page photographs it — as nobody-in-particular, which resolves to the staff sentinel company.

What is proved: the retitle, in the exact words; the sub-line; no calendar question on either shape; and that the heading follows the state (connected, pending). What is not on this page: the client-owned state with the two vendor buttons under the card — the sentinel company's staff have not chosen an address, so anonymously there is nothing to connect. That state's controls are unchanged by this PR (the buttons, the sentence over them and Skip for now are the same components as before), and company-step.test.tsx pins them rendering for a client-owned company. Part 2 of this lane (G2) removes the step from the run entirely when PropFlow owns the address, so the not-yet-chosen frame above becomes unreachable in an ordinary walk once it lands.

PropFlow Docs