"'어느 복사본이 진짜야?' 에 대한 답은 언제나 하나여야 해. 둘이 되는 순간, 넌 버그를 지은 거야."
모든 시스템이 답해야 하는 질문
시스템 속 아무 데이터나 가리키고 물어: 이게 진실이야, 진실의 복사본이야? 진실을 쥔 저장소는 권위 있어. 복사본을 쥔 저장소 — 버리고 다시 만들 수 있는 — 는 파생이야. 잘 지어진 시스템은 쥔 모든 바이트가 둘 중 뭔지 알아. 부서지기 쉬운 시스템은 아무도 못 답하는 곳들이 있어.
파일을 옮기면 그 답이 부서져
이제 옮겨서-모으기 함정이 여기 뭘 하는지 봐. 옮기기 전엔 원본이 권위 있어 — 끝. gather 폴더로 복사하고 나면, 같은 내용에 진짜라는 주장이 동등한 파일이 둘이야. 하나를 편집해; 다른 하나는 이제 틀렸는데, 아무것도 그걸 복사본이라 표시 안 해. 모호함을 제조한 거야. 6개월 뒤 같은 에세이의 두 버전을 발견하고, 어느 걸 남기려 했는지 진짜로 못 가려. 옮기기는 네 글을 모은 게 아냐. 권위를 녹여버린 거야.
선언은 선을 밝게 지켜
레지스트리 방식은 그 선을 절대 안 넘어. 원본은 복사되지 않고 — 가리켜질 뿐이라 — 권위로 남아. Lantern 이 그것들로 짓는 전부(chunk 테이블, FTS 인덱스, 벡터)는 명백히 파생이야: 아무것도 진실이 아니고, 전부 재구축 가능하고, 어느 게 원본과 어긋나면 정의상 원본이 이겨. 두 개가 서로 진짜 복사본이라 주장하는 순간이 절대 없어.
이건 Lantern 보다 커
캐시, 검색 인덱스, materialized view, 비정규화 테이블, 썸네일, 컴파일된 에셋 — 전부 파생이야. 규율은 어디서나 똑같아: 파생으로 표시하고, 절대 두 번째 진실 소스가 되게 두지 말고, 수리가 아니라 재구축으로 복구해. Lantern 의 '인덱스는 버릴 수 있고, 원본은 성역' 자세 전체가 그냥 이 한 생각을, 예외 없이 쥔 거야.