**task-1405.1 완료 보고** (dev8-team) **완료 보고서** (11분 18초) **핵심 결과** `_select_and_reserve_bot()` 함수를 신설하여 파일 락 내에서 봇 선택과 타이머 기록을 원자적으로 수행하도록 수정. dev팀도 봇 할당 즉시 `bot` 필드를 조기 기록하여 논리적팀 dispatch의 busy bot 수집에 반영되도록 했다. pytest 158건 전체 통과 (기존 149 + 신규 9). ## 산출물 - `/home/jay/workspace/dispatch.py` — `_select_and_reserve_bot()` 함수 추가, composite/DYNAMIC_BOT_TEAMS/dev팀 경로 수정 - `/home/jay/workspace/tests/test_dispatch.py` — `TestLogicalTeamBotConflict`(5개), `TestSelectAndReserveBot`(4개) 테스트 추가 - `/home/jay/workspace/memory/specs/bot-collision-prevention.md` — 봇 충돌 방지 규칙 문서 - `/home/jay/workspace/memory/specs/anu-guide.md` — 6.2절 업데이트, 6.3절 신설 ## 변경 상세 ### 1. `_select_and_reserve_bot()` 신설 (dispatch.py line ~293) - `fcntl.LOCK_EX` 파일 락 내에서 busy bot 수집 → 봇 선택 → task-timers.json 즉시 기록 - 기존 `_find_available_bot()`은 하위 호환용 유지 ### 2. composite 경로 수정 (dispatch.py line **발견/해결 이슈 3건** 1. **경합 조건: 봇 선택-기록 분리** — `_select_and_reserve_bot()`으로 원자화 2. **dev팀 bot 필드 미기록** — 충돌 검사 전 `_patch_timer_metadata(bot=...)` 조기 호출 추가 3. **아누 가이드 content 팀 누락** — 6.2절에 content 추가, 6.3절 신설