1.4 KiB
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 integer1, 중간값과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의 매수·매도 회귀를 실행한다.