prefix 개념 — 그쪽 클로드한테 보낼 설명 (복붙): --- ▎ 우리 SPC 모델에 partner prefix 개념도 있다. 추가 도입 부탁. ▎ ▎ 개념 ▎ ▎ 파트너마다 짧은 식별자(prefix)를 가지고, 그 파트너 산하 회원의 username·식별자가 자동으로 prefix로 시작한다. 예: ▎ prefix=PARTNER1_ 인 파트너의 회원은 PARTNER1_1000003, PARTNER1_1000004 같은 식. ▎ ▎ 왜 필요한가 ▎ ▎ 1. 운영자가 회원 username 한 번 보고 어느 파트너 소속인지 즉시 파악 — 관리자/파트너 페이지에서 회원 리스트 보다 가 ▎ prefix만 봐도 분류 가능 ▎ 2. 외부 콜백 user_id에 prefix 포함 — 외부 파트너 시스템이 콜백 payload user_id 받으면 자기 회원인지 즉시 판단 ▎ 3. 파트너간 회원 username 충돌 방지 — 파트너 A의 회원 1003과 파트너 B의 회원 1003이 username 다르게 분리됨 ▎ 4. 분쟁 추적 용이 — 회원 ID만 보면 어느 파트너 책임인지 명확 ▎ ▎ 도입할 것 ▎ ▎ 1. user_partner_settings에 prefix 컬럼 추가 (VARCHAR(16) UNIQUE NOT NULL) ▎ ALTER TABLE user_partner_settings ▎ ADD COLUMN IF NOT EXISTS prefix VARCHAR(16) NULL; ▎ ALTER TABLE user_partner_settings ▎ ADD UNIQUE KEY uniq_prefix (prefix); ▎ 2. 파트너 생성 UI(관리자 사이트 site_adm/pages/partners.php 또는 회원가입)에 prefix 입력 필드 추가 — ▎ 영문/숫자/언더스코어, 3~16자, 유일성 검증, 변경 불가(생성 후 잠금) ▎ 3. 하부 회원 생성 시 자동 prefix prepend — 회원가입 form에서 입력 필드는 "회원번호"만 받고, 저장 시 username = ▎ partner.prefix + '_' + 입력값 형태로 자동 합치기. 화면엔 합쳐진 결과 보여줌 ▎ 4. 콜백 outbound user_id에 prefix 포함된 username 사용 — 이미 getUserIdentifier() 메서드에서 username 가져오니까 ▎ 그대로 OK. 단 username 자체가 prefix 포함된 형태가 되면 자동으로 콜백 payload user_id에도 반영됨 ▎ 5. 관리자/파트너 회원 리스트에 prefix 그룹 필터 — 회원 검색에 prefix 드롭다운 추가 ▎ ▎ 운영 가드 ▎ ▎ - 기존 회원의 username은 건드리지 마라 (운영 데이터 보호). 신규 회원부터만 prefix 적용 ▎ - 운영중 파트너 중 prefix 없는 파트너는 수동으로 1회 prefix 할당 (관리자 액션) — UI에서 "prefix 설정" 버튼 ▎ - prefix는 한 번 정하면 변경 금지 (이미 그 prefix로 가입된 회원 username 깨짐) ▎ ▎ 작업 끝나면 보고: prefix 컬럼 추가 검증 + 신규 회원 생성 테스트(prefix 자동 prepend 확인) + 콜백 payload의 user_id가 ▎ prefix 포함된 형태인지 확인. 이거 던지면 그쪽이 우리 SPC 패턴 그대로 도입함. 우리(SPC) 쪽 partners.prefix 컬럼은 이미 있으니까 — 너네는 신규 추가만 하면 됨, 이라는 톤으로. 그리고 파트너페이지에 devtest 계정은 직속하부 추가 가능으로 되있는데 하부 추가 어디서함?