Files
trex-core/docs/srs/Configuration/req-077_long-term-instance-operation-profile.md
T
genichinandClaude Sonnet 4.6 6786ffd05d docs(discovery): dcy-027 모든 OQ Answered — 중장기 슬롯 운영 결정 완료
OQ-1: (a′) 기존 슬롯 도메인 유지 + 운영 프로파일/규칙 추가 (PositionBook 불필요)
OQ-2: safety_sell_enabled=false → 코어 손절매 루틴 없음, 전략 모듈 전적 책임
OQ-3: per-instance watchdog_timeout_sec 연장 (1800s 이상 권장), 알림은 후속 Discovery
OQ-4: 중장기 전략 폴링 주기 최소 1분·최대 10분

feat(bat-041): REQ-076/077/078 — watchdog timeout TOML + 중장기 운영 프로파일 + baseline

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 22:19:33 +09:00

5.4 KiB
Raw Blame History

req-077: 중장기 인스턴스 운영 프로파일 — 표준 TOML 레시피 + 기동 검증

  • Status: Implemented
  • Type: Configuration
  • Priority: High
  • Owner: project maintainers

Intent

  • 중장기 매매 전략용 인스턴스의 표준 운영 프로파일(TOML 레시피)을 정의하고 실 데몬 기동으로 검증한다. 멀티데이 보유가 장 마감·일자 경계·재시작을 넘어 유지되고 자율 청산이 발화하지 않음을 보장하는 설정 조합을 확정한다. (dcy-027 FR-1, OQ-1 (a′) — 기존 슬롯 도메인 + 프로파일 추가)

Requirement

  • 중장기 인스턴스 표준 TOML 프로파일을 예시 파일(config/longterm.example.toml 또는 동등)로 제공한다. 프로파일 구성: instance_key(예: longterm, 당일 인스턴스와 분리 — dcy-027 A-2 확정), safety_sell_enabled = false(REQ-048 CHG/dcy-024), watchdog_timeout_sec = 1800 이상(REQ-076), max_active_slots(REQ-060), market-close 강제 청산 미적용(env TREX_MARKET_CLOSE_LIQUIDATION_TIME 미설정 전제 명시).
  • 이 프로파일로 기동한 데몬에서 매수 체결 후 보유가 일자 경계·재시작을 넘어 유지되고(영구 슬롯, dcy-020 토대) 자율 청산(safety-sell/market-close/forced_close)이 발화하지 않음을 검증한다.
  • 당일 인스턴스와 같은 PostgreSQL·RabbitMQ 인프라에서 병행 운영 시 슬롯·큐 스코프가 간섭하지 않아야 한다(dcy-027 NFR-2 — instance_key 격리).

Acceptance Criteria

  1. Given 중장기 프로파일 TOML(safety_sell_enabled=false, watchdog_timeout_sec≥1800, max_active_slots, 독립 instance_key), When 데몬 기동, Then trex-safety-sell 워커 미기동(WARNING 로그) + watchdog timeout 1800s 적용 + 독립 큐(trex.slots.req.longterm 등) 선언이 확인된다.
  2. Given 기동된 중장기 인스턴스에서 paper 매수 체결(holding), When 일자 경계 통과·데몬 재시작, Then 슬롯이 holding 을 유지하고 자율 청산이 발화하지 않는다.
  3. Given 당일 인스턴스(safety_sell_enabled=true)와 중장기 인스턴스 병행, When 양쪽 기동·운영, Then 슬롯(instance_key 스코프)·큐(per-instance 큐명) 간섭이 없다(기존 instance 격리 테스트 패턴으로 검증).
  4. Given 예시 프로파일 파일, When 저장소 확인, Then 표준 레시피와 각 키의 중장기 의미(왜 false/1800s 인지) 주석이 포함되어 운영자가 복제 사용 가능하다.

Impacted Area

  • Docs: config/longterm.example.toml(신규 또는 instance.example.toml 확장), docs/runtime-flows.md·docs/project-structure.md(REQ-078 정합)
  • Modules: 신규 코드 없음 목표 — 기존 설정 메커니즘(REQ-048/060/076 + dcy-024) 조합. 검증 과정에서 갭 발견 시 해당 REQ change-req
  • Tests: 프로파일 기동 검증(설정 조합 단위) + instance 격리 통합(기존 test_instance_topology.py 패턴 확장)

Notes

  • 출처: dcy-027 FR-1, S-1, A-2(별도 instance_key 확정), NFR-2(무간섭 — AC-3 흡수).
  • 보호 규칙은 전략 모듈 전적 책임(dcy-027 OQ-2) — 코어는 운영자 CLI exit 백스톱만 제공. 프로파일은 이를 전제로 한 "보호장치 OFF" 구성이며 경계 명시는 REQ-078 소관.
  • forced_close_at 은 중장기 인스턴스에서 미사용(dcy-027 CONFIRM) — 프로파일 주석에 명시.
  • REQ-076(watchdog TOML) 선행 의존 — 같은 batch 에서 함께 구현.

Change Log

CHG-20260612-01

  • Date: 2026-06-12
  • Author: Justin Ko

Change Summary

  • dcy-027 FR-1/S-1 로부터 최초 생성(Proposed). 중장기 표준 TOML 프로파일 + 기동·멀티데이·격리 검증.

Intent

  • 중장기 인스턴스를 재현 가능한 표준 레시피로 운영 가능하게 backlog 정규화.

Acceptance Criteria Delta

  • Added: 기동 구성 확인/멀티데이 보유 유지/병행 무간섭/예시 파일 4개 기준
  • Updated: 없음
  • Removed: 없음

Impacted Area Delta

  • Docs: longterm.example.toml + baseline(REQ-078)
  • Modules: 신규 코드 없음 목표(기존 메커니즘 조합)
  • Tests: 프로파일 기동 + instance 격리

Delivery Trace Delta

  • Batches: none
  • Releases: none

Revalidation Impact

  • Reverification Needed: no
  • Existing Implementation Invalidated: no
  • Status Recommendation: keep-current
  • Follow-up Action: confirm-req 후 batch 편성(REQ-076 과 동일 batch)

Validation Plan

  • 프로파일 TOML 로딩 + 워커 미기동 + watchdog 적용 단위, paper 매수→재시작 holding 유지, instance 격리 통합 테스트.

CHG-20260612-02

  • Date: 2026-06-12
  • Author: Justin Ko
  • Type: status
  • Summary: Proposed → Approved (confirm-req). 필수 필드·구체 AC 충족, source dcy-027 정합. REQ-076 의존은 동일 batch 편성으로 해소 예정 — blocker 아님.

CHG-20260612-03

  • Date: 2026-06-12
  • Author: Justin Ko
  • Type: status
  • Summary: Approved → Implemented (confirm-req-implemented). 근거: BAT-041(release-candidate) verification — AC-1/4 프로파일 조합 로딩 테스트(config/longterm.example.toml — longterm·safety_sell false·1800·cap 10) PASSED, AC-2 멀티데이 보유는 영구 슬롯 영속(BAT-027~030)·워커 미기동(BAT-036) 기존 evidence + 조합 설정 검증, AC-3 무간섭은 인스턴스 독립 테스트 + 기존 격리 회귀. 실 데몬 장기 run 은 release 운영 검증 위임(verification 명시). 446 passed. Blocking Issues 없음.