|
All checks were successful
CI / changes (push) Successful in 6s
CI / changes (pull_request) Successful in 5s
Deploy / changes (push) Successful in 6s
Deploy / build-backend (push) Successful in 1m34s
Deploy / build-frontend (push) Has been skipped
Deploy / build-worker (push) Successful in 2m57s
CI / backend-tests (push) Successful in 5m43s
Deploy / deploy (push) Successful in 1m9s
CI / backend-tests (pull_request) Successful in 5m56s
For competitors missing from objective_complex_mapping, bridge to objective velocity: nearest objective-bearing complex within 200m whose name tolerantly matches → complex_id → objective_lots.project_name → objective_corpus_room_month. Prod-measured: 148 → 329 mapped competitors (2.2×), validated by EXPLAIN+execute. - nearest_cx CTE UNION'd into mapped (gap-fill only; primary 148 byte-identical, no double-count — UNION dedups, DISTINCT ON = one complex per competitor) - candidates restricted to complexes WITH objective_lots.project_name (data-bearing): naive nearest-any gave +37; data-bearing nearest gives +181 (the real win) - empty-comm_name guard avoids LIKE '%%' spatial-only leak - velocity.py unchanged (its has_mapping coverage-gate is a separate concern); parcel.py unchanged (relevance_weight already satisfies DoD) Blast radius narrow: affects relevance_weight (via stage_at_horizon) for newly-mapped competitors; §22 market-pulse velocity (velocity.py) untouched. deep-code-reviewer ⚠️ minor (approved); review items addressed. Part of EPIC #949. |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| models | ||
| observability | ||
| schemas | ||
| scrapers | ||
| services | ||
| templates | ||
| workers | ||
| __init__.py | ||
| main.py | ||