--- kind: CASE slug: the-support-matrix-says-nothing-is-deployed-and-eighteen-are title: 운영자용 지원 매트릭스가 런타임 편입을 반대로 적고, 틀린 쪽이 옳은 쪽을 권위로 지목한다 topic: capability-declaration-vs-proof project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: case:the-support-matrix-says-nothing-is-deployed-and-eighteen-are evidenceCapturedOn: 2026-09-01 assets: - key: the-support-matrix-says-nothing-is-deployed-and-eighteen-are file: ../../../final/evidence/rendered/the-support-matrix-says-nothing-is-deployed-and-eighteen-are.svg evidence: - ../../../final/evidence/raw/the-support-matrix-says-nothing-is-deployed-and-eighteen-are.txt source: - 원본 분석 절은 final/document.md#a19-messaging-core-api §17 이다. --- # 운영자용 지원 매트릭스가 런타임 편입을 반대로 적고, 틀린 쪽이 옳은 쪽을 권위로 지목한다 지원 매트릭스가 messaging 리프는 모두 어느 배포에도 편입되지 않았다고 적는다. 레지스트리는 25개 중 18개가 출하 애플리케이션에 편입되어 있다고 말한다. 틀린 문단이 권위로 지목하는 문서는 이미 그 사실을 정정했다. ## 관계 - **문서의 수치는 세지 말고 파생하거나 게이트로 붙든다** 이 사례가 만든 규칙의 상위형이다. - **과대 진술 문서를 과소보다 먼저 고친다** 이 사례는 과소 진술이고 방향이 반대다. - **다섯 문서가 "exactly 19 leaf"라고 적고 레지스트리는 62다** 같은 형태가 다른 숫자에서 나타난 사례다. ## 문제 운영자가 messaging 플랫폼을 도입할 때 먼저 읽는 문서가 지원 매트릭스다. 그 문서에 어떤 리프가 실제 배포에 들어가는지를 적은 문단이 있다. ## 결론 그 문단이 반대를 적는다. 문서는 registry 의 messaging 리프가 모두 런타임 편입이 비어 있고 어느 composition root 에도 들어가지 않는다고 적는다. 현재 레지스트리는 25개 중 18개가 출하 애플리케이션 소속이고, 그 문서가 속한 리프 자신이 그 안에 있다. 형태가 특이한 것은 틀린 문단이 자기 권위로 지목하는 문서가 이미 정정을 마쳤다는 점이다. 그 문서는 같은 사실을 고쳤고 결론까지 적어 두었다. > 정확한 목록은 registry 가 소유하므로 여기서 세지 않는다 — 세는 순간 다시 drift 한다 그 결론이 지원 매트릭스에는 적용되지 않았다. 같은 리비전에서 두 문서가 모순되고, 틀린 쪽이 옳은 쪽을 가리키고 있다. 운영자에게 남는 결과는 구체적이다. 배포 아티팩트가 실제로 이 리프들을 싣고 설정 한 줄로 켜진다는 사실을 문서에서 알 수 없다. 켜져 있는 것을 꺼져 있다고 읽는 방향이므로 과대 진술보다 덜 위험하지만, 그 대신 도입 검토 자체가 잘못된 전제 위에서 이뤄진다. ## 검증 환경 OpenJDK : 21.0.12 Gradle : 9.0.0 확인 방식 : 레지스트리의 런타임 편입 필드 집계와 두 문서의 해당 문단 대조 소스 수정 : x ## 재현 조건 1. 레지스트리에서 messaging 리프의 런타임 편입 필드를 전부 세어 비어 있지 않은 것의 수를 구한다. 2. 지원 매트릭스에서 편입을 서술하는 문단을 찾는다. 3. 그 문단이 권위로 지목하는 문서의 해당 절을 읽는다. ## 본문 지원 매트릭스가 "registry 의 messaging leaf 는 모두 `runtime_memberships` 가 비어 있고 어느 composition root 에도 편입되지 않았다" 고 적는다. 현재 레지스트리는 25개 중 18개가 `["app-bootstrap"]` 이고 `messaging-core-api` 자신이 그 안에 있다. ## 매트릭스의 문장과 레지스트리의 값 :::evidence key="the-support-matrix-says-nothing-is-deployed-and-eighteen-are" alt="분석 문서 final/document.md#a19-messaging-core-api 에서 이 기록의 근거 절을 그대로 잘라낸 18줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md#a19-messaging-core-api 발췌 — 18줄" zoom="true" ::: ## 틀린 문단이 권위로 지목하는 문서는 이미 정정을 마쳤다 `src/messaging/CLAUDE.md` 는 같은 사실을 고쳤고 "정확한 목록은 registry 가 소유하므로 여기서 세지 않는다 — 세는 순간 다시 drift 한다" 는 결론까지 적었다. 그 결론이 지원 매트릭스에는 적용되지 않았다. ## 운영자가 문서에서 알 수 없는 것 배포 아티팩트가 실제로 이 리프들을 싣고 `app.messaging.enabled` 하나로 켜진다는 사실이다. ## 확인하지 못한 것 없다. 레지스트리와 두 문서를 전수 대조했다.