Skip to content

Fernandez-Romero 2026 전문 기반 재분석 + BIOP02 대조표 #149

Fernandez-Romero 2026 전문 기반 재분석 + BIOP02 대조표

Fernandez-Romero 2026 전문 기반 재분석 + BIOP02 대조표 #149

# PR 검증 게이트 (BIOP02-106).
#
# 배경 — 리포에 검증 자산은 갖춰져 있는데 .github/workflows/ 가 없어, 만들어 둔 검증이
# PR 에서 한 번도 자동으로 돌지 않았다(사람이 기억해서 돌릴 때만). 이번 주 불일치 3건이
# 전부 눈으로 대조해야만 발견되는 종류였고 5일~2주씩 방치됐다. BIOP01 harness-doctor.yml 선례.
#
# 범위(최소안) — 결정론·오프라인·현재 통과하는 검증기만 blocking 으로 건다.
# 1) critic_pilot mutation_check — scorer 가 케이스에 실제로 제약되는지(회귀)
# 2) citation_verifier mutation_check — medsci 회귀 버그(약한 제목검색 통과 등)가 죽어 있는지
# 3) check_number_drift --strict — JSON 정본 ↔ markdown 표 수치 드리프트(BIOP02-107)
#
# 확장 2026-08-06 (BIOP02-106 후속) — 이번 주 신설·수정된 검증기 편입:
# 4) validation_harness --strict — 게이트가 도메인 실수(split 누수·critic 위조·수치 드리프트)를
# 실제로 잡는지 mutation 으로 검사(BIOP02-129). BIOP02-130·131 수정의 **회귀 방지**가 목적:
# 고쳐 놓은 공허통과·위조통과가 다시 열리면 여기서 즉시 실패한다.
# 5) manuscript_parity_ko_en --strict — 국/영문 판본의 수치·heading·인용·표 정합(BIOP02-133).
# EN 원고가 없으면 대조 쌍이 없어 통과하므로, 영문화 이전에도 안전하게 걸어 둘 수 있다.
# 6-b) test_gate_vacuous_pass — 136 이 만든 회귀 테스트. braveji 실측(#11759)대로
# 이게 없으면 136 의 가드가 통째로 되돌아가도 CI 가 초록이었다(스텝 4 하네스가 미커버).
# 하네스에도 같은 두 케이스를 넣었으나, 전용 테스트도 함께 건다(중복이 아니라 이중 그물).
# 6) verify_split_integrity — 실제 코호트 split.csv 로 누수 검사(BIOP02-130 수정 후 계약 확인).
# 임베딩·GPU 불요(split.csv 만 읽음).
#
# 명시적 비범위 — agents/critic/auto_review_config.json 의 enabled 플래그는 건드리지 않는다
# (M7: 팬텀 배선. BIOP02 하네스 스왑 전 활성화 금지). 라우터 문서도 손대지 않는다.
name: critic-validators
on:
pull_request:
branches: [ main, feat/BIOP02-91-kkkim-multifm-virchow2 ]
push:
branches: [ main ]
jobs:
validators:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: critic_pilot 회귀 (scorer mutation)
run: python evals/critic_pilot/mutation_check.py
- name: citation_verifier 회귀 (medsci 버그 replica 사망 확인)
run: python evals/citation_verifier/mutation_check.py
- name: 숫자 드리프트 (JSON 정본 ↔ markdown 표, BIOP02-107)
run: python agents/critic/scripts/check_number_drift.py --strict
- name: 게이트 mutation 하네스 (BIOP02-129 · 130/131 회귀 방지)
run: python evals/validation_harness/run_validation.py --strict
- name: split 누수 검사 계약 (BIOP02-130)
run: |
python agents/modeling/scripts/verify_split_integrity.py \
--manifest experiments/crosscancer/LUNG_NSCLC/full/split.csv \
--out /tmp/split_integrity_ci.json
- name: 게이트 공허통과 회귀 (BIOP02-130/131/136, 10 케이스)
run: python agents/critic/tests/test_gate_vacuous_pass.py
- name: 국/영문 정합 (BIOP02-133, EN 없으면 통과)
run: |
python agents/critic/scripts/manuscript_parity_ko_en.py \
--ko manuscript/DRAFT_paperC_full_ko.md \
--en manuscript/DRAFT_paperC_full_en.md --strict