Files
trex-core/docs/srs/Configuration/req-060_max-active-slots-config.md
T
genichinandClaude Opus 4.8 e2a71e50e2 docs(req): dcy-020 confirm + 추가 사양(FR-6~8/NFR-4~5/OQ-8) + draft-req REQ-056~065
dcy-020(자산 중심 영구 슬롯 모델) Requirements phase.

- 추가 사양: FR-6(상태머신 재정의), FR-7(intent 자산 키), FR-8(운영자 단일뷰),
  NFR-4(전략 계약 호환), NFR-5(불일치 감지 주기), OQ-8(over-cap=신규 차단·기존 유지),
  dcy-019 산출물 제거 명시. review-discovery 정리 반영.
- confirm-discovery: 상태 draft→confirmed, Handoff 승인, Ready=true,
  Confirmed By=Justin Ko, 2026-06-10. index 행 confirmed.
- draft-req: 신규 REQ-056~065(전부 Proposed) 생성
  - 056 영구 슬롯 스키마 / 057 상태머신+인스턴스 lock / 058 universe reconcile
  - 059 capacity·admission / 060 max_active_slots TOML / 061 intent 자산 키
  - 062 수량 hub 정본+불일치 해소 / 063 slots 단일뷰 / 064 cutover / 065 baseline
  - srs/index Next ID→066, Register 10행, Recent Change Log 갱신
  - dcy-020 생성된 REQ 참조 갱신

기존 REQ-002/003/005/006/007/048 폐기·재정의 change-req 는 후속(문서 단계).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 10:28:38 +09:00

2.6 KiB

req-060: 동시 활성 최대치(max_active_slots) per-instance TOML 설정

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

Intent

  • 동시 활성(holding) 슬롯 최대치 M 을 인스턴스별로 독립 제어하기 위해 per-instance TOML 설정 키로 노출한다. 영구 슬롯 전환으로 폐기되는 TREX_TOTAL_SLOTS(풀 크기)를 대체한다. (dcy-020 FR-2/OQ-6)

Requirement

  • DaemonInstanceConfig(REQ-048 per-instance TOML)에 max_active_slots(정수, M) 키를 추가하고 config/*.toml 에서 읽는다. admission(REQ-059)이 이 값을 capacity 게이트로 사용한다. env(TREX_*)·하드코딩 기본값은 채택하지 않으며, 기존 TREX_TOTAL_SLOTS 는 폐기한다. 미설정 시 부팅 실패 또는 명시적 검증 오류로 처리한다(암묵 기본값 금지).

Acceptance Criteria

  1. Given config/inst.toml 에 max_active_slots = N, When 데몬 기동, Then DaemonInstanceConfig.max_active_slots == N 이고 admission 이 N 을 M 으로 사용한다.
  2. Given max_active_slots 미설정, When 기동, Then 명시적 오류로 거부된다(암묵 기본값 사용 안 함).
  3. Given 두 인스턴스가 서로 다른 max_active_slots, When 각자 기동, Then 인스턴스별 독립 M 으로 동작한다.

Impacted Area

  • Docs: docs/data-model.md/docs/runtime-flows.md(설정), config/instance.example.toml
  • Modules: trex_core/runtime/config.py(DaemonInstanceConfig)
  • Tests: tests/runtime/test_config*.py

Notes

  • REQ-048(per-instance TOML 로더) 계열. TREX_TOTAL_SLOTS 폐기는 REQ-005/REQ-010 영향(change-req 검토).
  • 출처: dcy-020 FR-2, OQ-6.

Change Log

CHG-20260610-01

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

Change Summary

  • dcy-020 FR-2/OQ-6 로부터 최초 생성(Proposed). max_active_slots per-instance TOML + TREX_TOTAL_SLOTS 폐기.

Intent

  • 동시 활성 최대치 M 을 인스턴스별 TOML 로 제어하도록 backlog 정규화.

Acceptance Criteria Delta

  • Added: TOML 로딩/미설정 거부/인스턴스별 독립 3개 기준
  • Updated: 없음
  • Removed: 없음

Impacted Area Delta

  • Docs: config/instance.example.toml, baseline 문서
  • Modules: runtime/config.py(DaemonInstanceConfig)
  • Tests: test_config*.py

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. REQ-048 계열, REQ-005/010(TREX_TOTAL_SLOTS) change-req 검토.

Validation Plan

  • TOML 키 로딩 + 미설정 거부 단위테스트 green.