Commit Graph

192 Commits

Author SHA1 Message Date
Haewon Kam
995e1e7dfa feat(supporters): 채널 발견+엔티티 검증 — discover_channels.mjs(사이트 전수·웹검색·핸들 변형·레지스트리·플랫폼 검색, 근거 점수 3-state), 워커 discover 단계 → surfaces/sameAs, 패널·리포트 발견 채널 표, 원진 리포트 갱신
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 10:06:28 +09:00
Haewon Kam
388a4a5ea4 feat(discovery): 원진성형외과 AI Answer Readiness 리포트 v2.0 — 자동 채점+보정 결과(discovery_wonjin.ts, AEO 15/D·GEO 45/C), 독립 HTML 리포트 빌더 + Chrome PDF, docs/reports/wonjin/01_readiness_report
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 09:46:15 +09:00
Haewon Kam
dc0d233b58 feat(supporters): 홈페이지 이미지 단계 — 의료법 기준 이미지 규칙 문서, collect_images.mjs+img_process.py(법 조건부 이미지 자동 제외, 글자 이미지 검사), 워커 images 단계, 글별 히어로·갤러리 매칭. 원진 66장 반영 재배포
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 09:34:48 +09:00
Haewon Kam
eb873bc43a feat(supporters): 유튜브·로고 단계 — collect_youtube.mjs(API 집계·정보형 필터·쇼츠 판별), 워커 youtube 단계(로고·파비콘·homeVideos), 글↔영상 매칭, 카드 로고 대체, 기존 글 보존 재실행. 원진 재배포
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 09:09:00 +09:00
Haewon Kam
572978c316 docs: v2 §11-9 — haewon 결정 4건 반영, 원진성형외과 E2E 완주(6/6편, 게이트 0오류, supporters-wonjin.vercel.app)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 19:25:34 +09:00
Haewon Kam
ee8c06f53b feat(supporters): haewon 결정 반영 — 채널 인기 전체 탭 제거, 단가 상한 $10 기본, 큐 폴러(poll.mjs)+launchd, /supporters/:id 페이지, URL 신청→빌드 큐, 수집기 UA·슬래시 수정, 기획 목록 일반화(원진 6편)
WIP: 원진성형외과 회귀는 글 생성 단계에서 네트워크 끊김(fetch failed)으로 중단. 다음 세션에 --from generate 로 재실행.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 18:54:01 +09:00
Haewon Kam
190ffdf7ab docs: 서포터즈 자동 빌드 v2 §11-8 실행 기록 — 마이그레이션 적용, supporters-viewclinic 미리보기 배포, 랜딩 프로덕션 배포
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 17:13:01 +09:00
Haewon Kam
7e515b70ae feat(supporters): 승인 UI·입력 반영·워커 — §7-5 ClinicInputsPanel + supporter_builds/inputs 마이그레이션 + apply_inputs, §12-2 상단 고지·개설자 승인·색인 빌드 필터, §7-6 워커 E2E(뷰성형외과 URL → 5편 → 게이트 0오류)
- 게이트: DISCLOSURE_TOP_MISSING, APPROVED_*, UNAPPROVED_IN_INDEXABLE_BUILD, PRESS_VOICE 규칙화, 픽스처 추가 (16/16)
- 생성기: --site 옵션, 병원 확인 답변(clinicAnswers) 근거 [A]
- default_briefs.mjs 첫 배치 자동 기획, workers/supporters-build/run.mjs
- 랜딩: SAMPLE REPORT 라벨 "실제 사례"로 (haewon 지시)
- v2 §11-6·§11-7 기록, E2E 리포트

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 17:07:06 +09:00
Haewon Kam
64a3bce9a3 feat(supporters): 글 생성기 §7-4 — brief+근거 컨텍스트 → GPT-4.1 → 소스 게이트·수치 대조·근거 대조·수정 2회, 정답지 18편 회귀 18/18 통과
- scripts/generate_posts.mjs + gen/{evidence,prompt,serialize}.mjs, briefs/README.md, 새 문항 brief 예시
- 게이트 COMPARISON_CLAIM(타 병원·업계 평균 비교 수치) 신설 + 픽스처, 금칙어 부정문 예외, 직렬화 왕복 테스트
- 회귀 리포트·샘플 3편 docs/reports/viewclinic/04_supporters, v2 §11-5 기록

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 16:37:56 +09:00
Haewon Kam
76ec63bc1e feat(discovery): 기준표 v2.0 정식 채택 — 배지·헤더·랜딩 카피·비교 엑셀·덱 v2.0
- aeoGeoRubricV2 status active/2.0, 결과 rubricVersion 2.0. 리포트 헤더는 AEO·GEO 링 2개가 주, v1.0 종합은 보조 표기
- 랜딩: Hero 카피, ABMR 칩(AEO/GEO 목표), SampleReport(두 링 + 축별 8항목 바), Roadmap 제목, HowItWorks를 v2 계산값에서 파생. 발견 칩 수치 v1.1 스냅샷으로 정정
- 비교 엑셀 v2: scripts/build_supporters_v2_compare.ts(점수 계산 TS 단일 원본) → build_supporters_audit_v2_xlsx.py. 공식 AEO 42/GEO 56 · 서포터즈 noindex 상한 40(G1) · 색인 허용 AEO 94/GEO 77
- 덱 v2.0: build_viewclinic_deck_v2_0.py (17장, 표지 배지 v2.0, KPI AEO/GEO, 스코어카드 2장, Method v2.0) + 표준캔버스 + PDF. v1.0·v1.1 파일은 그대로
- docs/AEO_GEO_RUBRIC.md에 v2.0 채택 주석, AEO_GEO_RUBRIC_v2.md 재생성, 리포트 페이지 PDF 재출력

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 15:25:00 +09:00
Haewon Kam
c02de9ea51 feat(discovery): AEO/GEO 분리 채점 기준표 v2.0 초안 + 리포트 패널
- src/data/aeoGeoRubricV2.ts: AEO 답변 준비도 8항목·GEO 출처 준비도 8항목(각 100), 게이트 2종(크롤러 접근·본문 렌더링 → 상한 40), 부가 지표 11개
- v1.0 36항목을 v2 항목에 1:1 매핑(중복 0·미매핑 0, 스크립트 검사). 항목 점수 = v1 실측 레벨 가중 평균, 사람 판정(v2Results) 우선, 미검증은 분모 제외
- src/lib/discoveryScoreV2.ts 집계, src/components/discovery/AeoGeoV2Panel.tsx 리포트 패널(헤더 아래)
- 뷰성형외과 재채점: v1 54/C → AEO 42/C · GEO 56/C (사람 판정 4개는 수집기 원문 근거 초안). 태하: 게이트 G1(A2) 실패로 40 상한
- docs/AEO_GEO_RUBRIC_v2.md는 scripts/gen_rubric_v2_doc.ts로 코드에서 생성
- tsconfig exclude에 supporters·templates·evidence 추가 (Astro 하위 프로젝트가 루트 tsc에 잡히던 문제)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 15:12:35 +09:00
Haewon Kam
e52331a239 docs: 서포터즈 자동 빌드 v2 §11-4 근거 수집기 기록, §12 haewon 결정 반영 + 법적 책임 주체 제안 + 워커·배포 추천
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 14:28:40 +09:00
Haewon Kam
c92ecc83fb feat(supporters): 근거 수집기 scripts/collect_evidence.mjs + evidence/viewclinic (§7-3)
- 홈+page 사이트맵에서 원문 페이지 발견 → 경로 우선·단어 경계 분류(주의사항·애프터케어·검진·안전·의료진·오시는길·시설·소개·예약·시술)
- 본문 컨테이너 선택 + 페이지 간 반복 줄(메뉴·푸터) 제거, 헤딩·문단·목록·표·이미지·링크 구조화
- doctors.json: 이름·직함·약력. 약력이 이미지 글자면 textInImages, 2줄 미만이면 '확인 대기' (뷰성형외과 27명 전원 확인 대기)
- facts.draft.json: 전화·주소·사업자번호·대표·진료시간 정규식 후보 + 출처 URL
- home_text.txt: 전 페이지 본문(29만 자). check.mjs --home-text= 로 40자 중복 검사 기준 교체 가능 → 18편 0오류
- --posts 옵션: 글에 인용된 병원 URL 커버리지 리포트 (뷰성형외과 16/16, /face/main/은 301 추적)
- robots.txt Disallow 존중, UA 명시, 요청 간 400ms

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 14:26:15 +09:00
Haewon Kam
63756f5a5c docs: 서포터즈 자동 빌드 v2 §11 진행 기록 — 게이트 확장·템플릿화 완료, 남은 단계와 결정 의존 관계
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 14:07:53 +09:00
Haewon Kam
622441e6aa feat(supporters): 템플릿화 — 병원 고유값을 데이터로 분리하고 templates/supporters-astro 내보내기
- src/data/site.json 신설(매체 이름·로고·홈 큐레이션), factSheet에 kind·areaLabel·transitShort·transitNote·reservationUrl·doctorsUrl·youtube.title 추가
- lib.ts: PENDING('확인 대기')·v()·has()·surface()·editor() 도입, 스키마는 빈 값을 빼고 생성
- 페이지·컴포넌트 15개에서 뷰성형외과 하드코딩 제거, 빈 데이터 empty-state (글 0편·영상 0건·뉴스 0건·이미지 없음)
- 검증: 28페이지 표시 텍스트·구조 지문 이전 빌드와 동일(홈 title 마침표 1건만 정정), JSON-LD 차이는 빈 sameAs 제거뿐
- scripts/export_template.mjs + scripts/template/data(빈 데이터 세트) → templates/supporters-astro (빈 데이터로 10페이지 0오류 빌드, 게이트 통과)
- 게이트 픽스처를 자체 authors로 분리해 템플릿에서도 테스트 통과, 구조 기준선의 글 상세 페이지는 사전순 첫 글로 동적 선택

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 14:07:14 +09:00
Haewon Kam
49c5e46f23 feat(supporters): 발행 게이트 확장 — v2 §3 검사 11종을 규칙 모듈·픽스처 테스트로 분리
- scripts/gate/rules.mjs: 운영자 어휘·구조 지문·화법·근거 type·규제 원문·결론 문장·수치 한정·확인일 일관성·검토자/검토일·영상 제목·표/체크리스트 (순수 함수)
- scripts/check.mjs: dist + 소스 frontmatter + 데이터 검사 러너, --update-layout, error/warn 분리
- scripts/gate/test.mjs + fixtures 9개: 실패 재현 + 18편 정답지 회귀 + 부정문 통과
- corrections.json 「답변엔진」 표현 고객 화면에서 제거, 반말 문장 1건 수정
- audit_aeo_geo.py: 표본 URL 5개 미만 경고(§3-10)
- 미결: 「채널 인기 전체」 탭은 경고만 (haewon 결정 대기)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 13:57:31 +09:00
Haewon Kam
a441f8a4ad docs: 서포터즈 자동 빌드 핸드오버 v2 — 사람 판단 11건을 규칙/검사/사람 게이트로 분해, 근거 프로토콜, 신뢰 층 스펙, 병원 입력 항목
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 13:47:19 +09:00
Haewon Kam
f23c5a5113 chore: v1.1 표준캔버스 pptx 재생성분 반영
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 13:42:00 +09:00
Haewon Kam
fdb6aaf91b style(reports): v1.1 덱 제목·본문을 고객용 존댓말로 (판단 슬라이드 존댓말, 목차성 슬라이드 명사구)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 13:07:45 +09:00
Haewon Kam
13a8fca775 chore(reports): docs/reports를 고객·단계별 폴더로 분류
- viewclinic/01_readiness_report (진단 덱 v1.0·v2_표준캔버스·v1.1 + 빌더) / 02_poc_proposal (POC 정본·v3 + 빌더) / 03_question_bank (QB 120문항·실측·엑셀) / 04_supporters (GEO 계획·콘텐츠 기획·감사 엑셀)
- taeha/ (태하 리포트 + 빌더), ibk/ (기업은행 블로그 감사), landing/ (랜딩 시안·스크린샷·HTML 내보내기)
- README.md에 구조·정본/파생본·빌드 명령 안내
- 경로 참조 갱신: 핸드오버 문서 4개, QB 스크립트 3개, 빌더 docstring, discovery 페이지 주석
- 이전에 삭제된 POC v2_표준캔버스 2파일 삭제 반영

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 13:03:53 +09:00
Haewon Kam
90ad27ee73 fix: 뷰성형외과 AI Answer Readiness 리포트 v1.1 — 2026-09-07 재검증 정정 3건 + 병원 요청 슬라이드
정정 (원본 HTML 5개 URL 재파싱):
- 블로그 정지(2024-05) → 오판. www post-sitemap만 본 결과. blog.viewclinic.com은 09-07까지 발행, robots가 AI 봇 14종 명시 허용
- FAQ 0개 → 프리저베 페이지 FAQ 7문항 + 유효 FAQPage 스키마. C2 0→2
- 수술시간·회복 표기 없음 → 프리저베·코·윤곽 페이지에 텍스트 존재(가격대 없음). C4 1→2
- 총점 50 → 54 (C 유지), C 카테고리 28% → 44%. 그 외 판정(H1 5개, ItemList 파싱 실패, sameAs 빈 값, 표 0, 진료시간 이미지, WP 5.5.3)은 재확인

