Product 1.0 범위는 진단 + 서포터즈 초안(haewon 결정).
브랜치 확인 결과 핸드오버 §1 의 미확인 항목 두 건은 이미 해결 상태였다.
리드 CTA(DiscoveryLeadModal·discovery_leads 마이그레이션)와 AEO/GEO v2 기준표는
셋 다 main 에 있고 blob 이 동일하다. feature/discovery-url-cta 는 main 대비
ahead 0 / behind 22 인 낡은 포인터라 머지 대상에서 뺐다.
supporters/ 정본은 메인 쪽(뷰 수작업 샘플)으로 정했다(haewon 결정).
겹친 22개 파일 중 실제로 다른 것은 9개였고 전부 메인 쪽을 취했다.
layout-baseline.json 은 Base.astro 가 내는 언어 전환 링크 모양(a.lang-switch)과
짝이라 같은 쪽으로 가져왔다.
Productize 쪽에만 있던 두 가지를 정본으로 옮겼다.
- GA4 태그: site.json 의 ga4MeasurementId 가 G-형식일 때만 삽입한다.
값이 없으면 스크립트가 아예 나가지 않는다. 키 이벤트 이름은
data/ai_channels.json 의 conversion_events 와 맞춘다.
- 영문 법적 고지: 지원 관계·부작용 고지는 의료법 56조 대상이라 임의 번역하지 않는다.
i18n.ts 에 병원 승인 없는 영문 번역이 들어 있어 푸터에서 쓰지 않도록 했다.
site.json 의 sponsorNoticeEn · factSheet 의 sideEffectNoticeEn 이 채워지기 전까지
영문 화면은 한국어 원문과 확인 대기 표기를 함께 낸다.
검증: astro build 32페이지, 게이트 41/41 통과, check.mjs 오류 0건
(경고 23건은 기존 건으로 site.sponsorNotice 미설정 18건과 원고 수치 한정 5건),
루트 tsc --noEmit 0 에러. GA4 는 임시 측정 ID 로 삽입·미삽입 양쪽을 확인하고 원복했다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-08 작업분. GA4 에서 AI 답변엔진 유입을 채널로 갈라 보는 뼈대를 세웠다.
- data/ai_channels.json: AI 답변엔진 리퍼러 목록(채널 그룹 정의의 근거)
- scripts/ga4_ai_traffic.py: GA4 Data API 로 AI 유입을 뽑는 러너. --mock 으로 합성
데이터 검증까지 마쳤다. 실제 속성 연결은 GCP 계정이 정해진 뒤다
- supporters/src/layouts/Base.astro + 템플릿 site.json 2곳: ga4MeasurementId 태그.
쿠키 고지 배너 결정 전까지 미리보기에는 ID 를 넣지 않는다
- scripts/build_discovery_report.ts: Integrity 절에 "측정 가능 범위" 를 넣어
무엇을 재고 무엇을 못 재는지 리포트가 스스로 밝히게 했다
- 원진 진단 리포트 v2.1(HTML·PDF) 재생성분
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
haewon 보정 라벨 29건으로 1차 보정을 마쳤다. sentiment 일치율이 75%로 기준선 80%에
미달해 불일치 7건에서 규칙 R1~R5를 뽑아 기준표와 판정기 프롬프트에 넣었다.
규칙 (기준표 §2)
- R1 결론 단락이 개별 항목보다 우선한다
- R2 mixed 는 긍정과 부정이 대등하게 병존할 때만
- R3 "후기 수가 많다"는 규모 서술이며 긍정 평가가 아니다
- R4 평가 축이 있는 목록에 포함되면 positive
- R5 강점 서술은 출처가 병원 홍보라도 positive
R4-a(목록에서 결론이 대상 병원을 빼면 positive 아님)와 R6(결론 없는 카탈로그는
neutral)은 시험 투입 후 철회했다. 일치율이 93%에서 89%로 떨어졌다. 하나 고치면
하나 깨진다. n=29 에서는 과적합이므로 R1~R5 에서 멈춘다.
결정론적 언급 탐지기 (기준표 §2-1, mention_kind)
sentiment 를 매기기 전에 상호 존재를 정규식으로 먼저 판정하고, 판정기가 언급이라
해도 탐지기가 없다고 하면 not_mentioned 로 덮는다. 언급 수가 모든 비율의 분모다.
- URL 을 먼저 지운다. news.nate.com/view/... 의 "view" 를 언급으로 세던 오탐 3건 제거
- "리뷰"의 "뷰" 처럼 다른 낱말의 일부인 약칭을 뺀다. G-04 오탐 제거
- 한글 상호의 음절 사이 공백을 허용한다. "뷰 성형외과" 미탐지 2건 해소
언급 84 → 83, 약한 언급 3 → 1.
수치 (뷰성형외과 240건)
감성 점수 53.6 → 58.4. 약한 언급 1건 제외 시 57.9. mixed 10 → 0.
haewon 라벨 대비 일치율 93%는 같은 표본으로 규칙을 고친 값이라 확정 근거가 아니다.
기준표 확정은 새 30건 2차 보정으로 한다. 리포트와 요약 JSON 에 confirmed=false 로 적었다.
월간 실측 체인 (scripts/monthly_ai_measure.py, 핸드오버 §2-4)
질문 뱅크 러너 → 감성 판정 → 리포트 → supporter_builds.report.sentiment 를 한 명령으로
묶었다. 보정은 사람 게이트이므로 체인에 넣지 않았다. 질문 뱅크 러너가 아직
뷰성형외과 전용이라 다른 병원으로 넓히려면 러너를 먼저 매개변수화해야 한다.
버그 수정
- --summary 를 --calibration 없이 돌리면 §7 생성에서 죽던 문제. 핸드오버가 권장하는
명령이 그대로 터졌다(--calibration 은 haewon 라벨을 지우므로 빼야 한다)
- 결과 jsonl 의 rubric 필드와 리포트 머리말의 기준표 버전이 v0.1 로 하드코딩돼 있었다
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- 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>
- 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>
- 작성자: 가명 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>
- 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>