|
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. |
||
|---|---|---|
| .. | ||
| analysis_runs | ||
| cadastre | ||
| etl | ||
| exporters | ||
| forecasting | ||
| generative | ||
| photos | ||
| scrapers | ||
| site_finder | ||
| __init__.py | ||
| analytics_queries.py | ||
| analytics_refresh.py | ||
| job_settings.py | ||
| objective_etl.py | ||
| objective_sync_config.py | ||