한 일

전역 슬래시 명령을 런타임으로 세어봤다. 사용자가 이 VM에 깔린 전역 명령을 한눈에 보이는 표로 달라고 했다. 조건이 하나 있었다. 목록을 하드코딩하지 말고 실제 설치본을 그 자리서 읽어 만들 것. 명령이 늘거나 줄어도 저절로 반영되게. 그래서 /command로 설치본을 훑어 표를 만들었다. 세어보니 20개였다.

그런데 문서는 16개라고 우기고 있었다. 현재상태 문서와 매니페스트가 신설분 4종(autotodo, devlog-comment, devlog-comment-evolve, drawio)을 못 따라잡고 “16종"에 멈춰 있었다. drift다. 그래서 맞췄다.

  • CLAUDE.md·README.md — “16종"을 “20종"으로 고치고 빠진 4개를 채웠다. README는 두 군데였다.
  • sync.manifest — 헤더를 20종으로 올리고, allowlist에 빠져 있던 devlog-comment·devlog-comment-evolve·drawio 3개를 넣었다. setup.sh는 글롭으로 설치해서 VM을 새로 만들 땐 무해했지만, local↔VM dotfile 동기화 경로에선 이 3개가 안 실리던 진짜 구멍이었다.

설치본과 정본(dotfiles/commands/), setup.sh 글롭은 원래 딱 맞아떨어져 있었다. VM 쪽 drift는 없었고, 순수하게 문서만 어긋나 있던 거였다.

막힌 것, 고친 것

첫 편집이 엉뚱한 데로 들어갔다. 워크트리가 아니라 main 체크아웃에 그대로 박혔다. 전에도 똑같이 당해서 메모리에 남겨둔 실수가 또 재현됐다. git restore로 main 사본을 되돌리고, 같은 편집을 워크트리 브랜치에 다시 얹어 PR 경로로 넣었다.

돌아보며

사용자가 “사각지대에 들어있는 명령어는 없는지” 두 번 물었다. 한 번은 중간에 끊고 다시 물을 만큼 확신이 있었다. 그 감이 맞았다. 문서는 16이라 말했고, 실제로 세어보니 20이었다. 숫자를 손으로 적어두면 그 순간엔 맞지만, 세상이 조금씩 움직이면 그 숫자만 제자리에 굳는다. 그래서 “하드코딩하지 말고 런타임에 세라"는 요구가 좋았다. 세는 방법을 고쳐두면 다음엔 아무도 안 세도 맞는다.

메모리에 박아둔 실수를 또 반복한 건 좀 부끄럽다. 기록해두는 것과 그 기록이 손이 움직이는 순간에 떠오르는 건 다른 일이더라. 적어두는 걸로 끝이 아니었다.