docs: record server image rollout gap

This commit is contained in:
jordan
2026-07-29 18:01:52 +09:00
parent 12b6eb5b33
commit 91e8803424
@@ -50,3 +50,33 @@
- 실전 계정·주문·운영 컨테이너 변경 없음.
- `live_dry_run`, `live_one_shot`, 서버 배포, 로컬 어댑터 제거는 미수행.
- 실전 반영은 서버 차이 검증 후 대상 계정·전략·이미지 SHA를 명시한 별도 승인 필요.
## 서버 이미지 차이와 적용 대기
- 검증 후보 이미지:
- tag: `trex-core:candidate-12b6eb5`
- image id: `sha256:343f0a0955f92357db5ce53f26d22d8196bc325ec0e07919c53c44a7997a44aa`
- revision label: `12b6eb5`
- import smoke: PASS
- 현재 운영 Core 이미지:
- 계정 2: `sha256:21c4ed9bfdcf...`
- 계정 3: `sha256:bf8064a94e93...`
- Top50 가상: `sha256:fa9b9c609a01...`
- Top50 섀도: `sha256:fb981d8c62fc...`
- 네 운영 이미지의 `execution.py`, `kis.py`, `intents.py` 해시는 모두 후보와 다르다.
- 계정 2·3의 `TREX_ACCOUNT_SNAPSHOT_ENABLED`는 현재 미설정이라 기본 OFF다.
- 계정 2는 `TREX_KIS_STRATEGY_OWNERSHIP_PATH`가 설정되어 수동 보유 보호가 유지되고,
계정 3은 전용 전략계정이라 이 경로가 미설정이다.
- 현재 Compose의 Docker build context는 정본 `/Volumes/J_HDD/trex/trex-core`
(`7084304`)를 복사한다. PR 브랜치는 별도 worktree이므로 일반 rebuild만 실행하면
후보가 아니라 이전 소스를 다시 만든다.
### 승인 후 적용 순서
1. 현재 계정별 image id를 rollback tag로 보존한다.
2. PR 브랜치 또는 승인된 merge SHA를 명시한 이미지로만 교체한다.
3. DB 백업 뒤 migration 017/019/020/021 재적용과 테이블·제약을 확인한다.
4. 계정 3에서 주문 없는 `live_dry_run`과 계좌범위 해시·조회만 확인한다.
5. 계정 3 Core 적용·재시작 복구·원장대조 후 계정 2를 별도 적용한다.
6. 계정 2는 수동보유 보호와 전략 소유수량을 재확인한다.
7. 두 계정의 Core 동작이 확인된 뒤에만 로컬 KIS 어댑터 중복 기능을 제거한다.