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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#249
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/242-ekburg-permits-ssl-clean"
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?
Summary
Чистая версия PR #245 после reviewer rejection (🟠 HIGH — содержал 2 независимых work units). Этот PR содержит только SSL fix (1 commit
4a48d49). Sub-PRfeat(#126) Sub-PR Aуже отдельно merged как PR #247.Что фиксит
ekburg_permits.pyпадал сSSL: CERTIFICATE_VERIFY_FAILEDна всех 5 годах (2022-2026) — екатеринбург.рф использует CA Минцифры РФ, которого нет вcertifibundle.GlitchTip issues: BACKEND-Q..V (6 events). Подробности: issue #242.
Fix
backend/app/services/scrapers/ekburg_permits.py—verify=Falseвhttpx.Client(Option C — per-scraper). Прецедент:nspd_lite.pyиспользуетssl._create_unverified_context()для nspd.gov.ru.Why not Dockerfile CA install (Option A)
Python
certifiигнорирует системные CA по умолчанию. Option A требуетSSL_CERT_FILEenv + docker-compose changes (devops scope). Данные публичные open-data — verify=False acceptable риск.Test plan
uv run pytest tests/services/test_ekburg_permits.py)Replaces #245. Closes #242.
Deep Review — verdict APPROVE → merged
Scope clean: 1 commit (
4a48d49), 2 файла (+23/-4), только SSL fix. PR #245 закрыт.Verified:
httpx.Client(verify=False)добавлен в единственном месте —ekburg_permits.py:253(ровно один Client в файле, grep clean).nspd_bulk_client.py:145,pzz_loader.py:48— same pattern для гос. РУ-доменов.verify=Truedefault) не затронуты.TestSslConfiguration.test_client_uses_verify_false— sanity check (isinstance +_transport), не assert'итverify=Falseнапрямую (httpx не хранит этот kwarg как attr —_transportсоздаётся с unverified SSL context). Acceptable: реальная verification идёт через post-deploy smoke-curl.fixes/Bug_Ekburg_Permits_SSL_Russian_CA_May17.mdсуществует, не дубль.Closes #242корректно — issue авто-закроется после merge.После deploy: smoke
POST /api/v1/admin/scrape/ekburg-permits+SELECT permit_type, source_year, count(*) FROM ekburg_construction_permits GROUP BY 1,2.Merged via deep-code-reviewer — verdict APPROVE.