# task-838.1 완료 보고서

## SCQA

**S**: team_prompts.py에서 dev3-team이 라(Ra)/GLM 워크플로우로 설정되어 있으며, dev4-team은 dispatch.py의 argparse choices에만 존재하고 TEAM_INFO에는 미등록 상태이다.

**C**: 조직 개편에 따라 dev3=다그다(direct), dev4=라(GLM)로 분리해야 한다. 현재 `_build_glm_prompt()`에 dev3 전용 하드코딩이 있어 dev4로의 전환이 필요하다.

**Q**: dev3-team을 direct 워크플로우로, dev4-team을 GLM 워크플로우로 분리하면서 기존 dev1/dev2/marketing/consulting/publishing 동작에 영향 없이 완료할 수 있는가?

**A**: TEAM_INFO 딕셔너리 수정, TEAM_MEMBER_ROLES에 dev3-team 추가, `_build_glm_prompt()` 소개문 동적화 + 경로 참조 dev4 전환을 완료했다. 마아트 독립 검증에서 소개문 하드코딩 1건 발견 → 즉시 수정. 최종 pytest 103건 PASSED, pyright 에러 0건.

## 변경 파일 목록

- `/home/jay/workspace/prompts/team_prompts.py` — TEAM_INFO, TEAM_MEMBER_ROLES, _build_glm_prompt(), _build_direct_prompt() docstring 수정
- `/home/jay/workspace/tests/test_team_prompts.py` — dev3 테스트 direct 전환, dev4 테스트 신규 추가 (기존 78건 → 103건)

## 변경 상세

### team_prompts.py

1. **TEAM_INFO["dev3-team"]**: leader "라 (Ra)" → "다그다 (Dagda)", type "glm" → "direct", members 켈트 신화 팀원(루/브리짓/아네/모리건)으로 교체
2. **TEAM_INFO["dev4-team"]** 신규 추가: leader "라 (Ra)", type "glm", members 이집트 신화 팀원(아누비스/이시스/토트/호루스)
3. **TEAM_MEMBER_ROLES["dev3-team"]** 추가: 루(백엔드), 브리짓(프론트엔드), 아네(UX/UI), 모리건(테스터)
4. **_build_glm_prompt()**: 소개문 `team['leader']`/`team['role']` 동적 참조로 전환, docstring dev3→dev4, 시스템 경로 teams/dev3/→teams/dev4/, GLM-WORKFLOW.md/run-glm.sh 경로 dev4 전환
5. **_build_direct_prompt()** docstring: dev1-team, dev2-team → dev1-team, dev2-team, dev3-team

### test_team_prompts.py

- dev3 관련 테스트: GLM 기대 → direct/다그다 기대로 변경 (3건 수정)
- dev4 관련 테스트: GLM/라(Ra)/개발4팀장 검증 신규 추가 (6건)
- GLM 참조 테스트: dev3-team → dev4-team으로 전환 (4건)
- TEAM_INFO parametrize: dev4-team 추가
- 코워크 섹션: dev3 멤버 확인 추가, unknown team을 dev4로 변경
- 총 테스트: 78건 → 103건 (25건 순증)

## 테스트 결과

- pytest: **103 passed** in 0.24s (0 failed, 0 errors)
- pyright: **0 errors**, 0 warnings, 0 informations
- 작업 명세 검증 스크립트: **ALL CHECKS PASSED**
- 회귀 테스트: dev1/dev2/marketing/consulting/publishing 전체 정상

## 발견 이슈 및 해결

### 자체 해결 (4건)
1. **_build_glm_prompt() dev3 하드코딩 4곳** — docstring, isolation_rule, GLM-WORKFLOW.md 경로, run-glm.sh 경로를 dev4로 일괄 전환
2. **TEAM_MEMBER_ROLES에 dev3-team 미등록** — direct 타입 전환 시 코워크 섹션 동적 생성을 위해 dev3-team 멤버 역할 정보 추가
3. **기존 테스트 dev3=GLM 하드코딩 assumption** — 7건의 기존 테스트가 dev3=GLM을 가정하고 있어 dev3=direct, dev4=GLM으로 테스트 재작성
4. **[마아트 발견] _build_glm_prompt() 소개문 "개발3팀장" 하드코딩** — `f"당신은 라(Ra), 개발3팀장입니다."` 리터럴이 남아있어 dev4-team에서도 "개발3팀장"으로 출력되는 결함. `team['leader']`/`team['role']` 동적 참조로 수정. 테스트에 `"개발4팀장" in prompt` 어서션 추가하여 회귀 방지

## 마아트 독립 검증

- 1차 검증: **FAIL** — `_build_glm_prompt()` 소개문 하드코딩 미수정 1건 (SEVERITY: HIGH)
- 수정 후: 소개문을 `team['leader']`/`team['role']` 동적 참조로 변경, 테스트 보강
- pytest 재실행: 103 passed, pyright 0 errors

## QC 자동 검증 결과

```json
{
  "overall": "PASS",
  "summary": "9 PASS, 3 SKIP",
  "checks": {
    "file_check": "PASS (28706 bytes, 35975 bytes)",
    "data_integrity": "PASS",
    "test_runner": "PASS (103 passed in 0.16s)",
    "tdd_check": "PASS",
    "pyright_check": "PASS (0 errors)",
    "style_check": "PASS (black OK, isort OK)",
    "critical_gap": "PASS",
    "spec_compliance": "PASS",
    "duplicate_check": "PASS"
  }
}
```

## 셀프 QC 체크리스트

- [x] 1. 영향 파일: team_prompts.py, test_team_prompts.py (2개 파일만 변경, dispatch.py는 수정 불필요)
- [x] 2. 엣지 케이스: dev4-team으로 build_prompt 호출 시 GLM 라우팅 정상, project_id 유/무 모두 테스트됨
- [x] 3. 작업 지시와 정확히 일치: TEAM_INFO 수정, build_prompt 라우팅, _build_glm_prompt 경로+소개문 변경, _build_direct_prompt dev3 지원 — 모두 완료
- [x] 4. 에러 처리/보안: _get_anu_key() fail-fast 유지, 잘못된 team_id ValueError 유지
- [x] 5. 테스트 커버리지: 103건 (기존 78건 + 25건 추가), dev3 direct/dev4 GLM 모든 경로 커버
- [x] 6. 발견 이슈 모두 해결: 4건 자체 해결(마아트 발견 1건 포함), 미해결 이슈 없음
