feat: P1-4 Brand Identity tab — AI-generated brand analysis

- generate-report: add brandIdentity schema to AI prompt (logo, message, tone, positioning, hashtags, channel consistency)
- transformReport: map API brandIdentity array to TransformationProposal component
- ApiReport type: add brandIdentity field

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
claude/bold-hawking
Haewon Kam 2026-04-02 14:10:28 +09:00
parent 4484ac788a
commit 7ea9972c7e
2 changed files with 20 additions and 1 deletions

View File

@ -46,6 +46,11 @@ interface ApiReport {
description?: string;
expectedImpact?: string;
}[];
brandIdentity?: {
area?: string;
asIs?: string;
toBe?: string;
}[];
marketTrends?: string[];
}
@ -256,7 +261,13 @@ export function transformApiReport(
problemDiagnosis: buildDiagnosis(r),
transformation: {
brandIdentity: [],
brandIdentity: (r.brandIdentity || [])
.filter((item): item is { area?: string; asIs?: string; toBe?: string } => !!item?.area)
.map(item => ({
area: item.area || '',
asIs: item.asIs || '',
toBe: item.toBe || '',
})),
contentStrategy: (r.recommendations || [])
.filter(rec => rec.category?.includes('콘텐츠') || rec.category?.includes('content'))
.map(rec => ({

View File

@ -115,6 +115,14 @@ ${JSON.stringify(analyzeResult.data?.analysis || {}, null, 2)}
"primary": { "ageRange": "25-35", "gender": "female", "interests": ["관심사1"], "channels": ["채널1"] },
"secondary": { "ageRange": "35-45", "gender": "female", "interests": ["관심사1"], "channels": ["채널1"] }
},
"brandIdentity": [
{ "area": "로고 및 비주얼", "asIs": "현재 로고/비주얼 아이덴티티 상태", "toBe": "개선 방향" },
{ "area": "브랜드 메시지/슬로건", "asIs": "현재 메시지", "toBe": "제안 메시지" },
{ "area": "톤앤보이스", "asIs": "현재 커뮤니케이션 스타일", "toBe": "권장 스타일" },
{ "area": "채널 일관성", "asIs": "채널별 불일치 사항", "toBe": "통일 방안" },
{ "area": "해시태그/키워드", "asIs": "현재 해시태그 전략", "toBe": "최적화된 해시태그 세트" },
{ "area": "포지셔닝", "asIs": "현재 시장 포지셔닝", "toBe": "목표 포지셔닝" }
],
"recommendations": [
{ "priority": "high|medium|low", "category": "카테고리", "title": "제목", "description": "설명", "expectedImpact": "기대 효과" }
],