--- kind: CONCEPT slug: messaging-admin-api-c04 title: 실행 경로에서 같은 검사가 세 지점에 겹친다 topic: admission-budget-and-backpressure project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:messaging-admin-api-c04 evidenceCapturedOn: 2026-09-01 assets: - key: messaging-admin-api-c04 file: ../../../final/evidence/rendered/messaging-admin-api-c04.svg evidence: - ../../../final/evidence/raw/messaging-admin-api-c04.txt source: - 원본 분석 절은 analysis/messaging/messaging-admin-api.md#L493 이다. module: messaging-admin-api --- # 실행 경로에서 같은 검사가 세 지점에 겹친다 계획·승인 발급·실행 세 경로 중 실행 경로에서 검사가 `verify` / `Approved*Plan` 생성자 / guard 세 지점에 걸쳐 겹친다. 방어적 중복이다. ## 본문 실행 경로가 셋으로 나뉜다. - **경로 A — 계획** (승인 불필요, dry run 무료) - **경로 B — 승인 발급** (이 리프 밖, 변경관리 시스템) - **경로 C — 실행** ## ApprovalVerifier 참조 위치 :::evidence key="messaging-admin-api-c04" alt="코드베이스에서 ApprovalVerifier 를 검색한 출력 29줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="ApprovalVerifier 코드베이스 검색 — 29줄 · exit 0" zoom="true" ::: ## 실행 경로에서 검사가 겹치는 세 지점 경로 C 에서 검사가 세 지점(`verify` / `Approved*Plan` / guard)에 걸쳐 겹친다. `ApprovalVerifier` javadoc 이 그 이유를 설명한다. 서명 검증이 통과하면 나머지는 이미 보장되지만, `ApprovedReplayPlan` 생성자와 guard 가 같은 것을 다시 본다. 방어적 중복이며 §12.3(a) 에서 다시 다룬다.