o2o-site-AEO/solution/frontend/src/features/onboarding/generationLabels.ts
Mina Choi ef0c44c5f2 [feat] solution/backend: 수집 뒤 콘텐츠 채울 때 캐치프레이즈·순환 문구 생성 — 숙박만
가게별 첫 화면 문구를 만드는 곳이 없어 모든 숙박이 공통 문구 10개를 돌려 썼다.

- COPY 잡에 catchphrase 단계(prepare→generate→save→catchphrase→faq_fill), 숙박이 아니면 건너뜀
- prompts/catchphrase.py·gemini_text.generate_catchphrases: 캐치프레이즈 1 + 일반 20·계절 3×4·월 12·날씨 2×4.
  문구마다 길이·상호명·ground_check(근거 없는 시설·수치) 검사
- fact tagline·catchphrases(lodging 스키마, allow_llm). 순환 문구는 사장님이 줄 단위로 고치게 글로 저장
  (catchphrase_text: `봄 | ` · `9월 | ` · `비 | ` 머리)
- site_payload: narrative.tagline·catchphrases 로 넘기고 이용정보 표(facts)에서는 뺀다
- 빌더 생성 화면 단계 문구, DATA_MODEL·GENERATION_FLOW

테스트 6건 추가. 관련 20개 파일 386 passed · 실패 102건은 main 과 목록이 같다(기존 실패)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 14:33:17 +09:00

17 lines
791 B
TypeScript

/** 화면 문구만 둔다. */
export const GENERATION_LABELS: Record<string, string> = {
prepare: '수집된 사진 분류 및 대체 텍스트 생성',
generate: '브랜드 컬러 시스템 및 타이포그래피 조합',
save: '확인된 사실만으로 소개 콘텐츠 구성',
catchphrase: '첫 화면 캐치프레이즈와 순환 문구 작성',
faq_fill: '위치 기반 길찾기 연동 및 구조화 데이터(JSON-LD) 준비',
};
export const SKIP_REASONS: Record<string, string> = {
no_facts: '확인된 정보 없음',
not_configured: '생성 서비스 미설정',
no_catalog: '공통 질문 대상 업종 아님',
not_lodging: '숙박 업종만 해당',
generation_failed: '생성 서비스 응답 실패 — 확인된 정보만으로 계속합니다',
};