← 작업일지

2026-07-18 · v1.0.0

2026.07.18 작업일지 v1.0.0

08:17, 함대 네 대의 버전부터 맞추며 하루를 열었다. 10:21, 닷새간 밤마다 침묵하던 자율 루프의 범인이 잡혔다 — 프로모 배너였다. 23:12, launchd가 제 자식을 조용히 목 졸라 죽이던 함정을 메웠다.

코딩·자동작업의 권위를 쥐던 코덱스를 내리고 클로드 단일 체제로 갈아엎은 날. 동시에, 지난 닷새간 밤마다 아무 일도 안 하던 자동 실행 루프의 진짜 원인을 잡아낸 날이자, 백그라운드로 띄운 구조 작업이 부모가 죽을 때마다 함께 사라지던 함정을 메운 날. 조용히 실패하던 것들의 정체를 하나씩 밝힌 하루다. 머지된 PR만 서른 개 안팎.

1. 레일을 갈아엎다

아침 나절, 함대의 엔진을 통째로 뒤집었다. 그동안 코딩·자동작업의 권위를 쥐던 코덱스를 내리고 클로드를 단일 주력 레일로 세우는 반전. 엔진·리스·후보 선정 로직을 클로드 우선으로 돌리는 A번들(#883)을 시작으로, 배차 본문과 운영 문서를 클로드 자기완결 계약으로 바꾸고(#299), 봇 인벤토리와 문서를 4노드·8봇 체제에 정합시켰다(#886). 마지막엔 코덱스의 자동 생산자 경로를 저장소 단위로 “기본 차단(fail-closed)“으로 잠갔다(#887) — 이제 실수로도 코덱스가 자동 일감을 만들지 못한다.

2. 닷새간 밤마다 침묵한 이유 — 프로모 배너였다

야간 자율 레일이 7월 13일 이후로 단 한 번도 발사되지 않고 있었다. 원인은 허탈했다. 화면 하단 상태줄에 뜬 Fable5 프로모 배너의 글자가, 브릿지의 “지금 작업 중(busy)” 판정기 눈에는 돌아가는 스피너처럼 보였던 것. 모든 노드가 “일하는 중”으로 오인돼, 오케스트레이터는 배차할 빈 노드가 없다고 판단하고 닷새를 통째로 쉬었다. busy 판정을 화면 텍스트가 아니라 상태줄 구조에 못 박도록 고쳤고(#882), 순환 글리프·세그먼트 상태줄이 만드는 역방향 오탐까지 메웠다(#884).

배운 것 — 오탐은 “진짜 일하는 것”이 아니라 “일하는 것처럼 보이는 것”에서 온다. busy 판정은 눈에 보이는 텍스트가 아니라 그 아래 구조에 못을 박아야 한다.

3. launchd가 제 자식을 목 졸랐다

세션을 비운 뒤 자동으로 이어받게 해 둔 구조 작업(rescue worker)이 열한 번 중 열한 번 조용히 죽었다. 범인은 macOS launchd의 함정 — 잡이 백그라운드로 자식을 띄우고 먼저 종료하면, launchd가 그 자식이 속한 프로세스 그룹을 통째로 SIGKILL로 쓸어버린다. detached로 살아남길 원하면 잡에 키 하나를 명시해야 했다:

<key>AbandonProcessGroup</key><true/>

launchd 잡 전수를 감사해 이 키가 빠진 스폰형 잡을 찾아내고, rescue worker의 그룹킬을 수리한 뒤 교착 상황이 눈에 보이도록 가시화까지 얹었다(#897).

배운 것 — 백그라운드로 띄운 자식은 부모 잡이 죽으면 같이 죽는다. 살아남길 원하면 프로세스 그룹을 명시적으로 포기시켜야 한다.

4. 메모요의 공백 유령

실기기에서 찍은 영상 한 편에서 메모요의 버그가 잡혔다. 저장한 메모의 줄 끝에 눈에 안 보이는 공백이 유령처럼 남아 화면을 어긋나게 만들던 문제 — 라인별로 끝 공백을 정규화해 걷어냈다(#93). 그 김에 온디바이스 임베딩 디폴트와 공백 수리를 한 빌드에 묶어 1.0.15+39로 iOS 심사에 재제출했다(#95).

5. 토스 앱 안으로

메모요를 토스 미니앱 플랫폼(앱인토스)에 얹는 작업을 저녁 내내 밀었다. 웹 래퍼 스파이크로 시작해, “토스 앱에서 메모가 안 보인다”는 화면을 받고 나서는 목록·편집·검색·휴지통까지 실제 메모 UX를 갖춘 정식 래퍼로 갈아엎었다. 구자산이던 고양이 아이콘은 다크 노트패드로 교체하고, 썸네일·실UI 스샷까지 만들어 콘솔 검토요청 직전까지 장전했다. 집사리모컨엔 “물 주는 버튼이 없다”는 요청에 실패사유 팝업을 붙여 손을 봤다(#6·#7).

6. 그래서 뭐가 남았나

머지된 PR 약 서른 개(자동화 19·스킬 6·메모요 2·집사리모컨 3·홈페이지 2), 완료 태스크 쉰 개 남짓. 클로드 함대 네 대는 2.1.212로 버전을 맞췄고, 공개 브릿지는 v0.9.1로 나갔다. 메모요 1.0.15는 심사대에, 앱인토스 메모요는 검토요청 직전. 은퇴한 노트북 한 대는 매각 준비에 들어갔고, 팔리면 그 돈으로 본진 맥북을 바꾸는 안이 테이블에 올랐다. 코덱스가 빠진 자리는 클로드 한 레일이 채웠고, 닷새를 쉬던 자동화는 제 눈을 되찾았다.


다음 이야기는 7/19, 첫이름 결제와 브릿지 수리 이야기.

— 강대종 / @ssamssae