Khalim Conn-Kowlessar
60c448e66d
FastAPI Lambda can send to the modelling_e2e queue
...
Remote state + MODELLING_E2E_SQS_URL env var + send policy ARN, and
fast_api_lambda deploys after modelling_e2e_lambda so the remote state
exists before it applies.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:18:48 +00:00
Khalim Conn-Kowlessar
bf8647c9b5
The 409 guard and batch creation read as methods on ModellingRunTasks 🟪
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:16:42 +00:00
Khalim Conn-Kowlessar
b62901a9de
The distributor coexists with both table stacks and mounts at /v1/modelling 🟪
...
DB access via parameterised SQL, not the infrastructure SQLModel mirrors:
importing those alongside the legacy backend.app.db.models mirrors of the
same tables double-registers them in the shared metadata and crashes the
app at import. Contained to the modelling package until the DDD cut-over.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:15:31 +00:00
Khalim Conn-Kowlessar
b22b9cbca0
Scenarios outside the portfolio refuse the run 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:06:42 +00:00
Khalim Conn-Kowlessar
ca799cc5e5
Scenarios outside the portfolio refuse the run 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:06:02 +00:00
Khalim Conn-Kowlessar
e9eb068be9
Filters that match no properties refuse the run 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:05:39 +00:00
Khalim Conn-Kowlessar
e9b39df322
Filters that match no properties refuse the run 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:05:03 +00:00
Khalim Conn-Kowlessar
cfedb8e9cf
A task that already has sub_tasks refuses re-distribution 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:04:34 +00:00
Khalim Conn-Kowlessar
dade7a3a5f
A task that already has sub_tasks refuses re-distribution 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:04:05 +00:00
Khalim Conn-Kowlessar
9031c16ba7
Trigger-run fans out one sub_task and message per scenario batch 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:03:33 +00:00
Khalim Conn-Kowlessar
489e2b5d47
Trigger-run fans out one sub_task and message per scenario batch 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:02:12 +00:00
Khalim Conn-Kowlessar
7606480338
An oversized postcode becomes its own batch 🟩
...
Behavior emerged from the packing rule — pinned straight to green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:00:07 +00:00
Khalim Conn-Kowlessar
2dd948259f
Batches never split a postcode 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:59:07 +00:00
Khalim Conn-Kowlessar
80c474b37b
Batches never split a postcode 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:58:41 +00:00
Khalim Conn-Kowlessar
bf0d630a8f
An attach-mode partial failure persists successes then records the failure 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:56:57 +00:00
Khalim Conn-Kowlessar
3cf44d6409
An attach-mode partial failure persists successes then records the failure 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:55:49 +00:00
Khalim Conn-Kowlessar
7709518431
An attach-mode batch models under the supplied sub_task without children 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:53:26 +00:00
Khalim Conn-Kowlessar
b840af11de
An attach-mode batch models under the supplied sub_task without children 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:52:45 +00:00
Khalim Conn-Kowlessar
f317233939
A recorded batch failure does not return the message to SQS 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:51:23 +00:00
Khalim Conn-Kowlessar
52b07e3ea4
A recorded batch failure does not return the message to SQS 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:50:38 +00:00
Khalim Conn-Kowlessar
c64bd8fd85
A recorded batch failure carries structured details onto the sub_task outputs 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:50:10 +00:00
Khalim Conn-Kowlessar
8a3c0f3e77
A recorded batch failure carries structured details onto the sub_task outputs 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:49:56 +00:00
Khalim Conn-Kowlessar
f01131a064
A batch message with task_id and subtask_id attaches to the app-owned task 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:48:53 +00:00
Khalim Conn-Kowlessar
ca6ca2a220
A batch message with task_id and subtask_id attaches to the app-owned task 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:47:20 +00:00
Khalim Conn-Kowlessar
19d9e758ad
Both filterable components resolve through one precedence engine 🟪
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:45:10 +00:00
Khalim Conn-Kowlessar
513977a6fd
Filters combine with AND 🟩
...
Behavior emerged from filter composition — pinned straight to green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:43:51 +00:00
Khalim Conn-Kowlessar
fc3f6a6f94
Built-form filter resolves with the same precedence as property type 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:43:03 +00:00
Khalim Conn-Kowlessar
d56079a1d4
Built-form filter resolves with the same precedence as property type 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:42:14 +00:00
Khalim Conn-Kowlessar
92370504da
Unknown is a selectable property-type bucket 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:41:19 +00:00
Khalim Conn-Kowlessar
4d0af87d5a
Unknown is a selectable property-type bucket 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:40:46 +00:00
Khalim Conn-Kowlessar
ec7ba1f0d3
A property without override or EPC falls back to the legacy column 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:40:24 +00:00
Khalim Conn-Kowlessar
faea3209b2
A property without override or EPC falls back to the legacy column 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:39:54 +00:00
Khalim Conn-Kowlessar
bf0e9343b2
An EPC without property_type falls back to its dwelling_type 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:39:32 +00:00
Khalim Conn-Kowlessar
9b146dfaf4
An EPC without property_type falls back to its dwelling_type 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:39:10 +00:00
Khalim Conn-Kowlessar
dfe42a6374
Numeric RdSAP property-type codes map to their labels 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:38:47 +00:00
Khalim Conn-Kowlessar
302861309c
Numeric RdSAP property-type codes map to their labels 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:38:18 +00:00
Khalim Conn-Kowlessar
e1dc0dc2f5
EPC-derived property type prefers lodged over predicted 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:37:45 +00:00
Khalim Conn-Kowlessar
45dab78f4e
EPC-derived property type prefers lodged over predicted 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:37:18 +00:00
Khalim Conn-Kowlessar
4967ddfb3e
Property-type override beats the lodged EPC 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:36:47 +00:00
Khalim Conn-Kowlessar
f40abcedeb
Property-type override beats the lodged EPC 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:36:13 +00:00
Khalim Conn-Kowlessar
10b9015bce
Postcode filter matches the canonical postcode exactly 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:34:07 +00:00
Khalim Conn-Kowlessar
b865e89195
Postcode filter matches the canonical postcode exactly 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:33:29 +00:00
Khalim Conn-Kowlessar
3836729f92
No filters resolves the whole portfolio minus deletions 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:32:53 +00:00
Khalim Conn-Kowlessar
84fb9884d6
No filters resolves the whole portfolio minus deletions 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:32:10 +00:00
Khalim Conn-Kowlessar
b008bcc6ba
The tasks mirror declares the FE-owned inputs column
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:32:09 +00:00
Khalim Conn-Kowlessar
561b8b078b
Test names state the surviving failure-recovery behaviors 🟪
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:12:12 +00:00
Khalim Conn-Kowlessar
9cbb8a95b5
Completing a re-run failed batch un-fails the task 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:11:52 +00:00
Khalim Conn-Kowlessar
d0439dd11e
Completing a re-run failed batch un-fails the task 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:10:43 +00:00
Khalim Conn-Kowlessar
30e3054146
A failed batch sub_task restarts for a re-run 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:08:47 +00:00
Khalim Conn-Kowlessar
3d643965b5
A failed batch sub_task restarts for a re-run 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:05:34 +00:00