산출물:
- src/data/discovery_viewclinic.ts: 레벨·근거·keyFindings·actions 정정, auditedAt 2026-09-07 (/discovery/viewclinic 반영)
- 덱 v1.1 (16장): Corrections 슬라이드 + "뷰성형외과에 부탁드리는 것"(정보·확인·액션 3열) 추가. haewon 편집 원본 v1.0은 보존
- 20in 원본 + 표준캔버스 축소본, PDF 각 1부

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:45:29 +09:00
Haewon Kam
659f22b987 feat(supporters): 2단계 2차 원천 콘텐츠 5편 초안 + 1차 4편 검토 확정 + 의료진 6명 추가
- 2차 5편 (검토 대기): 트임 3종 비교(눈 조진우), 기능코성형·이비인후과 협진(고은석), 윤곽·양악 회복 일정표(오정석), 실리프팅 vs 안면거상(김소영), 타원 수술 재수술 상담·시점(정재현)
- 근거: 쇼츠 정리 답 6편, 주의사항 페이지 부위별 원문(눈·코·윤곽·양악·리프팅), 코성형·안면윤곽·가슴재수술 페이지, 원장 인터뷰·칼럼 5건. 자료에 없는 수치(지속 기간, 코·윤곽 재수술 시점, 신경 손상 확률, 타원 상담 정책)는 "자료에 없음 / 확인 대기"로 명시
- 1차 4편 검토 완료 2026-09-07: 상담 질문 최순우, 회복 정재현, 마취 최진화(마취통증의학과 전문의로 교체), 검진 오원석. 견적 글은 검토자 없음
- authors.json physicians에 조진우·고은석·오정석·김소영·윤창운·최진화 추가 (공식 프로필 경력·URL)
- 기획서에 1·2차 상태 반영. 게이트 28페이지 오류 0

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:28:06 +09:00
Haewon Kam
2735de7e2a feat(supporters): 2단계 1차 원천 콘텐츠 5편 초안 (검토 대기) + 작성자 sameAs 한경 인터뷰
- C 선택 기준: 가슴성형 상담 질문 10가지 체크리스트 (답 적는 칸, 병원 공개 답 병기)
- F 가격·이벤트: 견적 확인 항목 9가지 + 비용 확인 경로 (금액 미기재)
- D 시술 정보: 가슴성형 회복 일정표 (당일~1년, 주의사항·애프터케어 페이지 원문 기준, 출근 시점은 병원 확인 대기)
- E 안전·신뢰: 수면마취 vs 전신마취 (쇼츠 E-04 + 안전수술시스템 마취 프로세스)
- D 시술 정보: 보형물 교체 주기와 검진 (쇼츠 D1-11 + FDA 위험 안내 + 검진센터·애프터케어)
- 모두 reviewStatus pending, 확인 안 된 수치는 쓰지 않고 "상담 확인"으로 표기. 참고 자료 유형 태그·확인일 포함
- authors.json: 안성민 sameAs에 한국경제 CEO 인터뷰 추가
- 기획서에 1차 초안 발행 기록

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:19:06 +09:00
Haewon Kam
1b0fd6624a docs(supporters): 2단계 원천 콘텐츠 기획서(13편) + 작성자 역할을 'AI오투오 대표 · 편집 책임'으로
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:07:17 +09:00
Haewon Kam
f776c3813b feat(supporters): 의학 검토 완료 확정 — 6편 검토일 2026-09-07, reviewedAt 필드·lastReviewed 스키마
- reviewer가 있는 6편(촉감·표면·프리저베·재수술·안전·병원 소개) reviewStatus reviewed, reviewedAt 2026-09-07, 갱신 기록에 "담당 원장 의학 검토 완료"
- 스키마 reviewedAt 추가. Article JSON-LD에 reviewedBy(Physician @id) + lastReviewed
- 글 상단 "의학 검토 {원장} (검토일)", ReviewBox "검토 완료 {검토일}"
- 샘플 배너 "정식 공개 전입니다"로 축약, 소개의 검토 대기 문장 삭제
- GEO 계획 문서 1단계 G2 반영 표기

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:02:14 +09:00
Haewon Kam
ffbd1e66bd feat(supporters): GEO 0단계 반영 — 작성자 안성민, 근거 범위 표현, 참고 자료 유형, 갱신 기록, 정정 기록 페이지
- 작성자: 가명 2명 → 안성민(편집자·편집 책임) 1명. 소개·푸터·ReviewBox에 편집 책임과 정정 요청 이메일(o2oteam@o2o.kr) 명시
- 의학 검토: 영상 출연 원장을 감수자로 표기하던 방식을 중단. 상단 메타 "설명 {원장}" + "의학 검토 대기", ReviewBox는 검토 완료 시에만 원장명·날짜 표시
- 근거 범위(G4): 촉감 글 FDA 승인 범위 한정, 표면 글 나노텍스처를 원장 의견으로 한정, 프리저베 30분·다음 날 출근 영상 사례 한정, 재수술 글 제품 권유를 임상 의견으로 한정, 안전 글 결론 문장 교체
- 원자료(G3): sources에 type 태그(병원 제공/원장 설명/제품 정보/규제·연구/플랫폼 집계/2차 자료). FDA P230005, FDA 위험 안내, ISO 14607 원문 링크 추가
- 일관성(G6): 후기 글 요약·FAQ에 플랫폼별 확인일 병기, "해외 환자 비중" 삭제. 홈 통계에 확인일
- 갱신 추적(G5): 글 frontmatter history + History 컴포넌트. 팩트 시트 checkedAt/nextCheck 표시
- 정정 경로(G8): /corrections 정정 기록 페이지(정정 7건), 푸터·소개·ReviewBox에 정정 요청 링크. 사이트맵 반영
- GEO 계획 문서에 0단계 반영 내역 기록

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 10:53:01 +09:00
Haewon Kam
8198051632 fix(supporters): 의료진 영상·뉴스룸·병원 정보의 운영자 시점 설명을 고객 문장으로 교체
- 의료진 영상: 선별 기준 설명(60초 롱폼/쇼츠 분류, 임베드·복제 고지)을 "무엇을 볼 수 있는지"로. 탭명 설명 영상 Top 10 / 1분 답변 영상, 1위 통계는 설명 영상 기준으로
- 뉴스룸: "링크 트리", 수집 질의 수 등 제거. In The News, "제목을 누르면 원문으로". 제3자 보도 미포함 사실은 고객 문장으로 유지
- 병원 정보: "홈페이지에 텍스트가 없어 강남언니 표기 사용" 사정 설명 제거, 출처 표기만 유지
- 홈 칩: "영상 1,215편을 근거로" → "원장이 직접 설명한 영상을 근거로" (채널 전체 편수를 근거 수로 읽히지 않게)
- 글 상세 영상 메모 "이 글의 주 원천" → "이 글의 바탕이 된 영상"

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:37:42 +09:00
Haewon Kam
f683fca187 feat(supporters): 메뉴 '의료진 영상' + 영상 페이지 상단에 의료진 소개 링크 2개 (공식 홈페이지 의료진 소개 · 강남언니 등록 의료진)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:33:41 +09:00
Haewon Kam
81f1547ddd fix(supporters): 메뉴 '병원 소식' → '뉴스룸'
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:28:49 +09:00
Haewon Kam
c631b9cdd8 fix(supporters): 글 목록 카테고리 블록 반응형 그리드 + 태블릿 헤더 한 줄 유지
- /posts: 카테고리 섹션이 글 수만큼만 칸을 차지하는 그리드 (데스크톱 3열 → 1000px 이하 2열 → 660px 이하 1열).
  1편짜리 병원 소개·방문·예약·안전·신뢰·후기·평판이 데스크톱에서 나란히 배치되고 세로로 쌓이지 않음
