Closes #105 (Phase 3 geocoding — отдельный issue). Phase 4: 'ekburg-permits-monthly' crontab(0 2 1 * *) → tasks.refresh_all Phase 5: /analyze returns engineering.recent_permits_in_quarter + permits_summary (rns/rve counts/area/units, by_developer top-3) Filter: quarter prefix (3-segment cadastral match). Spatial 500m radius — после Phase 3 geocoding. Tests: test_analyze_recent_permits.py (3 mock), comment updates на inline_weights/market_price (shifted execute ordering). |
||
|---|---|---|
| .. | ||
| api | ||
| scrapers | ||
| services | ||
| smoke | ||
| workers | ||
| __init__.py | ||
| test_admin_weight_profiles.py | ||
| test_concepts_stub.py | ||
| test_gate_verdict.py | ||
| test_health.py | ||
| test_layout_signature.py | ||
| test_layout_tz_pdf.py | ||
| test_nspd_client.py | ||
| test_nspd_sync.py | ||
| test_quarter_dump_lookup.py | ||
| test_velocity.py | ||
| test_weight_profiles.py | ||