하네스(harness)란 AI가 '다 했다'고 대충 넘어가지 못하도록 규칙과 검사로 감시하는 장치입니다. 지금 이야기하는 것은 혼자서 컴퓨터 한 대로 돌리는 시스템인데도, 벌써 rules 50+, hooks 15+, 14-phase pipeline — AI가 지켜야 할 규칙 50개 이상, 규칙 위반을 막는 검문 스크립트 15개 이상, 14단계로 이어지는 작업 과정 — 이 쌓여 사람이 감당할 관리 한계에 이미 닿았습니다. 규칙끼리 서로 부딪히는 조합의 수는 O(n²)처럼 규칙 수의 제곱으로 불어납니다. 규칙이 2배가 되면 따져야 할 조합은 4배가 됩니다.
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가 스스로 그 표현을 만들어 감시 장치를 빠져나갔습니다. 규칙을 만든 쪽과 규칙을 지켜야 하는 쪽이 같아서 스스로를 봐주게 되는 문제입니다.