fix(frontend): sync package-lock.json with lucide-react (P0 deploy fail) (#345)
deploy.yml #135 -Commit
6ee20294f2
pushed by
lekss361
feat(sf-fe-a3): UI primitives — HeadlineBar + Badge + Drawer (#341)
deploy.yml #131 -Commit
2548f71f40
pushed by
lekss361
feat(sf-fe-a1): routes shell — entry / analysis + _legacy/ backup + mock toggle (#340)
deploy.yml #130 -Commit
3aaaaba5f9
pushed by
lekss361
fix(22d): register scrape_kn_catalog_objects in celery include list (#339)
deploy.yml #129 -Commit
96b03872ac
pushed by
lekss361
feat(sf-b4): GET /landing/stats — 5 KPI + paradox for landing page hero (#331)
deploy.yml #128 -Commit
bb7fbd5bc0
pushed by
lekss361
feat(22d): admin endpoint POST /admin/scrape/kn-catalog-objects (#338)
deploy.yml #127 -Commit
ea558b241c
pushed by
lekss361
fix(pilot): drop pydantic EmailStr — email-validator dep missing → backend startup crash (#337)
deploy.yml #126 -Commit
76112870e2
pushed by
lekss361
feat(22d): domrf_catalog_object scraper — fill ~25 NULL kn_objects cols from SSR __NEXT_DATA__ (#335)
deploy.yml #125 -Commit
0567ad2130
pushed by
lekss361
feat(sf-b1): GET /parcels/by-bbox — map entry endpoint + parcel_user_status table (#336)
deploy.yml #124 -Commit
c61c8c86af
pushed by
lekss361
feat(sf-b6): GET /parcels/{cad}/poi-score — weighted top-7 (#333)
deploy.yml #122 -Commit
b013fd886c
pushed by
lekss361
feat(sf-b5): extend /parcels/{cad}/analyze with 15 fields (EGRN/encumbrance/red_lines/risks/district prices) (#332)
deploy.yml #121 -Commit
493238447a
pushed by
lekss361
feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page WeasyPrint export (#334)
deploy.yml #120 -Commit
4040cba4c0
pushed by
lekss361
feat(sf-b2): GET /users/me/recent-parcels — stub endpoint (auth TODO) (#329)
deploy.yml #119 -Commit
8673290009
pushed by
lekss361
fix(sf): exclude NULL competitors from aggregate calculations (velocity, market_avg, top_sellers) (#328)
deploy.yml #118 -Commit
e872b1ebe4
pushed by
lekss361
feat(obj-2): mapping backfill via pre-materialized temp tables (migration 117) (#327)
deploy.yml #117 -Commit
0c4d7f1ffb
pushed by
lekss361
fix(obj-2): trim migration 116 to GIST index only — INSERT CTE timed out in deploy (#326)
deploy.yml #116 -Commit
2bd80c5719
pushed by
lekss361
feat(obj-3): SF backend migrate to objective_lots ground truth (price 0.3% -> 81%) (#324)
deploy.yml #114 -Commit
7a8d59beb4
pushed by
lekss361
feat(obj-2): multi-feature mapping backfill (name+dev+district) — 142 → 200+ (#323)
deploy.yml #113 -Commit
79c9a8a034
pushed by
lekss361
feat(scrape-kn): parallel Phase B/C + wire obj_checks + documents + is_ekb auto-derive (#322)
deploy.yml #112 -Commit
f2983c86d7
pushed by
lekss361
fix(objective parser): use_float=True in ijson + default=str in json.dumps (#321)
deploy.yml #111 -Commit
c80d79e2d4
pushed by
lekss361
fix(deploy): trigger workflow on all data/sql/** changes, not only .sql (#320)
deploy.yml #110 -Commit
d1b721a3be
pushed by
lekss361
feat(trade-in): TI-2 PDF export 4-page + frontend enable button (#319)
deploy.yml #109 -Commit
3978aa5905
pushed by
lekss361
feat(trade-in): TI-3 frontend /trade-in page + 5 components + hooks (#317)
deploy.yml #108 -Commit
90eb5af883
pushed by
lekss361
feat(trade-in): TI-1 mock /trade-in/estimate endpoint + Pydantic + SQL migration (#316)
deploy.yml #107 -Commit
29dbbee2ac
pushed by
lekss361
fix(scrape-objective): stream-parse lots_pf via ijson to avoid OOM (#315)
deploy.yml #106 -Commit
389e141ec9
pushed by
lekss361