Files
trex-core/.proofline/criteria/ac-0009.md
T

1.4 KiB

id, status
id status
ac-0009 active

주문 timeout 기본값과 입력 검증

Criterion

매수·매도 intent가 timeout_sec를 생략하거나 null로 전달하면 인스턴스의 default_order_timeout_sec를 사용하고, 인스턴스 기본값도 없으면 hard fallback 3600초를 effective timeout으로 저장해야 한다. 전략 timeout과 인스턴스 기본값은 bool·문자열·실수를 포함한 비정수 값을 허용하지 않는 strict integer 1..3600 범위여야 한다. 전략 입력이 이 계약을 위반하면 clamp 또는 주문 제출 없이 bad_request로 거부하고, 인스턴스 설정이 위반하면 daemon이 주문 실행 전에 설정 오류로 시작에 실패해야 한다. 경계값 1과 3600은 매수·매도 모두 허용해야 한다.

Verification

  • 성공 조건: 매수·매도에서 생략과 null이 instance override 또는 3600으로 저장되고, explicit integer 1, 중간값과 3600이 그대로 승인된다.
  • 실패·경계 조건: bool, 문자열, 실수, 0, 음수와 3601 이상은 묵시적 변환·clamp·slot admission·broker submission 없이 거부되며, 잘못된 daemon 설정은 startup config error가 된다.
  • 검사 방법: tests/application/test_order_timeout_reconciliation.py의 direct/wire/config 경계 테스트와 tests/application/test_execution_policy_handler.py, tests/application/test_execution_policy.py의 매수·매도 회귀를 실행한다.