CEO release gate · 12 July 2026 · read-only production evidence

Email nurture: what is built, what would happen today, and what you need to approve

A non-technical walkthrough of the refined Phase 0/1 system, the first Phase 2 utility-email foundation, and exact production simulations. Nothing has been deployed or sent.

Later 12 July update: the one-place Email Campaign Studio has now been built and three real Test Send messages were sent only to Thomas's two approved owner addresses. No customer email was sent and production remains unchanged. Open the simpler Campaign Studio CEO release review. The detailed evidence below is preserved as the earlier Phase 1/2 snapshot.

Big TLDR

The software is built and independently reviewed, but it is still isolated from production. No production database was changed and no email was sent. The safe next step is approval, not deployment.

84 / 364relevant tests / assertions passed
GOClaude Code final delta review
0production sends or writes
1audience decision still needed from Thomas
The most important business finding: the rescue logic found 58 recent stalled enquiries, but 46 have no usable email and 12 already show staff activity. Today, zero would enter the rescue campaign. This means the immediate growth constraint is capturing a usable seller email at enquiry, not increasing sending capacity.

Phase 2 now has a safe foundation for one useful local-market issue at a time. The narrow, clearly evidenced audience produces 20 recipients and 3 known test exclusions in the current location-specific simulation. As requested, ongoing utility email has no holdout. The much larger legacy “New Articles” list is not being assumed to be equivalent consent.

What is done versus not done

Builtsuppression safety, rescue journey, previews, results, utility drafts, scheduling and help text
Verifiedatomic commits, full test suite, screenshots, production read-only simulation, Claude review
Not deployedthe production CRM does not yet contain these new screens, tables or safety checks
Not sentno customer and neither approved Thomas test address received an email

Your six decisions have been applied

1

Legacy workflows

Production was checked read-only: 6 Week Home Seller Plan and Home Selling Masterclass are off. Seller Guide remains on the transactional IP because the seller explicitly requests it.

2

Sender identity

Recommended default: Thomas at Which Real Estate Agent from and replying to thomasroberts@whichrealestateagent.com.au.

3

Owner approval, not an invented legal process

The release record asks for your approval and the existing terms basis. It does not require a legal team that does not exist.

4

Email copy

Drafts are below. They remain drafts until you approve or edit them.

5

Frequency cap is configurable

The pilot default is no more than 2 marketing emails in 14 days. Both numbers are visible CRM Parameters, not buried in code.

6

Suppression visibility

A read-only screen now shows each suppressed address, why it is suppressed, where the evidence came from, first/last occurrence and status.

Direct answers to your safety questions

Where do I see the 20% rescue holdout result?

On each rescue campaign page: treatment versus holdout for met agents, appointed an agent and listed online. Rates stay hidden until both groups have at least 20 people, preventing a tiny sample from looking conclusive. A 15-person pilot proves operations, not uplift.

Is 1,000 per hour still needed?

No as a global limit. WREA's stored SendGrid delivery events show marketing IP 149.72.200.78 delivered 7,536 events for 5,085 distinct messages across 136 active days. This proves a long-established sending identity at low volume. The configurable default is now 10,000/hour, but that is an operating ceiling, not evidence of a previous 10,000/hour burst. Its observed historical peak was 92 delivered events in one hour, so pause and review delivery health after the first scheduler batch of any first large edition.

Does rescue start after the 14-day staff block?

No. Rescue only applies from +24 hours until day 7. Any meaningful staff activity in the 14-day lookback removes the seller from this rescue permanently. It does not begin on day 15.

What counts as staff activity?

A call, SMS, direct email or working note. Generic system activity and tasks no longer count as “contact”; an open task remains a separate visible review flag. A note means staff are working the lead, not necessarily that the seller received a message.

What were the 30-day and one-click links?

They were unsubscribe links, not subscribe links. The 30-day expiry has been removed: the signed footer link remains valid, and marketing email also carries the standard one-click unsubscribe header used by Gmail and Yahoo.

