| .. |
|
__init__.py
|
feat(cadastre): bulk_harvest worker + grid-walker + admin API (#168 PR3/5) (#171)
|
2026-05-15 13:31:32 +03:00 |
|
test_admin_cadastre.py
|
test(suite): re-align drifted tests with current code (CI-rehab 2/3)
|
2026-06-03 19:05:43 +05:00 |
|
test_admin_ekburg_permits.py
|
test(suite): re-align drifted tests with current code (CI-rehab 2/3)
|
2026-06-03 19:05:43 +05:00 |
|
test_admin_jobs_settings.py
|
fix(admin-jobs): UPSERT в PUT /admin/jobs/settings — не терять изменения (#1223)
|
2026-06-13 08:36:23 +00:00 |
|
test_admin_scrape_freshness.py
|
feat(admin): freshness endpoint (#73) + README Forgejo refresh (#83) + migrations doc (#72)
|
2026-06-13 18:25:32 +00:00 |
|
test_analyze_competitors_status.py
|
fix(sf-02): добавить site_status/ready_dt в /analyze competitors + sort строящиеся first
|
2026-05-17 13:29:59 +03:00 |
|
test_analyze_inline_weights.py
|
perf(site-finder): air-quality TTL-кэш + neighbors_summary 2→1 SQL (#1130 Phase B)
|
2026-06-12 22:42:32 +05:00 |
|
test_analyze_market_price.py
|
perf(site-finder): air-quality TTL-кэш + neighbors_summary 2→1 SQL (#1130 Phase B)
|
2026-06-12 22:42:32 +05:00 |
|
test_analyze_parcel_meta.py
|
perf(site-finder): air-quality TTL-кэш + neighbors_summary 2→1 SQL (#1130 Phase B)
|
2026-06-12 22:42:32 +05:00 |
|
test_analyze_recent_permits.py
|
perf(site-finder): air-quality TTL-кэш + neighbors_summary 2→1 SQL (#1130 Phase B)
|
2026-06-12 22:42:32 +05:00 |
|
test_chat.py
|
fix(backend): экранировать Excel formula-injection (#1244) + увести chat-чтение с event loop (#1245)
|
2026-06-13 18:10:21 +05:00 |
|
test_custom_pois.py
|
perf(site-finder): air-quality TTL-кэш + neighbors_summary 2→1 SQL (#1130 Phase B)
|
2026-06-12 22:42:32 +05:00 |
|
test_insights.py
|
feat(insights): manual-entry Insight entity CRUD + §19 audit (#948 part A)
|
2026-06-08 12:41:39 +05:00 |
|
test_locations.py
|
feat(location): district-level Location entity + indices (#948 part B)
|
2026-06-08 13:28:19 +05:00 |
|
test_own_projects.py
|
feat(site-finder): own-portfolio data source for §25.3 cannibalization (#1169 PR1)
|
2026-06-08 16:21:53 +05:00 |
|
test_parcel_best_layouts.py
|
test(suite): re-align drifted tests with current code (CI-rehab 2/3)
|
2026-06-03 19:05:43 +05:00 |
|
test_parcel_by_bbox.py
|
fix(analyze): district KeyError 500 in #994 persist + revive by-bbox tests
|
2026-06-03 18:04:37 +05:00 |
|
test_parcel_competitors.py
|
fix(competitors): _ACTIVE_STATUSES = русские значения как у домрф (#1213)
|
2026-06-13 05:53:16 +00:00 |
|
test_parcel_connection_points.py
|
feat(parcels): connection-points endpoint (Forgejo #115 Phase 1 backend) (#190)
|
2026-05-16 05:58:27 +00:00 |
|
test_parcels_forecast.py
|
feat(forecast): расширить горизонт прогноза до 24 мес (ТЗ §12.1)
|
2026-06-13 17:27:35 +05:00 |
|
test_run_history_and_response_contract.py
|
perf(site-finder): air-quality TTL-кэш + neighbors_summary 2→1 SQL (#1130 Phase B)
|
2026-06-12 22:42:32 +05:00 |