웹검증 판정코어 (M2) — 순수 한선씨 구현
개요
크라우니AI 브라우저가 덤프한 measure.json(요소 실측치)을 디자인규격.psv와 대조해
PASS/FAIL/SKIP 줄 + 4상 판정을 내는 코어. 기존
디자인대조.sh의 python3 비교부를
한선씨로 대체하는 정본.
무엇을 했는지
- 신규 파일
/Users/ef/CrownyBrowser/tools/검증판정.한선 작성 (순수 hanseonc_high 고수준).
- JSON.한선(v3, null 미지원 의심)을 쓰지 않고 이 입력 전용(1단 중첩·숫자 필드만) 경량 파서를
문자열.한선의
찾기/
찾기뒤/
숫자인가 조합으로 직접 구현.
- CLI 인자 대신 환경변수(ASCII 이름, CROWNY_VERIFY_*)로 입력 수신 — 집사CLI브릿지.한선과
동일 관례. 한글 env 이름 zsh 전달 함정을 피하려 일부러 ASCII로 고정.
허용오차 경계값(|실측-기대|==오차)은 PASS로 처리(<= 비교), 소수값(18.5) 확인됨.
- 서브셋(콤마구분 셀렉터 목록) 필터: 서브셋 밖 규격 행은 아예 미출력.
컴파일/실행
bashenv CROWNY_STRICT=1 /Users/ef/CrownyOS/crownyc/hanseonc_high \
/Users/ef/CrownyBrowser/tools/검증판정.한선 > /Users/ef/CrownyBrowser/tools/검증판정.toau
# STRICT 경고 0, 정상 컴파일 (2123 토큰, 3917 큐브)
env CROWNY_VERIFY_MEASURE=/path/measure.json \
CROWNY_VERIFY_SPEC=/Users/ef/CrownyBrowser/tools/디자인규격.psv \
CROWNY_VERIFY_SUBSET=".tile,.send" \
/Users/ef/CrownyOS/crownyc/crownyc run /Users/ef/CrownyBrowser/tools/검증판정.toau
CROWNY_VERIFY_SPEC 생략 시 기본값 = /Users/ef/CrownyBrowser/tools/디자인규격.psv
CROWNY_VERIFY_SUBSET 생략/빈문자열 시 규격 전체 행 적용
출력 계약
PASS|셀렉터|속성|기대값|실측값
FAIL|셀렉터|속성|기대값|실측값|허용오차
SKIP|셀렉터|속성|요소없음
판정|<티|옴|타>|PASS수|FAIL수|SKIP수
티=FAIL 0 & PASS≥1 / 타=FAIL≥1 / 옴=PASS 0 & FAIL 0(전부 SKIP)
픽스처 3종 실측 (전부 실측 확인, 경계값 포함)
- 전부 일치(
.omni radius 기대18.5 오차0.5 실측19.0 = 경계 정확 일치) → 판정|티|4|0|0
- 1건 오차초과(
.omni height 기대36 오차1 실측50) → FAIL|.omni|height|36|50|1 + 판정|타|3|1|0
- measure.json={} → 전부 SKIP →
판정|옴|0|0|4
+ 추가 확인: null 값 필드도 SKIP 정상, 서브셋 필터 정상(서브셋 밖 규격 행 미출력),
기본 규격경로(env 생략) 정상 동작(
/Users/ef/CrownyBrowser/tools/디자인규격.psv 27행 대조).
관련 파일
/Users/ef/CrownyBrowser/tools/검증판정.한선 (신규, 정본)
/Users/ef/CrownyBrowser/tools/검증판정.toau (컴파일 산출물)
/Users/ef/CrownyBrowser/tools/디자인규격.psv (규격 SSOT, 기존)
/Users/ef/CrownyBrowser/tools/디자인대조.sh (기존 python3 비교부 — 이번 결과물이 향후 대체 대상)
학습
crownycode-learn.sh add "웹검증측정치규격대조4상판정" "<전체코드>" 완료
(LEARN_DB
/Users/ef/CrownyOS/crownyc/data/crownycode/패턴/학습.dat +
PATTERN_DB
/Users/ef/Downloads/CrownyTVM/crownycode/data/all_patterns.dat 각 1건, 무결성 확인).
잔여 이슈
디자인대조.sh의 python3 대조 로직을 실제로 이 한선씨 코어 호출로 교체하는
배선(M3 래퍼) 작업은 이번 범위 밖 — 다음 세션 작업 대상.
- 서브셋 파싱은 콤마 뒤 공백 없는 입력만 검증(예:
.tile,.send). 공백 포함 서브셋
문자열은 트림 로직 미구현.