virtual-insanity
← 리포트 목록

AGENTS.md 중복 컷오버 공지 정리 제안서

2026-09-07 cowork [AGENTS.md, 인프라상태관리, 문서구조, hermes-gateway]

AGENTS.md 중복 컷오버 공지 정리 제안서

[권고]

1순위: AGENTS.md 1~15행(2026-08-17 재검증 블록 + 2026-07-19 컷오버 블록, 총 15행)을 단일 앵커 섹션 "## 🔒 인프라 현재상태 앵커"로 교체한다. 이유: 현재 같은 파일 안에 동일 사실(어느 HERMES_HOME이 라이브 게이트웨이인가)에 대한 재검증 공지가 2026-07-19 → 2026-08-17 → 2026-09-04(58~67행, MCP 섹션)까지 3중으로 중첩돼 있고, 8/17 블록이 "위 2026-07-19 공지"라는 상대 위치 참조를 쓰고 있어 다음 편집자가 순서를 바꾸면 참조가 깨지는 구조적 결함이 있다. 기대효과: 공지 블록 15행 → 8행(약 47% 축소), 상대참조 문구 2건 제거, 향후 재검증 시 새 블록을 또 쌓지 않고 앵커 1곳만 교체하면 되므로 반복 중복 발생 가능성을 지금의 "3회 누적" 패턴에서 구조적으로 0으로 낮춘다.

2순위: 58~67행 MCP 섹션의 3~4번째 문장("이 구분은 위 2026-08-17 게이트웨이 재검증 결론과 일치한다")을 앵커 섹션으로의 명시적 링크(위 "인프라 현재상태 앵커" 참고)로 바꾼다. 이유: 현재 MCP 섹션 자체가 사실상 3번째 재검증 공지 역할을 하고 있어 통합 없이는 앵커가 4곳(1~8행, 10~15행, 58~67행, 그리고 향후 추가될 4번째)으로 계속 늘어난다. 기대효과: 동일 사실에 대한 서술 중복 3곳 → 1곳(참조 2곳)으로 축소, 신규 세션이 인프라 상태를 파악할 때 읽어야 할 위치가 3곳에서 1곳으로 줄어 파악 소요 시간 감소.

[현황]

  • AGENTS.md 총 122행 중 인프라 상태 관련 중복 공지가 3개 블록, 총 24행 (1~8행 8행 + 10~15행 6행 + 58~67행 10행)을 차지 — 파일 전체의 19.7%.
  • 2026-07-19 블록(10~15행, 6행): "폐기됨" 표시가 이미 붙어 있음에도 파일에서 삭제되지 않고 원문 그대로 남아 있음. 15행 자체가 "삭제하거나 폐기됨으로 표시할 것"이라 자인하고 있어, 이 작업지시가 실행되지 않은 채 21일 (07-19→08-17 기준) 방치됨.
  • 2026-08-17 블록(1~8행, 8행): 2026-07-19 블록보다 위에 있어 파일 열람 시 먼저 보이지만, 7행에서 "이 파일의 날짜 붙은 공지를 그대로 믿지 말고"라고 스스로 신뢰도를 낮추는 문구를 포함 — 공지 자체가 자기 불신을 명시하는 상태.
  • 2026-09-04 MCP 섹션(58~67행, 10행): 08-17 결론과 동일한 사실(구 경로가 운영중)을 PID 81133/lsof 근거로 재확인했고, 62행·67행에서 "위 2026-08-17 게이트웨이 재검증 결론과 일치한다"고 명시 — 사실상 3번째 동일 주제 재검증이며 새 섹션명(MCP 운영 정책)으로 분리되어 중복 여부가 목차상 드러나지 않음.
  • 본 작업에서 ps aux/psutil process_iter로 라이브 프로세스를 직접 재확인 시도했으나 이 cowork 세션은 /bin/ps 및 psutil 모두 Operation not permitted로 차단되어 실측 불가(샌드박스 권한 제한). 대신 같은 파일 60행에 이미 기록된 2026-09-04 05:33 ps/lsof 실측 기록(PID 81133, HERMES_HOME=/Users/ron/.hermes)과 scripts/pipeline/webapp/blueprints/hermes_proxy.py 44행의 코드 주석 ("0.18.2 신 대시보드... 9119로 되돌리지 말 것")을 교차 확인 — 코드상 프록시 대상은 여전히 9121(대시보드 UI)이며, 이는 08-17 결론("9121에는 대시보드 UI 프로세스만 있다")과 모순 없이 일치함. 즉 현재 세션에서는 새 실측이 아니라 기존 3개 공지 간 내적 일관성만 대조했다는 한계가 있다.

대조표: 기존 중복 공지 → 통합안

항목 기존 위치 기존 내용 요지 통합 후 위치
컷오버 시도 기록 10~15행(2026-07-19) hermes-next로 전환, 9121 고정, --replace 금지 앵커 섹션 "이력" 항목 1줄로 축약, 본문 삭제
롤백 재검증 1~8행(2026-08-17) 실제 라이브는 구 경로(~/.hermes), hermes-next엔 대시보드 UI만 존재 앵커 섹션 본문(현재 상태)으로 승격
MCP canonical 재확인 58~67행(2026-09-04) PID 81133 lsof 근거로 canonical=~/.hermes/config.yaml 재확인 앵커 섹션에 "최종 확인" 타임스탬프+근거로 병합, MCP 세부 규칙(63~66행)만 별도 섹션에 잔류
상대참조 문구 8행 "위 2026-07-19 공지", 62행/67행 "위 2026-08-17 결론과 일치" 순서 바뀌면 깨지는 상대 위치 참조 전부 "위 인프라 현재상태 앵커 참고"로 통일(순서 무관)

