# task-1846 완료 보고서
> task-1841 결과 적용 여부 검증 (Lv.2)

**팀**: dev2-team (오딘 팀장)
**일시**: 2026-04-15
**작업 유형**: 검증 (읽기 전용, 코드 수정 없음)

---

## S - Situation
task-1841에서 "조직뷰 신호등 — 논리적/복합팀 봇 차용 시 표시 복원" 작업이 완료 보고되었다. 대시보드 코드(data_loader.py, App.js, utils.js)에 borrowed_tasks 필드 추가, 프론트엔드 병합 로직, 보라색 도트 시각 구분, 테스트 4건이 적용되었다고 보고됨.

## C - Complication
5개 검증 항목 중 4개가 FAIL이다. borrowed_tasks 핵심 로직이 백엔드/프론트엔드/테스트 모두에 부재하며, task-1841 보고서와 실제 코드 간 심각한 불일치가 존재한다. 유일하게 logical_team_using "+" 결합 로직만 코드에 존재한다.

## Q - Question
task-1841의 코드 변경사항이 원복되었거나 미적용된 것인가?

## A - Answer
검증 결과 **task-1841의 핵심 기능(borrowed_tasks)이 미적용 상태**로 확인됨. 5개 항목 중 1개만 PASS. 코드 재적용이 필요하다.

---

## 검증 결과 상세

### 1. 백엔드 (data_loader.py) — borrowed_tasks 필드

**FAIL (2/3 항목)**

- `borrowed_tasks` 필드: **FAIL** — data_loader.py 전체에서 `borrowed_tasks` 키워드 0건. `_enrich_bot_activity()` 함수(line 702-763)에 해당 필드를 추가하는 로직이 전혀 없음.
- task 정보 기록 로직: **FAIL** — 논리적 팀 봇 차용 시 task_id/team_id/description/start_time/bot를 목록으로 기록하는 코드 없음. `has_running_tasks = True`와 `logical_team_using` 설정만 존재.
- `logical_team_using` "+" 결합: **PASS** — data_loader.py:755-760에 composite_teams의 labels를 `"+".join(labels)`로 결합하는 로직 정상 존재.

### 2. 프론트엔드 (App.js) — 인원 현황 바 + dev팀 카드

**FAIL (2/2 항목)**

- 인원 현황 바: **FAIL** — App.js 전체에서 `borrowedTasks` 키워드 0건. statusCounts 계산(line 249-348)에서 borrowedTasks.length > 0 분기 없음.
- dev팀 카드: **FAIL** — `ownTasks`, `allTasks`, `borrowedTasks` 변수 모두 부재. TeamCard에 `running.filter(t => t.team_id === team.sub_team_id)`만 전달되며 차용 task 병합 로직 없음. (line 759-772)

### 3. 프론트엔드 (utils.js) — 차용 task 시각 구분

**FAIL**

- 보라색 도트: **FAIL** — task 도트 렌더링(utils.js:199-209)에서 모든 task에 `bg-emerald-400`(초록)만 적용. 차용 task 여부에 따른 `bg-violet-400` 조건 분기 없음. (bg-violet-400은 line 491, 1086에 존재하나 복합업무/MktingAuto 팀 색상 용도이며 차용 task 구분 아님)

### 4. 테스트 (test_server.py) — 4건 테스트 존재 + PASS

**FAIL**

- 4개 테스트 함수 모두 **미존재**:
  - `test_borrowed_tasks_populated_for_logical_team` — 없음
  - `test_borrowed_tasks_populated_for_composite_team` — 없음
  - `test_no_borrowed_tasks_for_dev_team` — 없음
  - `test_multiple_logical_teams_same_bot_combines_labels` — 없음
- pytest 실행: `collected 15 items / 15 deselected / 0 selected` (해당 테스트 수집 불가)
- 유사 테스트(`test_logical_team_with_bot_field_sets_has_running_tasks` 등)는 존재하나, borrowed_tasks 관련이 아닌 기존 has_running_tasks 테스트임.

### 5. API 실동작 검증

**FAIL**

- `/api/bot-activity` 호출 결과: borrowed_tasks 필드 있는 봇 0건
- 총 봇 수: 1 (응답은 정상이나 borrowed_tasks 필드 자체가 없음)

---

## 검증 총괄

| # | 검증 항목 | 판정 |
|---|-----------|------|
| 1 | borrowed_tasks 필드 (data_loader.py) | FAIL |
| 1-2 | task 정보 기록 로직 | FAIL |
| 1-3 | logical_team_using "+" 결합 | **PASS** |
| 2-1 | 인원 현황 바 borrowedTasks 반영 (App.js) | FAIL |
| 2-2 | dev팀 카드 allTasks 병합 (App.js) | FAIL |
| 3 | 보라색 도트 bg-violet-400 (utils.js) | FAIL |
| 4 | 테스트 4건 존재 + PASS | FAIL |
| 5 | API borrowed_tasks 필드 | FAIL |

**최종: 8개 세부 항목 중 1개 PASS, 7개 FAIL**

---

## 발견 이슈 및 해결

### 범위 외 미해결 (1건)
1. **task-1841 보고서와 실제 코드 심각한 불일치** — 범위 외 사유: 본 작업은 검증만 수행하며 수정 권한 없음. task-1841 재작업이 필요함.
   - borrowed_tasks 핵심 로직이 백엔드/프론트엔드/테스트 3개 레이어 모두에서 부재
   - 보고서에는 line 번호까지 명시하여 구현 완료를 주장했으나 코드에 미반영
   - logical_team_using "+" 결합은 task-1841 이전부터 존재했을 가능성 있음 (이 부분만 PASS)

---

## 셀프 QC 체크리스트

- [x] 1. 다른 파일 영향: 없음 (읽기 전용 작업)
- [x] 2. 엣지 케이스: API 서버 1대만 활성 (봇 1개) — 정상 검증 가능
- [x] 3. 작업 지시와 일치: 5개 검증 항목 모두 수행, 수정하지 않고 보고만 함
- [x] 4. 에러/보안: 해당 없음 (읽기 전용)
- [x] 5. 테스트 커버: 해당 없음 (검증 작업)
- [x] 6. 이슈 직접 해결: 수정 범위 외 (검증만)
- [x] 7. 아키텍처 원칙: 해당 없음
- [x] 8. 인터페이스 변경: 없음

---

## 모델 사용 기록

- 팀원: 토르(백엔드) / 작업: data_loader.py borrowed_tasks 검증 / 사용 모델: sonnet
- 팀원: 프레이야(프론트엔드) / 작업: App.js + utils.js 검증 / 사용 모델: sonnet
- 팀원: 헤임달(테스터) / 작업: 테스트 4건 존재 확인 + 실행 / 사용 모델: sonnet

## 세션 통계
- 총 도구 호출: 4회

### 수정 파일 목록
- bash_cmd: 2회 (Bash)
- /home/jay/workspace/memory/reports/task-1846.md: 1회 (Write)
- /home/jay/workspace/memory/tasks/task-1846.md: 1회 (dispatch)

### 도구 사용 현황
- Bash: 2회
- Write: 1회
- dispatch: 1회

