Commit graph

  • 09611dc690
    feat(site-finder): P1 geometry suitability score (#45) (#89) lekss361 2026-05-12 08:00:12 +03:00
  • a6e95b65c2 fix(site-finder): X1 logic bugs from PR #87 re-review lekss361 2026-05-12 07:56:03 +03:00
  • bab2b95c14 merge: resolve conflicts с main (X2 #88 + P2 #91 уже merged) lekss361 2026-05-12 07:50:31 +03:00
  • d0fa8a3126 merge: incorporate remote feat/site-finder-score-breakdown (rebased) lekss361 2026-05-12 07:44:19 +03:00
  • ec681441e5 fix(site-finder): unique factor key (X1 #47) — prevent React collision lekss361 2026-05-12 01:14:29 +03:00
  • b5a218160d fix(site-finder): address PR #87 auto-review minor feedback lekss361 2026-05-12 00:54:32 +03:00
  • 1002214f12 feat(site-finder): X1 score breakdown + verbal explain (#47) lekss361 2026-05-12 00:43:34 +03:00
  • 843314c040
    feat(site-finder): P2 cad_buildings соседи + overlap check (#46) (#91) lekss361 2026-05-12 01:30:53 +03:00
  • 3706a79898 fix(site-finder): address PR #91 auto-review minor feedback lekss361 2026-05-12 01:22:34 +03:00
  • e452a1d75e fix(site-finder): address PR #90 auto-review feedback lekss361 2026-05-12 01:18:36 +03:00
  • 5832dfae21 fix(site-finder): P1 #45 — extract 0.3 ha to _GEOM_AREA_COMFORT_HA lekss361 2026-05-12 01:15:37 +03:00
  • c46637ab61 fix(site-finder): unique factor key (X1 #47) — prevent React collision lekss361 2026-05-12 01:14:29 +03:00
  • 60d53bbf7d feat(site-finder): P2 cad_buildings соседи + overlap check (#46) lekss361 2026-05-12 01:12:29 +03:00
  • ae5e8de1c7 fix(site-finder): address PR #89 auto-review minor feedback lekss361 2026-05-12 01:07:43 +03:00
  • 3777a77a42
    feat(site-finder): X2 confidence indicator + caveats (#48) (#88) lekss361 2026-05-12 01:04:25 +03:00
  • ade511bff3 feat(site-finder): D4 pipeline 24mo — future competition (#36) lekss361 2026-05-12 01:00:46 +03:00
  • 97dc4ba081 fix(site-finder): address PR #87 auto-review minor feedback lekss361 2026-05-12 00:54:32 +03:00
  • f4e74916be feat(site-finder): P1 geometry suitability score (#45) lekss361 2026-05-12 00:51:08 +03:00
  • fbad105913 feat(site-finder): X2 confidence indicator + caveats (#48) lekss361 2026-05-12 00:47:33 +03:00
  • 1d1c169365 feat(site-finder): X1 score breakdown + verbal explain (#47) lekss361 2026-05-12 00:43:34 +03:00
  • 485c221c3b
    docs(claude): formalize Auto-review passed as approval signal (#85) lekss361 2026-05-12 00:43:25 +03:00
  • a35a3d02ea
    feat(site-finder): deep-link tabs via ?tab= URL param (#86) lekss361 2026-05-12 00:33:49 +03:00
  • 6aa8222e3b fix(site-finder): address PR #86 auto-review minor recommendations lekss361 2026-05-12 00:30:21 +03:00
  • 1682d9f432 fix(claude): address PR #85 auto-review feedback lekss361 2026-05-12 00:27:50 +03:00
  • c47e56b931 feat(site-finder): deep-link tabs via ?tab=env|land|market URL param lekss361 2026-05-12 00:22:02 +03:00
  • e66e1ea981 docs(claude): formalize "Auto-review passed" as approval signal + polling loop lekss361 2026-05-12 00:18:21 +03:00
  • aadf47709b
    docs(claude): mandate branch+PR workflow, ban direct push to main (#84) lekss361 2026-05-12 00:16:06 +03:00
  • 0867553a8f fix(claude): Code-reviewer diagram had stale 'push origin HEAD:main' — replace with branch+PR flow lekss361 2026-05-12 00:09:58 +03:00
  • 24feed33c0 docs(claude): sync TL;DR + Don't-do-these with new PR workflow lekss361 2026-05-12 00:03:10 +03:00
  • bc32822cc1 docs(claude): mandate branch+PR workflow, ban direct push to main lekss361 2026-05-11 23:51:36 +03:00
  • 053ce29a40 docs(claude): add code-reviewer agent — review workflow before push lekss361 2026-05-11 23:44:32 +03:00
  • 13119f9cb5 feat(docs): /docs/b2b-channels (rendered) + /docs/b2b-channels.md (raw) for sharing lekss361 2026-05-11 23:36:02 +03:00
  • 59466de811 fix(deploy): aggressive docker image prune (drop until=72h filter to avoid 50GB buildup) lekss361 2026-05-11 23:26:31 +03:00
  • a1201aa94e feat(site-finder): tabbed UX - hero KPI band + 4 tabs (Overview/Env/Land/Market) + sticky map lekss361 2026-05-11 23:21:39 +03:00
  • 199adc31e6 fix(site-finder): UX - sticky map, collapsible sections, score header sticky lekss361 2026-05-11 23:10:56 +03:00
  • 99ca42e5d0 fix(site-finder): isochrones map re-renders on mode change (key includes coords hash) lekss361 2026-05-11 23:03:25 +03:00
  • 2cbcea9e73 fix(zoning): NSPD blocks bot access — fallback to deep-links (PKK6 API closed 2024) lekss361 2026-05-11 22:56:50 +03:00
  • 49eadeb9ce fix(pzz-sync): follow_redirects=True (PKK6 returns 301) lekss361 2026-05-11 22:50:46 +03:00
  • 1c1ecad8b8 fix(pzz-sync): disable SSL verify for Rosreestr PKK6 (self-signed cert chain) lekss361 2026-05-11 22:44:53 +03:00
  • 2e83d62237 feat(site-finder): center distance bonus display + success_recommendation block lekss361 2026-05-11 22:40:46 +03:00
  • ab0647e4d5 feat(site-finder): distance to EKB center + success quartirography recommendation lekss361 2026-05-11 22:35:21 +03:00
  • c31da62e8d feat(analytics): recommend_mix v3.1-v3.4 - noise + 2D competitors + 24m cap + success-driven lekss361 2026-05-11 22:19:41 +03:00
  • 369b5a4706 feat(db): v_bucket_success_score view (success-driven mix #25) lekss361 2026-05-11 22:04:22 +03:00
  • 8be539ddc6 feat(site-finder): ПЗЗ territorial zones from Rosreestr PKK6 + zoning in analyze lekss361 2026-05-11 21:51:51 +03:00
  • 5b03d6d799 feat(site-finder): isochrones UI + networks VKH + OSM substations lekss361 2026-05-11 21:48:21 +03:00
  • 923f250926 feat(site-finder): /parcels/{cad}/isochrones via OpenRouteService lekss361 2026-05-11 21:44:22 +03:00
  • 6ce634a9b9 feat(site-finder): utilities (power/pipeline) + fix Внешние факторы layout lekss361 2026-05-11 21:38:20 +03:00
  • 2855a01ca7 feat(site-finder): v3.5 - seasonal weather + hydrology + geotech risk lekss361 2026-05-11 21:32:07 +03:00
  • 7bb51aa838 feat(site-finder): v3.4 - weather enrichment (temp/precip/UV) + geology stub lekss361 2026-05-11 21:17:57 +03:00
  • 7900dc5238 fix(site-finder): WKT LINESTRING needs commas + rosreestr_deals real column names lekss361 2026-05-11 20:58:49 +03:00
  • 232c81eae9 feat(site-finder): v3.3 - score label + market_trend + multi-thematic bulk lekss361 2026-05-11 20:51:59 +03:00
  • 1e9d32ee3c feat(site-finder): v3.2 — noise + air quality + wind analytics lekss361 2026-05-11 20:42:37 +03:00
  • a2e8a49e6d feat(db): osm_noise_sources_ekb for site-finder noise scoring lekss361 2026-05-11 20:35:27 +03:00
  • d08d06d8a8 fix(geo): parcels (thematic_id=1) come from rosreestr2coord in WGS84 — drop ST_Transform lekss361 2026-05-11 20:09:58 +03:00
  • 81cd7499f6 feat(site-finder): cad_parcels_geom migration + POI markers on map + bulk-job UX lekss361 2026-05-11 19:54:56 +03:00
  • f419900968 feat(site-finder): v3.1 — cad_parcels_geom, analyze fallback, POI lat/lon, OSM expand lekss361 2026-05-11 19:52:19 +03:00
  • ea3d58fa7d feat(routing): /sf -> /site-finder permanent redirect (short URL alias) lekss361 2026-05-11 19:49:26 +03:00
  • e6c062cc5b feat(home): site-finder no longer WIP + admin/scrape/all + buildings in object card desc lekss361 2026-05-11 19:36:43 +03:00
  • a7d7dc9667 fix(site-finder): dedupe competitors — same domrf_kn_objects 3x snapshots bug lekss361 2026-05-11 19:04:29 +03:00
  • 3aeda297ee fix(poi-sync): split Overpass query per category (504 Gateway Timeout) lekss361 2026-05-11 18:54:28 +03:00
  • 93f13795bb fix(poi-sync): add User-Agent header — Overpass returns 406 for python-httpx default UA lekss361 2026-05-11 18:46:47 +03:00
  • 9742219ef6 debug(poi-sync): DB breadcrumbs to nspd_geo_log for silent-fail diagnosis lekss361 2026-05-11 18:37:43 +03:00
  • f81bd710c0 feat(api): POST /admin/scrape/poi-sync — manual OSM POI sync trigger lekss361 2026-05-11 18:12:37 +03:00
  • a4e8fff5ac feat(site-finder): POST /parcels/{cad}/analyze endpoint + UI lekss361 2026-05-11 18:11:58 +03:00
  • 6dea34186b feat(site-finder): OSM POI loader + Celery weekly sync lekss361 2026-05-11 18:08:34 +03:00
  • 688e094844 feat(db): osm_poi_ekb table for site-finder POI analysis lekss361 2026-05-11 18:06:28 +03:00
  • ceaf553eb7 fix(analytics): recommend page UI — caveat badge wrap + headline baseline label lekss361 2026-05-11 17:53:35 +03:00
  • 0de32cd2ce fix(analytics): dedupe comparables — domrf_kn_objects has 3x snapshots per obj_id lekss361 2026-05-11 17:52:37 +03:00
  • 9658baa6b2 fix(deploy): keep last 2 SHA-tagged images per repo, drop older lekss361 2026-05-11 17:45:20 +03:00
  • 03e572330b feat(analytics): recommend page shows cad_quarter, buildings count, district stats lekss361 2026-05-11 17:37:57 +03:00
  • 2847262953 feat(analytics): extend recommend comparables with cad_quarter, lat/lon, buildings_n lekss361 2026-05-11 17:30:09 +03:00
  • b18f44e1ad feat(analytics): add cad_quarter_count to districts endpoint lekss361 2026-05-11 17:29:40 +03:00
  • ae86d62e9b fix(worker): worker_ready geo-resume blocked by early return in kn-resume lekss361 2026-05-11 17:12:31 +03:00
  • caa467fb7e fix(worker): periodic zombie cleanup via beat instead of worker_ready lekss361 2026-05-11 17:02:29 +03:00
  • 17feaa408e debug(worker): persistent breadcrumb in nspd_geo_log on worker_ready lekss361 2026-05-11 16:51:50 +03:00
  • f539e0e414 fix(admin): bump UI stale threshold 60/90s -> 300s lekss361 2026-05-11 16:49:37 +03:00
  • fdd5b4e0e2 fix(worker): dispose SQLA engine in worker_process_init + log resume scan lekss361 2026-05-11 16:40:21 +03:00
  • 5c92c2a0e9 fix(worker): auto-resume after redeploy + bump concurrency 5->8 lekss361 2026-05-11 16:23:16 +03:00
  • 43672a0068 fix(api): bulk geo includes all doc_types by default (only_ddu opt-in) lekss361 2026-05-11 16:12:58 +03:00
  • 1b65f55802 feat(analytics): buildings block + dynamic developer comparison lekss361 2026-05-11 16:03:16 +03:00
  • 8724a4731b feat(admin): unify job settings + bulk geo trigger under /admin/scrape/all lekss361 2026-05-11 16:02:52 +03:00
  • fe2a881cec feat(api,analytics): bulk geo backfill + complex_buildings query lekss361 2026-05-11 15:56:17 +03:00
  • b18170d3c0 perf(worker): bump concurrency 2->5 for parallel nspd_geo jobs lekss361 2026-05-11 15:56:06 +03:00
  • 7e1540f84b feat(admin): /admin/jobs/settings page — inline-edit Celery job config lekss361 2026-05-11 15:47:39 +03:00
  • 2fee7739e8 feat(jobs): centralized job_settings API + DB-driven beat schedule lekss361 2026-05-11 15:38:13 +03:00
  • cbe1253461 feat(db): backfill complexes nulls + add job_settings (migrations 80, 81) lekss361 2026-05-11 15:30:44 +03:00
  • de21fac0a8 perf(ci): skip unchanged docker builds via paths-filter lekss361 2026-05-11 15:10:23 +03:00
  • a7d4223dfa perf(ci): parallelize docker builds + add npm cache mount lekss361 2026-05-11 15:01:10 +03:00
  • 1a0bf10017 fix(nspd-geo): json.dumps for quarter raw_props (Python True → JSON true) lekss361 2026-05-11 14:59:46 +03:00
  • ce5e29f92e fix(nspd-geo): rosreestr2coord v5 compat — delay arg, tmp cache, dumps default lekss361 2026-05-11 14:43:44 +03:00
  • 5b741578e6 feat(claude): add 4 workers + tech-analyst subagents lekss361 2026-05-11 14:36:34 +03:00
  • b19ca1ed41 fix(nspd-geo): rosreestr2coord cache permission in non-root worker lekss361 2026-05-11 14:22:11 +03:00
  • 3e6cddde33 docs(claude): obsidian as the only knowledge store lekss361 2026-05-11 14:19:48 +03:00
  • 3919a40c49 refactor(nspd-geo): unify on rosreestr2coord v5, drop legacy column lekss361 2026-05-11 14:13:33 +03:00
  • ccd60aea7d upd readme lekss361 2026-05-11 13:43:15 +03:00
  • ead0de99ed fix(worker): rosreestr2coord in lockfile + admin logs panel for NSPD/objective lekss361 2026-05-11 12:47:19 +03:00
  • 769b16df47 fix(worker): port objective_etl from psycopg2 → psycopg v3 lekss361 2026-05-11 12:07:57 +03:00
  • b14700e583 fix deploy lekss361 2026-05-11 10:01:36 +03:00
  • d50626b32a fix lekss361 2026-05-11 09:57:40 +03:00
  • b0f5c38894 feat(deploy): split obsidian stack from main + path-filtered GHA lekss361 2026-05-11 09:51:31 +03:00