"파일 관리자가 할 수 있는 제일 용감한 일은 멈춰 서서 '잘 모르겠어' 라고 말하는 거야. 네 데이터를 날린 도구들은 그 말을 하기엔 너무 확신에 차 있었지."
대부분의 앱이 안 갖는 상태
보통 소프트웨어는 '막혔고 애매함' 을 덮어야 할 실패로 봐. 조용히 다시 시도하고, 기본값을 고르고, 사용자가 안 귀찮게 밀고 나가지. Waygate 는 반대로 해. needsReview 라는 정식 상태를 두고, 파괴적인 단계의 증거가 모자랄 때 멈춰서 붙들어. 여기 들어가는 건 작업이 실패한 게 아니야. 제일 중요한 일 하나를 해낸 거지. 네 파일을 두고 넘겨짚지 않은 것.
여기 오는 것들
규칙은 구체적이야. 애매한 상황 뒤엔 이동도 덮어쓰기도 휴지통도 뒤처리도 자동으로 다시 안 시도해. 중단된 작업이 되돌릴 수 없는 고비 앞에 있는데 저널이 다음 단계가 안전하다고 딱 떨어지게 못 말하면, needsReview 에서 멈추고 사람을 기다려. 목적지를 제자리로 옮긴 뒤 원본 삭제 전에 죽은 경우, 원본 보관 상태가 애매한 덮어쓰기, 정말 버려진 게 맞는지 증명 못 하는 임시 파일. 전부 진행 대신 붙들어.
멈춤이 재시도를 이기는 이유
자동 재시도는 친절해 보이지만 파괴적인 작업에선 조용히 치명적이야. 확신 없던 삭제를 다시 시도한다고 안전해지지 않아. 똑같이 증거가 모자란 채로 위험한 단계를 한 번 더 돌릴 뿐이지. 반면 멈춤은 사용자의 잠깐을 쓰고 아무것도 안 잃어. needsReview 는 작고 눈에 보이는 방해 하나로 조용한 데이터 손실 부류 전체를 지워. 잃는 쪽이 돌아오지 않는 파일이라면 늘 남는 장사야.
needsReview 는 일부러 만든 정식 상태고, 애매한 상황 뒤엔 이동도 덮어쓰기도 휴지통도 뒤처리도 자동으로 다시 안 시도해. 딱 떨어지는 증거 없이 되돌릴 수 없는 고비 앞에 멈춘 작업은 사람을 기다려. 멈춤은 잠깐의 주의를 쓰고 넘겨짚음은 파일을 잃어. 그래서 멈추는 게 실패가 아니라 기능이야.
데이터는 자동 재시도에서 사라져. '튼튼한' 파일 도구가 데이터를 잃는 제일 흔한 방식이 파괴적인 작업을 감싼 선의의 재시도 반복문이야. 첫 시도가 애매한 상태를 남겼는데, 똑같이 모자란 정보로 도는 재시도가 그 애매함을 틀린 쪽으로 정리해버리지. 한 번 실패한 파괴적인 단계는 자동으로 다시 돌리는 게 아니라 사람이 봐야 해. needsReview 는 확신이 증거를 앞지르지 않게 붙드는 규율이야.