- 헤더: 720~1040px 구간에 메뉴 간격·크기 축소, nowrap. 새 메뉴 이름 5개가 두 줄로 깨지던 문제 해결
- docs/v4-screenshots: posts 데스크톱·태블릿·좁은 폭·모바일 스크린샷 추가

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:27:25 +09:00
Haewon Kam
8e2dd63b00 feat(supporters): Astra 개선안 일부 수용 — 메뉴 재명명, 방문 안내 페이지 신설, 고객 상태별 진입 카드
- 메뉴: 상담 전 질문(/posts) · 의료진 설명(/videos) · 병원 소식(/newsroom) · 방문 안내(/visit, 신설) · 매체 소개(/about). 기존 페이지는 그대로, 병원 정보(/clinic)는 푸터와 방문 안내에서 연결
- /visit 신설: 예약 경로 3가지 → 진료시간 → 찾아가기(지하철·주차 약도) → 도착 후 동선 → 상담 전 읽어볼 글 → 상담 예약 CTA. 값은 factSheet.json에서만
- 홈 히어로 아래 "Start Here / Where Are You Now?" 섹션: 처음 알아볼 때 · 병원을 선택할 때 · 방문을 준비할 때 카드 3개 (기존 .card 룩, 영어 세리프 헤딩 유지)
- 통계 숫자 블록 유지, 1문항 1URL 원칙 유지. 사이트맵에 /visit 추가

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:22:22 +09:00
Haewon Kam
2b76de95e5 docs(supporters): v4 전체 페이지 풀 스크린샷 17장 (홈·글 목록·글 8편·영상·뉴스룸·병원 정보·소개·편집 기준·작성자 2명)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:08:20 +09:00
Haewon Kam
7239ae16c4 fix(supporters): 홈 원칙 카드 제목을 명사구로 (답하는 방식 / 싣지 않는 것 / 밝히는 것)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:05:39 +09:00
Haewon Kam
c87ee03d54 feat(supporters): 히어로 제목을 '뷰성형외과, 궁금한 것부터 답합니다'로 바꾸고 2pt 확대 (2.7rem→2.86rem)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:02:07 +09:00
Haewon Kam
32e050a501 fix(supporters): v3 룩앤필 복원, 텍스트만 고객용으로 유지
- 홈 구조·영어 세리프 헤딩·아이브로우·통계 블록을 v3 그대로 되돌림 (주제 카드 섹션 제거)
- 통계 3칸은 답한 질문 수 / 원장 설명 영상 / 강남언니 후기로 숫자 유지, 설명만 고객 문장
- about·editorial·posts·clinic 상단 제목을 v3 방식(영어 세리프 h1)으로 복원
- 글 상세 아이브로우 "D · 시술 정보" 복원 (QB 번호만 제외)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:00:53 +09:00
Haewon Kam
24b8be0f3d feat(supporters): 고객용 메시지와 운영자용 설명 분리 (v4)
- 홈: "답변엔진 인용", "질문 뱅크 120", "홈페이지 문장 복사 안 함", "의료법 56조" 등 제작 원칙 섹션 제거.
  주제별 찾기(카테고리 카드) · 최근 답한 질문 · 원장 영상 · 병원 둘러보기 · 신뢰 근거 3가지 · 병원 정보로 재구성. 영어 덱 스타일 헤딩을 한국어 고객 문장으로 교체
