mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Addresses PR #1498 review: - A per-file read failure (missing/deleted object, or a bucket the role can't reach) is now a SkippedDocument(reason=unreadable), not a whole-run abort; an all-unreadable selection still fails (no empty package). Best-effort on the read path (ADR-0060). - Each ZIP member is streamed to a temp file (S3DocumentDownloader.download, boto download_file) and added from disk, so a single multi-GB member never hits the heap — the 'never held whole in memory' claim is now true. - The 409 double-submit guard is DB-arbitrated: the sub_task insert is conditional on the task having none, so a race creates only one. - Local env gets a placeholder recipient email so the route is exercisable. - PackageEntry carries landlord_property_id so a read failure can be reported. - TODO noting the UploadedFile.s3_upload_timestamp typing fix. Two new tests: per-file read failure skips-and-reports; address fallback flows to the folder name. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| audit_generator | ||
| magic_plan | ||
| __init__.py | ||
| fakes.py | ||
| test_abri_orchestrator_amend_job.py | ||
| test_abri_orchestrator_log_job.py | ||
| test_abri_orchestrator_tenant_data_sync.py | ||
| test_ara_first_run_pipeline.py | ||
| test_ara_first_run_pipeline_integration.py | ||
| test_build_canonical_filename.py | ||
| test_bulk_document_download_orchestrator.py | ||
| test_bulk_upload_finaliser_orchestrator.py | ||
| test_first_run_without_database.py | ||
| test_ingestion_orchestrator.py | ||
| test_ingestion_prediction.py | ||
| test_landlord_description_overrides_orchestrator.py | ||
| test_modelling_heat_pump_sizing_threading.py | ||
| test_modelling_solar_threading.py | ||
| test_postcode_splitter_orchestrator.py | ||
| test_property_baseline_orchestrator.py | ||
| test_task_orchestrator.py | ||