[Arnold] #502: сериализация dedupe live-сделок #520

Merged
andrei merged 1 commit from feature/claude-502-trade-dedupe into master 2026-07-21 23:46:04 +00:00
Owner

Что сделано

Доставлен ровно reviewed SHA fb1b41a9919c4004da804c8a273fdd2d8ffd8f02 из bundle /tmp/arnold-502-review-fb1b41a9.bundle в ветку feature/claude-502-trade-dedupe.

Изменение добавляет transaction-scoped advisory lock и повторный post-lock SELECT на одном соединении перед вставкой live order id. Также обновлены pool fakes и регрессионные тесты для transactional protocol.

Зачем

Нужно убрать race condition в live trade deduplication: параллельные процессы не должны создавать дубликаты live order записей для одной dedupe-группы.

План тестирования

Перед delivery уже зафиксированы зелёные проверки в связанных задачах: PIX-14536 review GREEN, PIX-14533 real PostgreSQL concurrency proof GREEN, полный backend 7394 passed / 7 skipped после rebase, gitleaks, py_compile и diff checks GREEN.

После открытия PR требуется дождаться точного PR CI 4/4 GREEN на head fb1b41a9919c4004da804c8a273fdd2d8ffd8f02, затем merge только если head и base не изменились.

Где могу ошибаться

Риск только в runtime-интеграции с реальным deploy contour: после merge нужен canonical master deploy и проверка production evidence: repo HEAD+clean, post-deploy validator exit 0 as europatech, /api/health version, DB, PM2, logs, duplicate-group/cross-user read-only audit. Существующие 42 duplicate groups / 84 rows не удалять.

## Что сделано Доставлен ровно reviewed SHA `fb1b41a9919c4004da804c8a273fdd2d8ffd8f02` из bundle `/tmp/arnold-502-review-fb1b41a9.bundle` в ветку `feature/claude-502-trade-dedupe`. Изменение добавляет transaction-scoped advisory lock и повторный post-lock SELECT на одном соединении перед вставкой live order id. Также обновлены pool fakes и регрессионные тесты для transactional protocol. ## Зачем Нужно убрать race condition в live trade deduplication: параллельные процессы не должны создавать дубликаты live order записей для одной dedupe-группы. ## План тестирования Перед delivery уже зафиксированы зелёные проверки в связанных задачах: PIX-14536 review GREEN, PIX-14533 real PostgreSQL concurrency proof GREEN, полный backend 7394 passed / 7 skipped после rebase, gitleaks, py_compile и diff checks GREEN. После открытия PR требуется дождаться точного PR CI 4/4 GREEN на head `fb1b41a9919c4004da804c8a273fdd2d8ffd8f02`, затем merge только если head и base не изменились. ## Где могу ошибаться Риск только в runtime-интеграции с реальным deploy contour: после merge нужен canonical master deploy и проверка production evidence: repo HEAD+clean, post-deploy validator exit 0 as europatech, `/api/health` version, DB, PM2, logs, duplicate-group/cross-user read-only audit. Существующие 42 duplicate groups / 84 rows не удалять.
[CL-502] fix: serialize live trade deduplication
All checks were successful
Arnold Forgejo CI / backend-tests (pull_request) Successful in 5m15s
Arnold Forgejo CI / frontend-audit (pull_request) Successful in 19s
Arnold Forgejo CI / secret-scan (pull_request) Successful in 3s
Forgejo Smoke Test / Smoke (pull_request) Successful in 1s
fb1b41a991
Use a transaction-scoped advisory lock and a fresh post-lock SELECT on one connection before inserting a live order id. Update pool fakes for the transactional protocol.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
andrei merged commit 4a2c46b1e7 into master 2026-07-21 23:46:04 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
europa-tech-srl/arnold-trader-app!520
No description provided.