제안 통합 섹션 초안 (codex 적용용, 8행)

## 🔒 인프라 현재상태 앵커 (최종 확인: 2026-09-04 05:33 KST, 근거: ps/lsof PID 81133)
- 라이브 게이트웨이: HERMES_HOME=/Users/ron/.hermes (구 경로). PID 81133 `hermes_cli.main gateway run --replace`.
- ~/.hermes-next: PID 1485 `hermes dashboard --port 9121` UI 전용 프로세스만 존재. 게이트웨이 본체·크론 스케줄러 없음.
- 크론 유효 장부: ~/.hermes/cron/jobs.json + executions.db. MCP canonical: ~/.hermes/config.yaml.
- 이력: 2026-07-19 hermes-next 컷오버 시도 → 2026-08-17 롤백 확인(구 경로가 실운영) → 2026-09-04 MCP 점검에서 재확인, 결론 불변.
- 다음 재검증 시: 이 섹션 bullet만 직접 교체하고 "이력" 줄에 날짜 1개만 추가. 새 섹션/블록 추가 금지.
- 검증 명령: `ps aux | grep hermes_cli` 또는 `lsof -p <PID>` 로 HERMES_HOME 환경변수와 열린 파일 경로 직접 확인. 이 섹션 날짜도 무검증 신뢰 금지.

[리스크]

  • 구조적 위험: 상대 위치 참조("위 2026-07-19 공지") 방식이 유지되는 한, 이번 통합 이후에도 4번째 재검증이 발생하면 동일 패턴(새 블록 추가, 구 블록 방치)이 반복될 단일 실패점이다. 원인은 "폐기 시 삭제" 규칙이 문서화는 됐으나(15행 자체가 그 규칙을 담고 있음) 강제되지 않는 점 — 즉 규칙이 텍스트로만 존재하고 이를 점검하는 자동화가 없다.
  • 의존관계: hermes_proxy.py 44행 코드 주석이 2026-07-19 공지의 "9121 고정" 근거와 동일 문구를 공유하고 있어, 공지 삭제 시 코드 주석과의 정합성 확인이 필요하다(코드 주석 자체는 유지 — 프록시 대상은 여전히 9121이 맞음, 삭제 대상은 "게이트웨이가 거기서 돈다"는 이미 틀린 서술뿐).
  • 검증 공백: 이번 작업은 프로세스 실측이 샌드박스 권한으로 차단되어 기존 기록 대조에 그쳤다. 통합 실행(codex) 시점에 반드시 ps aux | grep hermes_cli 재실행으로 PID/HERMES_HOME이 60행 기록과 동일한지 재확인 후 적용해야 한다 — 그 사이 인프라가 다시 바뀌었을 가능성을 배제하지 않는다.

[검증방법]

  • KPI: AGENTS.md 내 "인프라 현재상태" 관련 서술 블록 수를 3개(24행)에서 1개(8행)로 축소.
  • 검증 명령: grep -n "게이트웨이\|HERMES_HOME\|hermes-next" AGENTS.md | wc -l 실행 전(현재) 대비 실행 후 매칭 라인 수 감소 확인. 통합 직후 ps aux | grep hermes_cli로 앵커 섹션의 PID/HERMES_HOME이 실측과 일치하는지 재확인.
  • 기대값: 매칭 라인 수 감소, 앵커 섹션의 HERMES_HOME 값이 실측 ps 출력과 100% 일치.
  • 롤백 조건: 통합 후 실측 결과가 앵커 섹션 기록과 다르면(즉 인프라가 또 바뀌어 있으면) 삭제한 07-19/08-17 블록을 복원하지 말고, 앵커 섹션의 bullet만 새 실측값으로 교체 — 절대 구 블록을 되살려 중복을 재생산하지 않는다.

완료 보고

결론: AGENTS.md 1~15행(2026-07-19/2026-08-17 중복 컷오버 공지) 및 58~67행 (2026-09-04 MCP 재검증 공지)을 대조해 단일 "인프라 현재상태 앵커" 섹션으로 통합하는 제안서를 작성하고 대조표·통합 초안 섹션 텍스트를 포함해 knowledge-agent 볼트에 저장했다. 실제 파일 수정은 codex에 위임 대상이며 이번 작업 범위(제안서 작성)에서는 AGENTS.md 자체를 변경하지 않았다. 근거: /Users/ron/.hermes/workspace/AGENTS.md 1~15행, 58~67행 전문 대조, /Users/ron/.hermes/workspace/scripts/pipeline/webapp/blueprints/hermes_proxy.py 44행 코드 주석 교차 확인 (조회 2026-09-07 KST). 검증: ps aux | grep hermes_cli 및 psutil process_iter() 실행 → 둘 다 Operation not permitted(exit_code 1)로 이 cowork 세션에서는 라이브 프로세스 실측이 차단됨을 확인. 대신 파일 자체에 이미 기록된 2026-09-04 05:33 ps/lsof 실측(PID 81133)을 근거로 채택. 근거파일: /Users/ron/.hermes/workspace/AGENTS.md:15 "다음 컷오버(또는 롤백) 작업 시 이 섹션을 실제 상태로 갱신하고, 위 2026-07-19 공지는 삭제하거나 "폐기됨"으로 표시할 것." (이 지시가 21일간 미실행 상태임을 확인하는 근거).