Skip to content

docs(comment-policy): 15차 재판정이 유지로 닫은 사본 11줄을 ② 근거로 걷는다 (등재 61→50) - #143

Closed
dlddu-k3s-homelab-k3s-mcp[bot] wants to merge 1 commit into
mainfrom
reconcile/rct_20260914-0001-opus-5-1m
Closed

dlddu-k3s-homelab-k3s-mcp[bot] wants to merge 1 commit into
mainfrom
reconcile/rct_20260914-0001-opus-5-1m

Conversation

@dlddu-k3s-homelab-k3s-mcp

Copy link
Copy Markdown
Contributor

무엇을 왜

tbm_session-platform-comment-redundancy / rct_20260914-0001 — 감지가 연 정합성 작업이다.

트리거(#139)가 control-plane/test/e2e_approval_gated_3_approval_path_test.go 의 주석을
40줄 늘렸고, 같은 커밋이 원장 15차 행을 **「증분 40줄 전부 유지」**로 재판정해 등재를 마쳤다.
그 판정 중 11줄이 ②(저장소 문서)로 복원되는 사본이다.

자리 사본인 근거 (②)
파일 헤더 「The approved call now ends somewhere real」 문단 docs/test/e2e.md §「남은 미검증 분기」에서 소유 파일이 이 파일인 행이 두 갈래의 귀속(결정 전 무도달 · 승인 후 정확히 1회)과 본문 도달의 벽(lastUserText 가 빈 문자열 · 상수 한 줄 응답 · CLI 스크롤백은 이 SUT 소관 아님)까지 문장 단위로 소유한다
f3OriginBase doc 의 평문 http 근거 3줄 deploy/fetch-origin.yaml 헤더의 「왜 평문 http 인가」 문단이 같은 네 절을 같은 순서로 적는다

15차 재판정이 어긋난 축: 헤더를 「코드 어디에도 없다」로 유지했는데, 정책의 복원 경로는
이고 이 내용이 사는 곳은 ①이 아니라 다. 그 패스 문서 자신이 「남는 것」 절에서
「그 문단과 docs/test/e2e.md 해당 행이 함께 낡는다 — 둘은 같은 슬라이스에서 움직인다」고
적어 두 자리가 같은 내용임을 인정한다.

선례가 정면으로 반대다. 15차(2026-09-12, 하루 전, 같은 파일)가 헤더를 23 → 5줄로 걷으며
든 제거 근거가 바로 「② §「남은 미검증 분기」의 두 행이 통째로 소유한다」였고, 그 패스가 세운
운영 규칙이 **「사본은 지우고 포인터는 남긴다」**다. 이 PR 은 그 형태로 되돌린다.

해악은 이 파일에서 이미 현실화된 적이 있다 — 15차가 기록한 「사본이 저작 다음 날 낡았다」
(#129validateFetchTarget 을 넓히자 헤더·상수 doc 이 조용히 거짓이 됨). 같은 구조가 다시 섰다.

계획 범위 (완료 기준)

  • 범위 안: 위 11줄 제거 + 포인터 유지 + 원장 15차 행 재재판정(줄 수·지문·합계) + 새 패스 문서.
  • 범위 밖: 나머지 29줄(f3FetchBudget/f3FetchSettle · f3DocPath · originHits ·
    eventuallyFetched · 단언 A · 단언 B)은 판정에 동의하므로 건드리지 않는다. 순서·경쟁 계약과
    비-공허 논증이라 지우면 조용히 플레이크·거짓 통과가 된다. 특히 단언 A 는 이 트리거가 e2e.md 의
    대응 두 행을 삭제해 이제 그 논증의 유일한 소유자다.
  • 범위 밖(후속): 게이트 인구조사(3091)와 모델 지문(3102)의 상수 차 — 게이트는
    검증 시나리오: 를, 모델 as-is 스크립트는 검증 AC: 를 지시어로 제외한다. 부모·트리거 양
    지점에 동일하게 존재하므로 이 트리거의 산물이 아니고, 모델 정의 개정 사안(tobe-modeler 소관)이다.

변경

  • control-plane/test/e2e_approval_gated_3_approval_path_test.go — 주석 11줄 순 제거.
    포인터는 남겼다(AC · 매핑 행 · § 이름 · 매니페스트 헤더).
  • docs/comment-policy/ledger.md — 15차 행을 16차 범위 재재판정으로 갱신
    (2026-09-14 · 61 → 50줄 · 지문 d8468a7fdfc625e339686c67), 합계 마커 3054 → 3043.
  • docs/comment-policy/passes/2026-09-14-approval-gated-3-header-copy.md — 신설.
  • docs/comment-policy/passes/2026-09-13-approval-gated-3-fetch-origin.md — 전방 포인터 3줄만 추가
    (판정 기록 자체는 고치지 않는다 — 덮어쓰면 원장이 이력이기를 그친다).

검증 (전부 로컬 실행, rc=0)

python3 scripts/check_comment_policy.py
  OK: 규칙 R1~R5 위반 없음 — 판정 대상 주석 3091줄 / 132파일
      · 판정 완료 3043줄(98.4%) / 등재 범위 15 · R5 스캔 19파일 1620줄
  2026-09-14(#15)  50줄  25e339686c67  control-plane/test/e2e_approval_gated_3_approval_path_test.go

gofmt -l control-plane            # 빈 출력
go vet -tags=e2e ./...            # rc=0 (control-plane)
./scripts/e2e/check-scenario-mapping.sh   # 시나리오 ↔ e2e 1:1 OK (37 = 0 + 3 + 34 + 0)
python3 scripts/check-fidelity-allowlist.py   # rc=0
python3 scripts/check-render-fidelity.py      # rc=0

코드 동작 불변: 비-주석·비-공백 줄이 267줄로 같고 그 줄들은 바이트 동일이다
(grep -v 로 주석을 걷어낸 두 판을 diff 로 대조). const 블록의 = 정렬도 그대로다.

머지 순서 주의

docs/comment-policy/ledger.md합계 마커를 옮기므로 같은 마커를 옮기는 PR 과 경합한다.
3지점 시험 병합 결과:

PR main 대비 이 PR 대비 판정
#142 충돌 없음 ledger.md 충돌 (신규) 9차 행을 441 → 438 로 줄이고 합계를 3054 → 3051 로 옮긴다. 둘 다 착지하면 합계는 3040 이다 — 나중에 머지되는 쪽이 rebase 해서 산술을 다시 맞춰야 한다
#140 ledger.md 충돌 (#139 소행, 기존) 같은 파일 (신규 아님) 이 PR 이 더하는 충돌 파일 없음
#127 ledger.md · doc-tracker.md · e2e.md 충돌 (기존) 같은 셋 (신규 아님) 이 PR 이 더하는 충돌 파일 없음
#130 충돌 없음 충돌 없음 무관

조용한 되돌림 위험은 없다. 합계나 행 값이 어긋난 채 착지하면 R4(합계 미러)와 R2(등재값 대
실측 지문)가 그 자리에서 빨개진다. CI 가 pull_request 의 머지 ref 에서 도므로 순서가 뒤집히면
머지 전에 잡힌다.

롤백

git revert 한 번이면 된다 — 주석·문서만 바뀌고 코드·매니페스트·배포는 손대지 않는다.
되돌려도 게이트는 초록으로 돌아간다(행 값과 합계가 커밋 안에서 함께 움직이므로).

`e2e_approval_gated_3_approval_path_test.go` 의 증분 40줄을 「전부 유지」로 닫은
15차 재판정(2026-09-13)의 두 행을 뒤집는다. 그 두 자리는 ②(저장소 문서)로
복원되는 사본이다:

- 파일 헤더 「The approved call now ends somewhere real」 문단 —
  `docs/test/e2e.md` §「남은 미검증 분기」에서 소유 파일이 이 파일인 행이
  두 갈래의 귀속과 본문 도달의 벽까지 문장 단위로 소유한다.
- `f3OriginBase` doc 의 평문 http 근거 셋 —
  `deploy/fetch-origin.yaml` 헤더의 「왜 평문 http 인가」 문단이 같은 순서로 적는다.

15차 재판정이 어긋난 축은 복원 경로를 ① 하나로만 물은 것이다(「코드 어디에도
없다」). 정책의 경로는 넷이고 이 내용이 사는 곳은 ②다. 15차(2026-09-12)가
같은 헤더를 23 → 5줄로 걷으며 든 근거이자 그 패스가 세운 운영 규칙
「사본은 지우고 포인터는 남긴다」로 되돌린다 — 포인터는 남기고 사본만 걷었다.

나머지 29줄은 유지 재확인이다(순서·경쟁 계약과 비-공허 논증).

코드 동작 불변: 비-주석·비-공백 267줄이 바이트 동일이고 `gofmt -l` 은 빈 출력이다.
원장 행은 50줄 · `25e339686c67` 로, 합계 마커는 3054 → 3043 으로 함께 옮겼다(R2·R4).
@dlddu-k3s-homelab-k3s-mcp

Copy link
Copy Markdown
Contributor Author

재계획(rct_20260914-0001 2차 시도): main 위로 리베이스한 승계 PR #150 이 이 PR 을 대신한다. 내용 동일, 합계 마커만 리베이스 시점 값(3117→3106)으로 재계산. 이 PR 은 닫는다.

dlddu-k3s-homelab-k3s-mcp Bot added a commit that referenced this pull request Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants