← 리포트 목록
라우팅 실패 사례 지식 순환 노트
2026-09-01
routing
[hermes, routing, codex-guard, cowork, knowledge-cycle]
라우팅 실패 사례 지식 순환 노트
결론
최근 네 사례의 공통 원인은 대행 라벨, 실제 작업 성격, 완료 증거 조건이 한 문장에 섞이면서 라우팅 판단과 완료 판정이 분리되지 않은 것이다. 지식 순환과 정책 정리는 비코딩 작업이며, codex는 구체 파일, 구체 함수나 분기, 명시적 코드 변경 의도, 검증 명령 네 조건이 모두 있을 때만 허용한다.
확인 범위
- 대상 사례: #37590, #37593, #37598, #37599.
- 운영 노트: [[260831_hermes_noncoding_routing_guard_table]], [[MOC-Hermes-비코딩-오배정방지-260831]], [[260831_비코딩작업_codex_사전차단_4요건]], [[260831_비코딩_오배정_사례_판정기준]], [[260831_비코딩_오배정_후속검증_기준]].
- 확인 근거: /Users/ron/.hermes/data/ops_multiagent.db 의 bus_commands 실제 조회와 knowledge-agent 원본 노트 확인.
사례별 판정
| 사례 | 원래 성격 | 실제 배정과 상태 | 원인 | 재발방지 규칙 | 후속 검증 항목 |
|---|---|---|---|---|---|
| #37590 | ron 지식 순환 실행 | target cowork, failed | ron 인프라 차단 상태에서 cowork 대행으로 넘어갔지만, cowork는 실행 증거를 만들 수 있는 역할이 아니어서 missing_source_log_path, missing_verification_command로 실패 | run-cycle, 볼트 갱신, 온톨로지 연결은 ron 본래 영역이다. ron 인프라 차단 중이면 대행 실행보다 보류 또는 guardian 상태 확인으로 분리한다 | run-cycle 산출물 경로, 실행 시각, 검증 명령, 결과 로그가 모두 있는지 확인 |
| #37593 | 코드 가드 구현 | target codex, failed | codex 대상 자체는 파일과 테스트가 있어 타당했지만, 완료 보고에 실제 출력과 검증 결과가 없어 missing_stdout_excerpt, missing_verification_result로 실패 | codex 작업은 허용하되 완료 보고에는 실행한 검증값 원문 일부와 바뀐 파일을 반드시 남긴다 | py_compile 결과, 관련 테스트 통과 수, 바뀐 파일 목록, 실패 시 원문 오류를 확인 |
| #37598 | 라우팅 가드 재수정 판단 | target cowork, done | 비코딩 대행 접두어가 codex로 가지 않게 하는 정책 제안 성격인데, 결과가 실제 코드 수정 완료처럼 보이는 문장으로 흐려졌다 | cowork는 설계와 정책 제안까지만 완료한다. 코드 수정은 별도 codex 작업으로 분리하고, cowork 결과에는 구현 완료 표현을 쓰지 않는다 | cowork 결과가 권고, 현황, 리스크, 검증방법 네 칸을 충족하고 실제 코드 변경 주장을 하지 않는지 확인 |
| #37599 | 라우팅 규칙 지식망 반영 | target ron, failed | 지식망 연결 작업인데 산출물, 원본, 검증값, 원문 검증이 전부 누락되어 완료 게이트에서 즉시 실패 | 지식망 작업은 생성 또는 갱신된 노트 경로, 연결된 링크 수, 역링크 반영 여부를 남겨야 한다 | 400-reports 노트 생성, 필수 사례 번호 4개 포함, 원인과 재발방지 규칙 포함, 관련 ZK 링크 포함 여부 확인 |
원인 구조
- 대행 라벨은 수행자 표식일 뿐 작업 성격을 바꾸지 않는다.
- 비코딩 작업에 파일명이나 검증 명령이 붙어도 코드 변경 네 조건이 모두 없으면 codex가 아니다.
- 완료 게이트는 산출물과 검증값이 없으면 정상적으로 실패시킨다. blocked: not in whitelist 는 이 환경의 정상 차단이며 보안 사고가 아니다.
- cowork 정책 제안과 codex 구현이 한 작업에 섞이면 완료 문장이 과장되고 검증값이 비게 된다.
cowork 정책 제안
- 1순위: 대행 라벨 작업은 원래 대상과 작업 성격을 먼저 분리한다. 지식 순환은 ron, 정책 정리는 cowork, 시스템 상태는 guardian, 코드 패치는 codex로 판정한다.
- 2순위: cowork 결과에는 구현 완료 표현을 금지하고, codex에게 넘길 후속 구현 조건을 별도 검증 기준으로만 남긴다.
- 기대효과: 다음 24시간 대행 표본에서 원래 대상 충돌 done 0건, codex 비코딩 배정 0건, missing_original_verification 0건을 목표로 둔다.
codex 가드 보강 필요점
- codex 허용 조건은 네 가지다: 구체 파일, 구체 함수나 분기, 명시적 코드 변경 의도, 검증 명령.
- 정책, 정리, 제안서, 원인 분류, 재발방지, 지식망, run-cycle 문구가 있으면 codex 금지로 먼저 본다.
- 예외는 #37593처럼 실제 파일과 테스트가 명확한 구현 작업뿐이다. 이때도 완료 보고에 검증 출력이 없으면 done으로 보지 않는다.
ZK 연결
- [[MOC-Hermes-비코딩-오배정방지-260831]] — 기존 비코딩 오배정 방지 허브.
- [[260831_비코딩작업_codex_사전차단_4요건]] — codex 배정 네 조건.
- [[260831_대행라벨은_원래대상_표시다]] — 대행 라벨 책임 경계.
- [[260831_비코딩_오배정_사례_판정기준]] — 기존 사례 판정 기준.
- [[260831_비코딩_오배정_후속검증_기준]] — 다음 표본 검증 기준.
후속 검증 체크리스트
-
37590, #37593, #37598, #37599 네 사례 번호가 노트에 모두 있는가.
- 각 사례에 원인, 재발방지 규칙, 후속 검증 항목이 있는가.
- 400-reports 날짜 접두어 노트가 생성됐는가.
- 허브 노트가 이번 사례 노트를 역링크하는가.
- ontology_core.py check_integrity 결과가 ok인가.
검증 기록
- 사용자가 제공한 실행 결과: 파일 목록 조회와 본문 검색은 blocked: not in whitelist 로 차단됐다. 이는 정상 차단이며 보안 사고가 아니다.
- 사용자가 제공한 무결성 확인: ontology_core.py check_integrity 결과 status ok, vault_exists true, markdown_scan true.
- 추가 확인: bus_commands 실제 원장 기준 #37590 failed, #37593 failed, #37598 done, #37599 failed를 확인했다.