Files
trex-core/docs/batches/bat-035_20260611_strategy-read-surface-slots-req/index.md
T
genichinandClaude Sonnet 4.6 002340e5fd docs(rel-006): BAT-035/036 포함 + 배포 근거 보완 — confirmed
- BAT-035/036 batch index: confirmed → release-candidate
- rel-006: BAT-035/036 추가, status confirmed, SHA 명시, smoke 한계·외부 소비자 분석 기술
- daemon.py: stale 주석 trex.snapshot.req → trex.slots.req

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 19:01:59 +09:00

2.2 KiB

BAT-035: 전략 read 표면 재설계 — trex.slots.req + 슬롯 단일 행 스키마 (dcy-025)

  • Status: release-candidate
  • Profile: standard
  • Source Discovery: dcy-025
  • Included REQ: REQ-073, REQ-074, REQ-075, REQ-021 (CHG-20260611-01), REQ-034 (CHG-20260611-01), REQ-063 (CHG-20260611-01)
  • Excluded REQ: 없음

Summary

  • trex.snapshot.req 파이프라인(view/assets[]/available_slots/watchdog[] 구조)을 trex.slots.req 단일 RPC로 즉시 교체(과도기 없음)한다. 슬롯 행 하나가 슬롯 상태·자산(hub 정본 + 슬롯 미러)·워치독·overlay 플래그를 모두 운반해 소비자 측 배열 조인을 없앤다. 필터는 status 단일 값, spy=true 시 워치독 무터치. strategy 계열 필드는 전면 제외.

Scope

  • In: topology.py 큐명 교체(SNAPSHOT_REQ_QUEUE → SLOTS_REQ_QUEUE) + snapshot.req 선언 제거, messaging_handlers.py slots 핸들러 신설 + snapshot 핸들러 제거 + _attach_watchdog top-level 제거, portfolio.py View enum 폐기 + slot_to_dict 확장(asset_quantity/qty/warned/cash_balance/cash_estimated/watchdog nested/paused) + build_snapshot_envelope 제거, CLI slots.req 사용 + spy=true + --status→filter 매핑, docs(interface-contract.md / runtime-flows.md) snapshot→slots 계약 교체, 테스트(topology/slots 핸들러/filter/spy/응답 키 집합)
  • Out: strategy 계열 필드 slots 행 도입(후속 discovery), trex-orb-v1 소비 측 코드 수정(운영자 별도 lockstep 확인), 라이브 브로커 잔고 행 포함, overlay 서버측 필터링

Documents

Notes

  • 즉시 교체(과도기 없음): 배포 시점에 trex-orb-v1 의 trex.slots.req 대응 준비 완료 여부를 사전 확인해야 한다(dcy-025 R-1, REQ-073 Notes).
  • REQ-028(snapshot 계약 REQ): keep-current(Implemented) 유지, 이번 배치에서 코드 제거 완료 시 Deprecated 전환.
  • REQ-062(hub 정본 + 슬롯 미러 + 브로커 ground truth 정합)는 이번 배치 영향 없이 유지 — slot_to_dict 가 그 계약을 행에 표현한다.