ADR-0010 P2: cert-calibration layer is deleted, the probe uses SAP_10_2_SPEC_PRICES (already defined in cert_to_inputs.py). Extracts a pure predict_sap_for_cert(cert_document, *, prices) -> int helper out of main()'s inline pipeline so the spec-prices path is unit- testable in isolation; the helper is also reusable for P3's cohort- filtered probe variant. The pinned regression value (SAP=67 for cert 6035-7729 under spec prices, vs the cert's lodged SAP of 73 under cert-cal prices) lives in services/ml_training_data/tests/unit/test_sap_parity_probe.py. It will drift as P4 (PCDB) and the section sweep land their fixes; that's expected. cert_calibration_prices is still imported by test_golden_fixtures.py and the table_12_cert_calibration module is intact. P2.2/P2.3 retire those. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ara | ||
| ml_training_data | ||
| README.md | ||
Services
Each subdirectory is a deployable unit — typically a Lambda image. Own pyproject.toml, own Dockerfile, own deps. Lambda bundle contains only that service's deps + its workspace deps.
| Service | Purpose |
|---|---|
ara/ |
The Domna retrofit modelling backend — ingestion + modelling pipelines, all 9 services in PRD §9.2. |
Other Domna services (address2uprn, hubspot, pashub, ecmk, magicplan) live in the legacy backend/ and etl/ trees for now; they are slated to migrate here as their owners pick them up — see PRD §11. When that work starts, scaffold the service under services/<name>/ and add it to the workspace members in the root pyproject.toml.
Service boundary
A service can import domain.*, import repos.*, import fetchers.*, import utils.* (workspace deps). It cannot import another service's modules — they are separate distributions with no cross-import path. This is the structural enforcement of the modelling/ingestion separation (ADR-0003).