Files
KArtSell.Aegis/docs/v12_5/06_BE_FE_HANGFIRE_IMPLEMENTATION.md
T
kjh2064 dcd1322d41
ci / backend (push) Failing after 12s
ci / frontend (push) Failing after 19s
ci / static (push) Failing after 45s
Initial commit: Add project files
2026-08-02 05:15:36 +09:00

1.9 KiB

Backend·Frontend·Hangfire 구현 표준

Backend

  • FastEndpoints는 HTTP 계약·Auth·Validator·ProblemDetails만 담당한다.
  • Application은 멱등키, transaction, Context loading, orchestration을 담당한다.
  • Domain Policy는 순수 함수와 상태전이로 구현한다.
  • Dapper SQL은 명시 컬럼·명시 transaction·PIT cutoff를 사용한다.
  • Decision과 Outbox는 동일 transaction이다.
  • Inbox는 message id/version/consumer 기준 중복 side effect를 0으로 만든다.
  • 생산형 Command는 PositionLotId, AsOf, IdempotencyKey 등 최소 식별자만 받고 Evidence/VersionSet은 서버가 조회한다.

v12.5 Scheduler 안전장치

  • Dispatcher는 configuration에서 기본 OFF다.
  • OFF이면 recurring job을 제거한다.
  • ShadowEvaluation capability가 꺼져 있으면 Dispatcher를 활성화할 수 없다.
  • J10~J30은 평가·제안·훈련만 허용하며 모델/설정/코드·고객공개·주문을 변경하지 않는다.
  • 기존 schedule은 migration 후 재승인 전 disabled다.
  • default Hangfire blind retry를 제한하고 BusinessHold/Quarantine/Poison을 구분한다.
  • 시장캘린더와 source completeness 승인 전 J26을 활성화하지 않는다.

Frontend

상태 소유자 규칙
Server state TanStack Query query-key registry, staleTime, invalidate, retry
Session/Role/UI preference Pinia 도메인 서버데이터 복제 금지
Form vee-validate + Zod request/response runtime validation
URL 공유상태 vue-router scope/cohort/window/filter deep link
대량 운영목록 AG Grid server-side model과 column-state contract

고객 화면은 내부 운영 화면과 분리한다. 고객에게는 행동·비중·핵심근거·반대증거·비용·불확실성·유효기간·다음검토·재진입 계약을 제공한다. 운영자에게는 VersionSet, DQ, policy trace, approval, audit를 제공한다.