"최고의 이주는 절대 안 돌리는 이주야. 파일이 이미 사는 곳에서 읽어."
이주의 유혹
기존 모델 파일을 써야 하는 새 엔진을 지을 때, 본능은 걔네를 네 세계로 데려오는 거야: 네 폴더 구조로 복사하고, 네 관례로 이름 바꾸고, 어쩌면 symlink 해서 네 것처럼 보이게. 소유권 갖는 것처럼 느껴져. 실제론 위험을 떠안는 거야 — 실패할 수 있고, 기가바이트를 복제하고, 옛 툴이 여전히 기대하는 파일을 고아로 만드는 이주 단계.
대신 제자리에서 흡수해
엔진은 반대 입장을 취해: 기존 모델 디렉토리를 스캔하고 모든 파일을 이미 사는 곳에서 읽어. 옮기기 없음, 이름 바꾸기 없음, private 구조로 symlink 없음. 엔진은 모델 디렉토리의 병렬 reader 지, 그걸 재배치하는 새 installer 가 아니야. 파일은 정확히 있던 데 남고; 엔진은 제자리의 걔네를 가리키는 registry 만 지어.
왜 이게 한 부류의 버그 전체를 피하는지
이주는 데이터가 죽으러 가는 데야. 반쯤 완료된 복사는 일관성 없는 상태를 남겨. 옛 툴이 기대 안 한 rename 은 옛 툴을 깨고. symlink 는 경로가 바뀌면 썩어. 이 하나하나가 파일을 절대 안 옮기면 그냥 없는 실패 양상이야. 제자리 흡수는 더 깔끔할 뿐 아니라 — 원인이 되는 그 일을 거부해서 실패 카테고리 전체를 삭제해.
공존이 기능이야
엔진이 제자리에서 읽고 레이아웃을 절대 안 바꾸니까, 옛 툴이 정확히 같은 파일에서 계속 돌 수 있어. 전환 중에 새 엔진이랑 옛것 사이에서 고를 필요 없어 — 둘 다 같은 디렉토리를 읽고, 어느 쪽도 다른 쪽을 안 밟아. 그 공존이 새 엔진 채택을 저위험으로 만드는 거야: 뭔가 잘못되면, 옛 툴이 바로 거기, 안 건드려진 채, 여전히 작동해.