Files
trex-core/docs/srs/Documentation/req-101_alarm-baseline-alignment.md
T
genichinandClaude Opus 4.8 d4c5fcbba1 feat(alarm): trex-core 알람 emitter + trex.alerts exchange (dcy-033 BAT-049, Implemented)
AlarmEmitter(application, best-effort 비차단)+trex.alerts topic exchange 가산·격리+8 CRITICAL code 배선. 608 passed, opus QC PASS, 팀장 e2e(텔레그램 HTTP200) 통과. REQ-098~101 Implemented.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHtM5Ws1HKCKQ4JGi6GRb5
2026-06-21 19:25:55 +09:00

5.6 KiB

req-101: 알람 발신 흐름 baseline 문서 정합

  • Status: Implemented
  • Type: Documentation
  • Priority: Medium
  • Owner: trex-core-dev

Intent

  • dcy-033 요구에 따라 docs/runtime-flows.md에 trex-core 알람 발신 흐름을 추가하고, docs/interface-contract.md의 알람 채널 섹션(REQ-098/099)이 완성되도록 Change Log를 갱신해 baseline 정합을 완료한다.
  • REQ-098·099·100 구현으로 변경되는 아키텍처 흐름(알람 발행 경로)이 baseline 문서에 반영되지 않으면 향후 Discovery·batch design에서 오래된 문서를 참조하는 오류가 생긴다.

Requirement

  • docs/runtime-flows.md에 Flow: 알람 발신 (trex.alerts, dcy-033) 섹션을 추가해야 한다. 섹션에는 다음 내용이 포함되어야 한다.
    • 알람 발생 → AlarmEmitter.publish_alarm() → MessagingTransport.publish_alarm_event() → trex.alerts exchange → routing key alarm.{severity}.{source} 흐름.
    • best-effort 비차단 정책: 발행 실패 시 ERROR 로그 후 core 본업 계속.
    • transport 미연결 시 silent skip.
    • trex-core CRITICAL code 8종 발생 지점 목록(코드 이름과 모듈 경로).
    • 기존 trex.events 발행 흐름과의 차이(알람 채널은 독립 exchange, mandatory=False, DLQ 없음).
  • docs/interface-contract.md의 Change Log에 dcy-033/REQ-098~101 배치로 인한 알람 채널 추가 항목을 기록해야 한다.
  • 두 문서의 Last Updated (KST) 헤더를 구현 batch 완료 시점으로 갱신해야 한다.

Acceptance Criteria

  1. Given REQ-098·099·100이 구현 완료됐을 때, When docs/runtime-flows.md를 검토하면, Then Flow: 알람 발신 (trex.alerts, dcy-033) 또는 동등한 제목의 섹션이 존재해야 한다.
  2. Given 해당 섹션이 추가됐을 때, When 내용을 확인하면, Then AlarmEmitter → MessagingTransport → trex.alerts exchange의 발행 흐름과 best-effort 비차단 정책이 명시되어야 한다.
  3. Given 섹션이 추가됐을 때, When core CRITICAL code 목록을 확인하면, Then ALARM-INVENTORY §A core 행의 8개 code(fill_price_unresolvable, sell_skipped_no_balance, core_holding_broker_flat, ledger_delivery_failed, kill_switch_fired, publish_unavailable_after_reconnect/dlq_publish_failed, portfolio_hub_unavailable, schema_verification_failed/migration_failed)와 발생 모듈 경로가 모두 기술되어야 한다.
  4. Given 섹션이 추가됐을 때, When trex.events 발행 흐름과 비교하면, Then 알람 채널(trex.alerts)이 별도 exchange이고 mandatory=False·DLQ 없는 점이 명시되어야 한다(기존 흐름 섹션 내용은 변경 없음).
  5. Given REQ-098~101 구현이 완료됐을 때, When docs/interface-contract.md의 Change Log를 확인하면, Then dcy-033/알람 채널 추가에 해당하는 항목이 기록되어야 한다.
  6. Given 두 baseline 문서가 갱신됐을 때, When Last Updated (KST) 헤더를 확인하면, Then 구현 batch 완료 시점(KST)으로 갱신되어야 한다.

Impacted Area

  • Docs:
    • docs/runtime-flows.md — 알람 발신 흐름 섹션 추가(기존 섹션 불변)
    • docs/interface-contract.md — Change Log 항목 추가, Last Updated 갱신
  • Modules: 코드 변경 없음(이 REQ는 문서 정합만)
  • Tests: 문서 전용 REQ이므로 코드 테스트 불필요. batch verification에서 섹션 존재·내용 수동 검토.

Notes

  • 이 REQ는 REQ-098·099·100 구현이 완료된 동일 batch에서 함께 처리한다(문서는 구현 후 정합).
  • docs/runtime-flows.md의 기존 섹션(데몬 lifecycle, slots RPC, intent admission, 이벤트 발행/구독, safety-sell 등)은 변경하지 않는다.
  • dcy-033 FR-3(baseline 갱신) 대응.
  • dcy-033 성공기준 S-3(기존 wire 계약 무회귀) — 이 REQ 자체는 문서 전용이지만 기존 섹션 diff=0이 AC-4에서 암묵 검증된다.

Change Log

CHG-20260621-02

  • Date: 2026-06-21
  • Author: trex-core-dev

Change Summary

  • Status: Approved → Implemented. BAT-049 confirm-batch-verification 팀장 승인(QC PASS-WITH-NOTES blocker 0 + 팀장 실인프라 e2e 통과). docs/runtime-flows.md 알람 발신 흐름 섹션 + docs/interface-contract.md Change Log 추가 확인.

Delivery Trace Delta

  • Batches: BAT-049 (release-candidate)
  • Releases: 미정

Revalidation Impact

  • Reverification Needed: no

CHG-20260621-01

  • Date: 2026-06-21
  • Author: trex-core-dev

Change Summary

  • REQ-101 신규 생성(Proposed). dcy-033 FR-3 대응: 알람 발신 흐름 baseline 문서 정합.

Intent

  • REQ-098~100 구현으로 도입된 알람 발신 흐름을 runtime-flows.md와 interface-contract.md에 반영해 baseline을 최신 상태로 유지한다.

Acceptance Criteria Delta

  • Added: AC-1~6 (신규 생성)
  • Updated: (없음)
  • Removed: (없음)

Impacted Area Delta

  • Docs:
    • docs/runtime-flows.md 알람 발신 섹션 추가
    • docs/interface-contract.md Change Log + Last Updated 갱신
  • Modules: 없음
  • Tests: 없음(문서 전용)

Delivery Trace Delta

  • Batches: (미정, M2 이후 큐잉 — REQ-098~100과 동일 batch)
  • Releases: (미정)

Revalidation Impact

  • Reverification Needed: no
  • Existing Implementation Invalidated: no
  • Status Recommendation: keep-current
  • Follow-up Action: REQ-098~100 구현 batch에서 마지막 단계로 처리

Validation Plan

  • docs/runtime-flows.md에 알람 발신 섹션 존재 확인(grep)
  • 섹션 내용 수동 검토(AlarmEmitter 흐름, 8 code 목록, mandatory=False, DLQ 없음)
  • docs/interface-contract.md Change Log 항목 추가 확인
  • 기존 섹션 diff=0 확인(git diff 수동 검토)