# task-346.1 완료 보고서: CTA 줄바꿈 키워드 확장

## 작업 내용
CTA 슬라이드의 `apply_or_break_to_lines()`가 "또는"만 처리하던 것을 다중 접속사를 지원하도록 확장.

### 변경 사항
1. **함수 이름 변경**: `apply_or_break_to_lines()` → `apply_conjunction_break_to_lines()`
2. **키워드 리스트 통합**: `["뿐만 아니라", "또는"]` — 긴 키워드부터 매칭
3. **매칭 로직**: 한 줄에 여러 키워드가 있으면 가장 앞에 있는 것 기준으로 분리
4. **호출부 업데이트**: `render_summary_cta()` 내 호출을 새 함수명으로 교체

## 생성/수정 파일
- `renderer/cardnews.py` — 함수 이름 변경 + 다중 키워드 로직 확장
- `tests/test_cta_linebreak.py` — 테스트 3건 추가, 기존 호출명 업데이트

## 테스트 결과
- 총 11건 전부 PASS (기존 8건 + 신규 3건)
- 신규 테스트:
  - `test_bunmanara_keyword_break`: "뿐만 아니라" 줄바꿈 ✅
  - `test_compound_keywords`: 복합 키워드(또는 + 뿐만 아니라) 동시 존재 ✅
  - `test_no_keyword_preserves_original`: 키워드 없는 경우 원본 유지 ✅

## Worktree 정보
- 브랜치: `task/task-346.1-dev1`
- 경로: `/home/jay/projects/ThreadAuto/.worktrees/task-346.1-dev1`
- merge 판단은 아누에게 위임

## QC 결과
- pyright: WARN (worktree 환경 import 경로 미인식 — pre-existing, 변경 코드와 무관)
- style_check (black+isort): PASS
- tdd_check: PASS
- 버그: 없음

## 자동 검증 (qc_verify.py)
```json
{
  "task_id": "task-346.1",
  "verified_at": "2026-03-06T21:53:45",
  "overall": "PASS (관련 테스트 전부 통과)",
  "checks": {
    "api_health": "SKIP",
    "file_check": "PASS (4/4)",
    "data_integrity": "PASS",
    "test_runner": "PASS (test_cta_linebreak.py 11/11 통과). 전체 suite에서 test_evergreen_topics.py 1건 pre-existing 실패 (이번 변경과 무관)",
    "tdd_check": "PASS",
    "schema_contract": "SKIP",
    "pyright_check": "WARN (worktree import 경로 문제 4건, pre-existing)",
    "style_check": "PASS (black+isort)",
    "scope_check": "SKIP"
  }
}
```
