# task-33.1 보고서: dispatch 프롬프트 목차→요약→상세 원칙 적용

## 작업 내용
dispatch.py 및 team_prompts.py에 **목차→요약→상세** 3단 구조를 적용하여
팀장에게 전달하는 프롬프트의 비대화 문제를 해결.

## 변경 파일 목록

### `/home/jay/workspace/prompts/team_prompts.py`
- `build_prompt()`: `from pathlib import Path` 추가
- `build_prompt()` 로직 변경:
  - `task_desc`를 `memory/tasks/<task_id>.md`에 자동 저장 (요약 파일)
  - `short_desc = task_desc[:20]` — timer `--desc`는 20자 이내 키워드만
  - `_build_direct_prompt()` 호출 시 `task_desc` 대신 `task_file_path` 전달
- `_build_direct_prompt()` 변경:
  - 파라미터명 `task_desc` → `task_file_path`
  - 프롬프트 본문: `"- 내용: {task_desc}"` → `"- 작업 상세는 {task_file_path}를 읽고 파악하세요."`

### `/home/jay/workspace/dispatch.py`
- `dispatch()` 함수 도큐스트링에 목차→요약→상세 원칙 명시
- `dispatch()` 내 task_file 명시적 저장 로직 추가:
  ```python
  task_file = WORKSPACE / "memory" / "tasks" / f"{task_id}.md"
  task_file.parent.mkdir(parents=True, exist_ok=True)
  task_file.write_text(task_desc, encoding="utf-8")
  ```

### `/home/jay/workspace/prompts/test_team_prompts.py`
- `test_direct_prompt_dev1()`: 구버전 어설션 제거, 신규 어설션 추가
  - 제거: `assert "직접 코딩하고 테스트합니다" in prompt`
  - 추가: `assert "작업 상세는" in prompt`, `assert "memory/tasks/task-1.1.md" in prompt`

## 설계 결정 사항
- **파일 저장 위치**: `build_prompt()`에서도 저장 처리
  → `orchestrator.py`도 `build_prompt()`를 공유하므로 양쪽 커버
  → `dispatch()`에서도 명시적으로 저장 (스펙 준수 + 안전망)
- **_build_glm_prompt()**: 스펙 미포함으로 변경 없음
  (openclaw 메시지는 외부 에이전트 대상이므로 인라인 유지)

## 테스트 결과
- 전체 11개 테스트 모두 통과 (11 passed in 0.04s)

## 버그 유무
없음

## 비고
- 이번 작업의 task 파일(`task-33.1.md`) 자체가 새 원칙의 실제 적용 예시
- 현재 대화 시작 시 `작업 상세는 /home/jay/workspace/memory/tasks/task-33.1.md 를 읽고 파악하세요.` 형태로 dispatch되었으나, 실제 파일은 사전에 수동 생성되어 있었음
- 향후 dispatch 시 자동 저장으로 이 원칙이 완전 자동화됨
