# task-1206.1 완료 보고서

**S**: member-status hook 시스템이 `detect-bot.sh`를 통해 CWD 기반 팀 식별을 수행하며, 이를 기반으로 팀 필터링, 봇 활동 기록, 감사 추적을 운영 중이다.

**C**: cokacdir 스케줄 세션의 CWD가 `/home/jay/.cokacdir/workspace/HASH` 형태라 팀명이 없어서 `BOT_ID="unknown"`이 반환되며, 결과적으로 팀 필터링이 비활성화(오탐 방지 무력화), 봇 활동 기록 누락, 감사 추적에 `unknown` 기록이 발생한다. 추가로 `organization-structure.json`에 `publishing-team`(수직)과 `publishing-center`(횡단)가 중복 존재하여 향후 status 변경 시 출판팀 멤버가 `cross_org`에 포함될 위험이 있었다.

**Q**: cokacdir 세션에서도 정확한 BOT_ID를 반환하여 팀 필터링과 감사 추적이 정상 작동하도록 할 수 있는가?

**A**: `.bot-team` 마커 파일 방식을 도입하여 해결했다. `user-prompt-submit.sh`가 첫 프롬프트에서 팀 정보를 파싱하여 마커 파일을 생성하고, `detect-bot.sh`가 이를 읽는 2단계 구조로 구현했다. 테스트 34건 전체 통과, 기존 동작(teams/ 경로, autoset 경로) 완전 유지.

## 수정 내용

### 1. detect-bot.sh — .bot-team 마커 fallback 추가
- CWD 기반 식별 실패 시, cokacdir 워크스페이스 경로에서 `.bot-team` 마커 파일을 읽어 BOT_ID 설정
- 조건: `BOT_ID == "unknown"` AND CWD가 `.cokacdir/workspace/` 경로인 경우에만 작동

### 2. user-prompt-submit.sh — 프롬프트 파싱 + 마커 생성
- `detect-bot.sh` source 직후, BOT_ID가 "unknown"이면 프롬프트 텍스트에서 `팀: <team_id>` 패턴 추출
- `[\w][\w-]*` 패턴으로 `dev1-team`, `marketing`, `consulting` 등 모든 형식 대응
- 추출한 팀 ID로 `.bot-team` 마커 파일 생성 + BOT_ID 즉시 설정
- case 문 패턴을 `dev1|dev2|dev3` → `dev1|dev2|dev3|dev4|dev5|dev6|dev7|dev8`로 확장

### 3. post-tool-use.sh — BOT_ID→팀장명 매핑 수정
- `dev3 → "라"` 오류를 `dev3 → "다그다"`로 수정
- dev4(비슈누), dev5(마르둑), dev6(페룬), dev7(이참나), dev8(라) 매핑 추가

### 4. organization-structure.json — publishing-center 제거
- `structure.rows.centers`에서 `publishing-center` (status: planned) 항목 제거
- `structure.columns.teams`의 `publishing-team`은 유지
- member-map-cache 재생성 (74개 에이전트)

## 산출물 파일

- `/home/jay/.claude/hooks/lib/detect-bot.sh` (수정)
- `/home/jay/.claude/hooks/lib/detect-bot.sh.bak4` (백업)
- `/home/jay/.claude/hooks/user-prompt-submit.sh` (수정)
- `/home/jay/.claude/hooks/user-prompt-submit.sh.bak4` (백업)
- `/home/jay/.claude/hooks/post-tool-use.sh` (수정)
- `/home/jay/.claude/hooks/post-tool-use.sh.bak4` (백업)
- `/home/jay/workspace/memory/organization-structure.json` (수정)
- `/home/jay/.claude/hooks/lib/.member-map-cache.sh` (자동 재생성)

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **post-tool-use.sh dev3→"라" 매핑 오류** — dev3는 다그다(Dagda)팀인데 "라"(Ra, dev8)로 매핑됨. `dev3 → "다그다"`로 수정.
2. **post-tool-use.sh dev4~dev8 매핑 누락** — dev4(비슈누), dev5(마르둑), dev6(페룬), dev7(이참나), dev8(라) 매핑을 추가.
3. **user-prompt-submit.sh regex가 marketing 형식 미매칭** — `\w+-team` 패턴이 `-team` 없는 팀 ID를 매칭 못함. `[\w][\w-]*` 패턴으로 교체하여 모든 팀 형식 대응.

## 테스트 결과

- 총 34건 테스트 (아르고스 독립 검증)
- **34/34 PASS (100%)**
- 테스트 범위: 기존 동작 유지(9건), 마커 fallback(5건), BOT_ID 매핑(9건), org-structure(2건), member-map-cache(5건), hook 패턴(1건), 백업 파일(3건)

## QC 자동 검증

- **Overall**: PASS (5 PASS, 7 SKIP)
- file_check: PASS (5/5 파일 확인)
- data_integrity: PASS (task-timers.json 정합)
- critical_gap: PASS
- spec_compliance: PASS
- duplicate_check: PASS (최대 유사도 10.3%)
- .done 파일: qc_verify.py --gate에 의해 자동 생성
