--- kind: CONCEPT slug: grpc-advanced-bootstrap-c03 title: 승격 게이트는 능력마다 따로 기록된 증거를 본다 topic: security-and-trust-boundaries project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:grpc-advanced-bootstrap-c03 evidenceCapturedOn: 2026-09-01 assets: - key: grpc-advanced-bootstrap-c03 file: ../../../final/evidence/rendered/grpc-advanced-bootstrap-c03.svg evidence: - ../../../final/evidence/raw/grpc-advanced-bootstrap-c03.txt source: - 원본 분석 절은 analysis/grpc/grpc-advanced-bootstrap.md#L89 이다. module: grpc-advanced-bootstrap --- # 승격 게이트는 능력마다 따로 기록된 증거를 본다 증거를 능력마다 따로 기록하는 이유가 적혀 있다 — 공유 기록은 하나를 승격할 때 같은 시점에 측정된 다른 것들까지 함께 승격시킨다. ## 본문 증거는 능력마다 따로 기록된다. > "a shared record makes promoting one of them promote whichever others happened to be measured at the same time." 일곱 항목(호환성·보안 검토·고장·성능·ADR·런북·실환경 테스트)과 담금 기간을 본다. ## 담금 기간이 둘인 이유 ```text ADVANCED_STABLE_SOAK = 7일 STABLE_DEFAULT_SOAK = 30일 ``` > "becoming a Stable default means every deployment gets it, which additionally puts its dependencies on every classpath and its failure modes in every on-call rotation." ## GrpcAdvancedSupportMatrix 참조 위치 :::evidence key="grpc-advanced-bootstrap-c03" alt="코드베이스에서 GrpcAdvancedSupportMatrix 를 검색한 출력 6줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="GrpcAdvancedSupportMatrix 코드베이스 검색 — 6줄 · exit 0" zoom="true" ::: ## 시작 등급을 다시 확인하는 이유 그리고 `WATCH` 는 `EXPERIMENTAL` 을 먼저 거쳐야 한다. `GrpcAdvancedSupportMatrix.apply` 는 결정의 시작 등급이 현재 등급과 다르면 거부한다 — 두 승격이 경합했거나 하나가 재생된 경우다.