크라우니코드 전체 시스템 고도화
개요
사용자 요청 "모두 고도화하자"에 따라 크라우니코드 5개 핵심 약점을 순차 해결.
작업원칙(근본·장기·세분화) 적용.
결과 요약
| 단계 | 작업 | 이전 | 이후 | 증감 |
|---|
| ① | [2]개선된→[3]오리지널 승격 | 12 스크립트 | 14 스크립트 + v2모듈 75규칙 | +2 + 75규칙 |
| ② | 학습DB 양방향 sync | CrownyOS 11,143 / 홈 34,733 | +4,517 / +19,007 | sync 완료 |
| ③ | 패턴 커버리지 | 23~24% | 57% | +33%p |
| ④ | ARM/x86 기계어 패턴 | 0개 | 35개 + α | +35 |
| ⑤ | RPN 정통화 (헌법 9조) | 0% (전무) | 81% | +81%p (+69,737 RPN) |
단계별 상세
① v2 모듈 승격
[2]개선된 14스크립트 검증 → [3]오리지널로 승격
- 추가된 것: rules_meta(75 규칙), hot_cache(핫 캐시), similarity, tag_intent, domain_tags
- 75 규칙 분류: DB 10, IoT 1, 금융 6, 메타 3, 문자열 2, 서버 3, 셀코어 39, 수학 2, 자료구조 5, 파일 4
- 우선순위: P1:16, P2:17, P3:42
- 조건부 규칙: 5
- 백업:
/Users/ef/Downloads/CrownyTVM/crownycode-original-backup-20260527145749
② 학습DB sync
- harvest sync: CrownyOS 12502→17019 (+4517), CrownyTVM 23061→42068 (+19007)
- learn sync: 학습DB→주DB +12, 주DB→학습DB +1
- 최종: 학습DB 12,475 줄, 주DB 3,195,186 줄
③ 패턴 커버리지 (24%→57%)
- CrownyTVM/std 99개 라이브러리 → 1,600개 intent 추출, +966 신규
- CrownyOS/crownyc/libs 2,680개 라이브러리 → 17,981개 intent 추출
- 기타 .han/.한선 → +4,572 intent
- 패턴DB ↔ 학습DB 동기화 완료
④ ARM/x86 기계어
- 한선기계어.han 라이브러리에서 35개 함수 추출 → 학습DB 등록
- 등록 intent: x86_mov_rax/rdi/rsi/rdx, x86_syscall, x86_xor_rdi, x86_ret, x86_lea_rsi_rip, x86_add/sub/mul_rax_rdi, x86_push_rax, x86_pop_rdi, arm_mov, arm_movk16, arm_add/sub, arm_cmp_imm, arm_b/bl/ret/svc, arm_stp/ldp_frame, elf64_생성, macho_생성, 네이티브쓰기, 네이티브실행
⑤ RPN 정통화 (헌법 9조 — 0%→81%)
- 발견: RPN 패턴 0건 = 헌법 9조 정통화 0% (전무)
- 도구:
/Users/ef/CrownyOS/crownyc/tools/clike_to_rpn.py
- 변환 전략: 깨끗한 라이브러리 파일 통째 → RPN 변환 → 함수별 분리 (.label)
- 처리: 3,774 파일 → 69,687 RPN 패턴 추가
- coverage 스크립트 업데이트 (RPN 정통화율 측정 추가)
핵심 파일
| 경로 | 용도 |
|---|
/Users/ef/Downloads/CrownyTVM/crownycode-agent/agent.sh | 메인 에이전트 (1719줄, v2 통합) |
/Users/ef/Downloads/CrownyTVM/crownycode-agent/composer/rules_v2.dat | 75 규칙 |
/Users/ef/Downloads/CrownyTVM/std/한선기계어.han | ARM/x86 인코더 (274줄) |
/Users/ef/CrownyOS/crownyc/tools/clike_to_rpn.py | C-like → RPN 변환기 |
/Users/ef/CrownyOS/crownyc/data/crownycode/패턴/학습.dat | 학습DB (~106K 줄) |
/Users/ef/Downloads/CrownyTVM/crownycode/data/all_patterns.dat | 주 패턴DB (~3.3M 줄) |
/tmp/extract_lib.sh | 라이브러리 → 패턴 추출기 |
/tmp/rpn_from_libs.sh | 라이브러리 → RPN 일괄 변환기 |
/Users/ef/Downloads/CrownyTVM/추출_라이브러리_패턴.한선 | 한선씨 추출기 (실패 - VM 차이) |
잔여 이슈
agent.sh grow 백그라운드 작업이 매우 느림 — PID 15390/15393/43603/43606 아직 진행 중
- 추출_라이브러리_패턴.한선 — CrownyTVM의 crowny VM은
읽기 함수가 없어 실행 실패. hanseonc_high(CrownyOS)에서만 동작
- lib_extras2 추출 — find + while subshell pipe로 파일 쓰기 누적 실패. 단순 cp로 우회
- awk NR==FNR 빈 파일 처리 버그 — 빈 파일이 첫 입력일 때 skip filter 무효. cp로 우회
다음 세션 제안
- grow 완료 결과 확인 + 추가 학습 통합
- lib_extras2 (8,643개 .한선) 재시도 → 추가 패턴 확보
- coverage 50% → 80% 목표로 추가 라이브러리 작성
- RPN 정통화 81% → 95% (남은 19% han→rpn 변환)
- agent.sh 자동 RPN 학습 훅 추가 (han 입력 시 자동 RPN 동반)