# 버그 조치 보고서: 마크다운 문서 저장 시 데이터 소실 (2026-04-18) ## 1. 버그 내용 - **현상**: 마크다운 형식의 메모(가장 흔하게는 `roadmap.md`)를 저장할 때, 본문 중간에 위치한 수평선(`---`) 이후의 내용이 모두 삭제되는 현상 발생. - **원인**: - 메모 하단에 `$그룹`, `#태그`를 추출하여 푸터로 모아주는 로직이 본문 내의 마크다운 수평선(`---`)과 그 뒤에 나오는 헤더(`# 제목`)를 '자동 생성된 푸터'로 오인함. - 정규식이 너무 탐욕적(Greedy)이었으며, 줄 단위 구분이 명확하지 않아 파일 끝까지의 모든 내용을 푸터로 간주하고 삭제함. ## 2. 조치 사항 ### 푸터 식별 로직 정교화 (`app/utils/__init__.py`) - **수단**: 정규식을 파일의 가장 끝에 위치한 **'수평선 + 순수 메타데이터 줄'**의 조합으로만 한정하도록 수정. - **적용**: `re.MULTILINE` 플래그를 활용하여 줄 시작(`^`)과 끝(`$`)을 명확히 구분하고, `#` 뒤에 공백이 있는 헤더는 절대로 푸터 구성 요소로 보지 않도록 개선. - **결과**: 본문 중간의 수평선 및 마크다운 헤더 구조가 완벽히 보존됨. ### 태그 추출 정규식 개선 - **수단**: `#` 뒤에 공백이나 숫자가 먼저 오는 경우(마크다운 헤더 등)를 제외하고, 문자로 시작하는 경우만 태그로 인식하도록 강화. - **적용**: `(?