← 목록
기타 2026-07-30 10KB 읽기 10분

요청: ays-clean-플랫폼복제

  • 날짜: 2026-07-30 15:43:58
  • 작업 경로: /Users/ef

요청 본문

clean.crowny.org 서비스를 그대로 AYS.crowny.org 로 가져오기. 고객들이 열차단필름시공, 인테리어필름시공, 창호시공 작업을 문의하고 공사 과정도 볼 수 있고, 결과보고도 받을 수 있게 하는 크라우니 '고객님 말씀하신대로'(As you said -> AYS) 서비스. 소넷 에이전트 10기 수준 적극 활용, clean 개선 시 AYS도 따라 개선되는 플랫폼 서비스화

관련 산출

(클로드가 작업 결과를 이어 기록)

완료 결과 (2026-07-30)

  • 아키텍처: ays.crowny.org 루트=시공 플랫폼(clean 엔진 플랫폼화 이식, :9929), /landing=기존 필름 사이트(크라우니디자인 적용). server.js(:9920)=프론트 프록시.
  • 플랫폼화: crowny-clean 서버.한선을 설정.psv 구동형 코어로 리팩토링(SSOT). AYS 인스턴스=시공/설정.psv(AYS·"고객님 말씀하신대로(As You Said)"·열차단필름시공/인테리어필름시공/창호시공), 데이터 완전 격리.
  • 상속(clean 개선→AYS 전파): 시공/동기화.sh + 동기화.한선(4상: 티/옴/타, 충돌 시 덮어쓰기 거부·백업 복원·스모크 200 게이트).
  • 검증: 종단 20항목 PASS(공개 HTTPS 4경로 200, 견적→예약→사진→리포트 API 종단, 재기동 데이터 복원, clean 회귀 0). 잔여 이슈 5건 전부 수리 완료(경로 15줄 정본 병합, /home·title·역할바·"Crowny Clean" 브랜딩, 동기화 스모크 라벨 교정) 후 동기화 옴(변경없음) 확인.
  • 뒷정리: clean 운영 quote.psv 테스트 오염 2행 제거(백업 보존), 잔여 ays-plat plist/gateway 9953 항목 제거.
  • 소넷 에이전트 8기(워크플로우 7 + 수리 1), 상세 문서 5본(동일자 플랫폼화/인스턴스/동기화도구/프론트라우팅/정본병합).

2차 개선 (2026-07-30 사용자 지시 3건 — 완료)

  1. 폰트 CSS 이중 덮음 제거: 시공 앱(clean 정본) 로컬 Pretendard @font-face 삭제 → 중앙 'Crowny Gothic' 스택. landing.html도 인라인 재선언으로 중앙 폰트 우선(공유 style.css 무수정, 기존 index 무영향).
  2. 구역 프리셋: 주거(집)+열차단필름=창호마다 구역(창호1..N), 상가/기업=위치 1~5 순번+각 위치 이름 지정. /admin/zones/create·rename + 관리자 화면 생성 UI(이름 입력→create+rename 연쇄)·인라인 이름수정. 견적에 건물유형 필드(idx14 append, 구행 호환).
  3. 사진 3단계: 시공전/시공중(작업사진)/시공후 — config(photo_stages) 구동, 고객 "공사 과정" 화면 단계 그룹+구역명 표기, 비포애프터와이퍼=전vs후 유지.
  • 전부 clean 정본 수정→동기화.sh 전파(티→옴 멱등), clean 회귀 0, AYS 쓰기 종단(상가 위치3 생성→rename→시공중 업로드→게시→고객조회) PASS. /api/config 최종: zone_preset·photo_stages·building_types 노출.
  • 대표 연락처 반영: 010-4466-7838(기존)+yoobigo77@mail.com 신규 — landing/index 각 3지점, CLAUDE.md 정본 기록.
  • 잔여(비긴급): 관리자 사진분류 카드에 수동 단계 드롭다운 없음(스태프 태그 suggest_stage 의존)·구역 개수 상한(20/5) 프론트만 강제.

