refactor: 문서 개선 중

This commit is contained in:
donghyeon-ka
2026-09-21 14:30:55 +09:00
parent c93cdea150
commit 805a18f486
1497 changed files with 525837 additions and 59152 deletions
@@ -26,13 +26,13 @@ source:
- **등급표 13행 중 일곱을 스스로 강등하고 한 행만 관측과 어긋났다**
등급표가 이 능력을 모형 단계로 적고 있다.
- **하위 시스템 전체가 미배선인데 그것을 켜는 플래그는 시작 검사를 수행한다**
같은 형태가 mongo 어댑터에서 나타난 사례다.
mongo 어댑터에서도 startup validator가 요구한 능력과 실제 조립된 실행 경로가 어긋났다.
- **커서에 서명하는 이유는 기밀성이 아니라 무결성이다**
이 커서 서명이 지키려는 성질이다.
## 문제
시작 검증기 프로덕션 배포에서 커서 서명 키를 요구한다. 없으면 기동을 거절하고 이유를 적는다 — 서명되지 않은 커서는 클라이언트가 편집할 수 있다는 것이다.
시작 검증기 프로덕션 배포에서 cursor signing key가 없으면 기동을 거부한다. 오류 메시지는 서명되지 않은 cursor를 클라이언트가 수정할 수 있다는 위험을 설명한다.
이 검증기는 자동설정이 실제로 부른다.
@@ -46,7 +46,7 @@ source:
그런데 릴리스 게이트가 읽는 매니페스트는 이 능력을 안정 등급 승인 목록에 넣어 두었다.
즉 결함은 능력이 미완이라는 것이 아니다. 미완인 능력에 대해 플랫폼이 요구하고 승인해 주는 신호 이미 켜 두었다는 이다.
문제는 능력이 미완인 상태 자체가 아니라, 실제 signing path가 없는데도 startup validator와 지원 신호 이미 signing key를 필수 요건처럼 취급한다는 이다.
닫는 것은 배선 결정이 아니라 설계 결정이다. 키링 팩토리는 키 재료를 인자로 받는데, 설정은 키 자체가 설정에 나타나지 않는다고 일부러 정해 두었다.
@@ -90,7 +90,7 @@ OpenJDK : 21.0.12
커넥션 조립기를 만드는 프로덕션 코드가 0 이다.
배포되는 스키마는 상태 확인 필드 하나다. 파일 주석이 왜 그런지 적는다 — 이 모듈 기능 없이도 독립으로 부팅야 하고, Spring for GraphQL 은 빈 스키마로 시작하지 않으며, 스켈레톤은 기능 타입 이름을 절대 대면 안 된다는 것이다.
배포되는 스키마는 상태 확인 필드 하나만 있다. 파일 주석 모듈 기능 없이도 독립 부팅되어야 하고 Spring for GraphQL은 빈 스키마로 시작할 수 없기 때문에 이 최소 필드를 둔다고 설명한다. 기능 타입 이름은 여기서 노출하지 않는다.
커서는 발급되지도 소비되지도 않는다. 검증기 문구가 막는다고 말한 상태는 지금 존재하지 않는다.
@@ -126,7 +126,7 @@ websocket 어댑터에 재개 토큰 코덱과 키링이 있다. 이 둘도 조
그동안 할 수 있는 일이 없는 것은 아니다. 요구는 남기고 문구를 사실에 맞추면 된다.
테스트의 네 번째 케이스가 그것을 못 박는다. 요구는 지우지 말고 남기라는,구 자체는 옳고 빠진 절반은 구현이라는 것, 커서 서명이 요청 경로에 닿으면 앞의 두 케이스는 뒤집히고 이 케이스만 그대로 남는다는 것이다.
테스트의 네 번째 케이스는 signing key 요구 자체를 제거하지 않는다. 빠진청 경로의 signing 구현이며, 그 구현이 추가되면 ‘키만 요구하고 사용하지 않는다’는 앞의 불일치는 해소된다. 키가 없을 때 기동을 거부하는 검증은 그 이후에도 유지된다.
## 확인하지 못한 것