세션이 서비스 소스를 못 찾고 오보하는 원인 분석 + 검색도구
표본 사건
핸드오프 세션이 "book.crowny.org 랜딩 소스가 리포에 없다(9줄 스텁만)"고
오보하고 작업을 보류함.
실제로는 소스가 멀쩡히 존재 —
/Users/ef/crowny-agent/책서버.한선(1889줄)이
bookagent.toau로 컴파일돼 9931에서 구동 중.
근본 원인 (실측)
| 점검 | 결과 |
|---|
| 셀코어 규칙저장소 | condition\|파일:줄\|식 33,033줄 → 코드 로직은 셀코어로 색인됨(사용자 가설대로 "못찾을 수 없음"이 맞음) |
| 학습DB | 148k/60k/3.85M줄 — 코드 패턴(intent\ | code) 색인 |
| gateway.yaml·PORTS.md·VERSIONS | 도메인↔포트↔업스트림만, 소스 .한선 필드 전무 |
| 서비스 기동 | 18 plist + 스크립트. 대부분 crownyc run X.toau만 — 소스 링크는 어디에도 없음. bookagent는 우연히 수동 sh -c '…else hanseonc_high 책서버.한선 > bookagent.toau' 형태로 떠 있어서만 추적 가능 |
| 이름 충돌 | crowny-data/services/book.한선(9줄 스텁) vs crowny-agent/책서버.한선(1889줄 진짜) → 이름검색이 스텁을 집음 |
결론: 오보의 원인은 학습DB/셀코어 실패가
아님. 그것들은
코드 로직을 색인하지
배포 토폴로지(어떤 .한선→어떤 .toau→어떤 포트/도메인)를 색인하지 않는다. 그
서비스→소스 레지스트리가 부재한 것이 근본 원인. 게다가 동명 스텁이 이름검색을 오도한다.
만든 도구 — ~/.claude/scripts/크라우니찾기.sh
서비스(도메인/포트/바이너리)→소스 .한선 해석기 + 색인기. 동반 한선씨 코어
크라우니찾기.한선(해석 우선순위·스텁판정 로직, 컴파일·실행 검증).
크라우니찾기 <도메인|포트|toau|키워드> — 진짜 소스 즉답 (0.03s, 매니페스트 히트 시)
크라우니찾기 색인 — 전체 225서비스 맵 재생성 → ~/.claude/knowledge/서비스소스맵.psv
크라우니찾기 검증 <toau> — 소스 추적 + 스텁 경고(동명 큰 소스 있으면)
크라우니찾기 등록 <toau> <소스.한선> — 선언적 매핑 영구화(빌드 시 권장 → 오보 영구 차단)
해석 우선순위: 매니페스트(등록) > 라이브 프로세스 명령줄 > 기동 스크립트 페어 > 동명 관례.
검증
- 핵심 사건:
bookagent.toau → /Users/ef/crowny-agent/책서버.한선(1889줄) 즉시 추적 ✓ (manifest 등록 완료)
- 색인: 225서비스 중 44 자동해석(manifest 3 / live-ps 4 / 관례 37) + 181 미해석=등록 대상(소스가 진짜 불투명 — 시스템 병폐의 정량화)
- 한선씨 코어: 9줄 스텁 vs 1889줄 진짜 판별, 매니페스트>관례 우선선택 시연 ✓
시스템 권고 (오보 영구 차단)
- 빌드 시 등록 습관화: 세션이
.toau를 빌드하면 크라우니찾기 등록 X.toau SRC.한선 한 줄 → 매니페스트(서비스소스.psv)에 영구 기록, 다음 세션이 0.03s에 해석.
- (후속) 기동 스크립트/plist에 소스 주석 표준화 또는 사이드카
.src 파일.
- 미해석 181건을 점진 등록 → 전 서비스 추적 가능.
관련 파일
- 도구:
~/.claude/scripts/크라우니찾기.sh + 동반 크라우니찾기.한선
- 산출:
~/.claude/knowledge/서비스소스맵.psv(색인) · ~/.claude/knowledge/서비스소스.psv(등록 매니페스트)
- 지식 등록: crowny-knowledge 셀 #16336
잔여 이슈
- 전체 색인 약 2분(225 lsof + .한선 find+wc). 단일 쿼리는 즉시. 색인 가속은 후속(HANTBL 캐시).