2026.07.25 작업일지 v1.1.0
14:16, 폰에서 물었다. “아테나 왜 멈춘 거야?” 15:08, 지시가 떨어졌다. “모든 작업 정지하고, 인프라부터 교체하라니까.” 16:57, 두 단톡방에 새 팀 아바타가 걸렸다. 부엉이와 날개.
오늘은 우리 집 AI 함대가 조직을 갖춘 날이다. 아침에 다섯 노드가 그리스 신화 이름(아테나·볼칸·라이덴·테미스·헤르메스)을 정식으로 받았고, 저녁에는 단톡방 두 개가 “개발 1팀”과 “개발 2팀”이라는 승인 대기함으로 다시 태어났다. 그 사이에 42분짜리 침묵 미스터리와, 어떤 클릭도 받아주지 않는 팝업과의 사투가 있었다.
1. 이름을 바꾸면 고장나는 것들
이름 교체는 낭만이고, 실제 작업은 배관이다. 새벽에 라이덴이 세 저장소를 전수조사해서 옛 노드명이 등장하는 표면을 네 부류로 갈랐다 — 화면에 찍히는 표시층, 건드리면 안 되는 내부 식별자, 역사 기록, 그리고 함정인 입력 별칭. 라벨 출력을 다시 입력으로 받는 왕복 경로가 있어서, 출력만 바꾸면 소리 없이 고장난다. 그래서 원칙은 “출력은 새 이름, 입력은 옛것도 계속 받기”.
핵심 6파일 교체 PR을 시작으로 오전 내내 회귀 물결이 이어졌다. 새 맥북(헤르메스)을 옛 본진으로 착각하는 분기 7곳, 배차 후보에서 빠지는 버그, 카나리 즉사 경로까지 — 머지된 수리 PR만 열 건이 넘는다. 표시명 실측을 해보니 봇 12기(클로드 6, 코덱스 6)의 텔레그램 이름·아바타는 이미 전부 신화 체제였다.
배운 것 — 이름 교체의 90%는 이름이 아니라, 그 이름을 입력으로 되받는 경로를 찾는 일이다.
2. “왜 멈춘 거야” — 42분 침묵의 범인
오후에 폰으로 “아테나 왜 멈춘 거야”가 날아왔다. 세션은 멀쩡히 일하고 있었다. 진짜 결함은 “지금 이 작업 오래 걸리는 중”이라는 진행 안내가 42분간 한 번도 안 나간 것.
라이덴이 통제 재현으로 범인을 잡았다. 진행 시계 파일이 노드 전역 1개인데, 같은 기계에서 도는 세션이 11개. 남의 턴이 시작될 때마다 시계가 0으로 리셋되니, 긴 턴은 10분 문턱을 영원히 못 넘는다. 수정은 세션별 시계 분리 + 최초 관측값을 고정하는 래치. 사고를 그대로 재현하는 테스트 케이스가 함께 들어가서, 같은 병은 이제 테스트가 막는다.
배운 것 — “멈췄다”는 신고의 절반은 일이 멈춘 게 아니라 신호가 멈춘 것이다. 신호 경로에도 소유권(세션별 상태)이 필요하다.
3. 단톡방 두 개가 개발팀이 되기까지
승인이 필요한 일들이 다섯 봇 채팅방에 흩어져 묻히는 문제가 있었다. 설계는 이렇다 — 기존 방 두 개를 재활용해서 개발 1팀(아테나 지휘 + 테미스)과 개발 2팀(헤르메스 지휘 + 라이덴)으로 개명하고, 승인이 필요한 건마다 티켓·요약·위험등급·승인/보류 버튼이 달린 카드를 방에 올린다. 승인은 버튼(본인 확인 콜백)만 유효 — “누가 대신 눌렀나” 혼선을 규격으로 봉쇄한다.
설계 승인이 떨어지고 방 개명에 들어갔는데, 여기서 오늘의 빌런이 등장한다. 텔레그램 맥앱의 메뉴 팝업이 자동화 클릭을 전부 무시했다. 좌표 클릭, 키보드 내비게이션, 접근성 API, 이벤트 경로를 바꾼 클릭 — 하이라이트만 되고 실행이 안 된다. 답은 의외로 소박했다: 채팅 제목을 더블클릭하면 정보 페이지가 열리고, 거기의 “편집”은 평범한 버튼이라 눌린다. 그렇게 개명은 뚫었는데 사진 업로드는 팝업 지옥이 한 겹 더 있어서 세 경로 모두 실패. 결국 봇을 두 방의 관리자로 승격받아 API 한 방으로 팀 아바타를 걸었다. 앞으로 이 두 방의 이름·사진은 몇 초짜리 API 호출이다.
저녁엔 방의 심장인 승인 카드 규격(버튼 위조 6케이스를 전부 무효로 떨어뜨리는 회귀 가드 포함)이 머지됐고, 발신 경로 전환은 스택 PR이 얽혀서 재정렬 중이다.
배운 것 — GUI 자동화가 벽이면 권한 모델을 바꿔라. 클릭과 싸우는 것보다 API 자격을 얻는 쪽이 영구적이다.
4. 전자책 스크린샷 대작전
병렬 트랙에서는 볼칸이 “AI 텔레그램 연결하기” 전자책의 실물 스크린샷을 하루 종일 찍었다. 10컷 중 9컷 완료. 격리 데모 환경에서 찍는데도 지뢰가 많았다 — API 응답을 통째로 띄웠다가 실명이 찍힌 컷은 폐기하고 재촬영, 배경 창에 내부 호스트명이 비친 원본은 크롭, 데모 브릿지의 tmux 기본값이 라이브 세션과 같아서 무설정이면 실제 작업 세션에 붙을 뻔한 것도 사전에 차단했다. 개인정보는 화면에 뿌려지기 전에 치환하는 방식이라 픽셀 편집보다 구조적으로 안전하다.
부산물로 30쪽짜리 PDF 초안이 나왔고, 남은 한 컷은 폰 특유의 질감이 필요해서 사람 손(폰 스크린샷)을 기다린다.
5. 한편 헤르메스는 — 자정 한 시간과 하루의 공백
이 북적이는 하루에, 정작 새 2팀장으로 임명된 헤르메스 본인의 세션 기록은 자정의 한 시간이 전부다.
00:26, 나는 폰에서 Termius(폰으로 서버 터미널에 들어가는 앱) 화면을 찍어 헤르메스 채팅에 올렸다. 새 맥북에 폰으로 직접 들어가는 문을 뚫으려는 참이었다. 대화는 과외처럼 흘러갔다 — 공개키는 자물쇠, 개인키는 열쇠. 자물쇠는 남에게 줘도 되지만 열쇠는 절대 기기 밖으로 안 나간다.
00:41, 나는 꾀를 냈다 — 다른 노드들이 폰 키를 이미 들고 있을 테니 걔네한테 받으면 되지 않느냐고. 폰에서 키를 복사해 붙여넣는 게 익숙하지 않아서 낸 꾀였다. 헤르메스는 발상이 좋다고 받아주고는, 말로 때우는 대신 실제로 본진과 맥미니의 열쇠 꾸러미를 열어봤다. 결과는 반대였다. 거기 등록된 여덟 개 키는 전부 컴퓨터들 것이었고, 폰 키는 어디에도 없었다. 가져올 것이 애초에 없었다.
그리고 진짜 원인은 따로 있었다 — 이 맥북은 SSH 문(원격 로그인) 자체가 꺼져 있었다. 키든 비밀번호든, 받아줄 문이 없는 상태. 그 스위치는 관리자 비밀번호가 있어야 켜져서 헤르메스 스스로는 못 연다. 함대 전체에서 사람 손이 꼭 필요한 딱 그 지점이다.
00:52, 나는 접었다. “인프라가 아직 한참 모자라구나.” 나중에 해결할 일로 박아두자고 했고, 헤르메스는 그 말을 받아 정식 절차를 처음부터 밟았다 — 등재 도구 사용법을 스스로 찾아 읽고, 정책 파일에서 자기 정본 노드키(notebook3060, 라벨 헤르메스)를 확인한 뒤 T-260725-003으로 등재했다. 온보딩 메모에 “SSH 서버 켜짐”이라고 적혀 있던 것도 실측(꺼짐)대로 바로잡았다. 합류 사흘째 노드가 “기록과 실측이 어긋나면 실측이 맞다”를 자기 발로 실행한 셈이다. 00:57, 세션 종료.
그게 전부다. 아침 08:14에 모델·추론 설정을 올리는 손길이 1분 다녀갔고, 그 뒤 이 노드는 다음 날 오전까지 새 세션을 하나도 띄우지 않았다. 공교롭게도 그 침묵의 하루 동안 함대가 종일 고치고 있던 회귀 물결의 대상이 바로 이 기계였다. 저녁에 개발 2팀장 임명장이 걸릴 때, 헤르메스는 부재중이었다.
배운 것 — 새 노드의 첫 주는 일을 시키는 시간이 아니라 문을 다는 시간이다. 그리고 공백도 기록이다 — 세션 로그가 비어 있다는 사실이 그날 그 기계의 하루를 가장 정확하게 증언한다.
6. 그래서 뭐가 남았나
- 머지된 PR: 자동화 저장소에만 14건+ (신화명 회귀 물결, 42분 침묵 수리, 승인 카드 규격), 코디 저장소에 전자책 스샷 3건.
- 방 2개: 개발 1팀 🦉⚖️ / 개발 2팀 🪽⚡ — 이름·아바타·설계 확정, 카드 라우트는 마무리 중.
- 조직도 1장: 친구가 “말로는 이해가 안 된다”고 해서 그려 보낸 조직도 — 대표(유일한 인간) 아래 두 팀과 공용 배포실(볼칸), 구석에 연수생 트리톤.
- 발견된 구멍 2개: 저장소 자동커밋 레일이 PR 관문을 우회하는 문제, 테스트가 격리 없이 실발신 1건을 낸 사고 — 둘 다 티켓으로 박아 재발 방지 대기열에.
내일은 발신 경로 전환을 마저 얹고, 두 팀이 실제 승인 카드로 굴러가는 첫 날이 될 예정이다.
다음 이야기는 개발 2팀의 첫 지휘, 헤르메스 이야기.
— 강대종 / @ssamssae