진실의 순간은 바이트가 멈춘 뒤에 온다
수집이 끝나면 저장이 시작돼 — 그리고 두 순간의 실패 모드는 달라. 전송 중엔 실패가 시끄러워 (중단된 연결, 크기 불일치). 정지 상태에선 실패가 조용해: 디스크는 의례 없이 비트를 뒤집고, 파일은 중단된 복사에 잘리고, 파일시스템은 불량 블록을 표시하고 조용히 재배치해. 저장 손상을 알리는 건 아무것도 없어. 파일은 그냥 거기 앉아, 틀리게, 무언가 그걸 로드하는 날까지.
착지 후 검증은 그래서 다운로드 관심사가 아니야 — 세 순간을 가진 저장 훈련이지:
- 착지 점검 (한 번). 이 트랙의 완전한 의례: 크기, 그다음 다이제스트, 그다음 — 지원하는 포맷이면 — 구조 파싱(safetensors 헤더 열기, GGUF 메타데이터 덤프). 파싱은 다이제스트가 기술할 수 없는 걸 잡아: 바이트는 완벽하지만 주장된 포맷과 구조적으로 불일치인 파일.
- 이전 점검 (모든 복사). 바이트가 움직일 때마다 — 디스크에서 디스크로, 머신에서 NAS로, 클라우드에서 로컬로 — 손상의 새 기회야. 다이제스트 기록이 아티팩트와 함께 여행하는 건 정확히 모든 사본이 자기 정체성을 다시 벌 수 있게 하려고야. 재점검 없는 이전은 검증된 파일의 역사를 입은 미검증 사본이야.
- 정지 점검 (주기적으로). 저장된 다이제스트의 느린 스윕(월간이든 분기별이든 규모에 맞게)은 회복이 아직 가능할 때(그게 복제의 존재 이유지) bit rot과 조용한 붕괴를 잡아.
각 악기가 보는 것
세 악기를 전부 써. 서로 다른 걸 보거든. 크기는 잘림을 싸게 잡아. 다이제스트는 기록된 참조와의 바이트 동일성을 증명해 — 일꾼이지. 구조 파싱은 포맷 온전성을 증명해: JSON 헤더가 디코딩되고, 오프셋이 파일 안에 떨어지고, 텐서 수가 인덱스와 맞아. 파일은 하나를 통과하고 다른 걸 실패할 수 있어: 운 좋은 크기의 잘린 파일, 파싱은 되는 손상 헤더, 내용이 틀린 온전한 파일. 싼 점검부터 순서대로, 비싼 신뢰는 마지막에 — 리뷰 데스크의 규칙을 자기 저장소에 적용한 거야.
루틴으로 만들기
훈련 전체는 이 퀘스트의 연습에서 이미 쓴 스크립트로 압축돼: 아카이브를 걷고, 크기와 다이제스트를 SHA256SUMS와 비교하고, 파일마다 한 줄 보고해. 예약해 두고, 모든 이전 뒤에 예외 없이 돌리고, FAILED는 복구 이벤트로 다뤄 — 낙관이 아니라 복제에서 당겨와. 아카이브의 건강은 달성하는 상태가 아니라. 계속 취하는 측정이야.