Commit graph

1250 commits

Author SHA1 Message Date
Daniel Roth
359516fa5f The deal upsert lands client_booking_reference in the job_no column 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 16:10:29 +00:00
Daniel Roth
62d9bbf147 The deal upsert lands client_booking_reference in the job_no column 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 16:08:17 +00:00
Daniel Roth
0cd4efbf83 A client_booking_reference change triggers a deal database update 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 16:05:20 +00:00
Daniel Roth
faac50eca4 A client_booking_reference change triggers a deal database update 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 16:04:54 +00:00
Daniel Roth
8fd808ffd9 HubSpot deal-contacts transport lives under infrastructure like the other API clients 🟪
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 14:01:47 +00:00
Daniel Roth
b96aceaf7b HubSpot calls share one retry policy behind a single guarded entry point 🟪
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 13:42:58 +00:00
Daniel Roth
8d9fb0ade4 Transient HubSpot failures are retried under the shared rate-limit policy 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 13:38:20 +00:00
Daniel Roth
e3894b0309 HubSpot failures surface without the response body that echoes tenant PII 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 13:34:33 +00:00
Daniel Roth
76d0b4bac9 Abri tenancy signatory becomes an associated HubSpot deal contact 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 13:24:47 +00:00
Daniel Roth
78fcba45e5 Abri tenancy signatory becomes an associated HubSpot deal contact 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 13:22:52 +00:00
Daniel Roth
021e7c15bb Abri job amendment trigger is named after the OpenHousing job it amends 🟪
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 16:26:15 +00:00
Daniel Roth
ff868156d1 Abri job logging trigger is named after the DomnaRelay route it fires 🟪
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 15:26:41 +00:00
Daniel Roth
1a5368571f add typehint 2026-07-03 10:46:24 +00:00
Daniel Roth
f4f915cfb7 Abri deal abandonment names its attempt threshold 🟪
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:19:06 +00:00
Daniel Roth
18989252f4 Deal differ detects number of attempts changes for db update 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:17:51 +00:00
Daniel Roth
c00ae894ee Deal differ detects number of attempts changes for db update 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:14:22 +00:00
Daniel Roth
58ce855e0b Abri deal abandonment fires only when the deal newly becomes abandoned 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:13:58 +00:00
Daniel Roth
9559f23741 Abri deal abandonment fires only when the deal newly becomes abandoned 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:12:59 +00:00
Daniel Roth
6de0da869e Abri deal abandonment requires a negative outcome 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:11:14 +00:00
Daniel Roth
41d62ce2b2 Abri deal abandonment requires a negative outcome 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:10:26 +00:00
Daniel Roth
88093eb7cd Abri deal abandonment requires at least three parseable attempts 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:10:03 +00:00
Daniel Roth
af85e0ed2b Abri deal abandonment requires at least three parseable attempts 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:07:38 +00:00
Daniel Roth
79423f594c Abri deal abandonment ignores deals that are not Abri condition deals 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:06:53 +00:00
Daniel Roth
33848a76fe Abri deal abandonment ignores deals that are not Abri condition deals 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:04:45 +00:00
Daniel Roth
262f22764a Abri deal abandonment triggers after three attempts with a negative outcome 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:03:57 +00:00
Daniel Roth
aca507cc47 Abri deal abandonment triggers after three attempts with a negative outcome 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:03:42 +00:00
Daniel Roth
05ca0bb280 move static method below non-statics 2026-07-03 08:33:10 +00:00
Daniel Roth
a36fe00132 Abri tenant data fetch resolves abri deals by associated project id 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:28:25 +00:00
Daniel Roth
5df1237b90 Abri tenant data fetch requires a parseable new commencement date 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:27:42 +00:00
Daniel Roth
47842da7b9 Abri tenant data fetch requires a parseable new commencement date 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:27:22 +00:00
Daniel Roth
b4d2d9cd37 Abri tenant data fetch ignores already-set commencement dates 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:26:20 +00:00
Daniel Roth
c18f4feb3e Abri tenant data fetch ignores already-set commencement dates 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:26:02 +00:00
Daniel Roth
426aa9a15e Abri tenant data fetch does not trigger for non-abri deals 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:25:26 +00:00
Daniel Roth
0b8f0f17a9 Abri tenant data fetch does not trigger for non-abri deals 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:25:07 +00:00
Daniel Roth
2f1dfaa5a6 Abri tenant data fetch triggers when commencement date is first set 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:24:36 +00:00
Daniel Roth
da0ef3e5e0 Abri tenant data fetch triggers when commencement date is first set 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:24:11 +00:00
Daniel Roth
60146f0c30 Abri survey amendment trigger defers first-time survey dates to the creation trigger 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:52:49 +00:00
Daniel Roth
1529544c19 Abri survey amendment trigger defers first-time survey dates to the creation trigger 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:52:26 +00:00
Daniel Roth
597cd1c83f Abri survey amendment trigger fires when the confirmed survey time changes on an Abri condition deal 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:52:00 +00:00
Daniel Roth
8c5d1a27ff Abri survey amendment trigger fires when the confirmed survey time changes on an Abri condition deal 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:50:53 +00:00
Daniel Roth
bf344e1b58 Abri survey amendment trigger stays quiet when the survey date and time are unchanged 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:49:19 +00:00
Daniel Roth
fce9d30589 Abri survey amendment trigger stays quiet when the survey date and time are unchanged 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:48:53 +00:00
Daniel Roth
7bfd26476e Abri survey amendment trigger ignores deals that are not Abri condition deals 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:48:26 +00:00
Daniel Roth
16b25c4b54 Abri survey amendment trigger ignores deals that are not Abri condition deals 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:47:51 +00:00
Daniel Roth
dbbb12fa54 Abri survey amendment trigger fires when the confirmed survey date changes on an Abri condition deal 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:47:29 +00:00
Daniel Roth
1c75b44630 Abri survey amendment trigger fires when the confirmed survey date changes on an Abri condition deal 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:47:07 +00:00
Daniel Roth
fdeb15501f Abri survey creation trigger falls back to project code only when no project is associated 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:29:11 +00:00
Daniel Roth
911e77d7cf Abri survey creation trigger falls back to project code only when no project is associated 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:28:13 +00:00
Daniel Roth
cf5a272d7e Abri survey creation trigger recognises deals by their associated Abri project id 🟩
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:27:29 +00:00
Daniel Roth
cc682e3e74 Abri survey creation trigger recognises deals by their associated Abri project id 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:27:05 +00:00