docs: 감사 추정(−3,368줄)과 실제 결과(+1,652줄) 차이를 기록
빌드·CI 레이어는 줄지 않고 늘었다. 영역별 증감과 이유를 적어둔다. 줄어든 곳은 실제로 중복이던 곳이다(워크플로 30 → 19파일, setup 블록 59회 → composite 1개, jpa-evidence −274줄). 늘어난 곳은 그동안 비어 있던 자리다 (게이트 매트릭스 커버리지 8/28 → 28/28 워크플로가 +634줄, convention 플러그인과 그 테스트가 +701줄). 추정이 빗나간 이유 셋: 감사 findings 17건이 실행 결과로 기각됐고(지울 수 있다고 본 코드에 소비자가 있었다), 작동하게 만드는 데 코드가 들고, convention 플러그인은 총량이 아니라 중복을 줄인다. 줄 수로 보고하면 틀린 보고가 되므로 그렇게 적어둔다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
40ee9f1e83
commit
d00c76241c
@@ -168,3 +168,45 @@ git 에 없어 깨끗한 체크아웃에서 빌드가 불가능했다.
|
||||
규칙 10개 전부가 "failed to check any classes" 로 실패하고 있었다. 이 레인에서는
|
||||
모듈 자기 클래스가 jar 로 클래스패스에 올라온다. 옵션 제거로 해결(실험으로 확인).
|
||||
`importPackages(ROOT)` 가 이미 서드파티를 걸러내므로 옵션은 불필요했다.
|
||||
|
||||
## 최종 결과와, 감사 추정이 틀린 부분 (2026-09-16)
|
||||
|
||||
감사는 "정리하면 3,368줄 감소"라고 추정했다. **실제로는 빌드·CI 레이어가
|
||||
1,652줄 늘었다.** 추정이 틀렸고, 그 이유를 적어둔다.
|
||||
|
||||
| 영역 | 증감 | 이유 |
|
||||
| --- | --- | --- |
|
||||
| `.github/workflows` | −128줄 (파일 30 → 19) | 중복 제거는 실제로 됐다. setup 블록 59회 → composite 1개, 잡 8개 삭제 |
|
||||
| `.github/ci-gate-matrix.yml` | **+634줄** | 커버리지 8/28 → 28/28 워크플로. 게이트 49 → 107행 |
|
||||
| `.github/scripts` | +163줄 | 개수 고정 대신 불변식 검증, 워크플로 SHA 잠금 확대 |
|
||||
| `.github/actions` | +37줄 | composite action 신설 |
|
||||
| `src/build.gradle` | +276줄 | Checkstyle 배선 + 판단 근거 주석 |
|
||||
| `src/gradle` | −70줄 | jpa-evidence −274 를 다른 증가가 상쇄 |
|
||||
| `src/build-logic` | **+701줄** | convention 플러그인 2개·헬퍼 2개 신설(+252) 과 그 테스트(+424) |
|
||||
| 모듈 `build.gradle` | +3줄 | convention 적용으로 줄었지만 레인 전환이 상쇄 |
|
||||
|
||||
**왜 추정이 빗나갔나**
|
||||
|
||||
1. **감사 findings 17건이 근거와 함께 기각됐다.** 지울 수 있다고 본 코드가
|
||||
실제로는 소비자가 있었다. 감사는 읽고 판단했고, 수정 담당은 실행해서
|
||||
확인했다. 실행이 이겼다.
|
||||
2. **작동하게 만드는 데는 코드가 든다.** 게이트 매트릭스가 워크플로 8개만
|
||||
덮고 있던 것을 28개 전부로 넓히면 634줄이 는다. 그 634줄이 "군더더기"가
|
||||
아니라 그동안 비어 있던 자리다.
|
||||
3. **convention 플러그인은 총량이 아니라 중복을 줄인다.** build-logic 이
|
||||
701줄 늘고 모듈 43개가 그만큼 줄지 않은 것은, 플러그인에 테스트(424줄)를
|
||||
붙였기 때문이다. 테스트 없는 convention 플러그인은 43개 모듈에 동시에
|
||||
틀릴 수 있는 한 지점이 된다.
|
||||
|
||||
**그래서 이 작업의 성과는 "코드가 줄었다"가 아니다.** 안 돌던 게이트가 돌고,
|
||||
CI 에 단계가 생기고, 깨끗한 체크아웃에서 빌드가 되는 것이다. 줄 수로 보고하면
|
||||
틀린 보고가 된다.
|
||||
|
||||
### 최종 커밋
|
||||
|
||||
`2a8d34f` docs · `e345191` CI 게이트 정상화 · `1535481` testkit 이관 + 미추적
|
||||
필수 파일 · `9bc2e75` CI 단계 분리 + 잔여 114건 · `40ee9f1` 고아 레인 배선 +
|
||||
카탈로그 이관.
|
||||
|
||||
모든 커밋은 워킹트리를 커밋하지 않고 후보 커밋 객체로 만들어 깨끗한 체크아웃에서
|
||||
검증한 뒤에 올렸고, 커밋된 트리 해시가 검증한 트리와 같은지 매번 대조했다.
|
||||
|
||||
Reference in New Issue
Block a user