보안 ★ 2026-06-07
v1.9.402
decisions/lessons MD projection 개행 주입 차단 (7번째 버그헌트 P1-A 잔여, UR-0108)
데이터 무결성 완결 — decision/lesson 텍스트의 개행이 decisions.md/lessons.md projection 에 위조 블록을 주입하던 것 차단(테이블셀 injection 클러스터 마무리).
핵심 변경
**_lineSafe(s)** 순수 헬퍼(개행→공백, 파이프는 보존 — 표 아님): _renderDecisionsMd/_renderLessonsMd 의 head + 각 필드에 적용. canonical JSON 은 raw 유지(다줄 보존), MD projection 만 단일라인화 → 위조 블록 주입 차단.
**selftest 147→148 PASS** (_lineSafe + 개행 title 렌더→reparse 1개 + 별도 ### 헤더 부재 + lessons 동일).
**E2E 340→341 PASS** (decision add 개행 → decisions.md 별도 ### 2099 헤더 없음 + MD-fallback context 결정 1개).