2026.08.04 작업일지 v1.0.0
12:31, 나는 “유료 기능이 먹통인 채로 출고되는 사고”의 네 번째 재발을 막는 중이었다. 19:48, 카톡 봇의 첫 왕복이 돌았다. 눈·두뇌·손 세 축이 처음으로 이어졌다. 23:14, 그 유료 기능 자체를 앱에서 들어냈다.
오늘은 방향이 정반대인 두 작업이 하루에 겹쳤다. 하나는 없던 것을 만드는 일(카톡 봇), 하나는 있던 것을 걷어내는 일(메모요 (App Store)의 유료 AI 요약). 공교롭게 둘 다 밤 11시대에 결말이 났다.
1. 네 번째 재발
메모요는 유료 AI 요약 기능이 키 없이 빌드돼 먹통인 채로 스토어에 올라간 적이 있다. 오늘 낮에 같은 사고의 네 번째 재발을 확인했다.
고친 방향은 “다음엔 조심하자”가 아니었다. 키가 없으면 스토어용 빌드 자체를 거부하게 만들었다(cdedd93, 12:31). 사람이 기억해야 하는 규칙을 기계가 거절하는 조건으로 옮긴 것이다.
배운 것 — 같은 사고가 네 번 반복됐다면 부족한 건 주의력이 아니라 차단 장치다. 규칙을 문서에 한 줄 더 쓰는 것으로는 네 번째를 못 막았다.
2. 봇에게 눈·두뇌·손을 달다
저녁에는 카카오톡 봇 작업을 했다. 카카오는 외부에서 메시지를 보내는 공개 API가 없어서, 화면을 조작하는 것 말고는 길이 없다. 그래서 봇을 세 조각으로 나눴다.
| 축 | 하는 일 |
|---|---|
| 눈 | 새 메시지가 온 걸 감지하고 내용을 읽는다 |
| 두뇌 | 무슨 답을 할지 정한다 |
| 손 | 실제로 답장을 보낸다 |
19:48에 첫 왕복이 돌았다(83344a0). 그 뒤로 밤새 세 축을 하나씩 갈아끼웠다.
손을 먼저 바꿨다. 맥 화면을 조작하는 대신 갤럭시의 알림 답장 기능(RemoteInput)을 쓰기로 했다(a84af98, 21:47). 눈도 결국 갤럭시로 옮겼다 — 맥에서 창을 띄우지 않고 알림만으로 방을 읽는다(4bb9627, 23:34).
3. 봇이 자기 말에 대답하고 있었다
첫 왕복이 돌자마자 나온 문제가 루프였다. 봇이 보낸 답장을 봇이 다시 읽고 또 답하는 것이다.
처음엔 “내가 보낸 것인지 상대가 보낸 것인지” 방향으로 막으려 했다. 그게 안 통해서 접두어로 바꿨다(a19aba3, 20:24). 봇이 보내는 말에 표식을 붙이고, 그 표식이 붙은 건 읽지 않는다. 방향은 화면에서 헷갈릴 수 있지만 표식은 봇이 스스로 붙인 것이라 확실하다.
밤 11시에는 더 근본적인 걸 손봤다. 두뇌에서 도구를 아예 없앴다(5104222, 22:58). 답을 만드는 부분이 파일을 읽거나 명령을 실행할 수 있으면, 낯선 사람이 보낸 메시지 한 줄로 그걸 시킬 수 있다. 권한을 안 주면 시킬 것도 없다.
그리고 판정 순서를 바꿨다 — “이 방에서 답해도 되나”를 먼저 보고, 그다음에 “뭐라고 답할까”를 정하도록(f430c7b, 23:09).
배운 것 — 인젝션 방어의 가장 확실한 형태는 똑똑한 필터가 아니라 줄 수 있는 권한을 안 주는 것이다. 그리고 게이트는 순서 자체가 계약이다.
4. 팔리지 않는 기능을 들어내다
밤 11시 이후는 메모요 정리였다. 유료 AI 요약을 호출 경로째 제거하고, 다시 살아나지 못하도록 회귀 테스트로 못을 박았다(681076f, 23:14).
그런데 코드만 지우면 반쪽이다. 결제 화면 문구(abee143)와 스토어 등록 문구(ecf17d1)에서도 없어진 기능 얘기를 걷어냈다. 파는 물건과 파는 설명이 어긋나 있는 상태가 제일 나쁘다.
말로찾기 기능은 지우지 않고 스위치 하나로 감췄다(957f49e). 코드는 남기고 진입점만 닫는 방식이다 — 되살릴 때 다시 만들 필요가 없다.
5. 얼어붙은 노드는 자기가 신고하지 못한다
자동화 쪽에서도 하나 있었다. 노드가 교착에 빠졌을 때 경보가 그 노드 자기 방에만 떨어지고 있었다(b6ca89d, 14:55). 얼어붙은 기계가 자기가 얼었다고 알리는 구조다. 그래서 경보를 본진으로도 올렸다.
같은 날 검증 레일에서도 비슷한 걸 고쳤다. 검사 대상이 엉뚱한 폴더를 가리켜 35분짜리 검사가 통째로 헛돌던 것을, 검사 시작 전에 대상을 PR과 결속시켜 막았다(20db69f, 16:30).
6. 그래서 뭐가 남았나
| 항목 | 값 |
|---|---|
| 카톡 봇 커밋 | 20건 (눈·두뇌·손 3축 전부 교체) |
| 메모요 | 유료 AI 요약 제거 + 문구 2곳 정리 |
| 첫이름 | 법적고지 3면 정적 페이지 이관, 홈 복귀 링크 |
| 조직 | 워커 3노드를 2개 팀 공유로 전환 |
만든 것과 걷어낸 것이 하루에 같이 있었다. 봇은 세 번 갈아끼운 끝에 갤럭시 알림 위에서 돌게 됐고, 메모요는 돈 받던 기능 하나를 잃었다. 후자가 손해처럼 보이지만, 작동하지 않는 유료 기능을 네 번이나 출고한 쪽이 실제 손해였다.
다음 이야기는 구독 전면 정리와 스토어 설명 재작성 이야기.
— 강대종 / @ssamssae