- analysis/·source-index·state.json 을 final/document.md 제2부·제3부로 접었다. SSOT 는 하나다 - 파일럿 — commit-ambiguity-as-a-result 를 새 기준으로 재선별. 후보 14 → 글감 5 (PROMOTE 5 · MERGE_INTO 3 · KEEP_IN_SSOT 4 · 보류 2). 기록 5건을 다시 썼고 그림 1개를 techviz 로 만들었다 - 재선별이 잡은 것: 제1부 §6.2·§11.1 이 자기 §13.2 와 어긋나 있었다(레인을 안 돌렸다 vs 돌렸다) — 정정. 이미 답이 나와 있던 Question 을 HEAD 재실행 질문으로 다시 세웠다. Concept 이 인용한 코드가 SSOT 에 없어 뺐다 - candidateScope·sourceRepository 기록. 나머지 43개 주제는 재선별 대기(PENDING 905) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
101 lines
5.1 KiB
Markdown
101 lines
5.1 KiB
Markdown
---
|
|
kind: CASE
|
|
slug: seven-rows-downgraded-by-the-family-itself
|
|
title: 등급표 13행 중 일곱을 스스로 강등하고 한 행만 관측과 어긋났다
|
|
topic: self-disclosure-grading
|
|
project: clean-architecture-backend-template
|
|
status: 게시 전
|
|
sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916
|
|
rootTreeNode: case:seven-rows-downgraded-by-the-family-itself
|
|
evidenceCapturedOn: 2026-09-01
|
|
assets:
|
|
- key: seven-rows-downgraded-by-the-family-itself
|
|
file: ../../../final/evidence/rendered/seven-rows-downgraded-by-the-family-itself.svg
|
|
evidence:
|
|
- ../../../final/evidence/raw/seven-rows-downgraded-by-the-family-itself.txt
|
|
source:
|
|
- 원본 분석 절은 final/document.md#7-5 · final/document.md#a16 §20.1, §29.1, §45.2 이다.
|
|
---
|
|
|
|
# 등급표 13행 중 일곱을 스스로 강등하고 한 행만 관측과 어긋났다
|
|
|
|
GraphQL 리프의 능력 등급표는 열세 행 중 일곱을 스스로 낮게 적는다. 분석이 그 표를 관측과 대조했을 때 어긋난 것은 한 행뿐이었다.
|
|
|
|
## 관계
|
|
|
|
- **네 단계 공시 등급 — modelled에서 production-verified까지**
|
|
이 표가 쓰는 등급 체계다.
|
|
- **등급은 네 단계로 나누고 관측보다 높게 적지 않는다**
|
|
이 사례가 검증한 규칙이다.
|
|
- **시작 검증기가 커서 서명 키를 요구하는데 그 키로 서명하는 코드가 없다**
|
|
어긋난 행과 관련된 사례다.
|
|
|
|
## 문제
|
|
|
|
능력 등급표는 자기 신고다. 작성자가 자기 코드의 성숙도를 적는다.
|
|
|
|
자기 신고는 대개 낙관적이다. 그래서 이런 표를 검증할 때의 기대는 실제보다 높게 적혀 있으리라는 것이다.
|
|
|
|
## 결론
|
|
|
|
반대였다.
|
|
|
|
열세 행 중 여섯 행이 스스로 modelled 로 적혀 있다. 그 등급의 정의는 정책과 계약 객체가 있고 단위 테스트가 있으며 요청 경로에는 없다는 것이다.
|
|
|
|
객체 인가는 답하는 계약을 중립 계층이 소유하고 이 리프는 매핑만 가지며 실행 경로에 연결하는 설정이 없다고 적는다
|
|
커서 서명은 자동설정이 둘 중 무엇도 생성하지 않는다고 적고 그 사실을 테스트가 고정한다고 덧붙인다
|
|
변경 멱등성은 인터셉터를 참조하는 설정이 없다고 적는다
|
|
지속 연산은 durable 구현체가 미제공이라고 적는다
|
|
구독과 웹소켓과 SSE 와 RSocket 은 정책과 상태 기계 단위 테스트만 있고 전송 핸들러가 없다고 적으며, 그래서 타입 이름도 승인 계열이라고 덧붙인다
|
|
페더레이션 계열은 단위 테스트만 있다고 적는다
|
|
|
|
일곱 번째 행은 등급조차 아니다. 실부하와 장애는 미달성으로 적히고, 증거가 없으면 릴리스 게이트가 거부한다는 사실이 함께 있다.
|
|
|
|
분석이 이 표를 관측과 대조했을 때 어긋난 것은 한 행뿐이었다.
|
|
|
|
이 결과가 이 사례의 내용이다. 자기 신고 등급표가 관측과 거의 일치했고, 그 일치는 등급을 낮게 적는 규칙과 증거 칸에 구체적인 수를 적는 관행에서 나왔다.
|
|
|
|
부재를 테스트로 고정하는 방식도 그 일치에 기여한다. 자동설정이 아무것도 생성하지 않는다는 사실을 테스트가 붙들고 있으므로, 나중에 누군가 배선하면 그 테스트가 깨지고 등급표를 함께 갱신하게 된다.
|
|
|
|
## 검증 환경
|
|
|
|
OpenJDK : 21.0.12
|
|
확인 방식 : 등급표 각 행과 해당 코드 및 테스트 대조
|
|
소스 수정 : x
|
|
|
|
## 재현 조건
|
|
|
|
원문은 final/evidence/raw/213-inbound-graphql-release-probes.txt 에 있다.
|
|
|
|
1. 리프의 안내 문서에서 등급 정의와 등급표를 읽는다.
|
|
2. 각 행의 등급과 증거 칸을 확인한다.
|
|
3. modelled 로 적힌 행에 대해 실제로 요청 경로에 없는지 확인한다.
|
|
4. wired 로 적힌 행에 대해 증거 칸이 지목하는 테스트를 확인한다.
|
|
|
|
## 본문
|
|
|
|
<!-- body:start -->
|
|
|
|
`CLAUDE.md`가 4등급을 정의하고 "현재 등급보다 높게 표현하지 않는다"를 규칙으로 선언한 뒤 13행 중 일곱을 스스로 `modelled`로 강등했다.
|
|
|
|
## 스스로 강등한 일곱 행
|
|
|
|
:::evidence key="seven-rows-downgraded-by-the-family-itself" alt="분석 문서 final/document.md 에서 이 기록의 근거 절을 그대로 잘라낸 18줄. 코드베이스를 측정한 것이 아니라 원본 판정이 무엇을 적었는지를 보여 준다." caption="final/document.md 발췌 — 18줄" zoom="true"
|
|
:::
|
|
|
|
## 전수 대조 결과 12행이 일치했다
|
|
|
|
sub-scope 02~06의 파일 단위 배선 데이터와 13행을 대조했다. `요청 크기/Accept 협상 (http/)` 한 행만 불일치이고 **어긋나는 방향이 표가 금지한 "높게 표현" 쪽**이다 — 인용된 두 증거가 endpoint 테스트가 아닌 순수 단위 테스트이고 대상 타입은 미배선이다.
|
|
|
|
## 기계 매니페스트와 사람이 읽는 표가 갈린다
|
|
|
|
커서에 대해 서로 다른 답을 준다.
|
|
|
|
## 확인하지 못한 것
|
|
|
|
wired 로 적힌 행 전부에 대해 그 테스트를 실행하지 않았다. 확인한 것은 테스트의 존재와 그것이 무엇을 단언하는지다.
|
|
|
|
없음 — 13행 전수 대조
|
|
|
|
<!-- body:end -->
|