쓰기 입구에서 RAG 소스 경계를 강제해 비위키 자료를 거부
문제 (Context)
0.0.2.5 안정화 작업은 RAG를 권한 경계가 흐려지는 지점으로 지목한다(docs/version 0.0.2.4 scope). 다듬어진 아카이브 경계(docs/50_memory_and_knowledge/README.md)는 원시 토큰, 원시 프로바이더 라우트 id, 로컬 절대경로, tmux id를 위키 자료로 보지 않는다고 못 박는다.
시도한 해결 (Decision)
RAG 색인기인 produce_node는 이를 전혀 강제하지 않았다. pm_send는 외부로 나가는 채팅 표면만 가렸고, 진실의 원천인 아카이브에는 저장 상태 경계가 없었다. rag_boundary_violations()와 RagBoundaryError를 더해 produce_node에서 강제한다. 비위키 자료를 품은 노드는 거부한다. 조용히 지우지 않고 큰 소리로 막는다. 위반은 표면으로 끌어올려야 할 권한 흐림이기 때문이다. 패턴은 프로바이더 중립이며, 저장소 상대경로 file:line 소스 참조는 통과한다.
근거·결과 (Consequences)
실제로 이미 존재하던 위반을 잡아냈다. iter-1 원본 노드가 절대 로컬 경로를 박아 두고 있었다. 삭제 대신 대체 방식으로 물려 내리고 다듬은 재진술을 남겼다. 라이브 아카이브는 이제 경계가 깨끗하다. 테스트 8건을 새로 더했고 모두 통과한다.
노드 계약 (contract)
| 필드 | 값 |
|---|---|
| type | 결정(decision) |
| Status | accepted |
| source_count | 1 |
| confidence | 미설정 — 구 엔진 격차 |
| confidence_reason_codes | 미설정 — 구 엔진 격차 |
| stale | fresh |
| 이슈(feature) | RAG·지식엔진 |
상호참조
- 이어받음: RAG-칸반 엔진 회귀 스위트 고정
- 이어받음: 경로 해석기가 단일 키스톤
이슈 RAG 검색·소스 경계 · Status accepted · 2026-06-25