- /about: 방문자용 "이 사이트에 대해"로 다시 씀 (근거, 작성·감수, 싣지 않는 것, 병원과의 관계, 문의)
- /editorial 신설: 운영자용 편집 기준 (질문 뱅크, 글 구조, 원천 변환, 중복 회피, 스키마, 발행 게이트, 고객/운영자 경계). noindex, 푸터에서만 연결
- 내비 "운영 원칙" → "소개", 샘플 배너에서 noindex 언급 제거, 글 상세 QB 번호는 data-qb 속성으로만 유지
- 글 목록·병원 정보·영상·뉴스룸·작성자 페이지의 "단일 원본", "API 집계", "수집 기준", "팩트 시트" 문구 정리
- 후기 글·방문 안내 글의 법 조문·답변엔진 언급을 고객 문장으로 교체
- Base에 noindex prop 추가. docs/v4-screenshots 기록

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 08:57:56 +09:00
Haewon Kam
03ed725481 feat: 뷰성형외과 서포터즈 샘플 사이트 v3 + 설계 v0.1 + 공식 사이트 대비 AEO 감사
- supporters/: Astro 사이트 소스 (pages·components·posts·factSheet/authors/videos 데이터, 뉴스룸 916건 빌더, 발행 게이트 check.mjs, vercel.json)
- supporters/docs/: v1~v3 스크린샷 기록
- docs/INFINITH_Viewclinic_Supporters_Site_Design_v0.1.md: 서포터즈 사이트 설계 문서
- docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD.md: 다음 세션 자동 빌드 프롬프트
- docs/reports/Viewclinic_Supporters_vs_Official_AEO_Audit.xlsx + scripts/build_supporters_audit_xlsx.py: 서포터즈 vs 공식 사이트 AEO/GEO 감사 비교

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 08:40:10 +09:00
Haewon Kam
1dd1384fbf feat: POC 덱 v3 — haewon 10페이지 폰트 기준을 전 슬라이드 적용 (본문 20 / 리드·인용 24 / 카드 제목 28)
haewon 수정 원본(Viewclinic_POC_Proposal.pptx)은 보존, 10페이지는 원본 유지.
나머지 14장에 런 164개 in-place 매핑 후 v3 + v3_표준캔버스(13.33in)로 저장.
빌드 스크립트에 재생성 금지 경고와 새 폰트 상수 역반영.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:52:43 +09:00
Haewon Kam
bf4e1a5548 fix: INFINITH 덱 폰트 pt 표준화 — 20in 캔버스를 2/3 균등 축소한 v2_표준캔버스 버전 추가
원인: INFINITH 덱 캔버스가 20x11.25in(표준 1.5배)이라 폰트 pt가 1.5배 부풀려짐
(본문 18pt = 화면상 12pt). ADO2 정본(12.5in)과 달리 14pt 지정 시 9.3pt처럼 렌더.
scripts/rescale_deck.py로 좌표·폰트·선·여백 전부 2/3 축소 → 13.33x7.5in 표준,
화면 모습 동일, pt 숫자 표준화(본문 12pt·타이틀 42pt). haewon 수정 원본은 보존.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:44:41 +09:00
Haewon Kam
69b580c135 feat: POC 부록 맨 앞에 '두 점수 읽는 법' 슬라이드 추가 (14→15장, 부록 1/5~5/5 재번호)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:33:40 +09:00
Haewon Kam
34edb3bef8 fix: QB 엑셀 GPT상세·PPLX상세를 논브랜드 84문항으로 한정 (브랜드 원본은 JSONL 보존)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:25:31 +09:00
Haewon Kam
591791a262 chore: QB 엑셀 파일명에 TOP50 명시 (Viewclinic_QB_Results_TOP50.xlsx) + 참조 갱신
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:21:59 +09:00
Haewon Kam
c2a02ce514 feat: AI Discovery 랭킹 시트 TOP20 → TOP50 확장
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:19:09 +09:00
Haewon Kam
9a271cacb0 feat: QB 엑셀에 AI Discovery TOP20 시트 추가 (논브랜드 84문항 2엔진 합산, 순위 가중 점수)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:18:31 +09:00
Haewon Kam
d378ac56c9 chore: 48점 구판 중복 POC 덱 2개 삭제 (정본은 Viewclinic_POC_Proposal.pptx/pdf)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:06:13 +09:00
Haewon Kam
f8a254126c feat: 뷰성형외과 Question Bank 120문항 2엔진 실측 + 기준표 v1.1 과제 + 점수 정합성 교정(50/C)
- Question Bank 120문항(사전판정 ◯5/△35/✕80) + OpenAI·Perplexity API 실측: 브랜드 언급 97~100%, 논브랜드 GPT 11%/PPLX 3%, 시술 정보 52문항 0건
- 러너 run_question_bank_openai.py(재개 가능)·merge_qb_results.py·export_qb_excel.py, 결과 MD 3종 + xlsx 5시트 + raw JSONL
- AEO_GEO_RUBRIC.md v1.1 과제 5건: 서브도메인 실측, D3 표면 범위 확대, 엔진별 판정, 브랜드/논브랜드 축, 점수 표기 정합성
- 점수 교정: scoreDiscovery 계산값 50/C(44.1/89, 검증 32/36)로 진단 리포트 덱·POC 제안서 일괄 교정(구판 48, 커밋 메시지 49는 착오)
- 진단 리포트 덱 13→14장: Validation 슬라이드 추가, A5·B4·C6 재채점 반영, 연락처 o2oteam@o2o.kr 교정
- POC 제안서 10→14장: 부록 4장(QB 설계·실측 KPI·브랜드vs논브랜드·블로그 인용 증거), 랜딩 스크린샷 50점 화면 재캡처

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155BJMHJyhqqAPGYjGKYhPS
2026-09-01 11:03:15 +09:00
Haewon Kam
3ba8fc839d feat: /discovery CTA 'URL 입력으로 시작하기' — URL 입력 진단 신청 모달 + discovery_leads 저장
- 히어로·하단 CTA 버튼명 변경(무료 AEO/GEO 진단 받기 → URL 입력으로 시작하기), mailto 직행 제거
- DiscoveryLeadModal: URL(필수)·연락처(필수)·상호(선택) → Supabase discovery_leads insert
- RLS anon insert 전용(조회 불가), 저장 실패 시 o2oteam@o2o.kr mailto 폴백 (정직성 규약)
- 마이그레이션 20260831_discovery_leads.sql (적용은 supabase login 후 db push 필요)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
2026-08-31 16:58:38 +09:00
Haewon Kam
f50426eaed fix: 뷰성형외과 재채점 4건 반영 (A5·B4·C6·D6) — 48/C → 49/C
- audit_aeo_geo.py 재채점에서 확인된 기존 수작업 실측의 샘플링 누락 보정
- A5 2→3 (page/portfolio-sitemap lastmod 최신 2026-08-31), B4 2→1 (시술 페이지 세 번째 주소 표기),
  C6 1→3 (article:modified_time·dateModified 2026-04-17 실재), D6 unverified→0 (Wikidata 검색 결과 없음)
