코드화의 메타: 만들기보다 호출되게 하기
1편이 시스템을 어떻게 코드화할지, 2편이 외부에 나가는 것을 어떻게 검증할지, 3편이 코드화한 검증 자체를 다시 검증하는 회고였다면, 4편은 코드화한 규칙을 어떻게 자동으로 호출시킬 것인가에 대한 회고. 두 변곡점, 한 가지 명제.
1. 메모리에서 코드로
2026-05-02. "메모리에 다 박지 말고 코드화 가능한 건 코드화" — 한 마디 던진 그날이었다. 거슬렸던 건 메모리 라인 수가 아니었다. 같은 패턴이 메모리로만 남고 hook 으로 안 가서, 사고와 판단이 매번 reactive로 reset되는 게 보였다. 메모리에 적힌 규칙이 읽혀야 작동하는 동안, hook으로 옮긴 규칙은 호출되는 시점에 무조건 작동한다. 차이는 거기서 갈렸다.
그 인식에서 L4 → L1 promotion audit이 나왔다. 메모리에 흩어져 있던 17개 패턴을 hook으로 옮기고, 19개를 폐기하고, 새 hook 5개를 신설했다. 메모리는 코드의 대체물이 아니라, 코드로 변환되지 않는 것 — 판단, 원칙, voice — 이 마지막에 남는 자리만 남겼다.
메모리를 코드로 대체할 수 있는 데이터가 부족하다면, 그건 그 데이터를 정의할 분류가 부족한 것이다.
2. 있어도 안 꺼내면 없는 것
며칠 후. 코멘트 초안 하나에 네 가지를 동시에 지적한 일이 있었다. 길이가 과하다, 사람 냄새가
없다, 자동 분류 봇 분석을 재인용한 이유는 무엇이냐, 질문은 왜 그렇게 많냐. root cause는
자명했다 — 관련 메모리 다섯 개가 모두 있었고, MEMORY.md 원칙 라인에
"조사·회신·이관 시작 시 관련 feedback memory를 사전 grep/read"까지
명시돼 있었지만 호출되지 않았다.
그 순간 책임 위치가 한 칸 옮겨졌다. 지적 네 개를 던지는 게 내 일이 아니라, 메모리가
자동으로 떠오르게 만드는 게 진짜 일이라는 것. 1편의 코드화가 사고의 코드화였다면,
이건 코드를 호출하는 트리거의 코드화 — 두 번째 layer다. 시스템 수정은 메모리 추가가
아니라 매핑 보강이었다. surface_relevant_memory.sh의 PreToolUse hook topic
매핑에 누락 키워드 (role_boundary / cold_reference /
section_headers)를 추가했다. 다음 시도에서 동일 작업 진입 직전 메모리 본문이
자동 inject됐고, 같은 실수가 재발하지 않았다.
규칙은 만든 자리가 아니라 호출되는 자리에서 작동한다.