Thread the historic-EPC reader through the first-run composition root 🟩

Off by default like the other two prediction collaborators; the pipeline
turns on Expired-Enhanced Prediction by passing a resolver over the
historic S3 backup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-06 08:41:56 +00:00
parent 9204228366
commit 64f7d7ad8b

View file

@ -20,6 +20,7 @@ from orchestration.ara_first_run_pipeline import AraFirstRunPipeline
from orchestration.ingestion_orchestrator import (
ComparablesRepo,
EpcFetcher,
HistoricEpcReader,
IngestionOrchestrator,
PredictionAttributesReader,
SolarFetcher,
@ -70,6 +71,7 @@ def build_first_run_pipeline(
solar_fetcher: SolarFetcher,
comparables_repo: Optional[ComparablesRepo] = None,
prediction_attributes_reader: Optional[PredictionAttributesReader] = None,
historic_epc_reader: Optional[HistoricEpcReader] = None,
) -> AraFirstRunPipeline:
"""Compose the real three-stage pipeline on a Unit-of-Work factory.
@ -95,6 +97,9 @@ def build_first_run_pipeline(
comparables_repo=comparables_repo,
prediction_attributes_reader=prediction_attributes_reader,
epc_prediction=EpcPrediction(),
# Expired-Enhanced Prediction (ADR-0054): off until a resolver over
# the historic S3 backup is supplied, like the two readers above.
historic_epc_reader=historic_epc_reader,
),
baseline=PropertyBaselineOrchestrator(
unit_of_work=unit_of_work,