600번 나타난 기사, 서로 다른 URL은 194개
뉴스 수집기가 과거의 판단을 설명하고 고칠 수 있으려면, 먼저 같은 항목이 다시 들어왔는지 알아야 한다. 보관된 피드에는 600번의 출현이 기록돼 있었다. URL 표기를 정리해 식별하니 서로 다른 URL은 194개였다. 나머지 406번은 그 기록에서의 반복 출현이지, 새로 읽을 기사 406개가 아니었다.
판정보다 먼저 식별
같은 주소도 스킴이나 선택적인 www 표기가 다를 수 있다. 이를 정규화한 URL에서 안정적인 식별자를 만들었다. 기존 항목을 다시 채우는 과정에서 식별자 충돌은 없었다. 이는 서로 다른 주소의 기사들이 같은 사건을 다룬다는 뜻까지 판별한 것이 아니다. 해결한 문제는 더 좁다. 이미 본 URL인가?
이 식별자가 생기자 최초 판정과 나중의 정정을 같은 항목에 연결할 수 있었다. 초기 점수 규칙으로 9일치 판정을 다시 실행해 날짜별 채택 건수를 비교했는데, 기존의 이진 판정 방식과 9일 모두 같았다. 설명 계층을 추가하면서 발행 결과까지 조용히 바꾸지 않았는지 확인한 것이다.
제외한 자료도 남기기
버린 자료를 다시 볼 수 없다면 잘못된 제외 판단도 고칠 수 없다. 그래서 수집 원본과 제외 항목을 확인하는 층을 발행 피드와 별도로 유지했다. 규칙 파일을 없애 실패를 유도한 시험에서는 원본 수집이 실패했지만 기존 발행 경로는 끝까지 진행됐다. 두 경로가 맡은 책임이 다르다는 것을 확인했다.
URL 식별자가 피드를 스스로 판단하게 만드는 것은 아니다. 그것은 한 질문에 답하게 한다. “이 링크를 전에 본 적 있는가?” 원본을 보존해야 다음 질문도 가능해진다. “이 항목을 싣거나 뺀 이유가 타당했는가?”