ADR-003 주문 실행 경로 선택

상태

결정 (확정)

맥락

P4 실행 자동화는 신호를 실제 주문으로 집행할 경로가 필요하다. 초기엔 토스가 read-only로 추정되어 신규 증권사(KIS 등) 연동을 검토했으나, 코드 확인 결과 토스 Open API 주문이 이미 BE에 완전히 연동돼 있음을 확인했다.

기존 자산 (backend order 패키지):

  • TossOrderGatewayImpl — 접수 POST /api/v1/orders, 정정 /modify, 취소 /cancel, 미체결 조회 GET /orders?status=OPEN
  • OrderDomainService#placeOrder/correctOrder/cancelOrder — 토스 호출 성공 후 MySQL 저장
  • OrderStatus 전이(PENDING→COMPLETED/CORRECTED/CANCELLED), PlaceOrderUseCase, OrderApiController

결정

주문 실행은 토스 Open API를 사용하고, 기존 order 도메인을 그대로 재사용한다. 신규 증권사 연동·신규 Order 도메인을 만들지 않는다.

  • P4는 신규 주문 인프라가 아니라, 신호+리스크 게이트를 기존 PlaceOrderUseCase 앞단에 붙이는 작업이다.
  • TDD의 BrokerOrderGateway/KisBrokerGatewayImpl 신규 설계는 폐기한다 → 기존 OrderGateway/TossOrderGatewayImpl 사용.

근거

  • 토스 주문 API가 매수·매도·정정·취소를 제공하며 이미 동작 중 — 신규 증권사 연동 비용 0.
  • 기존 order 도메인이 컨벤션(Gateway 추상화·상태 전이 캡슐화·CUD 순서)을 이미 충족.
  • P4 범위가 “주문 인프라 구축”에서 “신호→제안→승인→기존 집행”으로 축소됨.

고려한 대안

대안미채택 사유
한국투자증권(KIS) 신규 연동토스 주문이 이미 있으므로 불필요한 중복
키움 Open API동상. Mac 환경 제약도 있음

영향

  • ADR-003 초안의 “증권사 미결정”은 해소됨.
  • P4 티켓에서 Order/BrokerOrderGateway 신규 생성 티켓 제거, 기존 재사용으로 대체.
  • 메모리 stock-application-decisions의 “토스 read-only” 기술을 정정함.