프로젝트 폴더 / OpenArms / 그래프노드 / rag·지식엔진

쓰기 입구에서 RAG 소스 경계를 강제

accepted 레인 · 완료 커뮤니티 · rag·지식엔진 type · decision fresh

무엇을 결정했나What This Page Decides

비위키 자료는 쓰기 입구에서 막는다. 위키로 승격된 페이지만 회상 코퍼스에 들어간다.

왜 중요한가Why It Matters

회상이 원시 런타임 텍스트나 채팅 스크롤백을 끌어오면, 검색 품질의 상한이 그 오염된 입력에 묶인다. 입구에서 막아야 코퍼스가 깨끗하게 남는다.

시도·근거Source Synthesis

처음엔 읽기 시점에만 거르려 했다. 그런데 쓰기 입구를 열어 두니 오염 노드가 이미 색인에 박힌 뒤였다. 그래서 경계를 쓰기·읽기 양쪽에 두고, 회귀 49건으로 고정했다. (근거: report:rag-02 · test:49-pass)

실패·한계Failure / Nonclaims

구 엔진의 confidence 점수 격차는 이 결정으로 닫히지 않는다. 텔레그램 가시 지원을 증명하지도 않는다.

관계Related

🔧 기계 부록 (Machine Appendix) — 평소 접힘
node_id: N-7f3a91c… content_hash: sha256:a91c…e4 source_anchor: src-ref://thread-84#msg-401..409 generated_by: kanban_wiki.compile v1 updated: 2026-06-26T08:12Z
↑ 사람이 노드를 클릭하면 이 화면만 보입니다. frontmatter·엣지·부록은 숨겨져 있습니다. 산문은 humanizer-kr × stop-slop 통과.
↓ graph.json · RAG · 칸반/그래프노드 투영이 읽는 면. 사람에겐 안 보이지만 같은 .md 한 파일에서 나옵니다 (단일 원천 → 두 면).

frontmatter (YAML)

---
schema_version: openarms.kanban_node.v1
page_id: kn-rag-소스-경계-강제   # 안정 id = URL (불변)
title: "쓰기 입구에서 RAG 소스 경계를 강제"
type: decision        # 객체-타입 facet
lifecycle: 완료          # 칸반 레인 (projection 키)
community: rag-지식엔진  # 그래프노드 (재생성 키)
status: accepted
claim_level: internal_only
freshness: current
review_state: accepted
created: 2026-06-25
updated: 2026-06-26
evidence_refs: [report:rag-02, test:49-pass]
source_artifacts: [src-ref://thread-84#msg-401..409]
hard_nonclaims: ["텔레그램 가시 지원을 증명하지 않음"]
content_hash: sha256:a91c…e4
---

relations (typed edges → 그래프가 읽음)

predto (page_id)why (→ 사람면 '관계'로 렌더)
supersedeskn-옛-보드-폴백이 결정이 그 폴백을 대체
depends_onkn-읽기-경로-소스-경계읽기 경로 재검사 위에서 성립
엣지는 frontmatter가 단일 원천 → 사람면 "관계" 섹션은 여기서 생성(why까지 named prose). 한 군데만 쓰고 두 면 투영 → drift 0 · bare 링크 0.

이 면을 소비하는 곳

쓰임
lifecycle칸반노드 5레인 투영(완료 레인에 배치)
community그래프노드 커뮤니티 클러스터(재생성)
status / freshnessRAG 검색 시 superseded·stale 강등
relationsgraph.json 엣지 → 그래프 뷰·항법
page_id안정 URL — 재클러스터·상태변경에도 링크 불변