- 프롬프트에 아라비아 숫자 금지 규칙+예시 추가
- 안전망 hangulize_numbers: 한자어 수사(일승·칠십팔승·이차전), 게임·경기는
고유어(일곱 게임), 스코어 5:3→오 대 삼, 소수 타율 영점삼일이. 제목도 적용
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 리그 탭에서 월드컵 제거, ?league=wc 는 KBO 강등, 기본 리그 kbo·mlb·mls
- index.html·OG 기본 타이틀에서 월드컵 문구 제거, 월드컵 특설 정적
플레이리스트 제거
- 응원가 MLS 포함: 라인업 소스 없는 리그는 윈도우 진입 즉시 생성,
스타일은 soccer 앤섬 변형, 커버 로고는 Match flag(ESPN PNG) 재사용
- MLB 도 한국 팬 표기 지시 적용, 전날 활약 조회는 kbo/mlb 만
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 전날 경기 활약: KBO=네이버 record 타자 boxscore(홈런·3안타 이상),
MLB=boxscore batting — 어제 결과 줄에 "활약: ..." 로 부가
- 확정 라인업에 타자 시즌 타율 병기 (MLB=seasonStats, KBO=최근 경기 hra 맵)
- 커버 합성에서 Suno 배경 제거 — 다크 단색 배경 + 팀 로고 최대 크기
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 스타일은 레퍼런스 확정본(brass fanfare·drum corps·128bpm·live stadium)
으로 고정, LLM 은 제목·가사만 작성
- Suno 생성 2트랙 중 첫 트랙만 API 노출
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- MLB 라인업: Stats API schedule→gamePk→boxscore battingOrder (양팀 9명 = 발표)
- 작사 프롬프트 리그 분기 (MLB 는 한국 팬 표기 지시)
- /api/songs/today league 미지정 시 전 리그 반환, 프론트는 전 리그 조회
- 상세 페이지 응원가 버튼 KBO+MLB 노출
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 네이버 preview fullLineUp 조회 — 양팀 타자 8명 이상이면 발표로 간주,
확정 라인업(타순·포지션 실명)을 가사 컨텍스트에 주입
- 생성 윈도우(킥오프 150분 전~) 안에서 발표까지 대기, 킥오프 40분 전까지
미발표면 라인업 없이 폴백 생성
- 라인업 없이 만든 곡은 발표 후 자동 재생성(업그레이드) — 기존 트랙을
유지한 채 새 곡 완성 시점에 교체, 실패 시 이전 곡 복귀
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 경기 맥락(전날 결과·순위·연전 차수·선발투수) 조립 → LLM 작사
(콜앤리스폰스·섹션 태그 형식) → Suno(sunoapi.org) 생성 → songs 테이블
- 워커: 킥오프 150분 전 윈도우 진입 시 생성 시작 + 2분 주기 폴링
- API: GET /api/songs/today · POST /api/songs/callback(싱크대)
· POST /api/songs/generate(관리자 강제 생성)
- 프론트: MusicBar 가 경기 상세·메인에서 오늘의 응원가를 동적 로드
(정적 플레이리스트는 폴백 유지)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>