정정부터 한다. 지난 두 편에서 그 백업에 폴더가 다섯 개 있다고 적었다. 이번에 다시 세어 보니 여섯 개였다.
빠뜨린 하나는 '4.0' 이었다. 안을 열어 보면 계획서와 빈 폴더가 대부분이라, 머릿속에서 완성본 목록에 넣지 않았던 것 같다. 지난 편 끝에는 폴더 이름에 전부 '완성'이 붙어 있었다고도 썼는데, 그것도 부풀린 말이다. 이름에 COMPLETED 가 붙은 폴더는 하나고, 나머지는 문서 안에 '완성'·'100%' 가 적혀 있었다. 이 연재는 세어 본 대로 적기로 했으니 둘 다 고쳐 둔다. 그리고 그 착오가 이번 이야기와 무관하지 않다 — 나는 그 시절 무엇이 완성이고 무엇이 아닌지를 늘 이렇게 대충 셌다.
'COMPLETED' 를 열어 봤다
폴더 이름 중 가장 자신만만한 것은 Lumi-AI-3.0-COMPLETED 였다. 3.0 을 끝낸 뒤 완성본을 따로 떼어 둔 것처럼 보인다.
두 폴더를 파일 단위로 비교했다.
$ diff -rq Lumi-AI-3.0 Lumi-AI-3.0-COMPLETED
Only in Lumi-AI-3.0: .git
Only in Lumi-AI-3.0: .gitignore
Only in Lumi-AI-3.0: .claude
Only in Lumi-AI-3.0: .DS_Store
코드는 한 줄도 다르지 않았다. COMPLETED 는 3.0 에서 버전 기록(.git)과 설정 파일을 뺀 사본이었다. 완성된 무언가가 아니라, 완성이라는 이름표였다.
그 이름표를 붙이며 오히려 버전 기록을 떼어 냈다는 게 지금 보면 아이러니다. 가장 '완성'에 가까웠던 폴더가 자기 이력은 하나도 갖고 있지 않았다.
최적화했다는 코드가 바이트까지 같았다
v2.5 문서에는 러스트로 짠 백엔드를 "최적화했다"고 적혀 있다. v2.0 의 같은 파일과 비교했다.
세 파일 — 624줄, 156줄, 104줄 — 이 바이트 단위로 똑같았다.
문서가 거짓말을 한 걸까. 나는 그렇게 보지 않는다. 그 무렵 나는 AI 에게 "최적화해 줘" 라고 자주 말했고, AI 는 무언가를 했다고 답했고, 나는 그 답을 문서에 옮겼다. 파일이 실제로 바뀌었는지는 확인하지 않았다. 확인할 줄 몰랐다는 게 더 정확하다.
숫자는 올라가는데 내용은 뒤로 갔다
지난 편에 v2.1 이 v2.0 보다 파일이 적다고 적었다. 이번에는 무엇이 빠졌는지 봤다.
v2.0 에 있던 가중치 투표 방식 세 가지가 v2.1 에는 없다. 여러 AI 가 의견을 낼 때 누구 말에 얼마나 무게를 둘지 정하는, 이 앱의 핵심 부품이었다. 코드 줄 수로는 8,038줄에서 5,518줄로 줄었다.
그리고 v2.5 는 다시 8,065줄이 된다. 빠졌던 것이 돌아온 것이다. 새로 만든 게 아니라 v2.0 을 다시 복사해 온 흔적이다.
버전 번호는 2.0, 2.1, 2.5 로 착실하게 올라갔다. 안에서는 앞으로 갔다가 뒤로 갔다가 제자리로 돌아왔다. 번호만 보면 진화였고, 내용을 보면 왕복이었다.
있어야 할 폴더가 없었다
문서를 읽다 이상한 걸 발견했다. 여러 문서가 MultiAI-Desktop/ 이라는 폴더를 가리킨다. 문서 세 개가 열 번 넘게 "여기에 있다" 고 적는다. LumiAI-Archive/ 라는 폴더도 한 번 나온다.
백업 어디에도 그 두 폴더는 없다.
이건 내 기억과 맞는다. 나는 그 시절 버전을 여러 개 지웠다. 다 남기고 싶었지만 노트북 용량이 모자랐다. 무엇을 지웠는지는 기억나지 않는데, 문서가 대신 증언하고 있었다. 지운 폴더의 주소를, 남은 문서가 아직 부르고 있었다.
커밋은 하나, 파일은 천백 개
지난 편에 적은 대로 버전 기록에 남은 커밋은 딱 하나다. 날짜는 2025년 8월 4일.
그런데 파일들이 마지막으로 수정된 날짜를 모아 보면 이야기가 달라진다. 약 1,100개 파일이 8월 9일부터 11일 사이에 몰려 있다. 유일한 커밋보다 닷새 뒤다.
그러니까 나는 처음에 한 번 기록을 남기고, 정작 가장 많이 일한 사흘 동안은 아무것도 기록하지 않았다. 그 사흘 사이의 변화는 폴더를 통째로 복사해 이름 뒤에 숫자를 붙이는 방식으로만 남았다. 그 복사본 가운데 몇 개는 용량 때문에 지워졌고.
지금은 어떻게 하나
자책하려고 쓰는 글은 아니다. 그때의 나는 버전 관리를 몰랐고, 모르는 채로 할 수 있는 만큼 했다. 다만 그때와 지금이 달라진 지점은 적어 둘 만하다.
하나, '완성'을 이름에 붙이지 않는다. 완성인지 아닌지는 폴더 이름이 아니라 확인 결과가 말한다. 지금 우리가 쓰는 원고에는 "검증됨" 대신 "어느 절을, 누가, 언제, 몇 초 만에 따라 해 봤는지"를 적는다.
둘, 고친 것은 덮어쓰지 않고 남긴다. 이 글을 쓰는 주에도 원고 하나를 크게 고쳤는데, 고치기 전 판을 옆에 남겨 두었다. 나중에 무엇이 바뀌었는지 다른 사람이 대조할 수 있게.
셋, AI 가 "했다" 고 하면 파일을 본다. 최적화했다는 코드가 바이트까지 같았던 경험이 이 습관을 만들었다. 한 줄이면 된다 — 바뀌었는지 비교해 보는 것.
그 시절의 폴더들은 지금 돌이켜 보면 실패의 증거라기보다 배우기 전의 기록이다. 무엇을 몰랐는지가 이렇게 선명하게 남아 있는 기록은 흔치 않다.
다음 편은 그 폴더 안의 문서들 이야기다. 3.0 에 든 문서 24개 가운데 11개가 "완료" 를 선언하는 보고서였다. 쓴 것은 내가 아니었다.
이 연재의 앞 편: ① 여러 AI에게 회의를 시키고 싶었다 · ② 클로드가 루프에 빠지면 Kiro를 켰다