# 팀 증설 작업 (4팀→8팀) — 한정승인

## 태스크 ID: task-877.1
## 한정승인: Phase A~E 전체 자율 진행

## 개요
현재 4팀 체계(dev1~dev4)를 8팀 체계(dev1~dev8)로 확장한다.
- 기존 dev4(라/Ra, bot-e) → dev8(bot-i)로 리네이밍
- 신규 dev4~dev7 생성 (1~3팀과 100% 동일한 direct 타입)

## 확장 계획서
**반드시 먼저 읽을 것**: `/home/jay/workspace/memory/specs/team-expansion-plan.md`
(파일 인벤토리, Phase 상세, 위험 요소 등 전체 정보 포함)

## 확정 정보

### 봇 매핑
- bot-b = dev1 (헤르메스, 그리스) — 변경 없음
- bot-c = dev2 (오딘, 북유럽) — 변경 없음
- bot-d = dev3 (다그다, 켈트) — 변경 없음
- bot-e = dev4 (비슈누, 힌두) — ★ 신설 (새 물리 봇)
- bot-f = dev5 (마르둑, 메소포타미아) — ★ 신설
- bot-g = dev6 (페룬, 슬라브) — ★ 신설
- bot-h = dev7 (이참나, 마야) — ★ 신설
- bot-i = dev8 (라, 이집트) — ← 기존 bot-e 물리 봇 그대로, 내부 명칭만 변경

### .env.keys 키 (이미 등록 완료)
- COKACDIR_KEY_DEV4=7943afbe12c12f7d (비슈누/신규)
- COKACDIR_KEY_DEV5=109fa85250c6d46b (마르둑/신규)
- COKACDIR_KEY_DEV6=1e41a2324a3ccdd0 (페룬/신규)
- COKACDIR_KEY_DEV7=a999e2ea4c06d2fb (이참나/신규)
- COKACDIR_KEY_DEV8=a5dddf38a8c57168 (라/기존 DEV4에서 리네이밍)

### 팀 구성

**dev4-team (힌두)**
- 팀장: 비슈누 (Vishnu) — Opus, direct 타입
- 카르티케야 (Kartikeya) — 백엔드
- 사라스바티 (Sarasvati) — 프론트엔드
- 락슈미 (Lakshmi) — UX/UI
- 하누만 (Hanuman) — 테스터

**dev5-team (메소포타미아)**
- 팀장: 마르둑 (Marduk) — Opus, direct 타입
- 엔키 (Enki) — 백엔드
- 이쉬타르 (Ishtar) — 프론트엔드
- 나부 (Nabu) — UX/UI
- 닌기르수 (Ningirsu) — 테스터

**dev6-team (슬라브)**
- 팀장: 페룬 (Perun) — Opus, direct 타입
- 스바로그 (Svarog) — 백엔드
- 라다 (Lada) — 프론트엔드
- 모코시 (Mokosh) — UX/UI
- 벨레스 (Veles) — 테스터

**dev7-team (마야)**
- 팀장: 이참나 (Itzamna) — Opus, direct 타입
- 쿠쿨칸 (Kukulkan) — 백엔드
- 이쉬첼 (Ixchel) — 프론트엔드
- 아쿠인 (Ah Kin) — UX/UI
- 카마소츠 (Camazotz) — 테스터

**dev8-team (이집트) — 기존 dev4에서 리네이밍**
- 팀장: 라 (Ra) — Sonnet, glm 타입
- 아누비스 (Anubis) — 백엔드
- 이시스 (Isis) — 프론트엔드
- 토트 (Thoth) — UX/UI
- 호루스 (Horus) — 테스터

---

## Phase 순서 (A→B→C→D→E 순차 필수)

### Phase A: 기존 불일치 수정
1. `teams/dev3/CLAUDE.md` — "라(Ra) - 개발3팀장" → "다그다(Dagda) - 개발3팀장"으로 수정. dev1/CLAUDE.md와 동일 포맷으로 (direct 타입, 직접 코딩+검증)
2. `teams/dev3/GLM-WORKFLOW.md` → `teams/dev3/GLM-WORKFLOW.md.bak`으로 rename (삭제 금지, 히스토리 보존)
3. `teams/dev3/run-glm.sh` → `teams/dev3/run-glm.sh.bak`으로 rename

### Phase B: dev4→dev8 리네이밍
**⚠️ 모든 변경을 한 번에 적용 (중간 상태에서 dispatch 불가)**

수정 대상 파일:
1. `dispatch.py`:
   - BOT_KEYS: `"dev4"` → `"dev8"`, key env var `COKACDIR_KEY_DEV4` → `COKACDIR_KEY_DEV8`
   - TEAM_BOT: `"dev4-team": "dev4"` → `"dev8-team": "dev8"`
   - BOT_TO_KEY: `"bot-e": "dev4"` → `"bot-i": "dev8"`
   - TEAM_TO_BOT_ID: `"dev4-team": "bot-e"` → `"dev8-team": "bot-i"`
   - argparse choices: dev4-team → dev8-team
   - 봇 리스트 루프 (있다면): bot-e → bot-i

2. `prompts/team_prompts.py`:
   - TEAM_INFO: `"dev4-team"` 키 → `"dev8-team"` (내용: 라(Ra), glm 타입 유지)
   - TEAM_MEMBER_ROLES: `"dev4-team"` → `"dev8-team"`
   - build_prompt 함수 내 dev4-team 참조 → dev8-team

3. `memory/task-timer.py`:
   - ALLOWED_TEAM_IDS: dev4-team → dev8-team

