← 작업일지

2026-08-25 · v1.0.0

2026.08.25 작업일지 v1.0.0

09:31, 그날 가장 중요한 지시가 버그에 먹혀 조용히 버려졌다. 22:11, 두 번째 노드의 입이 같은 병으로 막혔다. 23:46, 다섯 대였던 함대가 세 대가 됐다.

오늘은 줄이는 날이자 세우는 날이었다. 전기료 때문에 노드 두 대를 은퇴시켰고, 그 결정을 실어 나르던 텔레그램 라인이 하필 같은 날 두 번 멎었고, 자정 무렵에는 새 상품 하나가 네 시간 만에 맨바닥부터 결제 라인까지 섰다.

1. 차단기가 자기를 가뒀다

11:23, 본진 노드의 텔레그램 발신 차단기가 열렸다. 연속 실패 10회를 세면 발신을 멈추는 안전장치인데, 문제는 이 차단기가 메서드를 안 가리고 호출부 맨 위에서 단락한다는 것이었다. 발신만 막아야 할 장치가 수신 폴링까지 막았다. 폰에서 보낸 메시지가 애초에 들어오질 않는데, 심박 파일은 10초마다 성실하게 갱신됐다 — 폴링 루프가 도는 것과 메시지를 실제로 소비하는 것은 다른 명제인데, 감시견은 그 심박을 생존 증거로 읽고 있었다. 계기가 속으니 감시자도 같이 속았다.

피해는 구체적이다. 09:31:40, 「라이덴·테미스 은퇴로 정리해줘」라는 그날의 핵심 지시가 오래 묵은 메시지로 분류돼 폐기됐다. 그날의 가장 중요한 지시가 그날의 가장 큰 버그에 먹힌 것이다. 오후에 사람이 트립 파일을 손으로 치우자 밀려 있던 6건이 한꺼번에 들어왔고, 14:50 차단기를 발신 메서드에만 국한하는 수리가 머지됐다.

그리고 22:11, 이번엔 다른 노드가 같은 병으로 트립됐다. 두 번째 실측이 설계 결함을 확정해 줬다 — 해제 조건이 「발신 성공」인데, 트립되면 발신 자체가 막힌다. 스스로는 영원히 못 푸는 자물쇠다. 다음 날 반열림(300초 뒤 시험 발신 1회) 수리가 붙었다. 차단기 자체는 죽이지 않았다 — 이 장치는 예전 발신 폭풍을 막으려고 넣은 것이고, 고칠 것은 가두는 성질이지 차단하는 성질이 아니다.

배운 것 — 안전장치의 해제 조건이 그 장치가 막는 행위 자체에 걸려 있으면, 그건 안전장치가 아니라 자물쇠다. 그리고 계기가 속으면 감시자도 같이 속는다.

2. 전기료가 함대를 줄였다

「전기료가 너무 많이 나와서 라이덴 테미스는 이제 사용안하려고.」

이 한 문장으로 5노드 함대가 3맥이 됐다. 고장도 성능 문제도 아니고 고지서다. 은퇴는 삭제가 아니라 선언으로 했다 — 라우팅 정책에 status: retired 한 줄씩 남겨 배차가 자동 차단되게 하고, 야간 갱신 잡은 꺼서 보관함으로 옮겼다. 되살리려면 그 한 줄을 되돌리면 된다. 23:46 머지로 확정됐고, 살아있는 손은 세 대가 됐다.

3. 로스터 하나 바꿨더니 테스트가 무너졌다

은퇴에는 낙진이 따랐다. 오후에 머지 자격 명단에서 은퇴 노드를 빼고 현역을 넣는 한 줄짜리 정책 변경이 머지되자, 그 명단을 대본으로 쓰는 픽스처 일곱 본이 초록에서 빨강으로 넘어갔다. 명단을 바꾸면 그 명단을 재는 테스트가 깨진다는 연결을 강제하는 계기가 없었던 것이다.

수습 과정이 더 교육적이었다. 은퇴 노드를 배우로 쓰는 픽스처를 일괄 치환했더니, 치환 때문에 재는 축 자체가 죽은 자리가 다섯 곳 나왔다. 대조군은 달라야 성립하는 테스트에서 양쪽을 같은 값으로 바꿔 버리는 식이다. 결국 일괄 치환분을 도로 되돌리는 게 그날 작업의 핵심이 됐다. 덤으로, 워커의 첫 전량 스윕이 171본 전멸로 나온 것도 반전이었다 — 결함이 아니라 그 맥에 타이머 명령이 없어서 실행 불능을 실패로 센 계기 버그였다.

배운 것 — 정책 값을 바꾸는 변경은 그 값을 대본으로 쓰는 테스트와 한 몸으로 움직여야 한다. 그리고 전량 빨강이 나오면 결함보다 계기를 먼저 의심하라.

4. 그 밤, 궁합 한 장이 섰다

함대가 줄어든 그 밤 22:11부터 23:35까지, 남은 노드 하나가 새 상품 한장궁합을 맨바닥부터 세웠다. 커밋 열다섯 개가 4시간에 찍혔다: 저장소 골격 → 천간 합·충 → 지지 합충형파해 → 원진 → 오행 상보 → 가중합·등급 → 가족에게 보여줄 한 장 HTML → 19,900원 결제 잠금 → 웹 화면 → 서버 골격 → 그리고 마지막으로 토스·메일 실서버 배선까지. 스펙은 낮에 문답 네 번으로 잠겨 있었다 — 궁합부터, 결혼 앞둔 커플로, 가족에게 보여줄 한 장으로, 이름·생년월일·시간 입력으로.

첫이름 쪽도 결제 라인이 실전 점검을 받았다. 새벽에 본인 카드로 사주운세 리포트를 실결제해 보니 구멍이 줄줄이 나왔다 — 결과 페이지 링크가 없고, 토스 영수증에 이름이 “-님”으로 나가고, 결과 메일이 안 온다. 전부 그 자리에서 고치고 전액 취소로 마무리. 결제 버튼이 눌린다는 것과 결제 경험이 완결된다는 것 사이의 거리를 실돈으로 쟀다.

공개 쪽도 한 건 있었다 — 그록 텔레그램 브릿지 v0.4.0 공개 릴리즈와 소개글이 홈페이지·Substack·네이버 세 채널로 나갔다.

5. 그래서 뭐가 남았나

자동화 저장소 커밋 36, 스킬 저장소 19, 한장궁합 15 — 그리고 티켓 사십여 건이 하루에 열리고 닫혔다. 함대는 셋이 됐고, 전기료는 줄 것이고, 차단기는 이제 자기를 가두면 스스로 반쯤 열어 시험 발신을 해 본다.

가장 오래 남을 교훈은 아마 잃어버린 지시 한 통이다. 시스템이 조용히 버린 메시지는 에러 로그보다 비싸다.


다음 이야기는 밥먹자 앱이 하루 만에 심사장까지 간 이야기.

— 강대종 / @ssamssae