[완결] Series: 파일쓰기 재설계 이후
파일쓰기 로직 재설계가 끝난 뒤에도 이어진 5편의 기록. 무관한 작업에 휩쓸려 조용히 죽어있던 self-healing 기능, 통과했지만 아무것도 증명 못 하던 테스트, '동작한다'와 '옳다'를 헷갈린 두 번, 같은 함수를 세 번 다시 리뷰해야 했던 것, 반례가 절반만 통했던 경험까지.
-
파일쓰기 재설계 이후 — 잘 되던 기능이, 완전히 다른 작업에 휩쓸려 조용히 죽어 있었다
GitHub 이슈만 보면 `/sync`의 self-healed links 기능이 처음부터 미완성인 것처럼 보였다. 근데 git log를 직접 추적해보니 한 달 전엔 실제로 동작하고 있었다 — index.md를 걷어내고 metadataCache로 옮기는, 완전히 무관한 다른 작업에 휩쓸려 조용히 죽었을 뿐이었다.
-
파일쓰기 재설계 이후 2편 — 테스트는 통과했는데, 아무것도 증명하지 못하고 있었다
단순한 정규식 버그 하나를 고치려다가, 같은 종류의 버그가 코드베이스에 세 번 반복되고 있다는 걸 발견했다. 그중 하나는 고쳤다고 믿었던 회귀 테스트가, 사실은 아무것도 증명하지 못하고 있었다.
-
파일쓰기 재설계 이후 3편 — '동작한다'와 '옳다'를 두 번 헷갈렸다
AI 응답을 XML로 받을 필요가 있는지, 프롬프트 문구를 재사용해도 되는지 — 같은 세션 안에서 두 번이나 '실행됐다'는 것과 '내용이 맞다'는 것을 구분하지 못하고 넘어갈 뻔했다. 두 번 다 붙잡혔다.
-
파일쓰기 재설계 이후 4편 — 같은 함수를 리뷰가 세 번 다시 봐야 했다
링크를 고쳐주는 함수(`repairInboundLinks`) 하나를 놓고, 리뷰가 세 번 서로 다른 문제를 잡아냈다. 한 번은 계획에 없던 조건이 맞는지, 한 번은 커밋 메시지의 설명이 사실과 맞는지, 한 번은 고친 코드가 고치려던 문제를 다른 경로로 다시 만들어내고 있는지.
-
파일쓰기 재설계 이후 5편 — 반례로 됐던 게, 이번엔 절반만 통했다
리팩토링 제안이 방금 병합한 문서를 다시 쪼개라고 했다. 원인을 모델 비교로 추적해서 반례 하나로 완전히 고쳤다. 며칠 뒤 비슷한 문제(무관한 두 문서가 같은 링크를 달고 나옴)가 또 생겨 같은 방법을 다시 썼는데, 이번엔 절반만 통했다.