docs: 세션 종료 — known-issues 2건 + devlog 005-006 + Vikunja #443

This commit is contained in:
2026-03-19 08:14:38 +09:00
parent 190d2ee2a3
commit 68361a3c06
2 changed files with 14 additions and 0 deletions

View File

@@ -153,3 +153,15 @@
- **원인**: `discord_bot.py:388` `timeout=60` 하드코딩 - **원인**: `discord_bot.py:388` `timeout=60` 하드코딩
- **해결**: `timeout=120`으로 변경 - **해결**: `timeout=120`으로 변경
- **주의**: 분류 프롬프트 복잡도에 따라 timeout 조정 필요. 기본값은 넉넉히 - **주의**: 분류 프롬프트 복잡도에 따라 timeout 조정 필요. 기본값은 넉넉히
### [2026-03-19] discord_bot — chat 응답 raw JSON 출력
- **증상**: "일렉기타 갤러리 요약" → `"mode": "chat", "response": "..."` JSON 구조가 그대로 Discord에 출력
- **원인**: Gemini가 JSON 문자열 안에 raw newline 출력 → `json.loads(strict=True)` 파싱 실패 → fallback이 raw 텍스트 전체를 response에 넣음
- **해결**: `json.loads(strict=False)` + chat 응답 항상 Embed 사용 + raw JSON 감지 시 response 텍스트만 추출
- **주의**: `json.loads`는 항상 `strict=False` 사용. chat 응답은 항상 Embed
### [2026-03-19] subtitle — discovered_ep=None 시 에피소드 체크 전면 우회
- **증상**: `existing_sub_eps = {1..10}` 전부 있는데도 Google Drive에서 10개 ZIP 재다운로드
- **원인**: 블로그 포스트 제목에 에피소드 번호 없음 → `discovered_ep = None` → line 761/777 스킵 조건(`is not None`) 전부 False → 무조건 다운로드. `_extract_archive`도 기존 파일 존재 체크 없이 덮어씀
- **해결**: (1) `discovered_ep is None` + 모든 영상 에피소드에 자막 있으면 URL 페치 자체 스킵 (2) ZIP 해제 시 `out_path.exists()` 체크
- **주의**: 에피소드 기반 스킵은 `discovered_ep``sub.episode` 모두 None이면 완전 무력화. 반드시 **보충 체크** 필요

View File

@@ -4,3 +4,5 @@
| 002 | 07:00 | 자막 중복 다운로드 방지 — NAS 실시간 스캔 + 파일명 비교 스킵 | `f96c28a` | ✅ | | 002 | 07:00 | 자막 중복 다운로드 방지 — NAS 실시간 스캔 + 파일명 비교 스킵 | `f96c28a` | ✅ |
| 003 | 07:03 | subtitle_downloader Content-Disposition 2차 존재 체크 | `bb59e7c` | ✅ | | 003 | 07:03 | subtitle_downloader Content-Disposition 2차 존재 체크 | `bb59e7c` | ✅ |
| 004 | 07:08 | architecture.md 전면 개편 — 전체 실행 흐름 문서화 | `4a35c43` | ✅ | | 004 | 07:08 | architecture.md 전면 개편 — 전체 실행 흐름 문서화 | `4a35c43` | ✅ |
| 005 | 07:38 | chat 응답 JSON 파싱 strict=False + Embed 렌더링 | `a893593` | ✅ |
| 006 | 08:00 | 자막 중복 다운로드 근본 수정 — ZIP 존재체크 + discovered_ep=None 스킵 | `190d2ee` | ✅ |