docs(discovery): dcy-010 confirmed — safety-sell 영속 거부 재시도 백오프

모든 OQ Answered, 플레이스홀더 해소, Justin Ko 승인 완료.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 22:59:21 +09:00
co-authored by Claude Sonnet 4.6
parent b0539e752c
commit 7b40ffad64
2 changed files with 14 additions and 14 deletions
@@ -1,10 +1,10 @@
# 0. 문서 상태
- 상태: draft
- 상태: confirmed
- 문서 ID: dcy-010_20260607_safety-sell-persistent-rejection-backoff
- 이슈명: safety-sell 영속 거부 재시도 백오프 — 장 휴장·잔고 부족·규제 등 지속 거부 상황에서 KIS 주문 spam 방지를 위한 슬롯별 재시도 backoff/cooldown 정책
- 작성 시각(KST): 2026-06-07
- 마지막 갱신 시각(KST): 2026-06-07 (OQ-1 Answered: min_retry_interval_sec = 600s, OQ-2 Answered: max_retry_warn_count = 3 로그만 발행, OQ-3 Answered: 단일 per-slot 쿨다운)
- 마지막 갱신 시각(KST): 2026-06-07 (OQ-1 Answered: min_retry_interval_sec = 600s, OQ-2 Answered: max_retry_warn_count = 3 로그만 발행, OQ-3 Answered: 단일 per-slot 쿨다운, confirmed)
- 대체됨: 없음
- 후속 Discovery 참조: 없음
- 생성된 REQ 참조: 없음
@@ -161,15 +161,15 @@
# 8. REQ로 넘기기 전 확인 체크
- [ ] 범위(In Scope/Out of Scope) 확정
- [x] 범위(In Scope/Out of Scope) 확정
- 기준: OQ-1(min_retry_interval_sec 기본값), OQ-2(max_retry_warn_count 및 경고 후 동작), OQ-3(쿨다운 분리 여부) 모두 Answered 또는 Deferred
- [ ] 성공 지표의 측정 방식/데이터 출처 확정
- [x] 성공 지표의 측정 방식/데이터 출처 확정
- 기준: S-1~S-5 각각 pytest 단위 테스트 또는 manual e2e 근거 확정
- [ ] High 영향 리스크 우선순위 및 해소 책임자 지정
- [x] High 영향 리스크 우선순위 및 해소 책임자 지정
- 기준: R-1~R-3 완화 방안 REQ 단계 인계 여부 확인 (현재 Medium/Low — High 없음)
- [ ] 모든 오픈 질문(OQ) `Open` 상태 없음 확인
- [x] 모든 오픈 질문(OQ) `Open` 상태 없음 확인
- 기준: OQ-1, OQ-2, OQ-3 모두 Answered 또는 Deferred
- [ ] Freeze 확정 담당자(CONFIRMED_BY) 지정
- [x] Freeze 확정 담당자(CONFIRMED_BY) 지정
- 기준: Justin Ko 확인
# 9. 파일 처리 결과
@@ -194,11 +194,11 @@
## CONFIRM
- {{CONFIRM_MARKET_CLOSE_OUT_OF_SCOPE}}: `check_market_close` 트리거는 `_last_liquidation_date`로 하루 1회 이미 보호되어 별도 쿨다운 적용 대상 밖으로 확정하는지 확인.
- CONFIRM_MARKET_CLOSE_OUT_OF_SCOPE: 확인됨. `check_market_close`는 `_last_liquidation_date`(safety_sell.py:160)로 하루 1회 이미 보호되어 있어 본 Discovery의 per-slot 쿨다운 적용 대상 밖으로 확정됨(A-3).
## DATA
- {{DATA_REJECTION_DURATION_STATS}}: 실 KIS 운용에서 관찰된 영속 거부 지속 시간 데이터(있다면) — `min_retry_interval_sec` 기본값 결정에 필요.
- DATA_REJECTION_DURATION_STATS: 비차단 운영 데이터. OQ-1이 600s로 확정되어 이 수치 없이도 REQ 초안 작성 가능. 실제 운용 후 수집된 데이터가 있다면 다음 Discovery 또는 change-req 입력으로 반영.
# 11. Discovery Freeze
@@ -212,8 +212,8 @@
## Freeze 플래그
- Handoff Decision: 보류
- Handoff Decision: REQ Drafting 진행 가능
- Handoff Rationale: Safety-sell 쿨다운 메커니즘 설계 완료. OQ-1(600s), OQ-2(3회 경고 로그), OQ-3(단일 per-slot) 모두 Answered. confirm-discovery 전 Justin Ko 최종 승인 필요.
- Ready for REQ Drafting: false
- Confirmed By: TBD
- Confirmed At (KST): TBD
- Ready for REQ Drafting: true
- Confirmed By: Justin Ko
- Confirmed At (KST): 2026-06-07
+1 -1
View File
@@ -15,4 +15,4 @@
| dcy-007_20260606_core-autonomous-safety-sell | 20260606 | core 자율 안전 매도 — stop-loss·시간 만기 자동 트리거 | [Discovery](./dcy-007_20260606_core-autonomous-safety-sell.md) | confirmed |
| dcy-008_20260607_emergency-stop-kill-switch | 20260607 | 비상 정지/강제 청산(kill-switch) — portfolio/전역 슬롯 청산 + 당일 전략 제외 | [Discovery](./dcy-008_20260607_emergency-stop-kill-switch.md) | confirmed |
| dcy-009_20260607_multi-instance-rabbitmq-topology | 20260607 | 인스턴스별 독립 RabbitMQ 채널 토폴로지 — trex-core 다중 인스턴스 운영을 위한 Topic Exchange + Fanout Exchange per-instance 큐 분리 | [Discovery](./dcy-009_20260607_multi-instance-rabbitmq-topology.md) | confirmed |
| dcy-010_20260607_safety-sell-persistent-rejection-backoff | 20260607 | safety-sell 영속 거부 재시도 백오프 — 장 휴장·잔고 부족·규제 등 지속 거부 상황에서 KIS 주문 spam 방지를 위한 슬롯별 재시도 backoff/cooldown 정책 | [Discovery](./dcy-010_20260607_safety-sell-persistent-rejection-backoff.md) | draft |
| dcy-010_20260607_safety-sell-persistent-rejection-backoff | 20260607 | safety-sell 영속 거부 재시도 백오프 — 장 휴장·잔고 부족·규제 등 지속 거부 상황에서 KIS 주문 spam 방지를 위한 슬롯별 재시도 backoff/cooldown 정책 | [Discovery](./dcy-010_20260607_safety-sell-persistent-rejection-backoff.md) | confirmed |