크라우니코드 학습DB 일원화 — 완료 (5차 머지)
개요
분산된 3개 학습DB(약 85,000 패턴)를 호환성·정합성·실제 컴파일 검증으로 5단계 정화하여 단일 정본DB로 통합. 핵심: 이전 진단의 인코딩 버그를 발견·수정하여 거짓 양성을 제거했다.
사이클 5단계 결과
원본 3개 DB (~85K)
└─ 1차 재조립 81,911
├ T 한선씨 69,451
├ O rpn 9,950 (헌법: 정본)
└ A 격리 2,510
└─ 2차 정규화 64,170
├ T 정규화완료 64,170
├ O 부분복구 3,926
└ A 외국어잔재 1,355
└─ 3차 컴파일검증 (6 청크 병렬)
├ T 15,840 ← 디코딩 버그로 51% 거짓양성
└ A 48,330
└─ 4차 통일복구 (recover.pl + 에이전트)
├ T 추가복구 1,324
└ A 잔여손상 47,190 (47,006 정규화후)
└─ 5차 정화 (정규화 + 재검증 + 분리)
├ T 31
├ O 18,780
└ A 28,195
결정적 발견 — 진단 인코딩 버그
증상: 4차 검증에서 A 500건 / RPN 200건이 100% 컴파일 성공으로 보임.
원인: Python decode('unicode_escape')가 UTF-8 한글을 라틴1로 잘못 해석.
컴파일러는 깨진 한글에서 키워드를 못 찾고 RPN 모드 fallback으로 떨어져
returncode=0으로 거짓 양성. 결과: A 500건 모두 OK로 잘못 표시.
수정: '\\n','\\t','\\"','\\\\'만 unescape (한글 UTF-8 유지).
재검증 영향:
- 3차/4차 T 17,164 → 진짜 OK는 72.4% = 12,432건 (나머지 4,732은 거짓 양성)
- A 47,190 → 진짜 OK는 0.07% (5차 추가 정화로 31건만 복구)
최종 정본DB
위치: ~/.crownycode/일원화/5차_머지/
정본.dat 3,323 T 검증완료 (han, hanseonc_high 컴파일 통과)
└─ 진짜 의미 있는 정본 (50자+, intent 정상): 2,772
보류.dat 7,597 O 보류
├─ RPN 정본 (헌법): 6,872
└─ han 의존 (라이브러리/예약어): 725
격리.dat 925 A 격리 (외국어 잔재, 컴파일 실패)
─────────
합계 11,845 (원본 81,911 → 86% 중복/잡음 제거)
분류 형식
intent|버전|상태|코드
- 버전:
han(고수준) |rpn(저수준/정통) |python|rust|js|go등 - 상태:
T검증완료 |O보류 |A격리 - 코드:
\n/\t/\"이스케이프
근거 검증 (사용자 지시 — "잡음 근거 반드시 체크")
| 분류 | 1차 추정 | 근거 검증 후 | 비고 |
|---|---|---|---|
| 잘못된 형식 | 12,598 | 멀티라인 조각 | 재조립으로 복구 |
| 파편/미완성 | 다수 | 재조립 안 됨 | 1차 정화로 복구 |
| 4차 A 47K "잡음" | 100% OK(거짓) | 진짜 OK 0.07% | 진단 버그 발견 |
| 3차 T 17K "정본" | 모두 OK(거짓) | 진짜 72.4% | 진단 버그 발견 |
| 정본 3,323 | 모두 유효 | 의미있음 2,772 | 50자+ 필터 |
RPN 정본 트랙 (헌법)
- 9,950 RPN 패턴 → hanseonc_std 컴파일 검증
- 200건 샘플에서 100% 컴파일 성공으로 보이지만, RPN은 char 단위 처리라
- 정밀 검증 미완: 입력 토큰 ↔ 출력 cube 의미성 매칭 필요
- 현재 보류 등급(O)으로 보존
파일 위치
- 정본DB:
~/.crownycode/일원화/5차_머지/{정본,보류,격리}.dat - 통계:
~/.crownycode/일원화/5차_머지/통계.txt - 형식:
~/.crownycode/일원화/5차_머지/형식정의.md - 백업:
~/.crownycode/backup-20260522/(58MB) - 작업 스크립트:
/tmp/{정화5차.py,분리_저장.py,머지_최종.sh,진단_대규모.py}
잔여 이슈
- RPN 정본 9,950 정밀 검증 — hanseonc_std 출력 의미성 판정 필요
- 빈 함수 스텁 제거 — 정본 3,323 중 ~551건이 50자 이하
- intent 깨짐 17건 — 1차 재조립 잔재 (멀티라인 끝부분 침입)
- 격리 925건 재도전 — 외국어 트랜스파일 자동화로 일부 복구 가능