# Absorption Tracker 상세 항목 표시 수정 + deferred 필터 추가

## 한정승인

## 문제 3건

### 1. details API에서 items가 항상 빈 배열
- `GET /api/absorption/details?source=fireauto` → `{"items": [], "count": 0}`
- 원인: `_fetch_absorption_data()`가 summary + duplicates만 반환, 개별 items 미포함
- `_handle_absorption_api()` line 4436: `_absorption_cache.get("items", [])` → 항상 빈 배열

### 2. "항목 없음" 표시
- 프론트엔드(AbsorptionTrackerView.js)에서 소스 카드 클릭 → items 0개 → "항목 없음"

### 3. deferred 상태 미지원
- fireauto-f7이 `deferred` 상태인데, 필터/카운트에서 미인식
- health-check.py의 STATUS_KEYS에 `deferred` 미포함

## 수정 대상

### 1. _fetch_absorption_data() — items 포함
파일: `/home/jay/workspace/dashboard/server.py` (`_fetch_absorption_data` 함수)

스크립트 호출 경로:
- `absorption-health-check.py` 실행 시 `--summary` 플래그를 사용 중인데, summary에는 items가 없음
- 플래그 없이 실행하면 items 포함되지만 시간이 오래 걸림
- **해결**: `--summary` 제거하고 전체 실행 결과를 캐시 (10분 TTL이니 성능 충분)
- 또는 YAML fallback에서 items를 직접 구성

YAML fallback 경로:
- registry YAML에서 sources 순회 → 각 item에 source 필드 태깅 → items 배열 구성
- 이미 일부 구현되어 있으나 동작 안 함 → 디버깅 필요

### 2. health-check.py STATUS_KEYS + deferred
파일: `/home/jay/workspace/scripts/absorption-health-check.py`
- STATUS_KEYS에 `"deferred"` 추가
- summary 집계에 deferred 카운트 포함
- CLI `--status deferred` 필터 지원

### 3. AbsorptionTrackerView.js 필터 추가
파일: `/home/jay/workspace/dashboard/components/AbsorptionTrackerView.js`
- 필터 버튼에 "미구현" (deferred) 추가
- 5개 → 6개: 전체 / 활성 / 구현됨 / 권장 / 미구현 / 저하됨
- 카드 상세에서 9개 항목 전부 표시
- deferred 항목에 notes(사유) 표시

## 테스트
1. `GET /api/absorption/details?source=fireauto` → 9개 items 반환
2. 대시보드에서 fireauto 카드 클릭 → 9개 항목 리스트 표시
3. "미구현" 필터 클릭 → fireauto-f7 1건 표시 (notes 포함)
4. `python3 absorption-health-check.py --status deferred` → deferred 항목 출력
5. 서버 재시작 후 캐시 정상 동작

## 보고서
`/home/jay/workspace/memory/reports/task-{TASK_ID}.md`