- keyFindings '15개월간 갱신 신호 없음' → '갱신 신호는 살아 있다(블로그만 2024-05 정지)'로 정정
- 검증 분모 88→89 (검증 32/36), 등급·목표(C→B) 변화 없음

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
2026-08-31 16:46:29 +09:00
Haewon Kam
06a29fdf7c feat: AI Discovery 자동 채점기 audit_aeo_geo.py (P0) — auto 22항목/55점 자동 판정
- 병원 URL 2개 입력 → 기준표 v1.0 auto 22항목 자동 채점 → discovery_<id>.ts 초안 생성
- semi/manual 항목은 unverified + 수집 증거 메모 (분모 제외 규칙 준수)
- 뷰성형외과 재채점 검증: auto 22항목 중 18항목 기존 실측 일치,
  불일치 4건(A5·B4·C6·D6)은 전부 기존 수작업 실측의 샘플링 누락 (핸드오버 문서에 기록)
- stdlib만 사용, curl 백엔드 (macOS 인증서 회피, crawler_audit.py 계승)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
2026-08-31 16:37:40 +09:00
Haewon Kam
b4edbf5da7 docs: AI Discovery Build 2 핸드오버 (자동 채점기 P0, 태하 랜딩 미노출 확정)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
2026-08-31 16:25:29 +09:00