From 5eebe9c4e8b7fc82456fc0d215f7c3043c0e58a3 Mon Sep 17 00:00:00 2001 From: Justin Ko Date: Sun, 7 Jun 2026 23:00:24 +0900 Subject: [PATCH] docs: update rel-003 safety killswitch release --- docs/releases/index.md | 2 +- ...260607_safety-killswitch-multi-instance.md | 39 ++++++++++--------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/docs/releases/index.md b/docs/releases/index.md index 3ef9521..e3e3f5a 100644 --- a/docs/releases/index.md +++ b/docs/releases/index.md @@ -10,4 +10,4 @@ | --- | --- | --- | --- | --- | --- | | REL-001 | app-service | feedback-captured | BAT-001~008 | Discovery: orb-v1 전략 모듈, 부분 매도(#5) / Change-req: REQ-030 옵션 D, 전략 필드 실데이터, 이벤트 publisher idle 견고성, paper execution_id Redis(#4) | [rel-001](rel-001_20260606_trex-core-slot-core-baseline.md) | | REL-002 | tooling | released | BAT-009 | Change-req: paper execution_id Redis(#4) | [rel-002](rel-002_20260606_paper-broker-env-tuning.md) | -| REL-003 | app-service | confirmed | BAT-010, BAT-011, BAT-012, BAT-013 | dcy-007 (자율 안전 매도) + dcy-008 (kill-switch) + dcy-009 (다중 인스턴스 토폴로지) — 통합 릴리즈 | [rel-003](rel-003_20260607_safety-killswitch-multi-instance.md) | +| REL-003 | app-service | released | BAT-010, BAT-011, BAT-012, BAT-013 | dcy-007 (자율 안전 매도) + dcy-008 (kill-switch) + dcy-009 (다중 인스턴스 토폴로지) — 통합 릴리즈 | [rel-003](rel-003_20260607_safety-killswitch-multi-instance.md) | diff --git a/docs/releases/rel-003_20260607_safety-killswitch-multi-instance.md b/docs/releases/rel-003_20260607_safety-killswitch-multi-instance.md index bcfcdb6..af27de8 100644 --- a/docs/releases/rel-003_20260607_safety-killswitch-multi-instance.md +++ b/docs/releases/rel-003_20260607_safety-killswitch-multi-instance.md @@ -1,6 +1,6 @@ # REL-003: trex-core 통합 app-service 릴리즈 — 자율 안전 매도 + kill-switch + 다중 인스턴스 토폴로지 -- Status: confirmed +- Status: released - Profile: app-service - Included Batch: BAT-010, BAT-011, BAT-012, BAT-013 @@ -64,49 +64,52 @@ ### Deployment Facts - Executed At: - - <배포 시작 시각> + - 2026-06-07 (KST) — trex-core 운영자 배포 - Completed At: - - <배포 완료 시각> + - 2026-06-07 (KST) — daemon RUNNING + snapshot RPC live 확인 - Environment: - - <배포 대상 환경> + - 운영 대상 trex-core. config: `/root/release/trex-core/temp/config_trex-admin-daily-trading.toml` (`instance_key = "trex-admin-daily-trading"`, `portfolio_hub_token` .env→TOML 이관 완료). 실행 세션 ID: `proc_389fe66bd134`. - Operator: - - <배포 수행자> + - trex-core 운영자 - Revision or Artifact: - - <커밋 SHA (≥ 9f83c64; BAT-010~013 포함)> + - origin/main ≥ `cc063af` (BAT-010~013 포함) - Commands or Procedure: - - <마이그레이션 004/005 + `trex-core-daemon --config .toml` + token 이관 절차> + - `.env`→TOML `portfolio_hub_token` 이관 → `trex-core-daemon --config /root/release/trex-core/temp/config_trex-admin-daily-trading.toml` 기동. 마이그레이션 001~005 는 daemon boot `apply_migrations` 로 적용(snapshot/RPC 정상 동작으로 스키마 존재 implicit 확인; 명시 적용 로그는 미회신). ### Profile-Specific Checks - app-service: - Health Endpoint: - - <큐 declare readiness + 7 스레드 + exchange 바인딩 확인> + - HTTP health 없음(RabbitMQ transport). 운영자 확인: daemon **RUNNING / non-degraded**. snapshot RPC `degraded=false`, `reason=null` = 큐 declare readiness + portfolio-hub 도달 동등 신호. - Startup Log Fields: - - + - daemon 기동 + `instance_key="trex-admin-daily-trading"` 로 인스턴스 큐 선언(아래 Request 참조). 7 워커/exchange 개별 기동 로그는 미회신(부분). - Request Log Fields: - - + - **instance_key 접미 큐로 RPC 동작 확인**: `trex.snapshot.req.trex-admin-daily-trading` 호출 → 정상 응답. = BAT-013 `--config` 기동(REQ-048) + 동적 큐명(REQ-049) + token TOML 주입(REQ-048 S-5) LIVE 실증. - Smoke or Manual Verification: - - <마이그레이션 004/005 + control/update_thresholds RPC + (차기 거래일) 실 KIS safety-sell/kill_switch + (다중 시) 라우팅> + - snapshot RPC envelope: `degraded=false`, `reason=null`, `available_slots=10`, `view="all"`, `asset_count=45`. universe 종목 수신 확인(예: 207940, 034020, 009540). → portfolio-hub read + snapshot read 레이어(BAT-008/REQ-027~033) + token 주입 정상. + - 미실증(검증 한계 참조, 차기 거래일): 실 KIS 체결→ledger, kill_switch LIVE 실매도, safety-sell 실 트리거, 2-인스턴스 동시 라우팅. (스냅샷은 읽기전용이라 쓰기 경로 미관찰) ### Rollback Outcome - Rollback Required: - - + - no (배포/서비스 롤백 없음 — daemon RUNNING/non-degraded 유지) - Rollback Trigger: - - <발생 시 원인, 없으면 none> + - none - Rollback Action: - - <수행한 조치, 없으면 none> + - none ### Release Decision Evidence - Released Decision: - - + - yes (confirmed → released) - Rationale: - - <판단 근거> + - 실 환경 배포 + daemon RUNNING/non-degraded + `--config` TOML 기동·instance_key 동적 큐(`trex.snapshot.req.trex-admin-daily-trading`)·portfolio_hub_token TOML 주입·snapshot RPC(degraded=false, universe 45종) LIVE 동작 확인. app-service 운영 확인 바(health 동등 + RPC smoke + universe 수신) 충족. 배포 전 단위 271 + 인프라 게이트 301 + 전 e2e(paper/LIVE 읽기전용) 통과 보강. + - **잔여(차기 거래일 실증, blocker 아님)**: Verification Checklist 의 "검증 한계 / 미검증 영역" 4건 — 실 KIS 체결→ledger, kill_switch LIVE, safety-sell 실 트리거, 2-인스턴스 동시 split-brain. 읽기전용 스냅샷 배포 검증 단계에선 미관찰이며 차기 거래일/다중 인스턴스 도입 시 실증. - Recorded By: - - <기록자> + - trex-core 운영자 (배포·live 확인) / Claude Code 세션 (evidence 문서화) - Recorded At: - - <기록 시각> + - 2026-06-07 (KST) ## Feedback Handoff - Observation Summary: + - (배포 후, 2026-06-07) 운영자 실 배포 — `config_trex-admin-daily-trading.toml`(instance_key=`trex-admin-daily-trading`, 세션 `proc_389fe66bd134`)로 daemon RUNNING/non-degraded. instance_key 접미 큐 `trex.snapshot.req.trex-admin-daily-trading` snapshot RPC → degraded=false, available_slots=10, asset_count=45, universe 수신(207940/034020/009540 등). `--config` 기동·동적 큐명·token TOML 주입·portfolio-hub read LIVE 실증. (쓰기 경로 4건은 검증 한계대로 차기 거래일 실증 대상) - (배포 전, 2026-06-07) 단위 271 + 인프라 게이트 301 passed, ruff clean. - safety-sell: 실데몬 paper e2e(forced_close/장 마감/update_thresholds) PASS, 실 KIS LIVE SL/TP e2e(시세→트리거→실매도→휴장 거부→롤백) PASS. tr_id 결함 LIVE 검증으로 포착·정정(CHG-04/05). - kill-switch: paper control RPC e2e(kill_switch global→2 청산→masking→resume) PASS.