2026.07.16 작업일지 v1.0.0
14:46, 최신 선택 뒤로 오래된 추천 버튼이 다시 들어온 사고가 기록됐다. 15:33, 수리한 브릿지가 다섯 노드에서 다시 동작했다. 20:11, 첫이름 iOS 1.0.0(2)가 심사 대기로 넘어갔다.
이날의 주제는 최신 사실을 오래된 신호보다 우선하는 법이었다. 큐에 남은 버튼, 낡은 상태값, 틀린 별칭, 번호만 같은 이미지 후보가 차례로 현재 결정을 흔들었다. 해결은 모두 “무엇이 더 최신이고, 무엇이 같은 대상을 가리키는가”를 코드와 증거로 고정하는 일이었다.
1. 늦은 버튼이 사람의 결정을 추월했다
아이콘 후보를 고르는 대화에서 직접 입력한 최신 선택 뒤에, 앞서 눌렀던 추천 버튼 문구가 늦게 재주입됐다. 자동 재시도까지 겹치면서 한 작업에 서로 다른 선택이 들어왔다. 전송 순서는 지켰지만 의미의 최신성은 지키지 못한 것이다.
수리는 같은 대화에 새 인간 발화가 들어오면 이전 버튼·재시도 항목을 폐기하는 supersede 규칙이었다. PR #823(208b151)을 병합한 뒤 15:33까지 다섯 노드의 Claude 브릿지에서 새 코드와 기존 offset 보존을 확인했다. 워치독이 스스로 재시작한 노드도 있었지만, 메시지 위치는 이어졌다.
배운 것 — 큐의 FIFO는 메시지 순서를 보장할 뿐, 결정의 유효기간까지 보장하지 않는다. 정정 발화가 오면 이전 선택은 명시적으로 만료시켜야 한다.
2. 상태판도 네 가지 방식으로 거짓말했다
브릿지 수리 뒤에는 관측 도구의 작은 거짓말이 연달아 나왔다.
| PR | 오판 | 수리 |
|---|---|---|
| #825 | Fable5의 Imagining… (시간 · thinking)을 idle로 판정 | 동사 목록 대신 구조를 보고, UTF-8·C 로케일을 모두 시험 |
| #826 | 정상 맥미니를 잘못된 SSH 별칭으로 조회해 unreachable 판정 | 라우팅 정본의 별칭으로 통일하고 실노드 왕복 확인 |
| #827 | 다른 노드에 종료를 부탁했다는 보고를 로컬 종료 시도로 오판 | 대리 전달 문맥을 제외하되 진짜 종료 차단은 유지 |
| #828 | 오래 기다린 큐 항목마다 안내 카드 한 장씩 연발 | 기본 60초 창으로 같은 종류를 한 장에 묶음 |
#825는 Linux에서 통과했지만 macOS의 C 로케일에서 멀티바이트 글리프 문자 클래스가 깨져 한 번 반려됐다. 문자 나열을 alternation으로 바꾸고 두 로케일을 회귀시험에 넣은 뒤 16:48에 병합됐다(3c4a87b). “내 기계에서 초록”을 다섯 노드의 초록으로 착각하지 않은 게 핵심이었다.
3. 두 아이콘과 숫자 크로스와이어
자비스 대시보드는 브라우저 상태창과 PWA까지 이어졌다. 후보 네 장 가운데 아크리액터 링을 골라 192·512px 아이콘으로 넣었고(PR #822), LAN 접속을 확인한 뒤 자동시작 유닛도 병합했다(PR #824). 외부 접속은 별도 논의로 남겨 로컬 범위를 넘기지 않았다.
집사리모컨 아이콘은 더 까다로웠다. 두 생성 묶음이 동시에 생기면서 “3번”과 “4번”이 서로 다른 그림을 뜻했다. 번호만 믿은 전달을 멈추고 실제 선택 이미지와 파일 해시를 대조해 집사 로봇으로 교정했다. iOS 전용 앱이라는 저장소 사실도 확인해 Android 뼈대를 새로 만들지 않고, iOS 아이콘만 PR #3으로 반영했다.
배운 것 — 병렬 후보의 번호는 식별자가 아니다. 최종 자산은 그림 자체와 해시로 확인해야 한다.
4. 제품에서는 무엇을 보여주고, 무엇을 접을지 정했다
첫이름 결제 화면의 “이름 후보 전체”는 실제 가치를 알 수 없는 문구였다. 앱은 준비된 후보 배열의 개수를, 웹은 미리보기 API의 candidateCount를 표시하도록 바꿨다(PR #58). 이후 아이콘·메타데이터·아이폰과 아이패드 스크린샷·개인정보 라벨을 채워 20:11에 iOS 1.0.0(2)를 심사 대기로 넘겼다.
한줄일기 테스터 피드백 6쪽도 확보했다. 신규 설치라는 목표로 ASO 문구와 스크린샷 강화만 채택하고, 이미 있는 온보딩·피드백 기능은 재작업하지 않았다. 감정 추적·클라우드 백업·커뮤니티·정기 업데이트 일반론은 보류했다. 결정과 초안은 문서 PR #57로 남겼고 실제 게시만 심사 통과 뒤로 미뤘다.
반대로 인스타그램 캐러셀은 시안 5장까지 만들었지만 토큰을 주기적으로 다시 발급해야 하는 운영비를 받아들이지 않기로 해 게시하지 않고 종료했다. 아키텍처 v4 우산에는 7월 18일 재확인 표식을 제목에 붙여, 그전에는 같은 질문과 작업을 반복하지 않도록 했다.
5. 그래서 뭐가 남았나
| 항목 | 결과 |
|---|---|
| 브릿지 | 최신 인간 발화 우선 규칙, 다섯 노드 활성화 |
| 관측 도구 | busy·별칭·종료 보고·대기 카드 오판 4종 수리 |
| 자비스 | LAN 대시보드·PWA 아이콘·자동시작 |
| 집사리모컨 | 선택 자산 교정 후 iOS 아이콘 반영 |
| 첫이름 | 실제 후보 개수 노출, iOS 심사 대기 |
| 한줄일기 | 피드백 옥석 결정과 게시 전 초안 완료 |
| 의도적 중단 | 인스타 게시 중단, v4는 7월 18일 게이트까지 홀드 |
이날의 변경은 기능을 더한 것만큼 낡은 신호를 버리고, 같은 대상을 정확히 가리키고, 하지 않을 일을 닫는 것에 집중됐다. 기다림도 상태가 되고, 중단도 결과가 된 하루였다.
다음 이야기는 7월 18일 게이트에서 자동화 역할을 다시 판단하는 이야기.
— 강대종 / @ssamssae