Field Log — 2026.07.25 → 07.28

4일 동안 566번 고쳤고
절반은 내가 낸 구멍이었다

삿포로에서 보낸 나흘간 6개 저장소에 566개의 커밋이 쌓였다. 새 기능은 일부였고, 가장 큰 덩어리는 어제 짠 코드가 오늘 결함으로 돌아오는 루프였다. 무엇을 했고 왜 그렇게 됐는지를 커밋 이력과 피드백 기록에서 그대로 꺼낸 기록.

나흘, 여섯 저장소, 566커밋
566commits
6repos
47%adversarial fixes
76max review rounds
294peak day

커밋의 절반 가까이가 새 기능이 아니라 직전 수정이 만든 결함을 되돌리는 작업이었다. 7월 26일 하루에만 294개가 몰렸는데, 그날은 세 저장소에서 동시에 적대 리뷰 루프가 돌던 날이다.

날짜별 커밋 분포 — 저장소 3갈래 누적 0 150 300 07-25 76 07-26 293 07-27 149 07-28 35 harness site app
막대는 주요 세 저장소만 쌓은 것이다(나머지 세 곳 13커밋 제외). 7월 26일의 293커밋은 그 세 곳이 각각 다른 적대 리뷰 루프에 들어가 있던 결과다 — 하네스는 문체 검증기 13라운드, 앱은 동시성 라운드 34~64, 사이트는 캡처 스크립트 보안 25건.
여섯 저장소, 세 가지 역할

저장소를 기능이 아니라 하네스와의 관계로 묶으면 세 갈래가 된다 — 하네스 자신을 고친 곳, 밖으로 내보낸 곳, 그 하네스를 쓰다가 결함을 되먹인 곳.

자기 수리

cc-sync

커밋 제목 기준 111건이 적대 리뷰 봉합이다. 문체 검증기 13라운드, 진화 파이프라인 10라운드, 프로젝트 훅 스코프 7라운드. 그 사이에 프로세스 위생(데몬 누수·폭주 감지), 스킬 신설 2종, 외부 지식 수확 212~223차가 끼어 있다.

238
commits
바깥으로

claude-code-site

200차 수확을 발표 덱으로 재구성하고, 모바일 세로 대응과 SEO를 손봤다. 가장 많이 고친 파일은 OG 캡처 스크립트(29회)인데, 방어를 반복하다 결국 로컬 서버를 통째로 없애 공격면을 제거했다.

153
commits
되먹임

learning-pane

Figma 구현으로 시작해 캔버스 저작도구로 자란 앱. Codex 라운드 76까지 갔고, 초안 저장 동시성과 권한 경계가 주 전장이었다. 여기서 발견된 하네스 훅 오탐 3건이 정본으로 돌아갔다.

162
commits
나머지 셋

teamclaude (5) — 유휴 계정의 갱신 토큰이 만료되던 문제를 keep-alive 스윕으로. 적대 리뷰 R3까지. teamclaude-cloud (6) — 결제대행사 선정 문서 3건 + 인증 실패 계정이 quota 복구 경로로 되살아나 요청을 받던 버그. memory-bank-cloud (2) — 프로젝트 재초기화. 이 셋은 규모는 작지만 전부 되살리면 안 되는 것을 되살리던 결함이라는 공통점이 있다.

고치면 그 수정이 다음 결함을 낳는다

라운드가 13·10·76까지 간 이유는 리뷰어가 까다로워서가 아니다. 내가 낸 패치 자체가 새 구멍이었기 때문이다. 커밋 제목에 그 사실이 그대로 남아 있다 — "교차리뷰 2차 HIGH 2건 수정 — 내 패치의 결함".

수렴하지 않는 루프와, 그것을 끊은 두 사례 수정 결함 하나를 닫는다 적대 리뷰 다른 모델이 반박 새 결함 발견 방금 그 패치가 만든 것 되돌아온다 — 13R · 10R · 76R 탈출 패치를 하나 더 쓰지 않고, 기능을 철회한다 사이트 — 캡처용 로컬 서버를 반복 방어하다 서버 자체를 제거 (252 → 128줄) 하네스 — 같은 지적이 4라운드 반복되자 그 에이전트를 삭제 같은 지적의 반복은 미수정이 아니라 설계가 틀렸다는 신호다
리뷰가 새 결함을 계속 찾는다는 것은 리뷰가 유능하다는 뜻이자, 그 설계가 안전하게 만들어질 수 없다는 뜻이기도 하다. 두 번은 후자였다.
무엇이 이 나흘을 움직였나

