docs: 형제 repo(wie·qts) 파리티 락 필요성 조사 — 둘 다 조건부 필요 · 포팅은 qts 불가 / wie 는 파서 4축 수정 후 가능 [rustjava-dod-ci-parity-sibling-repo-survey] - #28
Merged
Conversation
…va-dod-ci-parity-sibling-repo-survey] 채택 제안 2026-09-04-dod-ci-parity-lock#p1 에 대한 읽기 전용 조사 + 판정. 형제 repo 는 gh api /contents 로만 읽었다 — git 쓰기 0 · PR 0 · 파일 수정 0. 구조 판정: 같지 않다. wie 의 DoD 정본은 AGENTS.md(우리는 CLAUDE.md)이고 CI 의 4번째 게이트(cargo test)가 if: 로 갈린 2 step + 블록 스칼라라 우리 파서의 「조건부 = OS 축 = 제외」 규칙이 거짓 red 를 만든다. qts 는 DoD 가 make 타깃 이름(Makefile 간접층)이고 toolchain 매트릭스가 없어 축 B 가 성립하지 않으며 gitleaks 는 action 이라 어떤 run: 파서도 못 본다. ⇒ 제안 문면의 「복사하지 마라」가 실측으로 확인됐다. 그런데 어긋남은 둘 다 실재한다(이력 전수 분해). wie rust.yml 최근 200 run(성공 166 · 실패 34) 중 beta 셀에서만 실패한 clippy 가 9건(26%)인데 four gates 에 cargo +beta 가 없다(문자열 beta 가 규범 문서에 0건). qts ci.yml 최근 실패 60건 중 uv run ruff format --check . 가 유일한 실패인 것이 10건(17%)인데 make lint 는 그것을 안 친다(문자열 format 이 규범 문서에 0건). 판정: 둘 다 ⒞ 조건부 필요. 단 먼저 할 일은 락이 아니라 각 한 줄이다 — wie 는 four gates 에 cargo +beta clippy --all -- -D warnings, qts 는 make lint 에 ruff format --check. 락은 그 다음이다(락은 어긋남을 막는 것이지 고치는 것이 아니다). 구현 0 — 형제 repo 는 다른 레인 소관이라 T1·T2·T3 의 축과 합격선만 적었다. 일반 사실: 세 repo 가 전부 이 어긋남을 갖고 있었고 어긋난 자리가 전부 규범 문서에 적혀 있지 않았다 ⇒ 「사람이 문서를 최신으로 유지한다」가 세 repo에서 각각 실패했다. 이 repo 검사기·rust.yml·CLAUDE.md DoD 블록 무접촉 · .rs 0줄 · 파리티 rc=0 유지.
added 3 commits
September 4, 2026 23:18
…bling-repo-survey] 게이트² request-changes(F1·F1-⒝·F2·F3·F4) 승계. 문서만 — 코드 0줄. 판정(⒞ 조건부 필요 · 축 B beta · 대칭차 값)은 무접촉이다(검수자가 재현했다). F1 — §0 신설. 이 PR 은 스택이다: 204f98b(#27 의 구현 커밋)이 이 브랜치의 조상이고 (--is-ancestor rc=0), #28 은 #27 의 옛 상태를 업고 있다(e9e2a8e ↔ ed04620 rc=1 · merge-tree rc=1 CONFLICT STATE.md). 착지 순서 #27 → #28. 단 base 가 main 이라 #27 의 브랜치가 지워져도 이 PR 이 닫히지는 않는다(ripple 사고와 다른 형상). 초판이 MERGEABLE 로 보였던 이유(GitHub 이 #27 이전 main 과 대조)도 적었고, 그 예정이 실현됐음을 갱신했다 — #27 이 ba4bb41 로 착지했고 워밍 후 재조회는 CONFLICTING/DIRTY · 충돌 STATE.md 1건. 그 1건은 게이트③ 2-c⒜ 승인 범위 안이고 코드 충돌 0 이다. 해소는 하지 않았다. F1-⒝ — 「검사기 무접촉」을 이 회차 커밋으로 한정. PR 파일 목록의 scripts/check-dod-ci-parity.py 5+ 는 #27 의 것이고, 이 회차 커밋은 결백하다 (git diff 204f98b..ed04620 -- '*.rs' scripts/ .github/ CLAUDE.md → 0). F2 — §1⒜ 의 「«그대로» 적용」이 부정확했다(손으로 주석을 벗기고 잰 값이다 · 분석값 1 은 옳다). 상수 1줄만 바꿔 wie 에 돌리면 rc=1 · 축 A 대칭차 7(CI 3 / DoD 4)이 나오고, 원인은 four gates 4줄의 후행 주석을 norm() 이 안 벗기는 것이다. RustJava 자신의 DoD 에는 주석이 없어 그 파서가 이 축을 만난 적이 없다. ⇒ T3 의 wie 전용 축을 3 → 4 로. F3 — 「포팅 불가」를 qts 로 한정(qts 는 sys.exit · wie 는 돈다). 표제·PR 제목 정정. F4 — T3 합격선에 「세는 명령 + 오늘의 값」 한 줄(wie 9 · qts 38). T1·T2 가 오늘의 어긋남을 닫아 버리므로 그것이 없으면 ⒞ 를 기계로 다시 물을 수 없다.
…dod-ci-parity-sibling-repo-survey] #27(ba4bb41)이 착지하며 예고된 STATE.md 충돌을 해소한다. 검수자가 두 회차 전에 실측으로 세운 그 충돌이다(merge-tree e9e2a8eed04620 rc=1 · CONFLICT STATE.md). hunk 분류: 충돌 hunk 1건 · 전부 기계적 · ★판단 필요 0. 근거 — HEAD 쪽은 「진행중」에 새 항목(조사 회차 14줄)을 «추가»했고 main 쪽은 교차곱 항목을 「진행중」→「완료」로 «이동»시켰다(같은 앵커라 충돌). 같은 줄·같은 값을 다르게 고친 자리는 없다: 두 판본의 교차곱 블록은 16줄 중 15줄이 «바이트 동일»이고, 유일한 차이는 마지막 줄(브랜치 「PR 대기 — 게이트③ 미착지」 ↔ main 의 게이트③ 완료 5줄)로 그것은 값 불일치가 아니라 «착지 상태»이며 main 이 권위다(그 회차가 실제로 착지했다). 해소 = 합집합 · 시간순: 「진행중」에는 이 회차 항목만 남기고, 교차곱 항목은 main 이 옮겨 둔 「완료」판(게이트③ 줄을 포함한 상위집합)을 채택한다. 항목 유실 0 — 교차곱 항목은 파일에 정확히 1회 존재하고 그 자리가 「완료」다. 승인 내용 무접촉: 승인 형상(5c2ed7b) 대비 변경은 worklog 2026-09-04-dod-ci-parity-cross-product-decision.json 1파일뿐이고 그것은 origin/main 과 바이트 동일하다(= main 기여). 조사 회차 산출물 2파일과 「진행중」 항목 14줄은 바이트 동일. 코드 0줄 · 형제 repo 무접촉.
Uh oh!
There was an error while loading. Please reload this page.
Jun025 pushed a commit
that referenced
this pull request
Sep 4, 2026
…nce-decision] 게이트² request-changes 승계 + 부모 #28(18fbb6e) 착지로 생긴 REPORT.md 충돌 해소를 한 커밋에 접었다(검수자 권고 — 추가 비용 0). 코드 기여 0줄. F4 잔존 — worklog .json summary 에 정정 표지 «밖»으로 살아 있던 「33 은 실제로 아팠던 값이다」를 지우고 표지를 달았다. 그 필드는 다음 회차가 통째로 인용하는 표면이고, approach.md ⒟ 와 STATE.md 에서는 지워 놓고 여기에만 남아 저장소가 자기와 어긋났다. 상시 규칙 전파(approach.md §5 「병기 없는 충돌 수는 어디에도 쓰지 않는다」·「델타인가 누적인가도 밝혀라」) — summary·워크로그 .md 산문·STATE.md·json issues 의 「S3 충돌 9건」·「S8 8건」을 델타/누적 + base·merge-base 병기로 고치고, 「중앙 44일」에 창 정의 주의(41일·±3일)를 전파했다. ★표를 고쳤다고 문서가 고쳐진 것이 아니다 — 같은 파일 안에서 표는 정확한데 산문은 맨 수였다. ★전수를 «명령 + 출력»으로 다시 돌렸고 그 결과 반려에 없던 두 자리를 더 찾았다: STATE.md:16 과 json issues:27 도 같은 맨 수였다. 둘 다 고쳤다. 문면 좁힘 — approach.md 의 「착지 커밋 제목이 그 값의 1차 사료」를 «S1~S7» 로 한정하고 S8 은 예외임을 적었다(a76b305 제목·본문에 충돌 수 0건). 값 8 은 무접촉 — 그 출처는 git merge-tree --write-tree --name-only 3fb08a8bd42427 재측이다. 충돌 해소 — REPORT.md 1건을 합집합·시간순으로(미착지 최신인 이 회차 항목 → #28 → #27). 항목 중복 0 · 마커 0. ★auto-merge 된 STATE.md·approach.md 를 눈으로 확인했다: 양쪽 기여가 둘 다 살아 있고(진행중 1 + 완료 2 · §5-B 와 §4 두 절 공존) 구조 파손 0. 리베이스 0 · force-push 0. 코드 기여 0 증명: git diff --stat origin/main -- '*.rs' scripts/ .github/ CLAUDE.md → 0줄. 핀 대비 diff 에 잡히는 check-dod-ci-parity.py 5줄은 병합이 가져온 main 기여이고 git diff --quiet origin/main -- 그 파일 → rc=0(바이트 동일)로 확인했다.
Jun025 pushed a commit
that referenced
this pull request
Sep 4, 2026
…dence-decision] STATE.md 진행중 → 완료(게이트③ PR #29 · --merge · 등재 repo · 게이트② 3회차 만에 approve · 반려 둘이 모두 「수를 어떻게 적었는가」였고 그 규율은 「표를 고쳤다고 문서가 고쳐진 것이 아니다」 · 부모 #27·#28 착지로 두 번 CONFLICTING 이 됐고 그때마다 머지로 해소했으며 검사 1건 → 10건으로 그 기전을 확증했다) + worklog .json 게이트③ 집행 1줄 (동봉 전 head 가 핀과 일치했음 · fetch 를 먼저 쳐 거짓 일치를 막았음). 코드 변경 0.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
판정
채택 제안
2026-09-04-dod-ci-parity-lock#p1에 대한 ★읽기 전용 조사 + 판정이다.★형제 repo 변경 0 —
gh api repos/<slug>/contents/…로만 읽었다(git 쓰기 0 · PR 0 · 파일 수정 0).★결론:
wie·qts둘 다 ⒞ «조건부 필요». 단 RustJava 검사기는 «포팅 불가»다.구조 — ★같지 않다
wieqtsCLAUDE.md코드블록AGENTS.md** 코드블록make타깃 이름**(산문)rust.yml1rust.yml+ 7ci.yml+ 11[stable, beta][stable, beta]cargo test2갈래)⇒
wie에 우리 파서를 그대로 쓰면cargo test가 「DoD 에만 있다」로 잡혀 ★거짓 red.⇒
qts는 Makefile 간접층 때문에 「DoD 줄 ↔ CIrun:줄」 문자열 대조가 ★원리적으로 성립하지 않는다.그런데 어긋남은 «둘 다 실재»한다 — 이력 전수 분해
wie·rust.yml최근 200 run(성공 166 · 실패 34):cargo +beta가 없다qts·ci.yml최근 실패 60건(2026-07-18~09-03):ruff format --check포함make lint는 그것을 안 친다ruff check★문서 실측: 문자열
beta가wie규범 문서에 0건 · 문자열format이qts규범 문서에 0건.⇒ 먼저 할 일은 «락»이 아니라 «각 한 줄»
wie: four gates 에cargo +beta clippy --all -- -D warnings→ 이력 9/34 를 로컬로qts:make lint에uv run ruff format --check .→ 이력 10/60 을 로컬로★구현 0 — 형제 repo 는 다른 레인 소관이라 T1·T2·T3 의 축과 합격선만 워크로그에 적었다.
일반 사실 하나
★★세 repo 가 전부 이 어긋남을 갖고 있었고, 어긋난 자리가 전부 규범 문서에 «적혀 있지 않았다»
(우리 = wasm32 줄 + beta 축 ·
wie= beta 축 ·qts=ruff format --check)⇒ ★**「사람이 문서를 최신으로 유지한다」가 세 repo에서 «각각» 실패했다.**
경계
이 repo 검사기·
rust.yml·CLAUDE.mdDoD 블록 무접촉 ·.rs0줄 · 파리티 rc=0 유지.★등재 repo ⇒ 게이트③은
--merge.