← 목록
기타 2026-07-17 3KB 읽기 3분

nexus L1 멤버십·엣지스캔 한선씨 완전 정본화 (64KB 우회)

개요

awk에 남겨뒀던 147k행 2.4MB 의미어연결저장소 스캔을 한선씨 정본으로 완전 이관. 핵심: 읽기() ~64KB 절단을 버퍼파일읽기(무절단)+버퍼찾기(C memmem)로 우회.

VM 우회법 (핵심 발견)

  • 읽기()는 ~64KB 절단 → 대용량 불가. 버퍼파일읽기(874)는 4.5MB 전량 무절단.
  • 버퍼찾기(394)=C레벨 memmem 고속. 실측 버퍼파일읽기 4.5MB+버퍼찾기 5회 = ~18ms.
  • ⚠️ per-byte 버퍼바이트읽기(851) 루프는 4.5MB O(n) 스캔 4.2s로 느림 → 존재/검색은 버퍼찾기로.
  • 멤버십 구분자 패턴: |단어|(중간열)·\n단어|(줄머리)·단어| at 0(첫줄).

신설 정본

  • libs/엣지존재.한선: 저장소 단어 멤버십(버퍼찾기 구분자 패턴) → 1/0. 실측 사자/매출/계란→1, 없는것→0.
  • libs/대상선택.한선: 슬롯 목적어 추출 전체(토큰화+조사strip+불용어+동사배제+L1 멤버십, 마지막 절 우선→전체). JS와 6/6 일치.

JS 배선 (정본 위임, awk/JS L1 로딩 제거)

  • 슬롯추출.js: JS L1 Set 147k readFileSync 로딩 완전 제거 → 대상선택.toau. 동작=동작추출.toau.
  • 조회엔진.js: 의미어조회.sh → 엣지존재.toau(멤버십) + 조회판정.toau(4상). 출력 "연결 있음"으로 정직화(boolean이라 가짜 개수 안 씀).
  • 실행핸들러.js QUERY/VERIFY: 의미어조회.sh → 엣지존재.toau.
  • ★awk 질의 spawn 전량 은퇴: 의미어조회.sh 실호출 0(주석만 잔존).

검증

  • 정본 5종 컴파일·엣지존재 멤버십·대상선택 6/6 JS일치.
  • 프로덕션 JS 구문 6/6·넥서스 5도메인 6/6·파괴안전(전부삭제→음)·감사서버 200 무변경.

관련 파일

  • libs/엣지존재.한선 대상선택.한선 (신설), 조회판정.한선(뒷말 정직화)
  • 슬롯추출.js 조회엔진.js 실행핸들러.js (정본 위임)
  • ~/.claude/templates/한선씨-가드레일.md (버퍼파일읽기+버퍼찾기 우회법)

잔여 이슈

  • 명령실행기.js L1()은 멤버십+append 쓰기(새 엣지 저장) 혼합 → 멤버십만 엣지존재로 빼고 append는 별도. 이번 스코프 밖.
  • |단어| 패턴은 관계열(col1)도 매칭하나 관계는 고정 소집합이라 내용어엔 실질 col2. 정확 col 구분 필요 시 바이트파싱(고비용).

추가 (명령실행기 L1() 멤버십 정본화 — 같은 날, R41)

마지막 JS L1 로딩(명령실행기.js autofill의 147k Set readFileSync)을 정본 엣지존재.toau 위임으로.
  • 멤버십(L1존재(w))만 교체, 래칫 append(fs.appendFileSync 유지)는 그대로.
  • append가 파일에 즉시 반영→엣지존재 재조회가 in-memory Set보다 정확(디스크 최신). 배치 중복은 seen Set.
  • 검증: 사자(기존)→멤버십 true→append 0줄 스킵. 넥서스 5도메인 6/6·감사서버 200 무변경.
  • ★nexus 프로덕션 JS 전체 147k 저장소 readFileSync 0(전량 은퇴). 모든 L1 멤버십=엣지존재.한선 단일 정본.