동인은 넷이고, 순서가 있다. 사용자가 지적하면 고치고, 그 수정이 새 결함을 낳고, 그 과정에서 검사기가 결함을 못 보고 있었다는 사실이 드러나고, 마지막에 몇 개는 고치는 대신 없앴다.

D1
사용자 지적이 직접 트리거

피드백 기록에 그대로 남아 있다. "전혀 최적화가 안되어있는데? 뭘 기준으로 테스트한거야? 컨텐츠는 다 짤리고 구성도 안맞잖아" → 모바일 375px 검증을 QA 기준에 신설. "Threads 글 6개는 너무 작지 50개까지 분석해서 다시해" → 문체 코퍼스를 6건에서 43건으로 확장. 지적 하나가 규칙 하나를 만들었다.

D2
내 패치가 다음 결함이 됐다

이 기간의 지배적 패턴. "직전 TOCTOU 패치가 임베디드 python 두 블록에 문법 오류를 넣어 무음 실패하던 것 정정" — 오류를 삼키는 구문 때문에 스크립트는 정상 종료했고, 그래서 아무도 몰랐다. 라운드가 길어진 진짜 이유가 이것이다.

D3
검사기가 있는데 결함을 못 봤다

세 저장소에서 같은 종류가 따로 나왔다. 앱에서는 "불가능한 호출 체인도 테스트를 통과하지 못하게", 사이트에서는 "증거 검사가 결과를 못 내면 통과가 아니라 차단", 하네스에서는 파일이 존재한다는 이유만으로 만점을 받던 죽은 검사 항목. 초록불이 안전의 증거가 아니었다.

D4
고치는 대신 없앴다

두 번. 사이트의 캡처 스크립트는 서버를 반복해서 방어하다 서버 자체를 제거해 공격면을 없앴고, 하네스에서는 같은 지적이 네 라운드 반복되자 그 에이전트를 삭제했다. 여섯 번째 패치를 쓰는 것보다 설계가 틀렸다고 인정하는 편이 쌌다.

"같은 지적이 반복되면 그건 아직 안 고쳤다는 뜻이 아니라, 그 방식으로는 고칠 수 없다는 뜻이다."
나흘간의 작업 목록
저장소작업규모성격
cc-sync문체 검증기 신설 (Threads)13R신설 + 봉합
이미지 생성 스킬 신설6R신설 + 봉합
프로젝트 훅 스코프 재설계 (17개 전수 재설치)7R재설계
진화 파이프라인 4단계 격리10R재설계
프로세스 위생 — 데몬 누수·폭주 감지5R사고 대응
모델 컨텍스트 1M 통일 · 스킬 18개 에이전트 승격10R재설계
claude-code-site200차 수확 발표 덱 (4개 언어)18신규 산출
캡처 스크립트 보안 — 서버 제거로 종결25설계 철회
모바일 세로 대응 + QA 기준 신설16사용자 지적
푸시 게이트 우회 경로 봉합25거짓 통과
learning-pane초안·정본 저장 동시성 폐쇄35봉합
권한 경계 하드닝 (RLS)20봉합
저작 기능군 · 퀴즈 13종30신규 기능
하네스 훅 오탐 3건 역류3되먹임
teamclaude유휴 계정 토큰 만료 방지5봉합
teamclaude-cloud결제대행사 선정 + 인증 실패 계정 부활 버그6조사 + 봉합
memory-bank-cloud프로젝트 재초기화2유지보수
남은 것

전부 닫히지는 않았다. 셸에서 원자성을 확보할 수 없는 검사-사용 경합, 동시 실행 잠금 부재, 그리고 외부 지식을 자동으로 규칙에 반영하는 경로의 근본 안전성은 열려 있다. 마지막 것은 매일 도는 자동화라 임의로 끄지 않고 남겨 뒀다 — 끄는 것은 결정이지 수리가 아니다.