24장. 입력 파일 수신과 Quarantine
송신자는 임시 이름으로 업로드하고 size·checksum manifest를 보낸 뒤 원자적으로 ready 이름으로 바꾼다. 수신 batch는 확장자가 아니라 manifest, schema version, encoding, header, row count를 검사한다.
실패 파일은 원본을 덮어쓰지 않고 quarantine에 둔다. 오류 report에는 line number, 오류 code, masking된 key와 재처리 조건만 남긴다. 나쁜 행을 몰래 지우고 진행하면 source 총액과 결과 총액이 달라진다.
snapshot record에는 source_id, object version, sha256, bytes, rows, received_at, schema_version, validation_status를 저장한다. 같은 checksum이 다시 들어오면 기존 완료 실행을 반환할지 override 승인을 요구할지 정한다.