id: D3
version: 3
bundle: replace
name: 질의 글이 다른 자리에 들어감
gold: false
status: fix
unit: slot
sample:
  conditions:
  - O
  - O_v10
  - a1
  - a
  - c
  scope: top10
question: |
  대상 질의 글(target)의 필드(title, label, items, value, period 등)와 그 글이 들어간 노드의 binding.field 가 같은 노릇인지 본다. 자리 = binding 의 field 다.
  글이 든 노드 = binding 에서 text 가 대상 글을 담은 항목(같은 글, 「* 」 불릿 줄, 「이름: 값」, 부분 문자열).
  - right: 질의 필드와 binding.field 가 같다(items.j 는 items). title 은 binding.field 가 title 이거나, 문서 제목과 같은 글이 entity label 로도 있어 label 자리에 들어간 경우. value, period, author, organization, source 가 그 entity 의 items 자리에 「이름: 값」으로 붙은 경우. 같은 entity 의 label 과 items 가 한 자리에 「* 」 불릿으로 합쳐진 경우.
  - wrong: 다른 entity 의 자리나 다른 노릇의 자리에 들어갔다(label 글이 다른 항목의 items 자리, items 글이 다른 항목의 label 자리 등). 또는 role 이 Marker, Decoration, Separator, Annotation 인 노드에 들어갔다.
  노드의 RLSC role(Title, Description, Highlight)이 질의 필드와 달라 보여도 binding.field 가 맞으면 맞는 자리다.
  frame_tree 의 text 는 대치 전 템플릿 원문이다. 현재 글은 node_text_map_union(나눠 담기면 「쪽 i/N」 별)과 binding.text 다. result_thumbs_pages 는 쪽 그림 전부다. 템플릿 원문이 질의 글과 다르다는 것은 다른 자리의 근거가 아니다.
inputs:
- query_yaml
- binding
- node_text_map_union
- frame_tree
- result_thumbs_pages
- spec_excerpt:
  - mor2627-127
  - cap-284
  - cap-286
answers:
  kind: categorical
  options:
  - key: right
    label: 맞는 자리(binding.field 가 질의 필드와 같음)
  - key: wrong
    label: 다른 자리
defect:
  bad:
  - wrong
aggregate: ratio
truth:
  kind: rule
  rule: binding_field_role_match
allowed:
- '넘치는 항목이 「* 」 불릿으로 한 자리에 합쳐지는 것, 자리 없는 필드(value, period, author, organization, source)가 items 에 「이름: 값」으로 붙는 것은 맞는 자리다.'
- 값과 단위가 한 글로 합쳐지는 것, 표 머리글에 「(단위)」가 붙는 것은 같음이다.
- 노드의 role 이 Title 이 아닌 Description, Highlight 여도 binding.field 가 label 이면 label 자리다. role 은 Marker, Decoration, Separator, Annotation 일 때만 결함 근거다.
sources:
- iui docs/superpowers/specs/2026-10-12-mor-2627-replacement-policy-design.md §3(binding 필드 대응)
- spec/capability-table.md:286(P3)
threshold:
  basis: a1
  value: null
model:
  default: gpt-6-luna
  current: gpt-6-luna
reps: 5
observe_only: false
purpose: "질의 글이 결과에는 있지만 다른 노릇의 자리(다른 항목의 label 이나 items, Marker 나 Decoration 같은 비본문 노드)에 들어간 일을 잡는다. 글을 binding 필드에 맞는 노릇의 자리에 넣는 것이 대치의 책임이다(mor-2627 설계 3절, cap-284). 대치 링크의 책임이고 질의 필드와 binding 필드를 규칙으로 견주며, 자리 없는 필드가 그 항목의 items 에 「이름: 값」으로 붙은 것은 맞는 자리다(cap-286). 글이 아예 없는 것은 D2, 색인 structure map 의 오류는 P1 몫이다."
changelog:
- 'v2 (2026-10-20): 거짓 양성(모델 wrong, 규칙 right) 진단. (b) frame_tree.text(템플릿 원문)를 현재 글로 읽어 「label 자리에 다른 글이 있다」고 답했다. node_text_map 을 넣고 frame_tree.text 의 뜻을 적었다. (a) RLSC role(Description)을 자리 기준으로 써서 binding.field=label 인 노드를 다른 자리로 봤다. 자리 = binding.field 로 정의하고 role 은 비본문 네 가지만 결함 근거로 한정. 허용 문장의 「이름: 값」 방향(자리 없는 필드가 items 로)을 명시해 items 가 label 로 간 경우에 오적용하지 않게 했다. 문서 제목이 label 과 같은 글이면 right(규칙 수정 제안과 짝).'
- 'v3 (2026-10-20): 나눠 담기 쪽 합집합. 원천 node_text_map 을 node_text_map_union 으로, result_thumb 를 result_thumbs_pages 로 바꿨다.'
- 'purpose 추가(10/24)'
