시즌2 명단 입력 도구 (2026-05-27)
개요
시즌2설계.한선의 placeholder new01~new18을 실명으로 채우는 입력 모듈.
CLI(한선씨 함수 직접 호출) + HTTP 폼(메인 세션이 라우트 wire)을 함께 지원.
실명은 사용자가 입력해야 한다 — 추정으로 채우지 않는다.
무엇을 했는지
- 한선씨 라이브러리
시즌2명단신설 (18인 placeholder 관리) - 영속 파일:
/tmp/시즌2_신규명단.dat(라인:슬롯|코드|이름|이메일|crowny_id|검증상태|시간) - 셀코어 호환 룰 헬퍼 인라인 (다중 import silent fail 회피)
- 핵심 함수: 명단_초기화, 명단_등록, 명단_조회, 명단_조회_코드, 명단_전체, 명단_전체_코드, 명단_검증, 명단_검증_sso, 명단_요약, 명단_리셋
- HTTP 핸들러: 명단_HTTP_POST, 명단_HTTP_GET_전체 (메인 세션이 라우트에 wire)
- 셀코어 룰:
명단_등록_유효(우선순위 10),명단_검증_sso(우선순위 20) - 자가검증: 5명 등록 + 중복/형식/범위 거부 + 조회 + HTTP + 27인 합치기
검증 결과
정원=18 채워진=5 검증완료=5 sso완료=5 대기=13
코드중복: err:코드중복 (PASS)
이메일중복: err:이메일중복 (PASS)
형식틀림: err:이메일형식 (PASS)
슬롯0/19: err:슬롯범위 (PASS)
HTTP POST 슬롯9: ok:sso_confirmed (PASS)
신규18 [0]=hsk01 [8]=hsk09 [17]=new18 (PASS)
관련 파일
/Users/ef/Downloads/CrownyTVM/std/시즌2명단.한선(한선씨 본체, 454줄)/Users/ef/Downloads/CrownyTVM/std/시즌2명단.han(.han 동반본)/Users/ef/Downloads/CrownyTVM/std/시즌2설계.한선(연동 대상, line 24시즌2_27인_코드)/tmp/시즌2_신규명단.dat(영속)/tmp/v_시즌2명단.han(검증 진입점)
시즌2설계 연동 (메인 세션 처리)
시즌2설계.한선의 시즌2_27인_코드()를 아래로 교체 (시즌1 9 + 명단 18):
javascript가져오기 "시즌2명단"
함수 시즌2_27인_코드() {
변수 s1 = 시즌1_9인_코드()
반환 시즌2_27인_코드_실명(s1)
}
시즌2_27인_코드_실명(시즌1코드들)는 시즌2명단에서 노출됨. 미입력 슬롯은 placeholder(new07 등)가 남아 대조 가능.
v0.38 함정 회피
dot변수명 금지 (KwStatDot 키워드 충돌) →점수로 변경- 셀코어 직접 import 금지 → 인라인 룰 헬퍼 (
명단룰_생성/조건/변경) 상태단독 변수명 금지 →stv로 변경- 함수명
명단_상태요약→명단_요약(안전성) 맵키들()미존재 → 글자수 체크로 우회
잔여 이슈
- sso 검증은 hook (
명단_sso_확인_hook) — 실배포 시 sso.crowny.org:9401 호출로 교체 - OTP 추가:
명단룰_조건(룰2, "otp_확인", "==", 1)한 줄 끼면 균형 갱신 - HTTP 라우트 wire는 메인 세션 작업 (finance/ecosystem 서버에 endpoint 추가)