test(tradein): quality-gate anti-regression тесты на 5 P0-фиксов (#781) #1098
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#1098
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/781-quality-gate-tests"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #781. Tests-only — прод-код не менялся.
Что
Anti-regression guard'ы на 5 P0-дефектов аудита (фиксы уже в main: #755/#753/#773/#754/#740) — чтобы не откатились. 13 тестов в новом
tests/test_781_quality_gate.py:?context=→ тот же hash; +sanity distinctexpected_sold>0; ratio=None → NoneAvitoContentBlockedError; page>1 → gracefulinsufficient_data=true, median=0; +serialization⚠️ Отклонение от спека issue (verify-don't-trust)
Issue предполагал, что
test_filter_outliers_passthrough_below_5_lotsнужно переписать под пост-#755 контракт. Проверка показала иначе: #755 добавил MAD-clip ТОЛЬКО в_compute_same_building_anchor, а НЕ в radius-path_filter_outliers. n<5 bypass в radius-фильтре корректен и намеренен → assert не менялся, добавлен только пояснительный докстринг. (reviewer — обратите внимание на этот пункт.)Verify
uv run pytest→ 325 passed, 0 failures;ruff checkclean.✅ APPROVE
Tests-only (0 прод-кода), 13 anti-regression guard'ов на 5 P0-фиксов:
_filter_outliersn<5 bypass НЕ тронут #755 (MAD-clip/min_comps=4/confidence-cap только в anchor_compute_same_building_anchor). Решение автора не переписыватьis lotsassert — верное, не ложное оправдание. ✅ verify-don't-trust.avito_blockpage_sample.html+avito_serp_sample.htmlесть (git ls-tree) — module-level read_text не уронит collection.Merge → deploy-tradein verify.