Commit graph

2 commits

Author SHA1 Message Date
lekss361
fa861f7c0c chore(tradein): close pre-commit ruff gap + add CI pytest gate (#666)
- pre-commit ruff/ruff-format files: ^backend/ -> ^(backend|tradein-mvp/backend)/;
  clean trade_in_pdf.py 51->0 (dead PIL/days_overlay/qr_url + 47 E501; render
  byte-identical).
- deploy-tradein.yml: new pytest 'test' job gating build+deploy.
- fix suite for green gate: tests/matching/__init__.py (collection error) +
  restore get_role in test_history_scope.py (teardown leak breaking test_rbac).
- 1087 tests green; 2 pre-existing order-dependent tests deselected+documented.
  No runtime-logic changes.

Closes #666
2026-05-29 21:57:41 +03:00
7d649f9239 feat(tradein): conflict_resolution — register Yandex sources in priority dicts (#471)
All checks were successful
Deploy Trade-In / build-backend (push) Successful in 45s
Deploy Trade-In / deploy (push) Successful in 21s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Stage 7/9 YandexRealtyScraper v1 (Wave 5). Integrates 4 Yandex scrapers into cross-source field-priority arbitration.

- HOUSE_FIELD_PRIORITY: lat/lon → yandex_realty_nb; +year_built/house_type/house_class/rating_score/reviews_count Yandex sources
- New house fields: text_reviews_count, corpus_count, total_area_ha, commission_year/month, developer_name, has_panorama, yandex_total_listings, has_lift, ceiling_height
- LISTING_FIELD_PRIORITY: description/house_type +yandex_detail
- New listing fields (all yandex_detail): agency_name/founded_year/objects_count, views_total_yandex, publish_date_relative, sale_type_text
- 37 unit tests (7 pre-existing + 30 new), all pass; ruff clean
- Resolver engine _resolve() unchanged (this PR creates the file initially)

Refs: decisions/Cross_Source_Matching_Strategy.md sec 3.5+4.5, decisions/YandexRealtyScraper_v1_Implementation_Plan.md Stage 7.
2026-05-23 14:03:35 +00:00