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

2.2 KiB

id, status
id status
ac-0007 retired

built-container package 및 entrypoint smoke

Criterion

GHCR 게시 후보는 source tree가 아니라 실제로 빌드된 image 안에서 python -c "import trex_core"와 trex-core-daemon --help, trex-core --help, trex-core-reset --help를 각각 실행하여 package와 세 console entrypoint가 설치되어 있음을 입증해야 한다. 또한 그 source commit에서 source-controlled canonical SQL migration filename inventory를 도출하고, image의 installed package runtime path에서 읽은 migration inventory가 non-empty이며 canonical inventory와 정확히 일치함을 입증해야 한다. 각 probe는 exit code 0이어야 하며 daemon setup, migration 적용, DB·RabbitMQ·Redis·portfolio-hub·KIS 연결, 실제 주문 또는 config·credential 해석을 수행해서는 안 된다.

Verification

  • 성공 조건: network가 차단되고 운영 config·credential이 없는 최소권한 container에서 기존 네 probe와 installed migration inventory probe가 각각 정해진 timeout 안에 exit code 0으로 끝나며 container가 정리된다. 현재 회귀 기준선에는 canonical SQL 파일 20개가 있으나, 영구 성공 조건은 고정 수량이 아니라 해당 source commit의 non-empty exact inventory parity이다.
  • 실패·경계 조건: package import 실패, entrypoint 누락, installed migration inventory의 empty·누락·추가·filename mismatch, nonzero exit, timeout, 외부 연결 시도 또는 cleanup 실패는 smoke nonzero로 이어지고 image publish를 차단한다. trex-core-reset probe에는 --yes 또는 config argument를 전달하지 않는다.
  • 검사 방법: built wheel의 SQL filename set을 source-controlled canonical set과 대조하고, built image를 대상으로 하는 smoke harness와 recording-runner 단위 테스트로 정확한 기존 네 command와 side-effect-free installed inventory probe, per-command timeout, network 차단, no-config/no-secret 환경, failure propagation 및 cleanup을 검증하며 CI에서 실제 local image smoke를 실행한다. Inventory probe는 migration을 적용하거나 DB 또는 다른 service에 연결하지 않는다.