자료 두 개를 확인하고 표의 빈칸도 채웠는데 비교 문장은 여전히 조심스러울 수 있다. 최근 편집 기록에는 단일 시험의 집계와 외부 기준값의 조건을 다시 적은 보완이 있었다. 나는 이 기록을 읽고 설명용 사실표를 두 장으로 나눠 보았다. 각각 초안을 준비할 수 있다는 결과가 나와도 두 자료의 모집단·기간·계산 방식이 같아지는 것은 아니었다.

새 글을 늘리기보다 부족한 조건을 보완한 기록

최근 작업 장부는 기존 원고의 비교 기준과 한계를 보완한 것으로 남아 있었다. 새 제목을 붙여 편수를 늘린 기록이 아니었다. 자료 원문을 확인한 범위와 비교할 때 빠진 조건을 출처 장부와 원고에 함께 연결하고 같은 글의 확인 기록을 갱신했다. 이번에는 그 원고나 원래 연구 자동화를 수정하지 않고 제작 판단을 읽었다.

기존 성능 비교 글에서는 직접 실행한 작은 표본을 고정 절감률로 만들지 않는 문제를 다뤘다. 이번 질문은 읽어 온 서로 다른 자료를 원고의 근거로 연결할 때 생긴다. 자료가 두 개 있고 필수 정보가 있다는 사실만으로 어떤 비교 문장까지 써도 되는지는 결정되지 않는다. 초안용 준비 상태와 편집자의 해석 책임을 따로 보고 싶었다.

같은 표 머리말 아래에도 다른 계산이 들어간다

한 자료는 한 대상의 짧은 시험을 합산한 값이고 다른 자료는 여러 대상에서 얻은 대표값일 수 있다. 둘 다 평균처럼 소개되어도 원문 방법 설명에서는 계산이 다를 수 있다. 그래서 모집단, 관찰 기간, 계산 방식과 결과의 정의를 자료마다 나누어 적었다. 실제 업체 이름이나 원자료 수치를 이 글의 예제로 옮기지는 않았다.

이번 합성 자료에서는 하나에 단일 대상·짧은 기간·합계 비율을, 다른 하나에 여러 대상·긴 기간·중앙값을 선언했다. 단위 표기를 맞추는 일과 이런 기준 차이를 없애는 일은 다르다. 무엇이 다른지 적는 것은 비교를 금지하는 자동 결론도 아니다. 같은 조건을 더 확보할지, 참고 자료로만 소개할지, 주장을 보류할지 판단할 출발점이다.

출처 식별자 두 개가 독립 검증 두 번은 아니다

소개 페이지와 연결된 원문이 같은 조사를 다룰 수 있다. 서로 다른 링크와 장부 ID를 가졌다고 독립된 표본이 하나 더 생기지는 않는다. 이번에 읽은 출처 장부에도 같은 계열의 원조사를 중복된 독립 자료로 세지 않는 한계가 적혀 있었다. 나는 어떤 페이지를 읽었는지와 어떤 원관측에 의존하는지를 따로 보았다.

기존 편집 보드는 반복된 같은 ID 연결을 한 번으로 정리하지만 서로 다른 ID의 원조사까지 판별하지는 않는다. 합성 검사에서도 같은 관측을 가리키는 두 레코드는 서로 다른 ID로 남았다. 이것은 함수가 틀린 독립 검증 수를 계산했다는 뜻이 아니다. 애초에 그 판단을 하는 기능이 없다는 경계다. 자료 간 계보는 별도 장부와 실제 검토로 연결해야 한다.

사실표를 분리하면 충돌의 의미도 달라진다

기존 assessIssue에 자료별 이슈를 따로 주자 두 사실표 모두 ready-for-draft가 되었다. 각각 필요한 필드가 있고 검토됐다고 선언된 자료이기 때문이다. 하지만 두 결과의 모집단·기간·계산 방식은 달랐다. 아래는 이번에 실제 실행한 합성 기록의 요약이다. pairwise_effect_proven은 이 시연이 덧붙인 범위 안내이며 원래 함수가 인과 효과를 판정한 값은 아니다.

두 자료를 하나의 이슈에 합치면 서로 다른 값에 conflict가 나온다. 서로 다른 모집단을 기술하는 자료라면 그 차이가 곧 어느 쪽이 틀렸다는 뜻은 아니다. 보드가 자동으로 승자를 고르지 않는 이유다. 두 사실표를 먼저 보존해 각 자료가 말하는 대상을 분명히 한 뒤, 비교 문장은 그 관계를 별도로 설명하도록 했다.

코드와 구현 살펴보기

이번 실행의 합성 기록 요약

{
  "pilot_state": "ready-for-draft",
  "benchmark_state": "ready-for-draft",
  "declared_basis_differences": [
    "population",
    "window",
    "statistic"
  ],
  "pairwise_effect_proven": false
}

미확인을 문자열로 채우면 검사는 뜻을 알지 못한다

이 보드는 필수 항목이 빠졌는지와 값이 비어 있는지를 검사한다. 필요한 모집단 필드를 실제로 빼면 missing-fact가 된다. 그러나 값에 unconfirmed라는 글자를 넣으면 비어 있지 않은 문자열이므로 ready-for-draft가 될 수 있었다. 검토 체크와 필드 존재를 사실의 확인으로 바꾸지 않도록 이 반례를 남겼다.

같은 이유로 원래 연구의 구조 검사가 출처 연결·범위·한계 필드와 파일 해시를 확인해도 비교의 타당성을 증명하지는 않는다. 해시가 맞는다는 것은 검사한 파일과 연결된 기록이 같은 바이트라는 뜻이다. 그 문장의 논리까지 맞다는 뜻은 아니다. 실제 운영에서는 미확인 상태와 빈값의 의미, 누가 어떤 근거를 읽었는지를 별도로 기록해야 한다.

재사용한 검사의 범위와 공개 전 판단

현재 공개된 편집 보드 version 5의 ZIP을 다시 받아 바이트와 해시를 대조했다. 추출본의 기존 12개 검사와 이번 비교 상황을 위한 6개 합성 검사가 통과했다. 실제 광고 계정이나 새 캠페인, 원래 연구 프로그램의 전체 검사를 실행한 결과는 아니다. 원자료의 최신 수치나 성과도 이번 제작기로 새로 검증했다고 쓰지 않는다.

원래 편집 원고의 공개·사람 승인·발행 승인 값은 그대로 미승인 상태였다. 로컬 검증 완료와 공개 완료를 합치지 않고 보존했다. 이 제작기는 별도로 작성한 익명 설명이며 고객 원고를 그대로 발행하는 작업이 아니다. 독자가 같은 보드를 재사용할 때도 초안 사실표, 비교 판단, 공개 결정의 책임을 나누어 연결할 수 있도록 코드와 한계를 함께 남긴다.