# req-051: multi-instance topology baseline 문서 정합 - Status: Implemented - Type: Documentation - Priority: Medium - Owner: project maintainers ## Intent dcy-009(다중 인스턴스 RabbitMQ 토폴로지) 구현(REQ-048~050) 완료 후 `docs/runtime-flows.md`, `docs/project-structure.md`, `docs/interface-contract.md` 세 baseline 문서를 multi-instance topology + TOML 기반 기동 기준으로 정합시킨다(dcy-009 FR-6). ## Requirement - `docs/interface-contract.md` 에 반영한다: - routing key 계약: directed = `{instance_key}.{channel_type}`(`trex.direct` topic), broadcast = `trex.broadcast`(fanout, 전역 control) - 인스턴스별 큐명 규칙(`{base}.{instance_key}`, default = 리터럴 하위호환) - `docs/runtime-flows.md` 에 반영한다: - TOML(`--config`) 기반 기동 절차(instance_key/portfolio_hub_token 로드) - multi-instance directed vs broadcast 라우팅 흐름, split-brain 방지(인스턴스 전용 큐) 설명 - `docs/project-structure.md` 에 반영한다: - `topology.py` 역할 변경(고정 상수 → 동적 큐명/exchange 빌더) - 설정 계층(TOML + env 병합), `DaemonInstanceConfig`, `--config` 진입점 - `trex.direct`/`trex.broadcast` exchange ## Acceptance Criteria 1. Given `docs/interface-contract.md`, When routing key 규칙을 찾으면, Then directed(`{instance_key}.{channel_type}`)와 broadcast(fanout) 계약 + 인스턴스 큐명 규칙이 명시되어 있다. 2. Given `docs/runtime-flows.md`, When 기동/라우팅 흐름을 찾으면, Then TOML(`--config`) 기동 + directed/broadcast 라우팅 + split-brain 방지가 서술되어 있다. 3. Given `docs/project-structure.md`, When topology/설정 항목을 찾으면, Then 동적 큐명 빌더 + `DaemonInstanceConfig`/`--config` + `trex.direct`/`trex.broadcast` 가 반영되어 있다. ## Impacted Area - Docs: - `docs/interface-contract.md` - `docs/runtime-flows.md` - `docs/project-structure.md` - Modules: 없음 (문서 전용) - Tests: 없음 ## Notes - REQ-048~050 구현 완료 후 batch verification 단계에서 최신 구현 상태를 반영해 수행한다(REQ-042/047 선례). - baseline 갱신이므로 `bootstrap-baseline` 선행 불필요. ## Change Log ### CHG-20260607-01 - Date: 2026-06-07 - Author: Justin Ko #### Change Summary - dcy-009(confirmed) → REQ-051 초안 생성. #### Intent - multi-instance 구현 후 세 baseline 문서 정합(FR-6)을 Documentation REQ 로 정규화. #### Acceptance Criteria Delta - Added: AC-1~3 전체 #### Impacted Area Delta - Docs: interface-contract.md, runtime-flows.md, project-structure.md #### 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~050 구현 batch 이후 연계). ### CHG-20260607-02 - Date: 2026-06-07 - Author: Justin Ko #### Change Summary - Proposed → Approved (confirm-req). #### Intent - 승인 게이트 통과: 필수 필드·구체 AC·Impacted Area·Change Log 완비. baseline 정합 문서 REQ로 REQ-048~050 구현 후 verification 단계 수행. #### Acceptance Criteria Delta - (변경 없음) #### Impacted Area Delta - (변경 없음) #### Delivery Trace Delta - Batches: none (미할당) - Releases: none #### Revalidation Impact - Reverification Needed: no - Existing Implementation Invalidated: no - Status Recommendation: keep-current - Follow-up Action: suggest-batch-reqs / draft-batch 로 delivery 편성(REQ-048~050 이후 연계). ### CHG-20260607-03 - Date: 2026-06-07 - Author: Justin Ko #### Change Summary - Status Approved → Implemented (confirm-req-implemented, 근거 batch BAT-013 release-candidate). #### Intent - BAT-013 에서 baseline 3문서 정합 완료: interface-contract(multi-instance routing: 큐명 규칙·trex.direct/trex.broadcast·routing key), runtime-flows(`--config` 기동 + multi-instance 라우팅 흐름 + split-brain 방지), project-structure(동적 큐명 빌더·DaemonInstanceConfig/`--config`·exchange). AC-1~3 충족. #### Acceptance Criteria Delta - (변경 없음) #### Impacted Area Delta - (변경 없음) #### Delivery Trace Delta - Batches: BAT-013 (release-candidate) - Releases: none #### Revalidation Impact - Reverification Needed: no - Existing Implementation Invalidated: no - Status Recommendation: keep-current (Implemented) - Follow-up Action: draft-release 로 BAT-013 배포 편성.