크라우니네임(name.crowny.org:9621) — 리멤버 대응 명함·관계 서비스 구축
2026-07-24 · 코드=/Users/ef/crowny-name · 순수 한선씨 서버 · dc 시안 핸드오프 픽셀포팅
개요
리멤버(명함관리) 대응 크라우니 생태계 명함·인맥 서비스. 명함이 관계의 시작점 — 링크 한 줄(name.crowny.org/@kps)로 명함만 전달, 상대의 연결 요청을 내가 수락+Tier 지정할 때에만 메신저(tele:9619)·투데이(today:9604)가 열린다. 제미나이 대화 숙지 → 클로드 디자인(dc 스탠드얼론 시안 1a~1j) 핸드오프 → 순수 한선씨 서버로 구현.무엇을 했나
입력 숙지·설계
- 제미나이 대화(gemini.google.com/app/8f8919716bc42f06) 숙지 → 요지 보존
- 리멤버 특장점 심층 리서치 →
docs/리멤버-특장점-분석.md(3대 불만=기능과다·데이터소유권부재·개인정보사고 → 반면교사) - dc 번들(12.7MB) 언팩: 화면 1a~1j 슬라이스 + 스타일 분리, 폰트 216종 로컬 스택 치환
- 에이전트 공통 디렉팅 문서
docs/작업계획.md(모듈 M0~M11·파일 소유권·API 계약 §4-1·검증 게이트 G1~G6)
관계 6단계 (핵심 차별점)
Open/Tier1~4(사용자 지정) + Admin/Super-admin(콘솔 전용, 일반 화면 렌더링 금지). Tier3↑만 투데이 편입(한도 30). 리멤버의 단일 "1촌"과 다른 관계 레벨링.화면 8종 (전 라우트 200)
/(루트 랜딩) · /@kps(공개명함 SSR·완전격리) · /demo(시안 갤러리 1a~1j) · /app(명함첩+디렉토리+수락) · /scan(OCR+Tier) · /admin(콘솔) · /bar(1080×360) · /setup(설문 9단계 온보딩)엔진·서버 (순수 한선씨)
한선씨/네임엔진.한선— Tier 순위·권한 매트릭스·핸드셰이크 상태기계·투데이 한도·감사 조립·4상 판정·scan_record 조립.네임엔진검증.한선72 assert PASS, STRICT 0서버.한선— TCP :9621, API 27라우트, PSV 복원, 감사 append-only, SSR 마커 치환- 데이터 PSV 7종(명함·스캔·관계·요청·감사·사용자·정책), 재기동 자동 재시드
시운전·수리 (완료 주장 전 실측)
성능 P0 — SSR 51초→0.032초 (~1600x)
/@kps SSR이 per-char UTF-8 재계산 O(n²)로 25KB를 11번 훑어 51초(단일스레드 전요청 블록). 버퍼 단일패스 + 파일 캐시(setup/save 시 무효화)로 재작성. 캐시 히트 0.008초. 학습 SSR_버퍼단일패스_마커치환.크로스모듈 결선버그 4건 근본수리
- tier 명칭 불일치 — API/UI "Tier 3" vs 엔진 "T3" → T3+투데이 부당거부. 서버
_tier정규화헬퍼 3라우트 적용 - 스캔 tier "Open" 고정 → 지정tier 반영
- 온보딩 태그/브랜드 파이프 조인→콤마 (명함.psv 14→12필드, 자기명함 SSR 404→200)
- UI 배선: app 수락 다이얼로그 id 없는 URL 404→200·"248"하드코딩 제거·라이브 끊김 오표시·decline 미배선·admin undefined명
보안 적대점검 M10 — 6건 확증·6/6 근본수리 (별도 문서)
- PSV 주입→Super-admin 탈취(Critical) — setup 자유필드 미이스케이프
- 무인증 쓰기 4라우트(P0) — tier변경·수락·거절·스캔 인증 게이트 부재
- 감사로그 위조(actor/target 미이스케이프)
- 반사 XSS(404 핸들)
2026-07-24-crowny-name-보안적대점검-M10.md신규 VM 함정 발견 (전 세션 공유)
동안 루프 안변수 i = i + 1 재선언 = 무한루프(조건이 갱신 못 봄·탈출 대입 무시·핸들소진 크래시). 가드레일 템플릿 + 메모리 등재.관련 파일
- 코드:
/Users/ef/crowny-name/(서버.한선·한선씨/·web/·데이터/·docs/) - 시안 원본:
/Users/ef/Downloads/package - Crowny Name/ - LaunchAgent:
org.crowny.name(LOOPBACK=1·RCVTIMEO 1500) - 게이트웨이: name.crowny.org→9621, 공개 HTTPS 200(와일드카드 cert)
잔여 이슈
- scan/bar 시안 목업 잔재 정리(진행 중)
- OCR 실연동(voice:9971 OCR 공유 후속) · QR 실생성(후속)
- 까페24 VPS 연동(구축 후 단계 — crowny-vps:9618 관제 경유)
- E2E GUI 자동화 회귀(타 세션 GUI 자동화 중이면 보류)
재현 재작업 (2026-07-24 2차 — 사장님 "전혀 다른 디자인" 지적 대응)
근본원인 확정: 크라우니네임 09 작업지시가 "스탠드얼론.html을 픽셀 레퍼런스로 참조"라고 잘못 안내 → 스탠드얼론은 base64 압축 번들이라 코드로 읽으면 로더/데이터만 보임(참조 불가) → 임의 창작. 게다가 ①시안에 없는 페이지(루트 랜딩·로그인) 임의 생성 ②haiku가 개별 화면을 손으로 재구현하며 픽셀 편차 ③crownycode-brain.sh run 게이트·기존 디자인규칙 3종 조회 0회.
해결: 스탠드얼론을 브라우저로 띄워 정답 이미지 확보(코드로 읽지 않음) + 번들 언팩으로 원본 마크업(화면-1a~1j.html) 추출 → 이를 픽셀 SSOT로 삼아 원본 인라인 스타일 무수정 + 데이터만 배선(솔루션앱 패턴). sonnet 5화면 병렬 재현.
재현 결과(정답 시안 대비 육안 일치): /@kps(1a: 회사·직함·첫인상태그·파트너생태계 제조12/연구8/리테일6 색까지·브랜드·격리·골드CTA) + 저장시트(1h) · /app(1c/1d: 디렉토리·상세·서비스연동·히스토리) · /admin(1i: undefined 제거·파트너네트워크46명·승인2·정책·감사) · /scan(1b: 빈폼·Tier세그먼트·다크) · /bar(1e: 오늘N명·만날사람·QR). 임의 index.html 격리, 루트(/)→명함첩(app).
추가 수리: 배너 회사 누락(job 마커 {{회사}}·{{직함}}), .main z-index(태그 배너 가림), 파트너배열 미배선(사용자.psv 7번째 필드+kps 시드), /@gildong 404(핸들 조회 _명함핸들찾기 신설). 전 라우트 9/9 200·공개 HTTPS 200.
교훈(규칙 축적): [[feedback_시안없는페이지_임의생성금지_데모정의]] — 디자인 핸드오프는 시안 화면 목록↔라우트 1:1, 목록 밖 페이지 임의생성 금지, 스탠드얼론(번들)은 브라우저 열람 전용·코드 참조 금지, 재현=원본 마크업 무수정+데이터 배선(재창작 아님).