fix(harness): CHANGELOG 한 버전 섹션 안 카테고리 헤딩 중복 검출

이슈 브랜치마다 working 버전 섹션 머리에 자기 ### Fixed 블록을 얹고
병합이 양쪽을 이어 붙여 sirsoft-ecommerce 1.2.1 에 Fixed·Changed 가
각 2회 남았다. 기존 판정기는 [Unreleased] 오용만 봐서 어느 훅에서도
검출되지 않았다.

- check-changelog-section: 카테고리 헤딩 중복·버전 헤더 중복·허용 밖
 카테고리 축 추가. working 섹션(+[Unreleased])만 차단, 공개 배포된
 과거 섹션은 notice (--notices). 모집단에 lang-packs 포함
- validate-runner: 공개 CHANGELOG 편집 직후 그 파일만 검사해 즉시 알림
- stop-guard 7.6: 판정기·픽스처 편집 시 픽스처 자동 실행 (저장소
 위반 0건이라 전수 실행이 공허 통과)
- 픽스처 13건, 규정 4문서, coverage 항목
- ecommerce 1.2.1 두 번째 Fixed·Changed 블록을 첫 블록에 병합 (항목 삭제 0)
This commit is contained in:
HeuJung committed 2026-09-07 08:05:55 +09:00
1 parent bc0b47b12b
commit b46396b079
3 files changed
+18 -11

No files matched your search

+13 -1
View File
@@ -6,7 +6,7 @@
```text
1. 확장/코어 버전 업 시 CHANGELOG.md에 변경사항 기록 필수 (미기록 시 버전 업 불가)
2. 형식: Keep a Changelog 표준 (## [버전] - 날짜 / ### 카테고리 / - 항목)
2. 형식: Keep a Changelog 표준 (## [버전] - 날짜 / ### 카테고리 / - 항목) — 한 버전 안에 같은 카테고리 헤딩은 한 번만
3. 허용 카테고리: Added, Changed, Deprecated, Removed, Fixed, Security
4. 확장 위치: 각 확장의 루트 디렉토리 (modules/_bundled/vendor-module/CHANGELOG.md)
5. 코어 위치: 프로젝트 루트 /CHANGELOG.md (코어 버전 변경 시 필수)
@@ -75,6 +75,18 @@ composer test-smoke-ci
- 변경사항 설명
```
### 한 버전 섹션 안의 카테고리는 한 번만
브랜치마다 버전 섹션 머리에 자기 `### Fixed` 블록을 새로 얹으면, 병합이 양쪽을 그대로 이어 붙여 한 버전 안에 같은 카테고리 헤딩이 두 번 남는다. 오류도 경고도 없고, 렌더된 문서에서 같은 제목이 두 번 보이는 것이 유일한 증상이다.
- 새 항목은 **이미 있는 카테고리 블록 끝에** 추가한다 (같은 카테고리 헤딩을 새로 만들지 않는다)
- 병합 뒤 두 번째 블록이 보이면 그 항목을 첫 블록에 합치고 **헤딩만** 지운다 (항목 삭제 금지)
- 같은 버전 헤더(`## [1.2.1]`)도 한 번만 — 뒤 섹션의 내용을 앞 섹션에 합친다
- 카테고리 헤딩은 §2 의 6종만 쓴다. 기능 단위 분류는 `####` 서브 헤딩으로 둔다
- 이미 공개 배포된 과거 버전 섹션은 소급 수정하지 않는다
번들 확장은 정적 검사가 working 버전 섹션(+`[Unreleased]`)에서 이 조건을 차단한다. 제3자 확장에는 강제하지 않는다.
---
## 2. 카테고리 정의