Skip to content

[2026-09-19-partial-clone-blob-vs-absence-p0] fix(scripts): 경로 루프를 정렬한다 — 두 실행을 비교할 수 있게 - #81

Open
Jun025 wants to merge 1 commit into
mainfrom
feat/rustjava-sorted-findings
Open

Jun025 wants to merge 1 commit into
mainfrom
feat/rustjava-sorted-findings

Conversation

@Jun025

@Jun025 Jun025 commented Sep 19, 2026

Copy link
Copy Markdown
Owner

채택 제안 2026-09-19-partial-clone-blob-vs-absence#p0"Sort the checker's findings so two runs can be compared."

전제 재측 — 오늘 origin/main 에서도 참이다

같은 범위(e53b2142^..e53b2142) · PYTHONHASHSEED=random · 8회 · 출력 해시:

6  16efef4228f50b1147cb57f8e1aced09
2  9b1105a77918f30b31c42c890815d10c

같은 6건을 «두 가지 차례»로 찍는다. 제안은 옳고, ★그 이유도 옳다 — 이 리니지가 실제로 그 대가를 치렀다(전/후 diff 가 «회귀»처럼 보였고, ★**원판본이 «자기와 불일치»**함을 보여서야 갈렸다).

★다만 «자리»가 제안과 다르다(원문 대조 ⒜)

제안 문면: "Findings are accumulated in a set and printed in iteration order."
찍는 자리는 이미 정렬돼 있었다sorted(theirs_symbols - symbols(merge, path))경로 «안»의 이름은 늘 정렬.
흔들린 것은 ★바깥 «경로» 루프다: for path in filter(None, changed) 이고 changedgit diff --name-only 둘을 합친 set.
⇒ ★고친 자리는 print 가 아니라 루프다: for path in sorted(filter(None, changed)):
1파일 · +7/−1(코드 1줄 + 측정 기록 주석 6줄).

축 — 양방향 · 제품 스크립트

형상 8회 · PYTHONHASHSEED=random
그 줄만 되돌림 순서 2종(6 + 2)
그 줄 포함 1종(8/8 동일)

내용은 양방향 불변: findings 6 · rc=1 · 요약 줄 8 merge(s) … 6 definition(s) dropped without a trailer 동일.
★★Acceptance 문면 고지: 「되돌리면 red」를 요구하는데 ★이 변경에는 뒤집을 «판정»이 없다 — 순서만 바꾸고 rc 는 설계상 전후 1 이다.
⇒ 축을 **«순서 종수»**로 세웠고, 그것을 실제 스크립트에서 양방향으로 쟀다.

★대가(숨기지 않는다)

보고가 순회 순서를 더는 반영하지 않는다 — 아무도 안 읽어서 안전했고, ★그래서 여태 안 들켰다.
⒝★**«보고를 비교 가능»하게 할 뿐 «검사를 결정적»으로 만들지 않는다** — examined 수·등장 머지 등 저장소 상태 의존은 그대로다. 다른 트리 두 개를 비교하면 진짜 차이는 여전히 나온다(이 변경은 «가짜»만 없앤다).
⒞★이 검사기만 고쳤다 — 형제 check-named-exception-classes-are-loadable.py보기엔 안전하나(정렬된 missing 목록 · 정렬된 파일 순회) ★재지 않았다(지나가며 본 관찰이지 측정이 아니다).
⒟비용 유의차 없음: 전 2.09/2.51/2.41s ↔ 후 2.52/1.90/1.65s(구간 겹침).

노력도

제안 추정 S 가 맞았다 — 실제 일은 측정(8회 × 2방향)이었고, 그것이 「정렬해야 한다」를 ★**「정렬 안 돼 있었고 크기는 이만큼」**으로 바꾼다.

DoD (9명령 전건 rc=0)

fmt 0 · clippy stable 0 · clippy +beta 0 · clippy wasm32 0 · cargo test --all 585 passed / 0 failed / 1 ignored ·
check-worklog-json 0(68파일) · check-dod-ci-parity 0 · check-named-exception-classes-are-loadable 0 · check-merge-dropped-symbols 0

…한다 — 두 실행을 비교할 수 있게

채택 제안 2026-09-19-partial-clone-blob-vs-absence#p0.

전제 재측(오늘 origin/main · 범위 e53b214^..e53b214 · PYTHONHASHSEED=random 8회):
순서 2종(6+2) — 같은 6건을 다른 차례로 찍는다. 제안은 옳고 이유도 옳다
(이 리니지가 실제로 그 대가를 치렀다 — 전/후 diff 가 회귀처럼 보였고
원판본이 «자기와 불일치»함을 보여서야 갈렸다).

★다만 자리가 제안과 다르다: 제안은 「set 에 모아 iteration order 로 찍는다」고 했는데
찍는 자리는 이미 정렬돼 있었다(sorted(theirs_symbols - …) ⇒ 경로 «안»의 이름은 늘 정렬).
흔들린 것은 바깥 «경로» 루프이고, changed 는 git diff --name-only 둘을 합친 set 이다.
⇒ 고친 자리는 print 가 아니라 루프다. 1파일 +7/−1(코드 1줄 + 측정 기록 주석).

양방향(제품 스크립트): 그 줄만 되돌리면 8회에 순서 2종 ↔ 넣으면 8/8 동일.
내용은 양방향 불변 — findings 6 · rc=1 · 요약 줄 동일.
★rc 로는 red 를 만들 수 없다(순서만 바뀐다) — 축을 «순서 종수»로 세웠고 그 사실을 적는다.

대가: 보고가 순회 순서를 더는 반영하지 않는다(아무도 안 읽어서 안전했고 그래서 안 들켰다) ·
★«보고를 비교 가능»하게 할 뿐 «검사를 결정적»으로 만들지는 않는다(저장소 상태 의존 그대로) ·
이 검사기만 고쳤다(형제는 보기엔 안전하나 재지 않았다).
비용 유의차 없음(전 2.09/2.51/2.41s ↔ 후 2.52/1.90/1.65s · 구간 겹침).
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.

1 participant