4. `dashboard/server.py`:
   - team_to_bot 매핑: dev4-team → dev8-team
   - bot_labels: dev4 → dev8
   - 봇 루프: dev4 → dev8

5. `utils/bot_activity.py`:
   - TEAM_TO_BOT: dev4-team 현재 **누락 버그** → dev8-team으로 추가

6. `memory/organization-structure.json`:
   - dev4-team 블록 → dev8-team으로 변경 (sub_team_id, sub_team_name, 모든 경로 /teams/dev4/ → /teams/dev8/)

7. 디렉토리 리네이밍:
   - `mv teams/dev4 teams/dev8`
   - `teams/dev8/CLAUDE.md`: "개발3팀장" → "개발8팀장" (현재 잘못 기재), 팀 작업 공간 경로 /teams/dev4/ → /teams/dev8/
   - `teams/dev8/GLM-WORKFLOW.md`: /teams/dev4/ → /teams/dev8/ (모든 곳)
   - `teams/dev8/run-glm.sh`: 경로 수정

8. `memory/specs/bot-team-mapping.md` — 전체 재작성 (8봇 체계 반영)

9. `memory/events/bot-activity.json` — dev4 → dev8

10. `scripts/check-dev4.py` → `scripts/check-dev8.py`로 rename, 내부 dev4 참조 수정

### Phase C: 신규 팀 생성 (dev4~dev7)

1. `dispatch.py`:
   - BOT_KEYS에 dev4~dev7 추가 (env var: COKACDIR_KEY_DEV4~DEV7)
   - TEAM_BOT에 dev4~dev7 추가
   - BOT_TO_KEY에 bot-e~bot-h 추가
   - TEAM_TO_BOT_ID에 dev4~dev7 추가
   - argparse choices에 dev5-team~dev7-team 추가 (dev4-team은 Phase B에서 이미 삭제됨, 여기서 다시 추가)

2. `prompts/team_prompts.py`:
   - TEAM_INFO에 dev4~dev7 추가 (모두 direct 타입, 각 팀원명 포함)
   - TEAM_MEMBER_ROLES에 dev4~dev7 추가

3. `memory/task-timer.py`: ALLOWED_TEAM_IDS에 dev4~dev7 추가

4. `dashboard/server.py`: 3곳에 dev4~dev7 추가

5. `utils/bot_activity.py`: dev4~dev7 추가

6. 팀 디렉토리 생성 (dev4~dev7):
   - `teams/dev4/CLAUDE.md` — dev1/CLAUDE.md 기반, 비슈누(Vishnu) 개발4팀장, 팀원명 반영, 팀 작업 공간 /teams/dev4/
   - `teams/dev5/CLAUDE.md` — 마르둑(Marduk) 개발5팀장
   - `teams/dev6/CLAUDE.md` — 페룬(Perun) 개발6팀장
   - `teams/dev7/CLAUDE.md` — 이참나(Itzamna) 개발7팀장
   - 각 팀에 qc/ 디렉토리도 생성 (dev1/qc/ 구조 참고)
   - AGENTS.md, IDENTITY.md 등은 필수가 아님. CLAUDE.md만 있으면 됨.

7. `memory/organization-structure.json`: dev4~dev7 블록 추가

8. `memory/events/bot-activity.json`: dev4~dev7 엔트리 추가

### Phase D: 테스트 수정
1. `tests/test_dispatch.py` — TEAM_BOT, BOT_KEYS 관련 어서션 업데이트 (8팀 체계)
2. `dashboard/test_server.py` — bot_ids 어서션 업데이트
3. `prompts/test_team_prompts.py` — dev4~dev8 관련 테스트 추가
4. `utils/tests/test_bot_activity.py` — dev4~dev8 TEAM_TO_BOT 테스트

### Phase E: 통합 검증
1. pytest 전체 실행 — 기존 테스트 + 신규 테스트 통과 확인
2. pyright 0 errors 확인
3. dispatch.py --team dev8-team 드라이런 (봇 키 로드, 프롬프트 생성 확인)
4. dispatch.py --team dev4~dev7 드라이런
5. 대시보드 서버 재시작 + SW 캐시 범프 (현재 v7 → v8)
6. 대시보드 조직뷰에 8팀 표시 확인 (Playwright 스크린샷)

---

## 주의사항
1. **task-timers.json 과거 기록의 "dev4-team"은 수정하지 않음** — 히스토리 보존
2. **teams/dev3/ 기존 파일(plan-*.md, test_*.py 등)은 건드리지 않음** — CLAUDE.md만 수정
3. **teams/dev4/(리네이밍 대상) 기존 파일도 보존** — CLAUDE.md, GLM-WORKFLOW.md 등만 수정
4. **.env.keys는 이미 수정 완료 — 건드리지 말 것**
5. **다른 팀 디렉토리(dev1/, dev2/) 건드리지 말 것**
6. **Phase 순서 엄수** — A→B→C→D→E. 중간에 건너뛰기 금지.
7. **git 전체 stash/reset 금지** — 해당 파일만 개별 수정

## 작업 후 처리
- 보고서 저장: `memory/reports/task-877.1.md`
- task-timer end: `python3 /home/jay/workspace/memory/task-timer.py end task-877.1`
- .done 생성: `touch /home/jay/workspace/memory/events/task-877.1.done`
- 아누에게 보고: `cokacdir --sendfile /home/jay/workspace/memory/reports/task-877.1.md --chat 6937032012 --key $COKACDIR_KEY_ANU`