Can marketing suppression stop invoices or requested guides?

No. Suppressions, newsletter settings and digest opt-outs apply to marketing. Requested guides, invoice follow-ups and other transactional/service messages stay sendable.

What happened to CC?

Explicit CCs are preserved. Each CC address is checked independently against blacklist and suppression evidence, and a CC bounce/unsubscribe cannot incorrectly suppress the main recipient. Production history had CC mainly on operational/referral/invoice templates; there was no reliable historical marketing classification to prove there were none.

What does “every 10 minutes” mean?

It is a background safety sweep, not an email every 10 minutes. Each person has an exact next-send time. The sweep only picks up due work, respects the 7am-9pm local window and hourly limit, stops after 8 minutes, and cannot overlap another run.

SendGrid basis: IP warm-up guidance, global statistics API, IP details API and required scope, send-time testing, and one-click unsubscribe headers. The current key can read global statistics but lacks ips.read; the per-IP counts above come from WREA's raw SendGrid delivery webhooks, which include the sending IP.

Production simulation: the +24h / +72h rescue

This snapshot was built from small indexed, read-only production queries and joined locally. It created no campaign, enrolment or queue row.

58recent stalled enquiries
46no usable email
12recent staff activity
0receive or holdout today
How the journey would work when an eligible seller exists: preview shows the exact person and reason; 20% are assigned to no-email holdout; the rest receive Email 1 at +24 hours within 7am-9pm local time; Email 2 is due at +72 hours only if the seller is still open, has not progressed, has not unsubscribed and has not been taken over by staff. Then the journey stops.
Show all 58 production candidates and exact decisions

Names and CRM IDs identify the exact records; email addresses are masked in this report. The ignored local evidence file retains the full values and has not been pushed.