3차: 루트 스왑 + 헤드라인 config화 + 폰트 얇음 수리 (2026-07-30, 사용자 지시 3건 — 완료)

  1. 기본 페이지 스왑: /Users/ef/crowny-ays/server.js "프론트 라우팅 재편" 블록 수정 — /(루트)=public/landing.html(기존 필름 사이트) 서빙으로 복귀, /work·/work/*=시공 플랫폼(:9929) 프록시(경로 접두 /work 제거 후 전달, proxyToPlatform(req,res,overridePath)로 확장). /landing 유지. 기존 /api/* 화이트리스트·public 실존파일 fallthrough 프록시 로직 무변경. 동반 /Users/ef/crowny-ays/프록시라우팅.한선 판정 로직 동반 갱신(work접두인가() 추가) + 재컴파일·셀프테스트 통과. public/landing.html CTA 배너 href //work로 수정(index.html 무수정).
  2. 플랫폼 헤드라인 config화: clean 정본 서버.한선에 전역 _홈헤드라인("한국은 왜 깨끗할까." 기본)·_홈부제("" 기본) 추가, 설정.psv 열10·11(_필드(첫줄,10/11))로 오버라이드. /home 응답과 /api/config(_처리설정) 둘 다에 headline·sub_headline 노출. 앱.html 헤드라인 렌더 아래 d.sub_headline 있으면 12px 흐린색(--잉크희미) 보조문구 추가. AYS 시공/설정.psv 열10·11에 고객님 말씀하신대로|As you said append. clean 설정.psv는 무수정(누락 열은 _필드"" 반환 → 기존 기본값 유지, 회귀 0 확인).
  3. 폰트 얇음 수리: 진단 — Crowny Gothic 가변폰트(@font-face font-weight:100 900)는 정상 선언돼 있으나 landing.html/앱.html body 규칙에 font-weight 미지정(브라우저 초기값 normal=400에 의존, 실제 렌더는 얇게 보임). 저가중치(100~300) 명시 선언은 발견되지 않음. 수리: landing.html body에 font-weight:500, h1~h6에 font-weight:700 명시 추가. clean 앱.html body에 font-weight:500 추가(제목류 .세리프(700)·.골드버튼(800) 등 기존 700~900 유지 확인). 공유 style.css 무수정.

배포·검증 결과

  • clean(:9624) 재컴파일(hanseonc_high 서버.한선 → 서버.toau)+launchctl kickstart -k gui/501/org.crowny.clean/ 200, /home headline="한국은 왜 깨끗할까." 유지(회귀 0).
  • 시공/동기화.sh 실행 → 판정 티(SRC≠MIR)·재컴파일·스모크 200 통과·확정. :9929 /home·/api/config headline="고객님 말씀하신대로" / sub_headline="As you said" 확인.
  • AYS server.js(:9920) 재기동(lsof -tiTCP:9920 -sTCP:LISTEN → kill → launchctl kickstart -k gui/501/com.crowny.ays). 로컬: / 200(AYS 필름 랜딩, ays-cta-banner 포함) · /work 200(플랫폼, "고객님 말씀하신대로") · /work/home API 정상 · /landing 200 · /api/stats 200 · /join.html 200.
  • 공개 HTTPS: https://ays.crowny.org/ 200(AYS 랜딩) · /work 200(플랫폼) · /landing 200(AYS 랜딩) · https://clean.crowny.org/ 200. 전부 curl -sk 실측 확인.
  • 폰트: 정적 CSS 검토로 font-weight:500(body)/700(h1~h6, .세리프) 반영 확인(브라우저 헤드리스 컴퓨티드스타일 측정 도구는 CrownyBrowser 전용 탭바 규격 대조기라 이 페이지엔 해당 항목 전부 SKIP — 별도 렌더 스크린샷 대조는 미실시, 잔여 이슈로 기록).

관련 파일

  • /Users/ef/crowny-ays/server.js (프론트 라우팅), /Users/ef/crowny-ays/프록시라우팅.한선(동반 판정)
  • /Users/ef/crowny-ays/public/landing.html (CTA href, font-weight)
  • /Users/ef/crowny-clean/서버.한선 (헤드라인 config), /Users/ef/crowny-clean/앱.html (sub_headline 렌더 + font-weight)
  • /Users/ef/crowny-ays/시공/설정.psv (append), /Users/ef/crowny-clean/설정.psv (무수정)

잔여 이슈

  • 폰트 웨이트 수리를 실제 스크린샷 헤드리스 렌더로 시각 대조하지 않음(정적 CSS 검토만) — 필요 시 mcp__claude-in-chrome 등으로 재확인 권장.
  • /work 하위 상대경로 자산(있다면)이 플랫폼 응답 내 절대경로 /xxx를 참조하는 경우 프론트 프록시 경유라 정상 작동하지만, 플랫폼이 /work 접두를 모르는 상대 링크를 생성하면 별도 재작업 필요할 수 있음(현재 확인된 API는 전부 절대경로라 문제 없음).

4차: 이미지 생성 도구 (2026-07-30 완료)

  • 이미지생성기.한선(SVG 코어: 4사업부 모티프×3색조·4상 자체판정) + server.js 라우트 3종(생성/부착/목록, x-admin-pass) + public/imagegen.html 관리 UI(admin.html 링크·크라우니디자인 적용) + 히어로/사업부 카드 이미지 소비 배선(app.js·style.css).
  • Gemini 승격 경로 배선(프롬프트 입력 시 시도→429 폴백 실증, backend 필드로 표시). 결제 활성화 즉시 실사 생성 자동 승격.
  • 검증: 401/200 인증, SVG 생성·division 부착·복원, 회귀 4경로 200, 헤드리스 렌더 확인. 잔여=RPN 미러·generated 정리정책.

5차: 폰트 얇음 근본수리 (2026-07-30 완료 — 스크린샷 실측)

  • 증상 "굵게 나왔다가 얇아짐"=FOUT 후 Crowny Gothic VF가 헤어라인 렌더. 원인 실측: 이 VF는 font-weight→wght축 매핑이 안 되고 @font-face 구간분할 디스크립터도 무시 — 요소 레벨 font-variation-settings만 유효(A/B/C 대조 스크린샷).
  • 수리: 중앙 크라우니디자인.css에 매핑 블록(body 'wght' 500, h1~h6/b/strong/th/button 800 — data-crowny 전 서비스 일괄) + landing.html 세부(히어로 900·네비/버튼 700·섹션제목 800) + clean 정본 앱.html 칩/머리류 700 → 동기화 전파.
  • 검증: before/after 스크린샷 대조(히어로·네비·스탯 굵게), /work 텍스트 렌더+홈 콘텐츠 정상, clean 회귀 무영향(중앙 매핑은 원래 의도 웨이트 복원). 메모리 feedback_크라우니고딕VF_wght매핑안됨 기록.
  • 잔여: 폰트 파일 자체 fvar/STAT 재빌드(근본), 타 서비스 div류 커스텀 웨이트는 각 서비스에서 요소 레벨 추가 필요.

6차: 관리자 콘솔 재정비 — 크라우니 통합회원 SSO (2026-07-30 완료)

  • 통합회원 ays 계정(ays@crowny.org) + AYS 조직(그룹) 생성(auth.crowny.org, org ORGc2993146ff5d3663).
  • admin.html 3탭 콘솔 재작성: ①웹페이지 관리(공사실적 게시/삭제·히어로 교체·이미지생성 링크) ②공사진행보고/채팅(/work 관리자 딥링크+inbox+간이채팅) ③고객 후속관리(문의/후기/거래+후속 메모 후속관리.psv).
  • 인가=SSO 토큰검증+AYS그룹 소속(5분 캐시, 그룹인가.한선 진리표)+패스코드 폴백. 실측: 멤버 200/무토큰 401/비소속 403, 사례·후속 종단, 회귀 200, 메인세션 재검수(sso-login→session 200) 통과.