2026.07.19 작업일지 v1.0.0
00:59, 1.3KB짜리 배차 지시문이 602바이트로 잘려 도착한 야간 사고를 표면화했다. 22:46, 애플이 첫이름을 반려한 진짜 사유를 리절루션 센터 원문으로 확인했다. 23:27, 범인은 서버에 결제 검증 시크릿이 한 개도 없다는 사실이었다.
새벽엔 노드 사이를 오가는 지시문이 중간에 잘리던 사고를 수리했고, 저녁엔 홈페이지의 낡은 페이지들을 한꺼번에 갈아엎었고, 밤엔 첫이름 결제 라인을 수사하듯 파고든 하루. 자동화 저장소에만 커밋 37개, 그중 머지 PR이 21건이다.
1. 새벽 — 잘린 지시문
노드에 일을 시키는 배차 지시문(directive)이 파이프 경로에서 1.3KB가 602바이트로 잘린 채 착지한 야간 실사고. 무서운 건 잘렸다는 사실이 아니라 아무도 모르게 잘렸다는 점이다. 보낸 바이트와 받은 바이트를 대조하는 가드를 달아 절단을 시끄럽게 만들었고, 같은 배선을 쓰는 자매 스크립트 전부에 확산했다. 전날 배운 launchd 그룹킬 함정(AbandonProcessGroup)의 잔여 소탕 3건도 새벽에 같이 마쳤다.
2. 앱 손질 — 메모요 심사행, 한줄일기 다듬기
메모요 Android 1.0.15+39을 빌드해 Play 심사에 제출했다. 온디바이스 임베딩 디폴트 ON 동반. 아침에 실기기에서 제보받은 두 건 — 영어 로케일에 한글이 남아 있던 지점 130곳(신규 키 약 80개)을 전수 이관했고, AI 모델 설치가 조용히 실패하던 걸 진행 표시와 실패 사유 알림으로 표면화했다. 앱인토스 쪽엔 메모요 서비스 이용약관도 등록. 한줄일기는 읽어주기 음성을 여성 단일로 정리하고, 페이월의 “무제한” 문구를 실제 제한과 맞는 카피로 고쳤다 — 사실과 다른 약속은 카피라도 버그다.
3. 파워쉘 레인 롤러코스터와 브릿지 소탕전
파워쉘 클로드 레인은 하루 동안 은퇴가 결정됐다가 반전됐다 — 오후에 검증 레인으로서는 완전 은퇴시켰지만, 저녁에 “아니키 개인 챗봇 전용”으로 방향을 틀어 부활. 그 와중에 파워쉘에서 /exit를 치면 엉뚱하게 우분투 워커 클로드까지 같이 꺼지는 유령 증상이 제보돼, 교차 세션 격리를 조사하고 watcher의 SIGPIPE 결함을 원자 배포로 수리했다(21:34). 모델 한도에 걸린 채 좀비로 앉아 있는 세션을 감지해 사용자에게 고지하는 픽스(#930), 워커 3노드의 디폴트 모델을 Opus로 고정하는 재발방지도 같이 넣었다. 코덱스 쪽엔 헤드리스라 안 보이던 대화를 터미널에서 볼 수 있게 하는 ConPTY 라이브 뷰어(#926)를 만들었다.
4. 저녁 — 홈페이지 스테일 일소 캠페인
17시 지시로 kangdaejong.com 스테일 일소 캠페인. 먼저 맥미니 체크아웃에 걸려 있던 rebase 꼬임을 무손실 복구하고, 노트북 은퇴가 반영 안 된 9개 페이지를 5노드에서 4노드로 정정, 빠져 있던 7/18 작업일지를 백필(#330), 뉴스레터 ep70~72 초안 3편을 적재(#328), work 사이트에 남아 있던 구형 지구본 파비콘을 mβ 브랜드 마크로 교체했다. 사이트가 현실보다 하루 이상 늙지 않게.
5. 첫이름의 밤 — 수사 세 건
18시부터 자정까지는 첫이름(AI 작명 서비스) 수사의 밤이었다. 첫 번째: 결제 전 이메일 인증번호(OTP)가 고객에게 안 간다는 P0 매출 블로커 — 발송사 로그는 delivered인데 편지함엔 없다. 발송 파이프라인은 무결, 네이버 수신측이 조용히 버리는 쪽으로 좁혔다(확증과 실수신 실증은 이튿날 오전). 같은 우산으로 구글 검색에 알맹이 없는 SPA 껍데기가 서빙되던 SEO 구멍, 성씨 대표 한자 자동제안, OTP 5분 카운트다운까지 코드로 착지시켜 20:55 일괄 배포 + 서치콘솔 등록까지 완료. 두 번째: 21:26 유료 주문 한 건의 결과메일이 안 나간 실사고 — 회신주소 설정(CS_REPLY_TO) 결손을 검증하고 재발송을 실증했다. 세 번째가 본편이다. 애플 반려 사유를 리절루션 센터 원문으로 실측하니 2.1(b), “payment server is not available” — 심사 진입은 했는데 결제 검증이 실패한 것. 워커의 시크릿 목록을 열어 보니 Apple 결제 검증용 시크릿이 0종이었다. 번들 ID와 공유 시크릿 2종을 주입해 라이브(23:27), 곧장 실기기 샌드박스 검증에 착수했지만 아이폰 USB 미연결로 STOP — 다음 날로 넘겼다.
배운 것 — 발송 로그의 delivered는 증명이 아니다. 메일은 받은편지함에서 실증될 때까지 “안 간 것”으로 취급해야 한다.
배운 것 — 반려 메일 요약으로 추측하지 말 것. 리절루션 센터 원문 한 줄이 추측 열 개를 이긴다.
6. 그래서 뭐가 남았나
자동화 저장소 커밋 37개·머지 PR 21건, 다른 저장소까지 합치면 더. 함대 상태를 한 명령으로 실측하는 fleet-status, PR 생성 관례를 기계로 강제하는 gated-pr 같은 소품들도 늘었다. 메모요 1.0.15는 Play 심사대에 올랐고, 첫이름은 잃어버린 시크릿을 되찾은 채 실기기 검증 문턱에서 하루를 마감했다. 수사는 내일 이어진다.
다음 이야기는 7/20, 무무를 떠나보낸 날.
— 강대종 / @ssamssae