내부 구조 · source
구조 판정
구조 제약
Constraint는 질의 core에 대응하는 구성 요소 span, 필요한 POS, token 전체 경로와 앞뒤 구성 요소 조건을 선언합니다. 표면형 예외 목록을 직접 두지는 않습니다.
Exact path와 common-prefix path는 원문 분석이 선언한 구성 요소 순서와 span이 모두 맞아야 승인됩니다.
graph 준비
Decoder는 표면형에 연결된 분석과 구성 요소 edge를 읽고 final context preparation에 필요한 node만 materialize합니다. 공통 fact와 immutable slice를 공유해 질의별 복사를 줄입니다.
Node 수, context 깊이와 payload 크기의 상한은 잘못된 리소스에서도 메모리 사용을 제한합니다.
판정 실패
Resolver는 필요한 경로가 없으면 후보를 거부하고, graph 상한 초과 같은 판정 불가 상태는 Unavailable로 구분합니다. 일반 matcher의 window 추출·context 준비 실패는 후보를 제외하고 호출자 소유의 SearchDiagnostics에 기록합니다. 네이티브 CLI는 해당 파일의 진단을 stderr에 표시하고 종료 코드 2를 반환합니다. 리소스 로드 실패로 검색 자체가 중단되는 오류와도 구분해야 합니다. 일반 검색의 해석은 결과 해석과 진단에 설명합니다. 정밀도가 낮은 경로로 자동 전환하지 않습니다.
여러 원문 분석 중 하나가 constraint를 만족하면 후보를 유지하고 해당 analysis index를 provenance에 기록합니다.