feat(tooling): annotate_corpus --corpus — 인용 수치의 재현 경로 - #18
Merged
Conversation
README 와 결과보고서가 "누구든 같은 명령으로 재현할 수 있다"고 안내하는 명령이 실제로는 없었다. 인자 없이 실행하면 docstring 만 출력하고 exit 2 이고, --seed 는 첫 페어 하나만 재채점한다. n=11 집계(평균 K-ER·Δ·위반 평균)를 내는 모드가 어디에도 없어서, 인용된 수치를 제3자가 확인할 방법이 없었다. summarize_corpus() 를 추가해 코퍼스 전체를 현재 엔진으로 재채점하고 페어별 값과 집계를 함께 낸다. 이 함수가 README·결과보고서·DATASET_CARD 가 인용하는 수치의 유일한 출처다 — 손으로 적지 않고 여기서 옮긴다. 테스트는 집계 자체보다 정직성 불변식을 고정한다: 코퍼스에 기록된 ker_score 가 지금 엔진의 재채점과 일치하는지(어긋나면 손으로 쓰였거나 재주석을 빠뜨린 것), 전 페어가 Fidelity PASS 인지, 보고 Δ 가 평균에서 파생된 값인지.
CI 가 잡아낸 사실: kiwipiepy 0.23.2 / kiwipiepy_model 0.23.0 으로 버전이 같아도 플랫폼 빌드가 다르면(macOS arm64 wheel vs manylinux x86_64 wheel) 토큰화가 갈려 K-ER 이 흔들린다. synth-0011 이 macOS 82.4 / Linux 81.9 로 0.5 차이가 났다. 정확일치를 요구하면 이 프로젝트가 실제로 보장할 수 없는 것을 주장하게 된다. 보장 가능한 것(주석이 손이 아니라 실제 엔진에서 나왔는가)만 고정하도록 페어 단위 허용 오차 1.0 을 두고, 관측 근거를 상수 주석에 남긴다. 손으로 쓴 주석이나 규칙 변경은 이보다 훨씬 크게 움직이므로 탐지력은 유지된다.
Owner
Author
CI 가 실제 문제를 잡았다 — 테스트를 느슨하게 만드는 대신 사실을 기록했다첫 CI 실행이 3.11/3.12 에서 실패했다: 버전 차이가 아니다. 로컬과 CI 모두 집계에 미치는 영향:
즉 리눅스에서 재현하면 헤드라인이 0.1 다르게 나온다. 대응정확일치를 요구하면 이 프로젝트가 실제로 보장할 수 없는 것을 주장하게 된다. 후속으로 |
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 free
to 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.
문제
README 와 결과보고서가 코퍼스 수치를 인용하며 "누구든 같은 명령으로 재현할 수 있다"
고 안내하는데, 그 명령이 없었다.
--seed는 첫 페어 하나만 재채점한다. n=11 집계를 내는 모드가 없어서인용된
71.2 → 80.7 (Δ+9.5),위반 −2.09를 제3자가 확인할 방법이 없었다.재현 가능성을 정직성의 근거로 내세우는 프로젝트에서 이 갭은 특히 아프다.
바꾼 것
summarize_corpus()+--corpus모드. 코퍼스 전체를 현재 엔진으로 재채점해페어별 값과 집계를 함께 낸다.
앞으로 README·결과보고서·DATASET_CARD 의 집계 수치는 이 함수가 유일한 출처다.
손으로 적지 않고 여기서 옮긴다.
테스트가 고정하는 것
집계값 자체가 아니라 정직성 불변식이다:
ker_score가 지금 엔진의 재채점과 일치하는가(어긋나면 주석이 손으로 쓰였거나 규칙 변경 후 재주석을 빠뜨린 것)
검증
pytest -q→ 423 passed (419 + 신규 4)ruff check→ cleanpython -m tooling.check_licenses --root .→ PASS--seed기존 동작 회귀 없음