"문서에서 한 바이트만 바뀌어도 문서 해시와 그 안의 모든 chunk id가 바뀌어. 내용 기반 주소는 재구축은 견디지만 편집은 견디지 못해."
트랙 4의 보장에는 정확한 경계가 있어
같은 원본을 같은 profile로 다시 색인하면 chunk id도 같다는 사실은 그대로야. 인덱스를 지우거나 다른 기계에서 다시 만들어도 인용은 그대로 유지돼. 하지만 chunk id에는 doc_sha256이 들어가. 문서 첫 문단의 오타 하나를 고쳐도 문서 해시가 바뀌고, 그 문서에서 나온 모든 chunk id가 새로 계산돼. 오류가 아니라 내용이 달라졌다는 정직한 반응이야.
재구축 안정성과 편집 안정성은 다른 약속이야
- 재구축 안정성: 같은 내용을 다시 수집하면 같은 id를 얻어. 내용 기반 주소가 이 보장을 해.
- 편집 안정성: 소스 문서가 달라져도 과거의 참조가 남아. 내용 기반 주소만으로는 이 보장을 할 수 없어.
검색 결과라면 문서를 다시 색인하고 새 id를 쓰면 돼. 하지만 2년 전 어떤 claim을 뒷받침한 증거가 나중의 오타 수정 때문에 사라져서는 안 돼.
증거로 삼는 순간 정확한 텍스트를 복사해
그래서 인용 구절(passage)을 만들 때 chunk id만 저장하지 않아. 그 순간 읽은 정확한 텍스트를 passage 레코드 안에 복사하고, 코퍼스와 문서 경로, 문서 해시, 문자 위치, profile 같은 출처 정보도 함께 남겨. 복사된 텍스트는 과거에 무엇을 근거로 삼았는지 영구히 알려주고, 출처 정보는 원문을 다시 찾아 현재 상태를 확인하게 해.
복사본과 출처는 서로 다른 질문에 답해
고정된 텍스트는 '그때 정확히 무엇을 인용했나?'에 답하고, 출처 정보는 '어디서 왔으며 지금도 거기에 있나?'에 답해. 뒤의 재검증 단계는 두 기록을 함께 사용해 인용을 유효(live), 위치 재고정(reanchored), 원문 이탈(drifted)로 분류할 거야. 하나만으로 다른 하나의 일을 대신할 수 없어. 증거의 내구성과 현재 원문에 대한 정직함을 동시에 얻으려면 둘 다 필요해.