← 작업일지

2026-06-23 · v1.0.0

2026.06.23 작업일지 v1.0.0

10:12, 초소의 작업별현황은 큐 목록이 아니라 상태판으로 다시 그려졌다. 13:40, 메모요 Drive 백업 문제는 앱 코드가 아니라 OAuth 게시 상태로 정리됐다. 23:59, 회사 소개 문장에서 “밤낮으로 자동화”라는 오래된 과장을 지웠다.

6월 23일은 새 기능보다 정렬의 날이었다. 전날 만든 브릿지는 실제 중복 송신과 cutover 조건을 통과해야 했고, 초소는 “우선큐/백로그”라는 낡은 표현을 버려야 했고, 회사 사이트는 지금 운영 방식에 맞게 말을 줄여야 했다.

1. 초소는 큐보다 상태를 보여줘야 했다

오전에는 choso의 작업별현황을 다시 설계했다. 아래쪽 우선큐와 백로그 중심 UI는 더 이상 아니키가 보고 싶은 화면이 아니었다. 필요한 것은 “진행중, 관찰중, 대기, ack 대기”가 어디에 있는지 한눈에 보는 상태판이었다.

PR #80은 작업별현황을 상태 그룹 중심으로 바꿨고, prompt history에 남은 옛 단어 때문에 테스트가 실패하는 false positive도 b87ad83에서 좁혔다. 최종적으로 9cf001c로 머지됐고, clean replay와 전체 테스트 85개를 통과한 뒤 초소에 배포됐다.

배운 것 — 운영 UI에서 “큐가 몇 개냐”보다 중요한 것은 “지금 어떤 작업이 어떤 상태로 걸려 있느냐”다.

2. 메모요 백업은 코드 밖에서 막혀 있었다

메모요 Drive 백업 403은 처음엔 앱 버그처럼 보였다. 하지만 스코프를 확인하니 drive.file이었고, 제한 범위가 아니라 민감 범위였다. 코드 수정이나 재배포보다 먼저 봐야 할 곳은 Google Console의 OAuth 동의화면이었다.

결론은 Testing 게시 상태였다. 테스트 사용자를 추가해 즉시 unblock하고, 동의화면을 프로덕션으로 게시했다. 인증센터에서는 민감/제한 범위가 없어 별도 검증이 필요 없다는 상태를 확인했다. 그래서 “확인되지 않은 앱” 경고 없이 모든 Google 계정 사용자에게 Drive 백업이 열렸다. 앱 코드는 그대로였고, 문제는 배포면의 설정이었다.

3. 브릿지는 한 통만 보내기 위해 더 엄격해졌다

Claude Telegram Bridge는 전날 노트북 카나리를 통과했지만, 기존 stop-ping hook과 새 final egress가 동시에 답하는 문제가 남아 있었다. 5e3ba1f는 stop-ping을 문자열 envelope가 아니라 sidecar와 daemon identity 기반으로 skip하게 바꿨다. 5노드에서 bridge tests 21개가 통과했고, live hook도 배포됐다.

그 뒤 PR #169, #170, #171이 이어졌다. reasoning mirror는 turn sequence fallback으로 보강됐고, pid lock release는 idempotent해졌고, stop signal에서는 깨끗하게 종료하도록 바뀌었다. desktop3060ti와 macmini cutover도 각각 E2E와 restart-cycle 검증을 통과했다. 대신 5노드 동시 전환은 하지 않았다. idle, 토큰 소유권, 기존 poller 제거, rollback 조건을 노드마다 확인해야 했기 때문이다.

4. Topology v3는 기기 계급 대신 역할 슬롯으로 갔다

오후부터 밤까지는 자동화 토폴로지 재설계가 이어졌다. 처음에는 본진/맥미니 중심의 고정 계층을 다시 세우는 듯했지만, 아니키의 방향은 달랐다. 중요한 것은 어느 기기가 위냐가 아니라, 그 작업에서 누가 orchestrator, executor, reviewer 슬롯을 갖는가였다.

그래서 Topology v3는 role-slot 계약으로 정리됐다. Claude는 상위 veto권자가 아니라 첫 orchestrator slot을 여는 bootstrap 역할로만 남겼고, Codex-main / Claude-safety-reviewer 룰도 보정했다. 밤에는 slot lease store, PreToolUse guard, observe logging, blocker fix, mac 1노드 enforce canary까지 이어졌다. 서비스 재시작이나 5노드 강제 롤아웃은 하지 않았다.

5. Codex 브릿지도 사용자 표면을 다듬었다

Codex Telegram Bridge는 두 가지 표면을 손봤다. 장시간 작업의 진행보고 기본값을 30분에서 10분으로 줄여 v0.3.13으로 공개 release했고, 노드 이모지가 두 번 찍히는 prefix 문제를 고쳐 v0.3.14로 다시 냈다. 둘 다 내부 5노드 배포와 public package 검증까지 끝났다.

이날의 작은 수정들은 전부 같은 문제를 향했다. 텔레그램에서 아니키가 보는 화면은 코드 내부보다 훨씬 예민하다. 답장이 늦어도 문제고, 두 번 와도 문제고, prefix가 겹쳐도 문제다.

6. 회사 사이트는 말을 줄였다

밤에는 마이너스베타스튜디오 회사 사이트도 손봤다. 내부 원칙 MSPW를 그대로 외부 슬로건으로 쓰지는 않고, Claude 리뷰까지 거쳐 Tools Worth Keeping.을 전면에 올렸다. 처음에는 히어로와 브랜드 섹션에 두 번 보여서 어색했고, 위쪽 영어를 제거해 한 번만 남겼다.

마지막으로 소개 문구의 “다섯 대의 기기가 밤낮으로 함께 돌아가는 AI 자동화”도 지웠다. 실제 운영은 그렇게 과장해서 말할 일이 아니었다. 새 문장은 “필요할 때 AI 자동화와 여러 작업 노드를 활용해 반복 작업을 줄인다”로 낮췄다. 오래 남을 도구를 만든다는 슬로건에 맞게, 회사 설명도 덜어냈다.

7. 그래서 뭐가 남았나

오늘 남은 것은 더 센 자동화가 아니라 더 정확한 자동화다. 초소는 상태를 정확히 보여줘야 하고, 브릿지는 한 통만 보내야 하고, 토폴로지는 권한을 기기 이름이 아니라 역할 슬롯으로 다뤄야 한다. 회사 사이트도 마찬가지다. 실제보다 크게 말하지 않는 것이 운영의 일부가 됐다.


다음 이야기는 빠진 기록을 메우고, 공개 작업일지 자체를 다시 정돈하는 이야기.

— 강대종 / @ssamssae