PropertySellerEmailLocationEnquiry createdDecision nowNext send
174904 Sally Galweysa***@gmail.com Sunbury, Victoria2026-07-06 02:20:06 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
174917 Patrick Eastonpj***@gmail.com Clareville, NSW2026-07-06 07:21:35 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
174932 Ghassoub mohamedNone Vermont South, VIC2026-07-06 21:56:58 UTC NO EMAILNot scheduled
174939 SharonNone Junortoun, Victoria2026-07-07 00:07:18 UTC NO EMAILNot scheduled
174961 Amanda HealyNone Malua Bay, NSW2026-07-07 05:32:34 UTC NO EMAILNot scheduled
174970 Pauline LeeNone Wembley Downs, WA2026-07-07 06:46:28 UTC NO EMAILNot scheduled
174973 Zac Bosnichza***@yahoo.com.au Idalia, Queensland2026-07-07 08:53:06 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
174978 Eric ChenNone Castle Hill, NSW2026-07-07 13:52:40 UTC NO EMAILNot scheduled
174981 Mel JonesNone Capel Sound, VIC2026-07-07 21:15:24 UTC NO EMAILNot scheduled
174987 Melva WellsNone Theodore, QLD2026-07-07 23:23:20 UTC NO EMAILNot scheduled
174990 Nicole Lefkovitsle***@icloud.com Croydon, Victoria2026-07-07 23:44:10 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
174998 glenda chalkerNone Camden, NSW2026-07-08 01:26:14 UTC NO EMAILNot scheduled
175013 Ronelle Canavanro***@gmail.com Palm Beach, New South Wales2026-07-08 06:11:18 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
175023 Julie CompoNone Mildura, VIC2026-07-08 12:21:44 UTC NO EMAILNot scheduled
175025 Quyen HayesNone Boronia Heights, QLD2026-07-08 21:25:29 UTC NO EMAILNot scheduled
175026 Roxy Marshallmo***@brownssms.com.au Moonta Bay, South Australia2026-07-08 22:01:08 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
175028 Shawnsh***@startinvestingaustralia.com.au South Perth, WA2026-07-08 23:43:39 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
175031 Stacee CicchiniNone Wandi, WA2026-07-09 00:40:53 UTC NO EMAILNot scheduled
175038 Jill cCiffordcl***@gmail.com Clayfield, QLD2026-07-09 02:42:59 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
175040 Trevor SchneiderNone Healesville, VIC2026-07-09 02:47:24 UTC NO EMAILNot scheduled
175052 Deborah BurridgeNone Moggill, QLD2026-07-09 04:45:03 UTC NO EMAILNot scheduled
175054 AmandaNone Bayswater, VIC2026-07-09 04:52:37 UTC NO EMAILNot scheduled
175055 Mart EmisNone Vaucluse, NSW2026-07-09 05:56:54 UTC NO EMAILNot scheduled
175056 Melissa FordNone Henley Beach, SA2026-07-09 05:58:09 UTC NO EMAILNot scheduled
175057 Joannejo***@hotmail.com Nundah, QLD2026-07-09 06:09:10 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
175058 Tim LamNone Warrawong, NSW2026-07-09 08:08:25 UTC NO EMAILNot scheduled
175060 Jacinta allenNone Cooran, QLD2026-07-09 08:38:42 UTC NO EMAILNot scheduled
175061 AlicisNone Redcliffe, QLD2026-07-09 09:06:47 UTC NO EMAILNot scheduled
175062 Derek EmeryNone Murray Bridge North, SA2026-07-09 09:43:05 UTC NO EMAILNot scheduled
175064 Janet BullNone Townson, QLD2026-07-09 21:35:28 UTC NO EMAILNot scheduled
175070 Michelle WindussNone Hervey Bay, QLD2026-07-09 23:54:03 UTC NO EMAILNot scheduled
175079 aNone Leichhardt, NSW2026-07-10 01:46:17 UTC NO EMAILNot scheduled
175080 Zenon FrontczakNone Craigmore, SA2026-07-10 02:06:01 UTC NO EMAILNot scheduled
175082 HenrikaNone Kingaroy, QLD2026-07-10 02:21:46 UTC NO EMAILNot scheduled
175083 Kim MurphyNone Yarram, VIC2026-07-10 02:41:47 UTC NO EMAILNot scheduled
175089 Karen HelouNone Greystanes, NSW2026-07-10 03:10:27 UTC NO EMAILNot scheduled
175092 Loveness MatemeraNone Lynwood, WA2026-07-10 03:52:09 UTC NO EMAILNot scheduled
175093 Paul PopkowskiNone Hampton East, VIC2026-07-10 04:38:31 UTC NO EMAILNot scheduled
175094 C hNone Killara, NSW2026-07-10 04:53:41 UTC NO EMAILNot scheduled
175097 Florian SungNone Doncaster, VIC2026-07-10 05:08:34 UTC NO EMAILNot scheduled
175099 Donna TopicNone Terrigal, NSW2026-07-10 05:59:59 UTC NO EMAILNot scheduled
175100 andrewan***@me.com.au Ripley, QLD2026-07-10 06:44:45 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
175102 Kirsty SNone Banora Point, NSW2026-07-10 06:55:10 UTC NO EMAILNot scheduled
175103 FredNone Woodgate, QLD2026-07-10 07:01:59 UTC NO EMAILNot scheduled
175105 Jane ParryNone Blaxland, QLD2026-07-10 07:56:43 UTC NO EMAILNot scheduled
175106 Devini GoonetillekeNone Yeronga, QLD2026-07-10 08:09:38 UTC NO EMAILNot scheduled
175107 ggvg tytvNone Elliott, TAS2026-07-10 09:42:03 UTC NO EMAILNot scheduled
175108 Genette PurnellNone Kingston, ACT2026-07-10 11:32:41 UTC NO EMAILNot scheduled
175109 B Leebp***@gmail.com Robina, QLD2026-07-10 11:57:44 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
175110 Finbar Furyte***@hotmail.com Newmarket, QLD2026-07-10 22:12:12 UTC STAFF COMMUNICATION IN 14 DAYSNot scheduled
175111 RobinNone Kellyville, NSW2026-07-10 23:21:11 UTC NO EMAILNot scheduled
175112 SophieNone Carlingford, NSW2026-07-11 01:03:22 UTC NO EMAILNot scheduled
175113 AlexNone Leura, NSW2026-07-11 01:27:53 UTC NO EMAILNot scheduled
175114 LuNone Weir Views, VIC2026-07-11 01:33:15 UTC NO EMAILNot scheduled
175115 SophieNone Epping, NSW2026-07-11 01:51:30 UTC NO EMAILNot scheduled
175116 Liliana BosancicNone Loch Sport, VIC2026-07-11 02:22:41 UTC NO EMAILNot scheduled
175117 Michael EdwardNone Woolloongabba, QLD2026-07-11 03:43:59 UTC NO EMAILNot scheduled
175118 BobNone Pakenham, VIC2026-07-11 04:00:12 UTC NO EMAILNot scheduled

