Model/applications/abri
Daniel Roth 84d0e1e0d5 Date an abandonment to the deal's own dates, not now() 🟩
date_abandoned now resolves to the third failed attempt's confirmed
survey date, falling back to its last submission date, rather than the
processing date. This dates the OpenHousing cancellation to when the
job actually lapsed even if the trigger message lags or redelivers.

- domain: abandonment_date() encodes the confirmed-survey -> last-
  submission fallback
- DealAbandonment carries both dates; abandon_job raises
  AbandonmentDateUnknownError when a deal has neither
- last_submission_date now flows through the trigger message and request
- the injected clock is dropped: nothing reads now() any more

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 08:51:39 +00:00
..
handler The abri lambda dispatches queue messages through the Abri orchestrator 🟩 2026-07-07 10:21:39 +00:00
__init__.py A trigger message validates the fields each fired Abri flow needs 🟥 2026-07-07 10:04:55 +00:00
abri_trigger_request.py Date an abandonment to the deal's own dates, not now() 🟩 2026-07-08 08:51:39 +00:00
dispatch.py Date an abandonment to the deal's own dates, not now() 🟩 2026-07-08 08:51:39 +00:00
handler.py abri_api not abri 2026-07-07 14:40:33 +00:00