# task-2084: 대시보드 보고서 — 상대 경로 파일 링크 프로젝트 루트 자동 연결

## 문제
대시보드 아카이브뷰에서 보고서의 파일 경로 링크를 클릭할 때:
- 절대 경로(`/home/jay/projects/InsuRo/public/favicon.ico`): 정상 동작
- 상대 경로(`public/favicon-16.png`): 프로젝트 루트를 모르므로 파일 조회 실패

task-2073 보고서에서 수정 파일 목록이 `public/favicon-16.png` 같은 상대 경로로 기록됨.

## 원인
`linkifyFilePaths()` (utils.js L586-631)에서 Pass 1이 `public/favicon-16.png`을 경로로 매칭하지만,
클릭 핸들러(L794-820)가 상대 경로를 절대 경로로 변환하는 로직이 없음.

## 수정 방향

### 방법 A (권장): 보고서 메타데이터에서 프로젝트 경로 추출
- 보고서에 "프로젝트: insuro" 등이 있으면 프로젝트 경로 매핑
- `insuro` → `/home/jay/projects/InsuRo/`
- `dev-system` → `/home/jay/workspace/`
- 상대 경로 클릭 시: 프로젝트 경로 + 상대 경로 조합

### 방법 B: /api/file-search 확장
- 상대 경로도 file-search API에 전달
- 서버가 여러 프로젝트 루트에서 검색

### 구현 위치
- `dashboard/components/utils.js` L794-820 (클릭 핸들러)
- `dashboard/components/ArchiveView.js` (보고서 메타데이터 전달)

## ★ 먼저 읽을 파일
- `/home/jay/workspace/dashboard/components/utils.js` — L586-631 (linkifyFilePaths), L794-820 (클릭 핸들러)
- `/home/jay/workspace/dashboard/components/ArchiveView.js` — L103-108 (renderMarkdown)
- `/home/jay/workspace/memory/reports/task-2073.md` — 상대 경로 예시

## 완료 시그니처
- 보고서에서 `public/favicon-16.png` 클릭 → 파일 내용/이미지 표시
- 기존 절대 경로 링크 정상 동작 유지
- `npm run build` 또는 대시보드 정상 동작

## 검증 시나리오
1. task-2073 보고서에서 `public/favicon-16.png` 클릭 → 이미지 표시
2. 기존 절대 경로(`/home/jay/workspace/...`) 클릭 → 정상 동작
3. 존재하지 않는 파일 클릭 → 적절한 에러 메시지

## 레벨
- normal

## 프로젝트
- dev-system