Draft rescue emails for your approval

Phase 2: useful ongoing emails, built to a safe first boundary

The system can now create one dated utility issue per month, preview the audience at scale, schedule for the property’s local time, record a frozen market-data date and content checksum, and send only after owner approval and internal testing are recorded. Ongoing utility email has no holdout.

1,496active contacts with direct “Subscribe to Newsletter” evidence
1,495have a nonblank CRM email before suppression checks
23have both an email and local-property evidence
Why only 23? The newsletter signup endpoint creates a contact, email, “Subscribe to Newsletter” tag and audit note, but it does not create a property. 24 of 1,496 subscribers have any property attached and 23 have a suburb and state. This is expected from an email-only signup path, not a query failure.

How old are these audiences?

CRM audienceActive contactsFirst tag seenUnder 1 year1-3 years3-5 yearsOver 5 yearsWhat this means
Subscribe to Newsletter1,4962024-06-06 13:28:451,296 (86.6%)20000Very recent and explicit. 1,072 contacts, or 71.7%, were added in May-June 2026.
New Articles38,2382020-08-11 08:43:025,634 (14.7%)10,37511,86110,368Older, with a large initial 2020 backfill and broader historical meaning. It needs a source/expectation audit before activation.

Can each audience support local-market content?

CRM audienceContactsEmail before suppressionAny propertyLocated propertyEmail + locationPractical use
Subscribe to Newsletter1,4961,495242323Good for general market and seller education. Only a small subset can receive suburb-specific content today.
New Articles38,23834,81638,23638,04734,646Technically strong for local content, but older and less explicit. Audit consent/source semantics before using it.
The real choice: direct newsletter evidence is clearer but mostly lacks property context; New Articles has 34,646 potential localised contacts before suppression and frequency checks, but is much older. Recommended: use the direct list for general useful emails, then separately audit New Articles before admitting it to localised utility campaigns.

Exact first local utility simulation

