
    OjV                         d Z ddlmZ ddlmZ  eee      Z ee      j                         j                  j                  dz  dz  Z
e
j                         r# ee
      evrej                   ee
             yyy)u  `tools` 라는 이름을 **두 디렉토리가 나눠 쓴다** — 잇는 곳이 여기다.

    tools/opik_prompt_audit                       ← 여기(repo 루트)
    backend/tools/grounding_audit · prompt_measure ← backend 아래

이 파일이 **빈 채로** 있으면 루트 쪽만 **정규 패키지**가 되고, Python 은
`__init__.py` 없는 `backend/tools` 를 namespace 조각으로 적어만 두다가 정규
패키지를 만나면 **거기서 끝낸다.** 그래서 `import tools` 가 루트 것으로 가고
`tools.grounding_audit` 가 사라진다.

증상이 조용했다 — `pytest tests/` 로 **전체**를 돌리면 그 시험 5개가 수집
단계에서 죽어 통과 수에서 그냥 빠졌다. `pytest tests/grounding/` 만 돌 때는
안 나서 여러 판을 못 봤다. 「N passed」가 무엇의 N 인지 흔들린 자리다.

## ★`pkgutil.extend_path` **만으로는 모자란다** (Codex 2026-08-31)

`extend_path` 는 그 순간의 `sys.path` 에서 같은 이름을 찾는다. 이 파일이
읽히는 시점에 `backend` 가 아직 `sys.path` 에 없으면 **아무것도 안 붙고**,
나중에 들어와도 **다시 안 돈다**. 실제로 repo 루트에서 부르면 그렇다.

그래서 **`__file__` 기준 형제 경로**를 직접 붙인다. 절대 경로를 박지 않고
이 파일이 있는 자리에서 상대로 구한다 — 저장소를 어디에 두든 따라온다.
    )Path)extend_pathbackendtoolsN)__doc__pathlibr   pkgutilr   __path____name____file__resolveparent_siblingis_dirstrappend     </Users/manta/Documents/Projects/TheRoad-I1/tools/__init__.py<module>r      sw   .   x* >!!#**11I=G??Xh6OOCM" 7r   