사유고 개발로그 · 11화
사유고 촬영 자동화를 맥북 프로에서 맥북 에어로 옮겨 같은 작업을 이어 갔다: 바꾼 코드는 두 줄이었다
10월 11일 사유고의 책 촬영 기기를 맥북 프로에서 맥북 에어(M5)로 바꿨다. 맥스튜디오의 반입·검사·등록 절차는 그대로 두고 기기 식별 두 줄만 바꿨다. 에어가 첫 9시간에 찍은 17권 가운데 15권이 등록됐다. 어느 맥이 찍든 같은 절차로 이어받는 구조라 기기 하나의 세팅에 기대지 않는다.
5화 이후 사유고에 책을 들여오는 작업은 두 기기가 나눠 맡는다. 맥북이 책을 찍고 맥스튜디오가 받아서 검사하고 등록한다. 그 촬영 맥북을 그동안 “M5”라고 불렀다. 10월 11일 오후, M5를 맥북 프로에서 맥북 에어로 바꿨다.
맥북은 찍기만 하고 검사와 등록은 맥스튜디오가 맡는다
맥북에서는 촬영 에이전트가 책을 찍어 외장 SSD에 책마다 폴더로 쌓는다. 한 권이 끝나면 바로 다음 책으로 넘어간다. 끝난 폴더에는 완료 기록이 남는다. 완료 기록에는 첫 쪽과 마지막 쪽을 사진으로 확인한 판정, 사진 수, 촬영 쌍 수가 적힌다.
두 기기는 USB-C 케이블 한 줄로 직접 이어져 있다. 내가 Codex에 “새 책 가져오고, 가져온 책 등록해”라고 보내면 맥스튜디오가 케이블 연결을 검사하고 요청 시각 전에 끝난 책만 목록으로 고정한 뒤, 파일마다 SHA-256을 대조하며 복사한다. 맥북 쪽 원본은 지우지 않고 보관 폴더로 옮긴다. 그다음 OCR, GPT-6 Luna의 사진 검수, ISBN으로 정식 표지를 찾는 단계, 쪽번호 검사를 모두 통과한 책만 등록한다. 등록 뒤에는 원본을 한 번 더 전수 대조한다. 10월 9일 0시부터 12일 새벽 2시까지 이 문장을 아홉 번 보냈다.
프로를 떼어 낸 뒤 반입은 집 네트워크로 우회하지 않고 멈췄다
프로의 마지막 사진은 10월 11일 14시 44분에 찍혔다. 14시 55분에 새 책을 가져오라고 보냈더니 검사기가 승인된 맥을 USB 장치 목록에서 찾지 못했다. 케이블 쪽 네트워크도, 촬영 SSD 공유도 없었다. 맥북이 집 네트워크에는 보였지만 반입은 그쪽으로 우회하지 않았다. 반입 0권, 등록 0권으로 멈췄다. Codex는 새 책이 없다고 하지 않고 확인할 수 없다고 보고했다. 9월 8일에 정한 “전송은 케이블로만” 규칙이 그대로 지켜졌다.
화면 공유가 저장된 설정과 달리 고성능으로 연결돼 에어 본체 화면이 꺼졌다
15시 47분, 맥스튜디오의 화면 공유에 에어를 추가했다. 연결하자 에어 본체 화면이 꺼졌다. 프로 때는 없던 일이다. 원격으로 연결해도 본체 화면은 켜져 있어야 했다. 저장된 연결 설정은 ’표준’으로 보였는데, 실제 연결은 가상 디스플레이 1대를 쓰는 ’고성능’이었다. 고성능 연결에서는 실제 모니터가 꺼지는 게 정상이다. 표준으로 바꿔 저장했다. Codex는 처음에 다시 연결해 확인하지 않고 완료라고 했다. 내가 그 점을 지적하자 Codex가 다시 접속해 공유 화면이 에어의 내장 디스플레이인 것까지 확인했다. 에어가 처음부터 끝까지 찍은 첫 책은 16시 41분에 시작했다.
검사기는 승인되지 않은 맥을 통과시키지 않았다: 두 줄은 내가 기기를 확인한 뒤에야 바꿨다
17시 22분에 “지금 m5랑 연결이 끊겼다가 다시 연결됐으니까 다시 연결한 후에 등록하면된다”고 보냈다. 케이블은 10Gbps로 연결돼 있었지만 검사기는 통과시키지 않았다. 승인된 맥은 USB 일련번호의 해시로 고정돼 있는데 꽂힌 맥은 해시가 달랐고 기기 이름도 맥북 프로에서 맥북 에어로 바뀌어 있었다. Codex는 고정값을 스스로 바꾸지 않고 이 에어가 M5가 맞는지 물었다. 공유 디스크 암호도 채팅으로 받지 않고 macOS 인증 창에 내가 직접 넣게 했다.
19시 12분에 “에어 m5맞아 바꿨어”라고 답했다. 바뀐 것은 케이블 검사 파일의 두 줄, USB 일련번호 해시와 기기 이름이다. USB 장치 확인, 링크 로컬 주소, 케이블 경로, SMB 다중 채널 금지, Bonjour 이름 대조는 그대로 두었고 케이블 테스트 18개가 통과했다. 검사기는 처음부터 IP나 인터페이스 번호를 고정하지 않는다. 9월 8일 이후 케이블 상대 주소는 네 가지였고 검사기는 매번 연결된 장치에서 주소를 새로 찾아 확인했다.
교체 당일 19권을 들여와 2권을 등록했고 잘림 보류 16권은 모두 프로에서 찍은 책이었다
확인 직후 17시 22분 전에 끝난 19권, 사진 4,356장(약 2.9GB)을 고정해 복사했다. 20시 14분 등록 후 원본 감사에서 맥북 보관본과 맥스튜디오 사본이 전수 일치했고 지운 파일은 0개였다. 2권(사진 506장, 150장)을 등록해 등록부가 1,040권에서 1,042권이 됐다.
나머지 17권은 보류했다. 16권은 사진 가장자리에서 본문 글자나 도표 라벨이 잘린 것을 독립 판독 두 번으로 확인했고 1권은 원본 ISBN을 확인하지 못했다. 잘린 16권은 모두 14시 44분 전에 프로에서 찍은 책이다.
에어가 첫 9시간에 찍은 17권 가운데 15권이 등록됐다
에어는 16시 41분부터 다음 날 1시 41분까지 17권, 3,274장을 찍었다. 책별 분당 사진 수의 중앙값은 8.67장으로, 같은 날 새벽부터 오후까지 프로가 찍은 17권의 8.63장과 거의 같다. 촬영 작업 기록의 일련번호도 0으로 돌아가지 않고 이어졌다. 프로에서 사진을 다 찍은 책 한 권은 교체 뒤 16시 13분에 같은 작업 번호로 마지막 쪽 확인과 완료 기록이 남았다.
12일 2시 18분에 다시 가져오라고 보냈다. 17권 3,308개 파일이 2시 26분 원본 감사를 통과했다. 3시에 끝난 첫 등록 검수는 16권을 가장자리 잘림으로, 1권을 원본 ISBN 미확인으로 보류했다. 잘림 판정은 프로 사진과 에어 사진에서 똑같이 나왔다.
다시 조사해 보니 본문이 잘린 것이 아니었다. 펼친 두 쪽은 좌우 사진 두 장으로 찍히는데, 검수가 사진을 한 장씩 따로 보면서 가장자리 글자를 잘림으로 판정했다. 좌우 사진을 무손실로 한 장에 이어 붙이고 왼쪽 본문 다음 오른쪽 본문 순서로 다시 읽게 하자, 5시 9분에 15권이 등록돼 등록부가 1,043권에서 1,058권이 됐다. 남은 2권은 잘림이 아니라 원본 ISBN과 판본을 확인하지 못해 보류했다. 앞서 프로 사진으로 보류된 16권은 아직 이 방식으로 다시 검수하지 않았다.
촬영 기기를 식별하는 코드는 두 줄뿐이라 다른 맥이 같은 일을 이어받았다
기기 교체 때문에 맥스튜디오 쪽 반입 규칙, 검사, 등록 절차를 바꾼 것은 없다. 기기에 맞춰 손본 것은 케이블 검사 파일의 두 줄과 화면 공유 연결 설정 하나였다. 책이 끝났는지는 폴더의 완료 기록으로 판단하니 맥스튜디오는 어느 맥이 찍었는지 몰라도 된다. 반입마다 고정 목록, 승인 기록, 감사 영수증을 남기고 두 프로젝트의 HANDOFF에 같은 형식으로 적으니, 대화 세션이 바뀌어도 같은 요청 문장 하나로 같은 절차가 이어진다.
다음에 다른 맥으로 옮겨도 순서는 같다. 케이블을 꽂고, 내가 기기를 확인하고, 두 줄을 바꾸고, 테스트를 돌린다.
사유고 개발로그 · 전 11화
- 1화종이책 사진에 물어보는 서재: 글자·그림 검색 두 갈래로 세웠다
- 2화저자 토론 기능을 붙였다: GPT가 저자 연기를 거부했다
- 3화학습 루프를 만들었다: 증거 없이 완료되는 구멍이 나왔다
- 4화저자 인터뷰와 대목 연결 기능을 붙였다: 결함 5개를 먼저 고쳤다
- 5화책 587권 자동 등록: 파일은 왔는데 페이지가 빠져 있었다
- 6화AI 강의 품질을 쟀다: 모델이 쓴 인용은 문구가 바뀌고 쪽수가 틀렸다
- 7화600권 완독 코스·마인드맵을 배치로 미리 만들기 시작했다
- 8화배치 사용량 문지기: 5시간 한도 80%에서 쉬고 주간 90%에서 멈춘다
- 9화사유고2는 책 795권을 원문 10분의 1 크기 지도로 바꿨다: 답하는 서재에서 늘어놓는 서재로
- 10화투자 책 50권만으로 노트 2,094개짜리 지식 연결망이 나왔다: 795권으로 키우기 전에 고민할 것
- 11화사유고 촬영 자동화를 맥북 프로에서 맥북 에어로 옮겨 같은 작업을 이어 갔다: 바꾼 코드는 두 줄이었다