Model/docs/adr
Khalim Conn-Kowlessar 741993270e feat(baseline): run Sap10Calculator in shadow on Property Baseline (ADR-0013)
Wire Sap10Calculator into PropertyBaselineOrchestrator as a non-load-bearing
shadow runner. For each property it scores the Effective EPC beside the
load-bearing Lodged/Effective write, catches any strict-raise -> log.error
(never aborts the batch), and on success log.warning's divergence from Lodged:
SAP |continuous - lodged| > 0.5; PEUI/CO2 > 1% relative (CO2 after kg->tonnes).
Every line is tagged with sap_version so SAP-10.2 signal separates from
older-spec drift (ADR-0010 Validation Cohort).

Per ADR-0013, Calculated SAP10 Performance is not a persisted third value-set:
effective = calculated in every baselining scenario, so the calculator IS the
mechanism that produces Effective Performance (the Rebaseliner). It runs in
shadow only while being hardened; when overrides/estimation land it is promoted
to drive Effective and the failure posture flips to abort (ADR-0012, calculator
now load-bearing). No table change.

- ADR-0013 + CONTEXT (Calculated SAP10 Performance / Effective Performance /
  Rebaselining) record the decision.
- CalculatorShadow port + LoggingCalculatorShadow + Calculator protocol.
- FakeCalculatorShadow for orchestrator unit tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 15:40:26 +00:00
..
0001-two-source-paths.md added architechtural decisions, added to prd 2026-05-13 21:26:18 +00:00
0002-property-aggregate-root.md added architechtural decisions, added to prd 2026-05-13 21:26:18 +00:00
0003-python-writes-landlord-overrides-directly.md move landlord overrides 2026-06-01 15:46:46 +00:00
0003-strict-ingestion-modelling-separation.md docs(ara): composable stage-orchestrator design (ADR-0011 + ADR-0003 amend + CONTEXT) 2026-06-01 16:28:48 +00:00
0004-baseline-performance-lodged-effective-pair.md refactor(property-baseline): rename baseline → property_baseline aggregate (PR #1139 review) 2026-06-01 16:28:48 +00:00
0005-multi-phase-scenarios-per-phase-recompute.md scaffolding for ml pipeline 2026-05-16 14:15:56 +00:00
0006-deterministic-kwh-no-baseline-ml.md scaffolding for ml pipeline 2026-05-16 14:15:56 +00:00
0007-kwh-as-ml-target.md scaffolding for ml pipeline 2026-05-16 14:15:56 +00:00
0008-physics-as-feature.md docs: ADR-0008 physics-as-feature + v16.0.0 schema bump 2026-05-17 11:20:40 +00:00
0009-deterministic-sap-calculator.md refactor: move docs/sap-spec/ contents into domain/sap10_calculator/ 2026-05-26 13:17:18 +00:00
0010-sap10-calculator-spec-target-and-validation.md refactor: move docs/sap-spec/ contents into domain/sap10_calculator/ 2026-05-26 13:17:18 +00:00
0011-composable-stage-orchestrators.md docs(ara): composable stage-orchestrator design (ADR-0011 + ADR-0003 amend + CONTEXT) 2026-06-01 16:28:48 +00:00
0012-unit-of-work-per-stage-batch-transaction.md refactor(orchestration): wire stages onto the UnitOfWork; per-stage commit (#1138) 2026-06-01 16:28:48 +00:00
0013-bulk-upload-finaliser-writes-properties.md reformatted to be DDD structure 2026-06-04 14:50:04 +00:00
0013-calculator-produces-effective-performance-shadow-first.md feat(baseline): run Sap10Calculator in shadow on Property Baseline (ADR-0013) 2026-06-04 15:40:26 +00:00