feat(parcels): persist analysis runs + real last_analysis_date (#994) #1028
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#1028
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/994-persist-analysis-runs"
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?
#961 EPIC 17 (961-C3): персист прогонов анализа + реальный last_analysis_date (ТЗ §22).
analysis_runs(м.127). Best-effort: SAVEPOINT (begin_nested) + explicitdb.commit()+ try/except.db.commit()критичен — get_db() без commit-on-success, RELEASE savepoint сам не персистит → без коммита строка откатывалась бы на teardown (silent no-op, поймано code-review). Провал persist НЕ ломает ответ/не травит сессию. result через jsonable_encoder→json.dumps (Pydantic-модели/даты); confidence/status нормализованы под CHECK'и 127.v_analysis_runs_latestодним batch-запросом (НЕ N+1), заменяет заглушку #307. Чтение тоже best-effort — view-missing deploy-окно/drift НЕ должен ронять карту (fallback None).⚠️ Cross-tx write-тест (строка переживает commit) — post-deploy QA: локально нет TEST_DATABASE_URL + WeasyPrint native libs (macOS) блокируют сбор pytest. CI-Linux прогонит сьюит.
Closes #994. Refs #961.