# 보고서 발견 이슈 정리 + 시계 싱크

## 배경
task-558~560 보고서에서 발견된 향후 문제 방지용 개선 사항 4건 + 대시보드 시계 싱크 1건.

## 작업 A: pyrightconfig.json reportMissingImports 정상화
- **파일**: `/home/jay/workspace/pyrightconfig.json`
- **현재**: `reportMissingImports: "none"` (전역 억제)
- **문제**: 실제 import 오류를 잡지 못함
- **해결**: `"error"`로 변경 후, pyright 돌려서 발생하는 에러들을 수정
- **주의**: extraPaths 설정이 제대로 되어 있으면 대부분 해결될 것. 안 되는 건 try/except fallback 패턴 적용
- **검증**: `pyright` 실행 에러 0건

## 작업 B: _load_cross_status() except 블록 파일 재생성
- **파일**: `/home/jay/workspace/memory/task-timer.py`
- **현재**: except 블록에서 메모리 기본값만 반환, 디스크에 재생성 안 함
- **문제**: 파일 손상(JSON 파싱 실패) 시 매 호출마다 except → 디스크에 정상 파일이 복구되지 않음
- **해결**: except 블록에서도 `_save_cross_status(default)` 호출하여 손상된 파일을 정상 초기값으로 덮어쓰기
- **검증**: 의도적으로 파일 손상 → 호출 → 파일 복구 확인 테스트 추가

## 작업 C: sys.path.insert 의존 모듈 일괄 정리
- **현재**: task-timer.py만 try/except fallback 패턴 적용됨
- **문제**: 다른 모듈들도 같은 `sys.path.insert` + `from utils.logger` 패턴을 쓸 수 있음
- **해결**:
  1. `grep -r "sys.path.insert" /home/jay/workspace/` 로 전체 스캔
  2. 같은 패턴인 모듈들에 동일한 try/except fallback 적용
  3. pyrightconfig.json extraPaths에 필요한 경로 추가
- **검증**: pyright 전체 에러 0건

## 작업 D: TypeScript 파일명 규칙 확인
- **현재**: CODING-STANDARDS.md에 camelCase.ts 규칙 기재
- **문제**: 실제 코드베이스(InsuRo 등)가 다른 컨벤션(kebab-case 등)을 쓸 수 있음
- **해결**:
  1. `/home/jay/projects/InsuRo/src/` 에서 실제 .ts/.tsx 파일명 패턴 확인
  2. CODING-STANDARDS.md를 실제 관행에 맞게 수정
- **검증**: 실제 파일명 패턴과 문서 일치 확인

## 작업 E: 대시보드 시계 SSE 싱크
- **파일**: `/home/jay/workspace/dashboard/index.html`
- **현재**: 시계가 별도 setInterval로 동작 (SSE와 독립)
- **해결**: 시계 업데이트를 SSE server-stats 이벤트 수신 시 함께 처리
  - SSE는 0.5초마다 발생하므로 시계도 자동 업데이트
  - 별도 setInterval 제거
  - 시계는 초 단위 표시면 충분 (0.5초 업데이트해도 무방)
- **검증**: 시계가 SSE와 동기화되어 CPU/RAM/GPU 업데이트와 함께 갱신되는지 확인

## 완료 기준
- [ ] pyright 전체 에러 0건 (reportMissingImports: "error")
- [ ] cross-functional-status.json 손상 시 자동 복구
- [ ] sys.path.insert 모듈 전수 조사 + fallback 적용
- [ ] CODING-STANDARDS.md TypeScript 규칙 실제 코드와 일치
- [ ] 시계가 SSE와 싱크되어 별도 타이머 없이 동작
- [ ] 기존 테스트 전체 PASS 유지
