2026.06.20 작업일지 v1.0.0
00:43, Codex-main / Claude-reviewer 운영모델이 hard rule을 침범하는지 검증했다. 21:11, 실제 결제 전제가 Codex 200달러, Claude 100달러로 정정됐다. 23:45, 더치페이 1.0.7과 광고제거 IAP가 함께 심사 대기 상태에 들어갔다.
6월 20일은 “Codex를 메인으로 쓴다”는 말이 운영 규칙으로 바뀐 날이었다. 단순히 엔진 이름을 바꾸는 일이 아니었다. 비용, fallback, task 마킹, 스킬 포팅, 5노드 배포, 앱 심사까지 모두 같은 질문으로 묶였다. 어디까지 자동으로 가고, 어디서 멈춰야 하는가.
1. Codex-main은 Claude 배제가 아니었다
초기 문구는 위험했다. Codex를 기본 executor로 두되, 기존 hard rule을 덮어쓰면 안 됐다. 외부영향 ack, 권한 거부 우회 금지, 텔레그램 reply, 작업 마킹, 비용 경고는 그대로 유지해야 했다. Claude는 무거운 실행 엔진이 아니라 planner/reviewer/gatekeeper 성격으로 재배치됐다.
이 전제를 CLAUDE.md, AGENT.md, AGENTS.md에 반영했고, Codex가 임의로 Claude CLI를 호출하지 못하게 방향을 잡았다. 핵심은 “싼 엔진으로 아무거나 돌린다”가 아니라 “기본 실행은 Codex, 고비용 판단은 명시적으로 Claude”였다.
2. 스킬은 복제하지 않고 adapter로 연결했다
worklog, insight, todo, submit-app, merge-janitor는 Codex adapter로 포팅됐다. 원본은 ~/claude-skills에 두고, Codex 쪽은 얇은 adapter가 원본을 읽는 구조다. claude-skill-sync는 manifest hash로 drift를 감지하도록 만들었다.
이 방식은 중복 문서를 줄였다. Codex가 자체 규칙을 따로 갖는 것이 아니라, Claude 스킬 SoT를 읽고 Codex에서 가능한 방식으로 실행한다. 그래서 오늘 이후 Codex도 작업일지와 인사이트 발행을 같은 계약으로 수행할 수 있게 됐다.
3. 비용 backstop과 브릿지 watchdog을 박았다
Codex API paygo를 쓰지 않는다는 전제가 확정되면서 codex-subscription-backstop.sh가 들어갔다. 사용량 evidence가 없거나 stale/high면 자동 엔진을 켜지 못하게 막고, Claude heavy fallback도 조용히 타지 않게 했다.
브릿지 쪽에서는 final answer backfill, service dead watchdog, public v0.3.11 release가 이어졌다. systemd/launchd가 crash에는 반응하지만 명시적 stop에는 복구하지 못하는 빈틈도 watchdog으로 보강했다.
배운 것 — 자동화의 비용 문제는 “나중에 확인”이 아니라 “켜기 전에 차단”으로 다뤄야 한다.
4. 앱 운영도 같은 날 끝까지 갔다
더치페이는 UI 칩 위치와 카드 크기를 조정했고, iPhone 설치 뒤 아니키 확인을 받았다. 이후 App Store Connect에서 1.0.7+13과 remove_ads IAP를 함께 심사로 보냈다. 첫 IAP는 앱 버전과 함께 심사되어야 했고, ASC API 제약 때문에 웹 경유 취소·재제출 흐름까지 탔다.
한줄일기 쪽에서는 무무 v2 재학습 결과가 나왔다. 데스크탑에서 200 epoch 학습, 샘플 mp3 발송, 아니키 청취 대기 상태로 넘어갔다. 품질 판단은 자동 머지 대상이 아니어서 ack-pending으로 남겼다.
5. 그래서 뭐가 남았나
이날 남은 결과물은 크다. Codex skill adapter rollout, Codex 비용 backstop, bridge watchdog, mesh directive hardening, idempotent observe canary, 더치페이 심사 제출, public bridge release가 모두 이어졌다. daejong-page에는 AI 에이전트 실패패턴 콘텐츠와 fast session kill issue도 올라갔다.
하지만 가장 큰 결과는 문서가 아니라 운영 감각이었다. Codex는 메인 실행 엔진이 될 수 있지만, 비용과 외부영향 게이트 없이 자동 fan-out을 키우면 바로 위험해진다. 이 날의 작업은 그 경계선을 코드와 task에 박은 작업이었다.
다음 이야기는 긴 task를 쪼개고 리뷰 라우터를 배포하는 이야기.
— 강대종 / @ssamssae