이름은 맞는데 수집할 영상이 없었다. K-POP PULSE의 8월 4일 작업 기록에는 같은 아티스트 이름을 사용하는 서로 다른 채널을 조회한 결과가 남아 있다. 비슷한 핸들에서 밑줄 하나가 빠졌고, 등록한 식별자는 내가 연결하려던 채널과 달랐다.
문제는 글을 못 쓴다는 데서 끝나지 않는다. 출처를 잘못 등록하면 다음 글도 그 출처를 신뢰하게 된다. 나는 당시의 조회 결과와 정정 코드, 실제 정정 응답을 다시 읽었다. 특정 계정을 지금 평가하기보다 홈페이지가 자료의 신원을 어떻게 확인해야 하는지 설명하려 한다.
표시 이름을 확인했다고 소유자를 확인한 것은 아니었다
초기 작업에는 페이지 제목을 대조해 후보를 확인하는 과정이 있었다. 하지만 그 뒤의 API 조회에서는 서로 다른 식별자가 같은 표시 이름을 가지고 있었다. 이름이 맞다는 검사만 통과시켜서는 내가 찾는 운영 주체의 자료인지 알 수 없다는 장면이다.
당시 구독자 수와 영상 수의 큰 차이는 다시 살펴볼 단서였다. 그렇다고 작은 채널은 잘못된 출처이고 큰 채널은 공식이라는 규칙을 만들 수는 없다. 새로 시작한 채널도 있다. 나는 규모를 소유자의 증명으로 쓰지 않고 연결 근거와 게시물 맥락을 확인할 이유로 남긴다.
후보 주소를 풀고 연결 근거를 따로 읽는다
현재 공식 API 안내에서는 핸들로 채널을 조회하고 반환된 채널 식별자로 다시 조회할 수 있다. 이름과 핸들은 다른 값이며 핸들은 바뀔 수 있다. 조회 필터도 안내된 계약에 맞춰 선택해야 한다. 조회 결과가 있다는 사실은 그 채널의 운영 주체까지 인증했다는 뜻이 아니다.
다른 홈페이지에서 적용한다면 먼저 이미 확인한 공식 홈페이지나 공지가 그 채널로 연결하는지 살핀다. 그 주소를 해석한 결과, 게시물의 대상과 내용, 확인한 시점을 함께 남긴다. 검색에서 비슷한 이름을 찾았다는 이유로 이 연결 확인을 생략하지 않는다. 공식이라는 낱말 자체도 확인 근거로 충분하지 않다.
등록을 잠그는 것만큼 정정 통로도 필요했다
당시 등록 통로는 신원 필드를 쉽게 바꾸지 않도록 되어 있었다. 그런데 잘못된 식별자가 들어간 뒤에는 그 보호가 복구를 어렵게 했다. 임시 수정 프로그램을 늘리는 대신 별도의 정정 통로를 만들고 이전 연결과 새 식별자, 확인한 핸들과 제목을 응답에 남겼다.
이 통로가 신원을 스스로 판정한 것은 아니다. 편집자가 확인한 값을 받아 저장을 일관되게 수행하는 역할이었다. 나는 확인할 사람의 책임과 프로그램의 저장 책임을 나눈다. 입력에 verified라는 이름을 붙였다고 근거 없이 들어온 값이 검증되는 것은 아니므로 호출 전 자료를 읽는 절차가 필요하다.
정정 성공과 수집 성공도 다른 결과였다
기록에는 정정 관련 검사를 추가한 뒤 당시 검사 묶음 87개가 통과하고, 로컬 정정 응답에서 이전 주소와 새 채널 값이 반환된 결과가 있다. 이어서 수집을 돌렸지만 RSS 경로에서는 새 항목이 나오지 않았다. 그 회차는 API 대체 경로에서 다섯 항목을 가져온 것으로 남아 있다.
운영 주소의 정정도 처음 두 응답은 404였고 후속 응답에서 정정 상태가 반환됐다. 나는 이 중간 결과를 지우고 한 번에 해결했다고 쓰지 않는다. 신원 정정, 수집 경로, 운영 반영을 각각 확인해야 어디까지 해결됐는지 말할 수 있다. 과거 검사 수는 현재 서비스 전체의 상태를 보증하는 숫자로 쓰지 않는다.
미확인 상태를 남길 수 있게 설계한다
새 사이트라면 후보를 발견한 상태와 공개에 사용할 수 있는 출처 상태를 구별할 수 있어야 한다. 연결 근거가 없으면 등록을 보류하고 무엇을 더 확인할지 남긴다. 자동 수집이 빠른 것보다 잘못 연결된 자료를 다음 글의 근거로 계속 사용하지 않는 편이 중요했다.
아래는 이 경험을 다른 프로젝트에 가져갈 때 사용할 새 설명용 장부다. 실제 채널 식별자나 원본 등록 API는 아니다. 관계와 확인 시점을 적는 틀이다. 정정할 때는 새 값뿐 아니라 이전 값과 그 값을 바꾼 이유를 남기면 다음 작업자가 다시 판단할 수 있다.
코드와 구현 살펴보기
새 설명용 신원 검토 장부. 예시 값은 검증된 채널이 아니다.
{
"candidate_name": "Illustrative Group",
"candidate_handle": "editor supplied",
"resolved_channel_id": "actual API result",
"linked_from_verified_home": "retain inspected evidence",
"review_state": "pending or reviewed",
"observed_at": "actual lookup timestamp"
}
// New explanatory record; placeholders are not verified identities.한 번의 정답보다 다시 확인할 수 있는 연결을 남긴다
홈페이지의 출처는 처음 등록한 뒤 그대로 두는 설정에 그치지 않는다. 운영 주체의 연결이나 핸들이 달라질 수 있고 같은 이름의 후보가 더 생길 수도 있다. 다시 읽어야 할 근거와 이전 정정 내역을 찾을 수 있어야 글을 계속 쓸 때도 출발점을 확인할 수 있다.
나는 확인하지 못한 자료를 조용히 공식으로 바꾸지 않는 구조를 남기고 싶다. 이번 글의 경험은 과거 조회와 정정 기록에서 왔고, 식별 방법은 현재 공식 안내로 다시 확인했다. 특정 채널의 현재 상태를 재판정한 결과나 모든 출처를 자동 판별하는 기능으로 소개하지 않는다.