# 에이전트 미팅 Cycle 3: 최종 통합 + 리스크 + 구현 계획
**작업**: task-1189.1
**일시**: 2026-03-28
**참석자**: 불칸, 이리스, 아테나, 아르고스, 로키

## 이월 사항 전수 해소

### C3-1: compliance_filter entity_role 분류
**결정**: 5단계 규칙 기반 → LLM 보조(신뢰도 0.85+) → 블랙리스트 매칭 시 SUBJECT → 나머지 CONTEXT
- 규칙: 제목 포함 → SUBJECT, 리드문 주어 → SUBJECT, 1회 이하 언급 → CONTEXT, "~에 따르면" 패턴 → CONTEXT

### C3-2: TTL 만료 자동 재생성
**결정**: 30분 간격 스케줄러, 동일 토픽 신규 뉴스 존재 시만 재생성, circuit breaker 24h/5회

### C3-3: 도메인 다양성 점수
**결정**: eTLD+1 기준 `1-(최다도메인비율)`, 임계값 0.5, tldextract 사용

### C3-4: content_type 하드코딩
**결정**: constants.py에 ContentType Enum, 전 파일 문자열 리터럴 제거

### C3-5: 출처 표기 슬라이드
**결정**: SourceSlideRenderer — 마지막 슬라이드, 단색 배경, 도메인+제목+발행일+고지문구, QR은 URL 화이트리스트 필수

### C3-6: news_context_injector 프롬프트
**결정**: 아테나 초안 채택 (locked_fact 분리, 원문 인용 금지, 금융 조언 금지, visual_hint 포함), prompts/news_insight_v1.txt

### C3-7: locked_fact 재생성 횟수
**결정**: 3회 → human review 큐 → 30분 타임아웃 → evergreen 대체. degraded 발행 폐지

## 최종 리스크 매트릭스

| ID | 리스크 | 가능성 | 영향도 | 등급 | 대응 |
|----|--------|--------|--------|------|------|
| R01 | 저작권 침해 (유사도 초과) | M | H | Critical | 유사도 0.6 체크, 초과 시 발행 차단 |
| R02 | 금감원 오정보 (수치 오류) | M | H | Critical | locked_fact + human review 의무화 |
| R03 | 크롤러 IP 차단 | H | M | High | Scrapling fallback, UA 로테이션 |
| R04 | 프롬프트 인젝션 | L | H | High | 입력 sanitization + 결과 포맷 검증 |
| R05 | 개인정보 노출 | L | H | High | PII 정규식 + SUBJECT 분류 연계 |
| R06 | 도메인 편중 | M | M | Medium | eTLD+1 다양성 점수 0.5 |
| R07 | TTL 재생성 루프 | L | H | Medium | circuit breaker 5회/24h |
| R08 | QR 피싱 URL | L | M | Medium | URL 화이트리스트, 기본값 off |
| R09 | LLM API 중단 | M | H | Medium | rule_filter only 모드 |
| R10 | entity_role 오분류 | M | M | Medium | 블랙리스트 월 1회 업데이트 |

## 구현 Phase 분할

### Phase 1 (1주): 인프라+크롤링
- constants.py, db/models.py, scheduler.py, news_crawler.py, scrapling_adapter.py
- tests/test_crawler.py (실 URL 20개)

### Phase 2 (1주): 필터링+다양성
- rule_filter.py, dedup_checker.py, llm_filter.py, domain_diversity_scorer.py
- topic_selector.py 수정
- tests/test_filter.py

### Phase 3 (1.5주): 인사이트 생성
- news_context_injector.py, prompts/news_insight_v1.txt
- five_stage_pipeline.py 수정 (mode 분기)
- locked_fact_manager.py
- tests/test_insight.py

### Phase 4 (1주): 검증+발행
- compliance_filter.py 수정 (entity_role), entity_blacklist.json
- regex_validator.py, content_qa.py
- run_card_post.py 수정, card_source_slide.py
- tests/test_publish.py

### Phase 5 (1주): 모니터링+운영
- metrics_collector.py, alert_dispatcher.py, dashboard_api.py
- frontend/ContentReviewPanel, frontend/MonitoringDashboard
- 레드팀 테스트 계획서
