[CL-SYNCER-ORPHAN-LOGLEVEL] Атрибутированный orphan-импорт — INFO вместо WARNING #320

Merged
andrei merged 1 commit from feature/claude-syncer-orphan-loglevel into master 2026-06-10 23:45:41 +00:00
Owner

Что сделано

  • bot/runner/position_syncer.py: лог ORPHAN-импорта перенесён после атрибуции стратегии; атрибутированный orphan → INFO (с именем стратегии в сообщении), неатрибутированный → WARNING как раньше.
  • 2 новых теста в test_position_syncer.py (caplog-уровни, TDD: красный → зелёный).

Зачем

~37 WARNING/день ORPHAN position detected по всем grid-символам. Root-cause: grid-стратегии не регистрируют позиции при открытии — syncer-импорт и ЕСТЬ их штатная регистрация; атрибуция корректна (все импорты → grid_bidir_aggressive, подтверждено прод-таблицей positions). Ожидаемый поток шумел как аномалия и засорял лог-health сводки. WARNING остаётся для настоящих (неатрибутированных) orphan-позиций на бирже.

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

  • Syncer-пакет: 41 passed.
  • Полный backend: 5940 passed / 0 failed / 8 skipped.
  • После деплоя: в прод-логах атрибутированные импорты идут INFO, WARNING-счётчик orphan падает к нулю.

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

  • INFO может скрыть рост частоты импортов (сигнал смерти позиций-учёта): частота видна в INFO-логах и в daily Логи 24ч не попадает только из WARNING-фильтра — компромисс осознанный.
  • Если атрибуция начнёт ошибочно приписывать чужие позиции grid-стратегии, шум уйдёт в INFO молча — но это была бы ошибка attribution-логики, не этого изменения.
## Что сделано - `bot/runner/position_syncer.py`: лог ORPHAN-импорта перенесён после атрибуции стратегии; атрибутированный orphan → INFO (с именем стратегии в сообщении), неатрибутированный → WARNING как раньше. - 2 новых теста в `test_position_syncer.py` (caplog-уровни, TDD: красный → зелёный). ## Зачем ~37 WARNING/день `ORPHAN position detected` по всем grid-символам. Root-cause: grid-стратегии не регистрируют позиции при открытии — syncer-импорт и ЕСТЬ их штатная регистрация; атрибуция корректна (все импорты → grid_bidir_aggressive, подтверждено прод-таблицей positions). Ожидаемый поток шумел как аномалия и засорял лог-health сводки. WARNING остаётся для настоящих (неатрибутированных) orphan-позиций на бирже. ## План тестирования - Syncer-пакет: 41 passed. - Полный backend: 5940 passed / 0 failed / 8 skipped. - После деплоя: в прод-логах атрибутированные импорты идут INFO, WARNING-счётчик orphan падает к нулю. ## Где могу ошибаться - INFO может скрыть рост частоты импортов (сигнал смерти позиций-учёта): частота видна в INFO-логах и в daily Логи 24ч не попадает только из WARNING-фильтра — компромисс осознанный. - Если атрибуция начнёт ошибочно приписывать чужие позиции grid-стратегии, шум уйдёт в INFO молча — но это была бы ошибка attribution-логики, не этого изменения.
[CL-SYNCER-ORPHAN-LOGLEVEL] Атрибутированный orphan-импорт — INFO вместо WARNING
All checks were successful
Arnold Forgejo CI / secret-scan (pull_request) Successful in 4s
Forgejo Smoke Test / Smoke (pull_request) Successful in 1s
Arnold Forgejo CI / frontend-audit (pull_request) Successful in 16s
Arnold Forgejo CI / backend-tests (pull_request) Successful in 3m41s
9c46deafcb
Grid-стратегии не регистрируют позиции при открытии: syncer-импорт и есть
их штатный путь регистрации. ~37 WARNING/день по всем grid-символам при
корректной атрибуции (grid_bidir_aggressive, подтверждено прод-БД) —
ожидаемый поток кричал как аномалия. Лог перенесён после атрибуции:
атрибутированный orphan → INFO с именем стратегии, неатрибутированный
(настоящий orphan) → WARNING как раньше.
andrei merged commit f1e51f821a into master 2026-06-10 23:45:41 +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!320
No description provided.