크라우니워드 도구레지스트리 — 셀코어 연결층
개요
크라우니워드프로세서 도구/ 65도메인·1635함수를 셀코어(가져오기 "셀코어") 룰기반 DB에
도메인당 1셀(65셀)로 등재하는 연결층을 완전 한선씨로 작성했다. 전 도구 셀 등재의 기반이 되는 파일.
무엇을 했는지
/Users/ef/crowny-word/연결/도구레지스트리.한선 작성 (연결 디렉토리 신설)
- 함수: 레지스트리경로/도구경로(경로 헬퍼), 첫위치/첫위치이후/분할(문자열 저수준, 임포트 미의존),
줄분할(개행 스트리밍 → 줄배열), 함수명추출("함수 X(" 패턴), 인자수추정(콤마+1 카운트),
도메인목록(65도메인 하드코딩, 도구빌드큐검사.한선 큐목록과 동일 실물 리스트),
계층분류/계층코드값(7계층: 엔진·입력·렌더·서식·구조·출력·지원, 순차 만약+즉시반환 — 아니면체인 아님),
파일스캔(도메인 1개 스캔 → PSV 라인당 즉시 덧쓰기, 배열누적 금지),
전체스캔(65도메인 순회 합계, 시작 시 레지스트리 파일 초기화),
도메인함수수(PSV 재스캔 단일조회), 도메인카운트맵(레지스트리 1회독 → 도메인별 카운트맵,
65회 재스캔 회피 최적화), 레지스트리셀적재(db)(도메인당 새셀 1개, s0=이름 s3=함수수, 최대id=65 반환),
계층셀연결(db,최대id)(셀 슬롯6에 계층코드 기록)
- 실측: 도구/ 실제 스캔 → 65도메인 · 1635함수 확인 (스펙 "65도메인·1600+함수" 충족),
/Users/ef/crowny-word/데이터/도구레지스트리.psv 1635줄 생성(3필드 정합, 중복도메인 없음, CR 없음 검증됨)
- 셀코어 db에 65셀 적재 확인(셀1=텍스트버퍼, 셀65=접근성언어, 계층코드까지 기록)
- 자체시험 22 assert 전부 통과 — 검사: PASS 22/22
함정/버그 실측 (이번 세션에서 실제로 걸림)
통과 = 통과 + 확인(...) 누적식이 조용히 소실되는 VM 함정을 실측 재현(1차 실행 시 개별
PASS/FAIL 로그는 22개 다 정상 출력됐으나 최종 집계만
PASS 1/22로 붕괴). 메모리 feedback
(
x = x + 함수호출() 누적 금지)와 정확히 일치하는 사례.
변수 임시결과 = 확인(...); 통과 = 통과 + 임시결과
로 분리해 해결(전체 22곳 일괄 수정, Python 스크립트로 괄호매칭 안전하게 치환).
- 성능: 65개 도메인 파일(최대 31KB) + 최종 레지스트리(1635줄) 파일을 문자단위(글자(s,i)) 스트리밍
스캔하는 방식(O(n²) 성격)을 썼지만, 각 파일이 100KB 미만이라 실행이 수 초 내 완료됨을 확인.
단,
레지스트리셀적재가 도메인함수수()를 65번 호출(레지스트리 전체 재스캔 65회)하면 느려질 것으로
예측해
도메인카운트맵() 1회독 설계로 사전 최적화함(단순 스펙 문구보다 성능 우선 판단).
- 실행 중
[STR] 조기경고: 문자열 핸들 432000/480000 (90% 도달) 경고 발생(exit43 상한 근접) —
실패는 아니었으나, 이 연결층을 반복 호출(같은 VM 프로세스 내 여러 번 스캔)하면 문자열 풀 고갈
위험이 있음. 프로세스 분리/청크 실행 권장.
관련 파일 경로
- 신규:
/Users/ef/crowny-word/연결/도구레지스트리.한선
- 산출 데이터:
/Users/ef/crowny-word/데이터/도구레지스트리.psv (1635줄, 도메인|함수명|인자수)
- 참조(셀코어 사용 패턴 원본):
/Users/ef/CrownyOS/crownyc/apps/도구연결판정.한선
- 대상 자산(읽기 전용, 수정 안 함):
/Users/ef/crowny-word/도구/*.한선 65파일
- 크라우니코드 학습 3건 추가:
도구레지스트리_함수명추출, 도구레지스트리_PSV라인덧쓰기스캔,
셀코어_도메인카운트맵_단일패스적재잔여 이슈
- 계층분류(7계층) 배정은 이번 세션에서 도메인명 기준으로 합리적 추정한 하드코딩 테이블 —
실제 워드프로세서 아키텍처 확정 시 재검토 필요.
- 대량 반복 호출 시 문자열 핸들 480000 상한 근접 확인됨 — 다음 단계(예: 전체 65셀 조회 API,
UI 바인딩)에서 이 연결층을 여러 번 호출할 계획이면 프로세스 분리 고려.
- 다음 단계: 이 레지스트리 위에 도메인간 참조(계층별 의존관계) 셀연결 확장, 편집기코어와의
런타임 바인딩.