브레인 t1 확장 3호 — 데이터 검증 모드 (t4 결재 하향지시 집행완료)
개요
/Users/ef/CrownyDoc/projects/2026-07-05-t3판정패널-1호-t1차기모드.md의 t3 판정패널(ⓓ데이터검증 선정, 접지85·근거9)과 t4 결재(옴|하향지시|t1정리-후-t2구현)를 집행. 브레인 t1(하이쿠급 규칙엔진)에 4번째 모드 "검증"을 추가했다.무엇을 했는지
1. 코어 신규 작성 — 브레인검증.한선
- 입력(브레인t1 표준 프로토콜, 단일 write 3줄): 더미 + 스키마 1줄 + 데이터 1줄
- 스키마:
[!]필드명:타입:최소-최대를¶로 연결(타입=수|글,!접두=필수) - 데이터: 행은
¶구분, 필드는/구분(브레인t1.sh가|→/로 정화하므로) - 검사 순서: 필드수 일치 → 필수(빈값) → 타입(수: 숫자문자열 판별) → 범위(수: min-max / 글: 글자수 min-max)
- 출력:
검증|통과행/전체행|위반수+ 위반상세(행N 필드명: 사유) 각 1줄, 위반0이면전항목-통과 - 재사용:
fn_검증_숫자범위/fn_검증_글자수범위/fn_검증_빈값인가(범위·필수 로직 패턴 차용) +fn_문자열_숫자인가(코드값 digit 체크를 다자리+부호로 확장한숫자문자열인가()) - 컴파일 rc=0 (hanseonc_high, CROWNY_STD=crownyc/libs,
가져오기 "문자열.한선"로분리()사용)
2. 브레인t1.sh에 검증 서브커맨드 추가
- 사용법:
브레인t1.sh 검증 <스키마파일> <데이터파일|-> - 기존 4모드(요약/정리/변환/문서) 무손상 —
bash -n통과 - 기존 파일과 동일한 컨벤션 준수:
.toau핀(원본 갱신 시 재컴파일), stderr 분리, 개행→¶정화(말미¶제거), 더미 선행 입력
3. 작업구분.sh 배선 — 의도적 보류
지시대로 t1 선시도 자동배선은 하지 않음. 사유를~/.crownycode/작업구분개선후보.psv에 기록:
데이터검증_t1선시도_미배선|0|명령부규칙승격후|브레인검증 배선은 명령부 분리 후. 사유: "검증"은 t2급 코드검증/함정검사 키워드와 충돌...
"검증"이라는 단어가 t2(코드검증/함정검사) 키워드와 충돌하므로, 명령부(콜론 앞)에 "스키마"·"범위체크"·"형식검사" 등 데이터검증 전용 신호가 있을 때만 선시도하도록 규칙을 분리한 뒤 배선해야 함.4. RPN 변환(참고용) + 학습
high2rpn.sh로브레인검증.rpn.한선생성(299줄, 참고용 — 정본 컴파일 경로 아님)crownycode-brain.sh learn "브레인검증_데이터_t1" 브레인검증.한선→학습완료|브레인검증_데이터_t1(alias: 브레인검증 → 브레인검증_데이터_t1). lint 판정: 타(셀코어룰엔진 계열 오탐, 컴파일/거부게이트는 통과)
검증 결과 (직접 컴파일 산출물로 3케이스 실행)
컴파일: hanseonc_high 브레인검증.한선 → rc=0
검증|3/3|0 / 전항목-통과검증|1/3|2행2 나이: 타입불일치(수아님,값=철수십)행3 나이: 범위위반(값=200,허용=0-120)검증|0/2|2행1 이름: 필수값누락행2 필드수: 필드수불일치(기대=3,실제=2)기대 위반 수·행/필드 지목 전부 정확히 일치.
브레인t1.sh 검증 모드 스모크(실제 wrapper 경유, 케이스①): 검증|3/3|0 / 전항목-통과, exit=0.
관련 파일
/Users/ef/.claude/scripts/브레인검증.한선— 신규 코어/Users/ef/.claude/scripts/브레인검증.rpn.한선— RPN 변환(참고용)/Users/ef/.claude/scripts/브레인t1.sh—검증서브커맨드 추가~/.crownycode/작업구분개선후보.psv— 미배선 사유 기록(행 추가)- 결재 근거:
/Users/ef/CrownyDoc/projects/2026-07-05-t3판정패널-1호-t1차기모드.md
잔여 이슈
작업구분.sh의 "검증" 키워드는 t2(코드검증)와 충돌 — 명령부 분리 규칙 정립 후 t1 선시도 배선 필요(위 개선후보 참조).- 스키마
규칙파싱은 단일-구분(최소-최대) 가정 — 음수 min/max(예:-50-50)는 하이픈 중의성으로 미지원. 필요 시 향후 확장. crowny_grounding_rate로 실측 접지율 교체는 t3 문서의 잔여 이슈로 이미 별도 추적 중.