**task-1467.1 완료 보고** (dev6-team) **완료 보고서** (7분 0초) **핵심 결과** server.py의 `/api/file` 핸들러에 `cell-\d+-` 패턴 경로 자동 리라이트 로직을 추가했다. path traversal 체크 이후, ALLOWED_PREFIXES 체크 이전에 삽입하여: (1) 직접 경로 `output/banners/{path}` 우선 확인, (2) 없으면 `output/banners/versions/*/` 하위 역순 검색(최신 버전 우선). 리라이트 결과는 `output/`으로 시작하여 기존 보안 체크를 자연스럽게 통과한다. pytest 16건 전체 통과(신규 5건 포함), pyright 신규 에러 0건. ## 수정 파일 - `/home/jay/workspace/dashboard/server.py` (line 362-374: 배너 셀 경로 자동 리라이트 로직 추가) - `/home/jay/workspace/dashboard/tests/test_file_api.py` (line 85-138: TestBannerCellPathRewrite 클래스 5개 테스트 추가) ## 발견 이슈 및 해결 ### 자체 해결 (1건) 1. **`cell-N-*` 패턴 경로가 ALLOWED_PREFIXES를 통과하지 못하는 문제** — path traversal 체크 후 `re.match(r'^cell-\d+-', rel_path)` 패턴 매칭으로 자동 리라이트. 직접 경로와 versions 폴백 2단계 검색 구현. ### 범위 외 미해결 (2건) 1. **pyright: dashboard.data_loader import 해석 불가** — 기존 이슈 (line 39, 45). 본 작 **발견/해결 이슈 3건** 1. **`cell-N-*` 패턴 경로가 ALLOWED_PREFIXES를 통과하지 못하는 문제** — path traversal 체크 후 `re.match(r'^cell-\d+-', rel_path)` 패턴 매칭으로 자동 리라이트. 직접 경로와 versions 폴백 2단계 검색 구현. 2. **pyright: dashboard.data_loader import 해석 불가** — 미해결: 기존 이슈 (line 39, 45). 본 작업 범위 외. 3. **pyright: 미사용 변수 경고** — 미해결: 기존 이슈 (current_pid, _time, section_type). 본 작업 범위 외.