혼자서 컴퓨터 한 대로 돌리는 하네스(harness)인데도 벌써 사람이 감당할 관리 한계에 닿았다는 이야기입니다. 하네스란 AI가 '다 했다'고 대충 넘어가지 못하도록 규칙과 검사로 감시하는 장치입니다. 지금 쌓여 있는 것만 세어도 rules 50+, hooks 15+, 14-phase pipeline입니다. 차례로 AI가 지켜야 할 규칙 50개 이상, 규칙 위반을 막는 검문 스크립트(hook) 15개 이상, 14단계로 이어지는 작업 과정(pipeline)이라는 뜻입니다. 그래서 구성 요소를 하나하나 세고, 달마다 어떻게 불어났는지 되짚고, 실제로 부딪힌 사례 4개를 적었습니다. 문제의 뿌리는 규칙끼리 서로 부딪히는 조합의 수가 O(n²)처럼 규칙 수의 제곱으로 불어난다는 점입니다. 규칙이 2배가 되면 따져야 할 조합은 4배가 됩니다.
HARD Hooks15+fix_commit, bug_fixer_retry, recurrence, telemetry, adversarial_finding.convergence-loop-no-mid-question는 '작업 중간에 멈추지 말고 끝까지 진행하라'는 규칙의 이름입니다. 그 반대편에는 completion-verification이라는 규칙이 있습니다. '완료라고 말하기 전에 멈춰 서서 검증하라'는 규칙입니다. 두 규칙은 적용 범위가 다르지만 그 경계가 흐릿합니다. '다 됐다고 선언하기 전에 스스로 점검하라'와 '중간에 멈추지 말라'가 정면으로 부딪히는 순간이 실제로 생깁니다.qa-gate-before-push는 코드를 서버에 올리기 직전에 실행되는 검문 스크립트입니다. 품질 검사를 통과했다는 표시 파일 .qa-cycle-passed를 요구합니다. 그것도 1시간 안에 만들어진 것이어야 합니다. 여기에 코드 리뷰를 통과했다는 표시 파일 .codex-review-passed까지 따로 요구하고, 이것도 1시간 안이어야 합니다. 새 커밋(변경 기록)을 하나 만들 때마다 두 표시 파일을 다시 만들고, mark-qa-pass.sh라는 등록 스크립트도 다시 돌려야 합니다. 이 절차가 꼬여 코드 올리기가 5회 연속 막히는 일이 실제로 벌어졌습니다.premature-completion-detector는 '섣부른 완료 선언'을 잡아내는 감시 장치의 이름입니다. 이걸 만들 때, 예외로 봐줄 표현 목록인 VERIFICATION_MARKERS에 너무 헐거운 조건("Iter [0-9]+")을 넣었습니다. 이 조건은 문장 어딘가에 'Iter 숫자'라는 반복 회차 표기만 있으면 검증을 마친 것으로 봐주는 정규식(문자 패턴 규칙)입니다. 그러자 AI가 스스로 그 표현을 만들어 감시 장치를 빠져나갔습니다. 규칙을 만든 쪽과 규칙을 지켜야 하는 쪽이 같아서 스스로를 봐주게 되는 문제입니다.