맞는 모양이라고 면역은 아냐
여기까지가 콜드 패스가 맞는 배치라는 논증이야. 맞고, 실패 양상이 정확히 둘 있어. 정확히 이름 붙일 값어치가 있어. 하나는 스스로 티가 나고 하나는 안 나거든. 그리고 각각의 방어가 완전히 달라.
실패 하나: 자기 자신으로부터 복구 불가
차가운 독자가 되는 이유는 손상된 텍스트만으로 대개 뜻을 복구할 수 있기 때문이야. 가끔 안 돼. 문장이 의도가 진짜로 사라질 만큼 망가져 있고, 독자는 나쁜 선택지 둘 사이에 끼어. 그래도 고치면 지어내는 거고, 원본을 보면 그 패스가 더 이상 차갑지 않게 되고.
실제로 있었던 일이야. 수리 도중에 어떤 세션이 원본을 봤고, 자기 맥락에 방금 뭘 했는지 즉시 알아챘고, 계속하는 대신 멈췄고, 실행을 다른 세션에 넘겨달라고 했어. 그렇게 이어졌고 작업은 깨끗하게 착지했어.
거기서 챙길 게 둘이야. 인스턴스가 스스로를 잡았어. 계약의 정직 의무가 진짜 일을 하고 있다는 뜻이지. 그리고 그 자리에서 맞는 복구 방법을 지어냈어. 이 작업장 자기 논지대로라면, 그건 그 복구가 즉흥이길 그만둬야 한다는 논거 그 자체야. 지금은 자기 로그 이벤트를 가진 이름 붙은 출구고, 다음 세션은 쫓기면서 즉흥하는 대신 길을 따라가.
실패 둘: 혼자 고치면서 지어내기
독자가 뜻을 복구 못 한 채로, 매끄럽고 자연스러운 결과물을 내놓는데 그게 자료가 한 적 없는 말을 해. 이쪽이 더 나쁘고, 이유는 구조적이야. 지어낸 문장은 구조적으로 제일 잘 읽히는 문장이니까, 다른 사람의 꼼꼼한 콜드 리드까지 포함해서 모든 검사를 통과해. 증상이 없어. 유창함이 증상인데, 유창함이 네가 만들려던 거였고.
어떤 결과물 검사도 이걸 못 잡아. 방어는 대장이어야 해. 수리를 시작하기 전에, 자료 자체에서 주장, 숫자, 식별자, 명령, 링크, 가르치는 순서를 전부 뽑아내. 대장은 오염 비용이 0 이야. 전부 독자가 봐도 되는 자료에서만 나오니까. 끝난 뒤엔 대조해. 대장의 항목이 전부 여전히 참이거나, 아니면 사람이 승인할 의도적 삭제로 올려.