20would receive
0utility holdout, as requested
3known tests excluded
Show all 23 direct-signup records, decisions and proposed times
ContactSubscriberEmailLocal marketDecisionProposed send
238950 Mary Vumh***@yahoo.com.au Ashmont, New South WalesRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
256615 Stephen Elworthyst***@bigpond.com Lilli Pilli, New South WalesRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
221607 Vinniebu***@gmail.com Zetland, New South WalesRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
234037 Suresh Kumar Ksu***@outlook.com Bella Vista, NSWRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
255876 Wimal Wijeratnewi***@gmail.com Mascot, NSWRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
259272 Margio Cabrerosca***@gmail.com Moree, NSWRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
258034 FelixTestIgnoreju***@gmail.com Sydney, NSWKNOWN TEST RECORD No send
235950 Joyce Howardjc***@yahoo.com Yass, NSWRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
220124 Ed Lloydss***@gmail.com Cairns, QLDRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
259872 Tester DawalOgatisre***@whichrealestateagent.com.au Nerang, QLDKNOWN TEST RECORD No send
257615 Kristina Delbridgekk***@gmail.com Spring Mountain, QueenslandRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
260619 Arjen De Regtar***@yahoo.com.sg Walloon, QueenslandRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
239475 Louise McCarthyfr***@gmail.com Belair, South AustraliaRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am ACST
238546 Bev Moultonb.***@bigpond.com Klemzig, South AustraliaRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am ACST
272812 Judita Nagyju***@live.com.au Morphett Vale, South AustraliaRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am ACST
250778 Iania***@gmail.com Oakleigh, VICRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
36065 testte***@test.com Point Cook, VICKNOWN TEST RECORD No send
194028 Dana Tymmsda***@gmail.com Brunswick West, VictoriaRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
241040 Mark Cookeco***@bigpond.com Yarrawonga, VictoriaRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AEST
244708 Dustindu***@gmail.com Iluka, WARECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AWST
239050 Ashley R Talbotas***@gmail.com Bentley, Western AustraliaRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AWST
8169 Rod Tatchellro***@tatchell.au Two Rocks, Western AustraliaRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AWST
255347 Murray Smithmu***@gmail.com Warnbro, Western AustraliaRECEIVE UTILITY EMAIL Tue 21 Jul 2026, 9:07am AWST

Simple repeatable content plan

Recommended send-time control: Tuesday at 9:07am in the property’s local timezone, then compare an alternative time over several sufficiently large issues. SendGrid says there is no universal magic hour; it recommends timezone-aware testing and avoiding the exact top of the hour for high-volume delivery. The 10,000/hour ceiling remains visible and configurable in CRM Parameters.

What staff will actually see in the CRM

These are screenshots of the local build using synthetic demonstration records. They are not mock-ups and contain no production customer data.

Email campaign list
One campaign listLane, status, enrolments and sends can be scanned without opening code.
Rescue campaign controls
Rescue controls and release evidenceSender, holdout, throttle, approved test addresses and release gates are visible.
Rescue versus holdout results
Rescue versus no-email holdoutBusiness outcomes appear together; tiny samples are explicitly hidden from interpretation.
Marketing suppression list
Read-only marketing suppression listStaff can search who is excluded and understand why, while transactional messages remain separate.
Utility campaign controls
One dated utility issueAudience evidence, sender, no utility holdout, configurable 10,000/hour ceiling, issue date and excluded tests are visible.
Utility campaign schedule
Simple scheduleOne send step, local-time window and approved template. No 12-email sequence.

One audience decision needed before merge or deploy

1

Confirm the staged audience policy

Recommended: use direct “Subscribe to Newsletter” evidence for general useful emails; use its 23 located records only for the first local-market simulation; separately audit “New Articles” before admitting any of its 34,646 email-plus-location records. Keep the three known tests excluded. No utility holdout.

After that approval: merge and deploy the safety/database foundation; reconcile the production suppression backfill; create the approved rescue templates; send only to trpersonal@gmail.com and thomasroberts@whichrealestateagent.com.au for the internal test; verify unsubscribe, headers, workers and SendGrid delivery health; rerun the production preview; then begin a micro-cohort only if eligible sellers actually exist.
Still prohibited: no customer send, no production enrolment, no broad legacy-list activation and no 10,000-person issue until the above gates are complete.

Independent review and evidence

Claude Code’s final decision was GO for this CEO gate, with no code blocker. It confirmed utility holdout is zero, rescue remains at 20%, suppression and transactional safety are unchanged, the 10,000/hour setting is a configurable ceiling, production analysis is read-only, and the report figures reconcile to the evidence files.

Evidence snapshot: 2026-07-12 04:37:22 UTC. Full customer-level TSV evidence is stored locally under the ignored artifacts/ directory and was not committed or pushed. Checksums are stored beside the files. Product branch: codex/WREA-email-nurture-phases-0-1. Latest focused commit: 89d85cb54.