Skip to content

결과 커버리지 게이트 + 근거 등급 규율 — CPTAC 누락 사고 재발방지 - #154

Merged
braveji18 merged 4 commits into
mainfrom
docs/BIOP02-process-coverage-gate
Sep 3, 2026
Merged

결과 커버리지 게이트 + 근거 등급 규율 — CPTAC 누락 사고 재발방지#154
braveji18 merged 4 commits into
mainfrom
docs/BIOP02-process-coverage-gate

Conversation

@kakyungkim

Copy link
Copy Markdown
Collaborator

CPTAC 외부검증 결과 5종이 분석 완료 상태로 원고에 한 번도 반영되지 않은 채 두 달이 지났습니다. experiments/sjpark/*/ext_eval_summary.json 5건이 실재하는데 manuscript/ 14개 파일과 git 전 이력에서 "CPTAC" 문자열이 0건입니다.

추적해 보니 단발 실수가 아니라 구조적 결함 셋이었습니다.

  1. 초록만 보고(E2) 되돌리기 어려운 결정을 내렸습니다. 2026-07-10 스쿱 판정이 Fernandez-Romero 2026의 초록 한 편을 근거로 "논문 본체로 삼으면 안 됨, 한 줄 인용 후 폐기"까지 갔습니다. 오늘 Europe PMC(PMC13269319, CC-BY)에서 전문을 확보해 보니 상대는 환자 층화 MCCV만 쓰고 기관을 통제하지 않으며(tissue source site·submitter·batch 전부 0회) AUROC를 아예 보고하지 않습니다(macro-F1·PR-AUC만). 같은 실험이 아니었습니다.
  2. 결정이 실행 슬롯 없이 증발했습니다. PROGRESS_DECISIONS.md L115의 "CPTAC은 별도 §4로 격리"가 SECTION_ASSIGNMENT_paperC.md에 슬롯으로 만들어지지 않아, 8월 풀드래프트 집필 때 넣을 자리가 없었습니다.
  3. 검수가 "실린 것"만 봅니다. Critic 7-point는 원고에 실린 결과의 타당성만 검증해, 결과 5종이 통째로 빠진 상태가 어떤 게이트에도 안 걸렸습니다.

무엇을

파일 내용
agents/critic/scripts/check_result_coverage.py 결과 커버리지 게이트. 산출물을 열거해 원고 반영 여부를 경로·수치로 확인하고 반영됨 / 부분반영 / 의도적 제외 / 미분류로 분류. 미분류가 있으면 exit 1
results/EXCLUDED.md 원고 미반영 산출물 대장. 사유·근거 등급·재검토 조건 기록
docs/PROCESS_PROPOSAL_2026-09-02_evidence-grade-and-coverage.md 근거 등급(E1/E2/E3) 등 대책 9개와 도입 순서
docs/PITFALLS_REGISTRY.md A9·T8·C8·C9·C10·C11 등재 (기존 27건 전부 보존)

실행 결과

산출물 53건
  반영됨        1
  부분반영     31
  의도적 제외   4
  미분류       17   <- 제출 전 0 이어야 함

원고 전체에서 ext_ 수치가 단 하나도 발견되지 않습니다. CPTAC 5개 엔드포인트 × 3지표 전부 미반영입니다.

추가로 라벨셔플 음성대조 4종도 미반영입니다(ER ext 0.3501, PR ext 0.3664, HER2 0.4829, PAM50 ext 0.5393). 라벨을 섞으면 우연 수준으로 내려간다는 것은 우리 양성 결과가 배선 산물이 아님을 보이는 방어 근거라, 오히려 실어야 할 것으로 봅니다.

스크립트 초판이 틀렸던 점 (기록)

처음 돌렸을 때 53건 전부 "반영됨"으로 통과했습니다. 둘을 고쳤습니다.

  • 경로 매칭이 조부모 디렉터리까지 봤습니다. experiments/sjpark/...sjpark가 원고 본문에 있어 전부 매칭됐습니다. 공교롭게도 BIOP02-151에서 지적된 팀원 핸들 노출이 오탐 원인이었습니다.
  • 소수 둘째 자리 매칭은 우연히 걸립니다. 3~4자리로 제한했습니다.

제외 인정에 [제외확정] 태그를 요구한 것도 같은 이유입니다. 태그가 없으면 "반영 예정"으로 적어 둔 항목까지 제외로 읽혀 게이트가 스스로를 무력화합니다.

팀 판단이 필요한 것

  • braveji 님 — registry critic_status가 ER·PR·PAM50 4-class에서 caution이라 lock이 안 됩니다(BIOP02-70). pass 판정이 있어야 CPTAC을 원고에 실을 수 있습니다.
  • 박세진 님 — 라벨셔플 음성대조 4종의 원고 반영 여부, 그리고 uni_v1 계열 5종이 CLAM v2로 대체된 것이 맞는지.
  • 이건규 님 — CPTAC을 넣을 자리. 배정표상 Discussion "한계 외부검증"과 Methods M1–M8이 후보입니다. ML4H Findings 본문이 4페이지라 표는 부록으로 가는 편이 맞아 보입니다.

검증

  • PITFALLS_REGISTRY.md: 기존 27개 ID·상세 섹션 전부 보존 확인, 삽입만 19줄
  • 커버리지 게이트: 제외 확정 4건만 인정되고 CPTAC·라벨셔플은 계속 검출되는 것 확인

CPTAC 외부검증 결과 5종이 분석 완료 상태로 원고에 한 번도 반영되지
않은 채 두 달이 지난 사고를 추적해, 원인 셋과 대책 아홉을 정리했다.

- PITFALLS_REGISTRY.md: A9(E2 근거로 되돌리기 어려운 결정)·T8(결과
  JSON 라벨과 데이터 불일치)·C8(정본 완료인데 배너가 미완으로 낡아
  5주 정지)·C9(결정이 실행 슬롯 없이 증발)·C10(담당자 잔여 없음 +
  잔여 작업자 미배정 orphan)·C11(검수가 누락을 안 봄) 등재. 기존
  27건 전부 보존.
- PROCESS_PROPOSAL: 근거 등급 E1/E2/E3, 산출물 커버리지 리포트,
  stale 스캐너, 완료 보고 시 재배정 등 9개 항목과 도입 순서.

검토 요청 = braveji(Critic 총괄)·이건규(주저자).
PITFALLS A9·C11 대책. 기존 게이트는 '원고에 실린 것'의 타당성만 보고
'실려야 하는데 안 실린 것'을 안 봐서, CPTAC 외부검증 5종이 통째로
누락된 상태가 두 달간 어떤 검사에도 안 걸렸다.

experiments/ 산출물을 열거해 원고 참조 여부를 경로·수치 두 경로로 보고
반영됨 / 부분반영 / 의도적 제외 / 미분류로 분류한다. 미분류가 있으면
exit 1.

초판이 전부 '반영됨'으로 통과해 두 가지를 고쳤다.
- 경로 매칭에서 조부모 디렉터리 제외: 팀원 핸들(sjpark 등)이 원고 본문에
  있어 53건 전부를 매칭시켰다.
- 수치 매칭을 소수 3~4자리로 제한: 2자리(0.53 등)는 우연 일치가 많다.

실행 결과 미분류 21건 · 부분반영 31건. CPTAC ext_* 수치는 원고 전체에
단 하나도 없음을 확인했다.
원고에 싣지 않기로 한 산출물의 사유·근거 등급·재검토 조건을 남기는 대장을
만들었다. 결과가 조용히 사라지는 것을 막는 것이 목적이다(PITFALLS A9·C11).

커버리지 게이트가 스스로를 무력화하지 않도록, 제외 인정은 `[제외확정]`
태그가 붙은 줄에 경로가 적힌 경우로 한정했다. 태그를 요구하지 않으면
'반영 예정'으로 적어 둔 CPTAC·라벨셔플까지 제외로 읽혀 게이트가 침묵한다.

현재 분류: 제외 확정 4(템플릿·더미·파일럿 전처리 요약 2), 판정 대기는
태그 없이 §2에 두어 게이트에 계속 뜨게 했다.
  - 2-1 실어야 한다고 보는 것: CPTAC 외부검증 5종, 라벨셔플 음성대조 4종
  - 2-2 구버전 대체 확인 필요: uni_v1 계열 5종 (박세진 판정)
  - 2-3 아직 이른 것: 인코더 ablation, counterfactual 재계산

미분류 21 → 17.
G6: brca 71G를 '이건규 Drive 중복'으로 오판해 일부러 제외(/home 과
/workspace 는 컨테이너 격리로 별개). crosscancer·yale_raw 는 rsync 가
code 12·255 로 끊겼는데 스크립트가 exit code 를 안 보고 DONE 을 찍음.
확보율 brca 4.7% · crosscancer 41.5% · bp01data 65.5%.

C12: 손실 대조표(LOSS_REPORT.md, 서버 인벤토리 58,464파일 크기 대조)를
만들어 놓고 원장에 안 올려 09-02 /mine 실측 전까지 묻혀 있었음. C11 의
쌍둥이 — 만드는 것과 읽히게 하는 것은 다른 일이다.

회수 요청 = BIOP02-146 #12115 (임베딩 101.7G, 볼륨 생존 중에만 가능).
@kakyungkim
kakyungkim requested a review from braveji18 September 2, 2026 12:48
@braveji18
braveji18 merged commit e61aabf into main Sep 3, 2026
1 check passed
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.

2 participants