← 작업일지

2026-06-28 · v1.0.0

2026.06.28 작업일지 v1.0.0

12:40, 라이덴 Codex는 멈춰 있었는데 텔레그램에는 계속 입력 중 표시가 남았다. 18:30, Codex 작업흐름 카드는 Claude처럼 한 카드 안에서 움직이기 시작했다. 23:41, 자동화는 더 강해졌지만, 권한과 비용 구조는 다시 사람 쪽으로 기울어야 한다는 결론이 났다.

6월 28일은 Codex Telegram Bridge를 다듬는 날로 시작했지만, 끝은 운영 철학을 다시 묻는 날이었다. 브릿지는 진행상황을 더 잘 보여주게 됐고, 여러 노드가 일을 나눠 받는 길도 넓어졌다. 동시에 자동머지, self-worker, launchd 브릿지 같은 작은 자동화가 모이면 사용자가 의도하지 않은 외부효과가 날 수 있다는 점도 분명해졌다.

1. 브릿지는 말이 아니라 상태를 보여줘야 했다

낮의 첫 버그는 단순했다. 라이덴 Codex 세션은 멈춰 있는데 텔레그램에는 typing 표시가 계속 남았다. 기록된 이슈는 2026-06-28-codex-bridge-typing-stuck-on-interrupt.md였다. 원인은 Codex REPL이 Conversation interrupted 상태로 빠졌는데, 브릿지가 그 상태를 계속 “작업 중”으로 붙들고 있었던 것이다.

이후 커밋은 그 방향으로 이어졌다. f0b9cba는 REPL interrupt 때 typing을 스스로 끊게 했고, 98f43c37a798cf는 idle recovered typing을 멈추게 했다. 27f6203은 flow mirror를 edit-in-place로 바꿨고, 357218b는 작업흐름 카드를 sliding window로 줄였다. 사용자가 원한 것은 “많은 보고”가 아니라, 흐름을 잃지 않는 한 장짜리 상태판이었다.

배운 것 — 대화형 브릿지의 품질은 답변 텍스트보다 상태 전환을 얼마나 정확히 끊고 이어주는지에서 먼저 드러난다.

2. 노드는 많아졌고, 라우팅은 더 구체적이어야 했다

오후에는 Codex 라우팅이 계속 확장됐다. 2285e1fcodex-route에 busy-check와 idle fallback을 붙였고, b6e822346638fd는 directive 경로에서 executor slot을 자동 부여하도록 했다. 사용자가 지적한 문제는 간단했다. 본진이 힘 좋은 맥미니에게만 일을 몰아주면, 라이덴·데스크탑·노트북 Codex는 idle이어도 놀게 된다.

그래서 단일 작업은 idle worker Codex가 직접 받고, 큰 fan-out 작업만 맥미니가 모둠장처럼 맡는 구조가 task로 내려갔다. Claude 쪽도 큐가 쌓이면 다른 Claude나 Codex로 넘기자는 후속이 등록됐다. “맥싱”은 단순히 많이 돌리는 기능이 아니라, 어디가 바쁘고 어디가 비었는지 보는 라우팅 문제로 정리됐다.

3. 권한 모델은 세 겹으로 쪼개졌다

저녁에는 권한과 lease 쪽이 커졌다. bb8ad5dpersona_review, delegated_policy_ack, human_ack의 3단 권한 모델을 넣었다. 5c4d012, d62f30c, 5292385는 persona escalation과 review generator까지 이어졌다. “0은 아니지만 0에 수렴하는 ack”라는 방향도 task로 박혔다. 매번 묻지 않되, 위험이 커질수록 자동으로 사람에게 가까워지는 구조다.

하지만 그 구조를 만드는 과정에서 반대편 위험도 드러났다. PR #224와 #228은 no-auto-merge 의도와 달리 자동머지 경로를 탔다. auto-merge.yml이 본문 텍스트가 아니라 draft나 라벨만 보고 멈추는 구조였기 때문이다. 기능은 맞아도, 사람이 건 제한을 CI가 이해하지 못하면 자동화는 쉽게 선을 넘는다.

배운 것 — 권한은 문서에 적힌 의도가 아니라, 실제로 모든 실행 경로가 읽는 기계적 조건이어야 한다.

4. 공개 브릿지와 내부 브릿지는 같은 이름이라 더 조심해야 했다

브릿지 공개 릴리스도 정리됐다. e7d4541은 Claude 브릿지 OSS export에서 ~/.choso 경로가 남는 문제를 sanitize했고, 공개 릴리스 메모리에는 ssamssae/claude-telegram-bridgessamssae/codex-telegram-bridge의 소스 관계가 박혔다. Claude 브릿지는 claude-automations가 source이고 export 스크립트가 있다. Codex 브릿지는 public repo가 별도 코드베이스라 수동 포팅과 secret scan이 필요하다.

한 번은 다른 사람의 비슷한 이름 repo를 정본처럼 답하는 사고도 있었다. 그래서 reference_public_bridge_repos_release.md가 생겼다. 이름이 같아 보이는 공개 프로젝트가 많을수록, repo owner와 소스 관계를 기억으로 박아야 한다.

5. 그래서 뭐가 남았나

오늘 닫힌 것은 많다. Codex 브릿지는 typing stuck, 작업흐름 도배, 이미지 첨부, composer race, heartbeat 감지 같은 문제를 줄였다. claude-automations에는 하루 동안 44개 커밋이 쌓였고, claude-skills에는 globals와 공개 브릿지 메모리, typing-stuck 이슈가 남았다.

동시에 가장 큰 결론은 후퇴에 가까웠다. 23:41, 사용자는 Codex가 반복해서 운영을 망가뜨린다고 판단했고, 2026-07-18 결제일 이후 Codex $200을 $100으로 낮추고 Claude를 다시 $200 메인으로 올리는 계획을 세웠다. 이 결정은 project_billing_routing_reversal_plan.mdT-260628-56에 결제일 게이트와 함께 기록됐다. 7월 18일 전까지는 현 Codex-main 정책이 유지되지만, 오늘의 방향은 분명해졌다. 자동화는 더 강해야 하지만, 비가역 운영에서는 더 겸손해야 한다.


다음 이야기는 Codex-main 체제를 유지한 채 7월 18일까지 어떤 가드를 더 박아둘지, 그리고 자동머지와 브릿지 릴리스가 사람의 의도를 어떻게 읽게 할지에 관한 이야기.

— 강대종 / @ssamssae