.bat 한글 깨짐 — 학습규칙 반영 점검

점검일 2026-07-23 · 요청자 조차장 · 트리거: 비밀번호설정.bat 한글 깨짐 재발
🟢 규칙은 빠지지 않았습니다 — 4개 파일에 온전히 기록되어 있었고, Claude가 적용하지 않은 것이 원인입니다.

1. 결론 요약

학습자료에 규칙이 있는가
🟢 있음
메모리 1건 + SOP 4개 위치
규칙 내용이 정확한가
🟢 정확
이번 실패 원인을 정확히 예측·금지
실제로 적용됐는가
🔴 미적용
금지된 ③번 방식으로 생성
구조적 결함
🟡 있음
항상 로드 계층에 행동지시 부재

2. 규칙 소재 실측 (md 파일 전수 점검)

#파일위치규칙 수록로딩 방식
1~/.claude/CLAUDE.md기본 행동 원칙🔴 없었음 (PowerShell 규칙만)항상 로드
2memory/MEMORY.md42행🟡 주제어만 ("bat 한글 인코딩")항상 로드
3memory/automation-dev-rules.md12–14행🟢 완전 (①②③ 우선순위)필요 시 recall
401-PM실행SOP.mdSOP-11-A (248–249행)🟢 완전 (ASCII·CRLF·goto)필요 시 Read
5164 / 518 / 610행🟢 반복 명시 (3회 강조)필요 시 Read
602-클로드활용가이드.md⬜ 해당 없음(정상)필요 시 Read
기록되어 있던 원문 (memory 12–14행)
bat를 UTF-8로 저장하면 한국어 Windows cmd가 cp949로 읽어 한글이 깨지고 명령 오류 발생. 「chcp 65001」로는 해결 안 됨.
해결 우선순위: ① bat 내부 글자는 영어(ASCII)만 → ② 한글 필요시 bat를 ANSI(cp949)로 저장 → ③ 차선 UTF-8+BOM+chcp 65001.
→ 이번에 만든 bat은 정확히 ③번(가장 나쁜 선택)이었고, 심지어 BOM도 없었습니다.

3. 근본원인 — 2계층 하네스의 사각지대

[항상 로드]  CLAUDE.md  ────────── bat 규칙 없음 (PowerShell 규칙만)
             MEMORY.md 색인 ────── "bat 한글 인코딩" 주제어만, 행동지시 없음
                  │
                  │  ← 여기서 "찾아봐야 한다"는 신호가 발생하지 않음
                  ▼
[온디맨드]   automation-dev-rules.md ── 완전한 규칙 (recall 필요)
             01-PM실행SOP.md ────────── 완전한 규칙 (Read 필요)
컨텍스트 슬림화(2026-07-01) 과정에서 상세 규칙이 온디맨드 계층으로 이전되었으나, "bat을 만들 때 이 파일을 열어야 한다"는 트리거가 항상 로드 계층에 남지 않았습니다. 주제어만으로는 작업 중 자동 발화되지 않습니다. 이번 세션에서 bat 생성은 부수 작업(비밀번호 입력 도우미)이었고, 참고자료를 열지 않은 채 진행되어 규칙이 작동하지 않았습니다.

4. 조치 (완료)

#조치대상상태
1CLAUDE.md 기본 행동 원칙에 행동지시 1줄 추가 — 주제어가 아닌 "ASCII 전용 + CRLF + goto + 실측검증" 명령문~/.claude/CLAUDE.md
2bat을 ASCII 전용으로 재작성 (한글 제거, ( ) 블록 → goto)비밀번호설정.bat
3bat이 호출하는 스크립트명 한글 제거 (비밀번호설정.js → set_password.js)
4CRLF 강제 + 비ASCII 바이트 0 실측 검증
5실제 cmd 실행으로 파싱오류 0건·한글출력 정상 확인
검증 실측치
─────────────────────────────────────────
비ASCII 바이트 : 0
CRLF 줄수      : 19 / 총줄수 19  (100%)
BOM            : 없음
cp949 디코딩   : 정상
cmd 실행       : 파싱오류 0건, 한글 안내문 정상 출력

5. 재발방지 원칙 (귀납)

"반복 실패 규칙은 온디맨드 계층에 두지 않는다."