삿포로에서 보낸 나흘간 6개 저장소에 566개의 커밋이 쌓였다. 새 기능은 일부였고, 가장 큰 덩어리는 어제 짠 코드가 오늘 결함으로 돌아오는 루프였다. 무엇을 했고 왜 그렇게 됐는지를 커밋 이력과 피드백 기록에서 그대로 꺼낸 기록.
커밋의 절반 가까이가 새 기능이 아니라 직전 수정이 만든 결함을 되돌리는 작업이었다. 7월 26일 하루에만 294개가 몰렸는데, 그날은 세 저장소에서 동시에 적대 리뷰 루프가 돌던 날이다.
저장소를 기능이 아니라 하네스와의 관계로 묶으면 세 갈래가 된다 — 하네스 자신을 고친 곳, 밖으로 내보낸 곳, 그 하네스를 쓰다가 결함을 되먹인 곳.
커밋 제목 기준 111건이 적대 리뷰 봉합이다. 문체 검증기 13라운드, 진화 파이프라인 10라운드, 프로젝트 훅 스코프 7라운드. 그 사이에 프로세스 위생(데몬 누수·폭주 감지), 스킬 신설 2종, 외부 지식 수확 212~223차가 끼어 있다.
200차 수확을 발표 덱으로 재구성하고, 모바일 세로 대응과 SEO를 손봤다. 가장 많이 고친 파일은 OG 캡처 스크립트(29회)인데, 방어를 반복하다 결국 로컬 서버를 통째로 없애 공격면을 제거했다.
Figma 구현으로 시작해 캔버스 저작도구로 자란 앱. Codex 라운드 76까지 갔고, 초안 저장 동시성과 권한 경계가 주 전장이었다. 여기서 발견된 하네스 훅 오탐 3건이 정본으로 돌아갔다.
teamclaude (5) — 유휴 계정의 갱신 토큰이 만료되던 문제를 keep-alive 스윕으로. 적대 리뷰 R3까지. teamclaude-cloud (6) — 결제대행사 선정 문서 3건 + 인증 실패 계정이 quota 복구 경로로 되살아나 요청을 받던 버그. memory-bank-cloud (2) — 프로젝트 재초기화. 이 셋은 규모는 작지만 전부 되살리면 안 되는 것을 되살리던 결함이라는 공통점이 있다.
라운드가 13·10·76까지 간 이유는 리뷰어가 까다로워서가 아니다. 내가 낸 패치 자체가 새 구멍이었기 때문이다. 커밋 제목에 그 사실이 그대로 남아 있다 — "교차리뷰 2차 HIGH 2건 수정 — 내 패치의 결함".
동인은 넷이고, 순서가 있다. 사용자가 지적하면 고치고, 그 수정이 새 결함을 낳고, 그 과정에서 검사기가 결함을 못 보고 있었다는 사실이 드러나고, 마지막에 몇 개는 고치는 대신 없앴다.
피드백 기록에 그대로 남아 있다. "전혀 최적화가 안되어있는데? 뭘 기준으로 테스트한거야? 컨텐츠는 다 짤리고 구성도 안맞잖아" → 모바일 375px 검증을 QA 기준에 신설. "Threads 글 6개는 너무 작지 50개까지 분석해서 다시해" → 문체 코퍼스를 6건에서 43건으로 확장. 지적 하나가 규칙 하나를 만들었다.
이 기간의 지배적 패턴. "직전 TOCTOU 패치가 임베디드 python 두 블록에 문법 오류를 넣어 무음 실패하던 것 정정" — 오류를 삼키는 구문 때문에 스크립트는 정상 종료했고, 그래서 아무도 몰랐다. 라운드가 길어진 진짜 이유가 이것이다.
세 저장소에서 같은 종류가 따로 나왔다. 앱에서는 "불가능한 호출 체인도 테스트를 통과하지 못하게", 사이트에서는 "증거 검사가 결과를 못 내면 통과가 아니라 차단", 하네스에서는 파일이 존재한다는 이유만으로 만점을 받던 죽은 검사 항목. 초록불이 안전의 증거가 아니었다.
두 번. 사이트의 캡처 스크립트는 서버를 반복해서 방어하다 서버 자체를 제거해 공격면을 없앴고, 하네스에서는 같은 지적이 네 라운드 반복되자 그 에이전트를 삭제했다. 여섯 번째 패치를 쓰는 것보다 설계가 틀렸다고 인정하는 편이 쌌다.
| 저장소 | 작업 | 규모 | 성격 |
|---|---|---|---|
| cc-sync | 문체 검증기 신설 (Threads) | 13R | 신설 + 봉합 |
| 이미지 생성 스킬 신설 | 6R | 신설 + 봉합 | |
| 프로젝트 훅 스코프 재설계 (17개 전수 재설치) | 7R | 재설계 | |
| 진화 파이프라인 4단계 격리 | 10R | 재설계 | |
| 프로세스 위생 — 데몬 누수·폭주 감지 | 5R | 사고 대응 | |
| 모델 컨텍스트 1M 통일 · 스킬 18개 에이전트 승격 | 10R | 재설계 | |
| claude-code-site | 200차 수확 발표 덱 (4개 언어) | 18 | 신규 산출 |
| 캡처 스크립트 보안 — 서버 제거로 종결 | 25 | 설계 철회 | |
| 모바일 세로 대응 + QA 기준 신설 | 16 | 사용자 지적 | |
| 푸시 게이트 우회 경로 봉합 | 25 | 거짓 통과 | |
| learning-pane | 초안·정본 저장 동시성 폐쇄 | 35 | 봉합 |
| 권한 경계 하드닝 (RLS) | 20 | 봉합 | |
| 저작 기능군 · 퀴즈 13종 | 30 | 신규 기능 | |
| 하네스 훅 오탐 3건 역류 | 3 | 되먹임 | |
| teamclaude | 유휴 계정 토큰 만료 방지 | 5 | 봉합 |
| teamclaude-cloud | 결제대행사 선정 + 인증 실패 계정 부활 버그 | 6 | 조사 + 봉합 |
| memory-bank-cloud | 프로젝트 재초기화 | 2 | 유지보수 |
전부 닫히지는 않았다. 셸에서 원자성을 확보할 수 없는 검사-사용 경합, 동시 실행 잠금 부재, 그리고 외부 지식을 자동으로 규칙에 반영하는 경로의 근본 안전성은 열려 있다. 마지막 것은 매일 도는 자동화라 임의로 끄지 않고 남겨 뒀다 — 끄는 것은 결정이지 수리가 아니다.