# 아누 시스템 기능 레지스트리
**버전**: v1.0
**최종 업데이트**: 2026-03-07
**조사자**: 헤임달 (테스터)
**코드 기준**: /home/jay/workspace/ (시스템 코드, 별도 프로젝트 제외)

---

## 개요
- **한 줄 설명**: 아누(Anu) AI 비서실장을 중심으로 개발 1~3팀, QC, 레드팀, 디자인 등 다수의 페르소나 봇이 텔레그램을 통해 협업하는 멀티봇 AI 개발 오케스트레이션 시스템
- **기술 스택**: Python 3.11, cokacdir (Telegram 봇 플랫폼), Claude Sonnet/Opus/Haiku, GLM-4.7-flash (OpenAI 호환), Gemini (비너스), pytest, pyright, black, isort
- **주요 경로**:
  - 루트 코어: `/home/jay/workspace/*.py`
  - 프롬프트: `/home/jay/workspace/prompts/`
  - 메모리/상태: `/home/jay/workspace/memory/`
  - 스킬: `/home/jay/workspace/skills/`
  - QC: `/home/jay/workspace/teams/dev1/qc/`
  - 대시보드: `/home/jay/workspace/dashboard/`
  - 스크립트: `/home/jay/workspace/scripts/`
  - 유틸: `/home/jay/workspace/utils/`
  - 팀별 설정: `/home/jay/workspace/teams/`

---

## 기능 목록

---

### 카테고리 1: 작업 디스패치 및 위임

#### 기능 1-1: 팀 작업 위임 (dispatch)
- **파일**: `/home/jay/workspace/dispatch.py`
- **설명**: 아누가 dev1/dev2/dev3 팀장에게 작업을 독립 세션으로 위임한다. `cokacdir --cron`으로 10초 후 절대 시각에 팀 봇으로 작업 프롬프트를 전송한다. 작업 설명은 파일로 저장되고 프롬프트에는 파일 경로만 포함된다(목차→요약→상세 원칙). task-timer 자동 시작, project-map 자동 갱신, chain 연동, followup 등록 등을 포함한다.
- **핵심 함수/클래스**: `dispatch()`, `generate_task_id()`, `build_prompt()`, `_register_followup()`, `_update_chain_task()`, `_cleanup_task()`, `main()`
- **입력**: `--team` (dev1-team|dev2-team|dev3-team), `--task` 또는 `--task-file`, `--level` (normal|critical|security), `--type` (coding|research|check), `--session`, `--project`, `--chain`, `--refresh-map`
- **출력**: JSON (`status`, `task_id`, `team`, `lead`, `level`, `description`, `message`, `cron_response`)
- **상태**: 구현완료
- **의존성**: `prompts/team_prompts.py`, `utils/logger.py`, `memory/task-timer.py`, `memory/task-timers.json`, `cokacdir` CLI, `COKACDIR_KEY_*` 환경변수

#### 기능 1-2: 봇 라우팅 매핑
- **파일**: `/home/jay/workspace/dispatch.py`
- **설명**: 팀 ID → 봇 키 자동 매핑. dev1-team→dev1(헤르메스), dev2-team→dev2(오딘), dev3-team→dev3(라). 횡단조직(QC:마아트, 레드팀:로키, 디자인:비너스, DevOps:야누스)은 별도 상수로 정의.
- **핵심 함수/클래스**: `TEAM_BOT`, `BOT_KEYS`, `CROSS_FUNCTIONAL`
- **입력**: team_id 문자열
- **출력**: 봇 키 (환경변수에서 로드)
- **상태**: 구현완료
- **의존성**: `COKACDIR_KEY_DEV1`, `COKACDIR_KEY_DEV2`, `COKACDIR_KEY_DEV3`, `COKACDIR_KEY_ANU` 환경변수

#### 기능 1-3: 작업 ID 자동 생성 (파일 락 기반 중복 방지)
- **파일**: `/home/jay/workspace/dispatch.py`
- **설명**: `task-timers.json`의 기존 task ID 목록에서 최대값을 파악해 다음 ID를 `task-N.1` 형식으로 생성. `fcntl.LOCK_EX`로 파일 락을 걸어 동시 생성 시 중복 방지. 생성 즉시 `reserved` 상태로 기록하여 Race Condition 차단.
- **핵심 함수/클래스**: `generate_task_id()`
- **입력**: 없음 (내부 자동 계산)
- **출력**: `"task-N.1"` 형식의 문자열
- **상태**: 구현완료
- **의존성**: `memory/task-timers.json`, `fcntl`

---

### 카테고리 2: 체인 관리 (작업 순서화)

#### 기능 2-1: Phase 기반 멀티팀 체이닝 (chain.py)
- **파일**: `/home/jay/workspace/chain.py`
- **설명**: 여러 팀이 순차적으로 협업하는 Phase 체인을 관리한다. 한 Phase의 모든 팀 작업이 완료되면 자동으로 다음 Phase를 dispatch한다. 체인 JSON 파일을 `fcntl` 독점 락으로 관리. dispatch 오류 발생 시 체인을 `paused` 상태로 전환. Phase 전환 및 완료 시 아누에게 cron 알림.
- **핵심 함수/클래스**: `cmd_create()`, `cmd_add_phase()`, `cmd_task_done()`, `cmd_status()`, `cmd_list()`, `_dispatch_phase()`, `locked_chain_file()` (컨텍스트 매니저)
- **입력**: 서브커맨드: `create --id --desc`, `add-phase --chain --name --tasks`, `task-done --chain --task`, `status --chain`, `list`
- **출력**: 콘솔 로그, 체인 JSON 파일 갱신, cron 알림
- **상태**: 구현완료
- **의존성**: `dispatch.py`, `utils/logger.py`, `memory/chains/*.json`, `cokacdir`

#### 기능 2-2: 순차 체이닝 관리 (chain_manager.py)
- **파일**: `/home/jay/workspace/chain_manager.py`
- **설명**: `chain.py`와 별개의 단순 순차 작업 체이닝 도구. 작업 완료 시 보고서에서 FAIL 키워드를 감지해 체인을 stalled 처리. 동일 task_file 중복 차단. watchdog cron 등록/해제로 장기 지연 감지. `.bak` 백업 자동 생성.
- **핵심 함수/클래스**: `cmd_create()`, `cmd_next()`, `cmd_update()`, `cmd_check_stalled()`, `cmd_list()`, `_acquire_lock()`, `_release_lock()`, `_with_lock()`, `_find_chain_for_task()`
- **입력**: 서브커맨드: `create --chain-id --tasks`, `next --task-id`, `update --task-id --status`, `check-stalled --max-hours`, `list`
- **출력**: JSON stdout, chain JSON 파일 갱신
- **상태**: 구현완료
- **의존성**: `utils/logger.py`, `memory/chains/chain-*.json`, `cokacdir`

---

### 카테고리 3: 오케스트레이션

#### 기능 3-1: 실시간 다중 팀 오케스트레이터
- **파일**: `/home/jay/workspace/orchestrator.py`
- **설명**: JSON 작업 목록을 읽어 3개 팀(dev1/dev2/dev3)에 동시 배치하고, 완료 감지 시 다음 작업을 즉시 배치하는 실시간 오케스트레이터. watchdog(inotify) 또는 폴링(5초 간격) 기반으로 `memory/events/*.done` 파일을 감시. `.done` 파일을 즉시 `.processed`로 rename해 중복 처리 방지. team_preference 기반 작업 라우팅.
- **핵심 함수/클래스**: `Orchestrator` 클래스, `assign_initial_tasks()`, `handle_done_event()`, `poll_completions()`, `_handle_completion()`, `_get_next_task()`, `EventWatcher` 클래스, `run_cokacdir()`, `build_prompt()`, `report_to_anu()`
- **입력**: `--tasks-file` (JSON), `--dry-run`
- **출력**: 로그 파일(`memory/orchestrator.log`), 아누에게 최종 보고
- **상태**: 구현완료
- **의존성**: `prompts/team_prompts.py`, `memory/task-timers.json`, `memory/events/`, `memory/reports/`, `cokacdir`, `watchdog` (선택)

#### 기능 3-2: 킥오프 상태 관리
- **파일**: `/home/jay/workspace/kickoff.py`
- **설명**: 프로젝트 킥오프 Phase 0~3 상태를 JSON 파일로 관리. Phase 완료 시 승인 포인트(phase0_review, phase2_review, phase3_approval)를 `pending_review`로 자동 전환. Phase 순서 검증으로 선행 Phase 미완료 시 진행 차단. 중복 완료 방지.
- **핵심 함수/클래스**: `cmd_init()`, `cmd_status()`, `cmd_phase_done()`, `load_state()`, `save_state()`
- **입력**: 서브커맨드: `init --project --task`, `status --project`, `phase-done --project --phase --output`
- **출력**: `memory/kickoff/<project>/kickoff-state.json` 갱신, 콘솔 출력
- **상태**: 구현완료
- **의존성**: `memory/kickoff/` 디렉토리

---

### 카테고리 4: AI 코딩 보조 (GLM 연동)

#### 기능 4-1: GLM-4.7-flash 코딩 보조
- **파일**: `/home/jay/workspace/glm-coder.py`
- **설명**: z.ai의 GLM-4.7-flash 모델을 OpenAI 호환 API로 호출하는 단순 코딩 보조 에이전트. 한국어 주석, 함수/클래스 단위 완성 코드 제공.
- **핵심 함수/클래스**: `ask_glm()`
- **입력**: CLI 인자로 프롬프트 전달
- **출력**: 생성된 코드 (stdout)
- **상태**: 구현완료
- **의존성**: `GLM_API_KEY` 환경변수, `openai` 패키지, `python-dotenv`

#### 기능 4-2: dev3팀 GLM 위임 워크플로우
- **파일**: `/home/jay/workspace/prompts/team_prompts.py`
- **설명**: 라(Ra) 팀장이 직접 코딩하지 않고 openclaw(GLM-5)에 작업을 위임하는 전용 프롬프트 생성. GLM-WORKFLOW.md 참조 방식.
- **핵심 함수/클래스**: `_build_glm_prompt()`
- **입력**: team_id="dev3-team", task_id, task_desc, level, project_id, chain_id
- **출력**: GLM 위임 프롬프트 문자열
- **상태**: 구현완료
- **의존성**: `teams/dev3/GLM-WORKFLOW.md`

---

### 카테고리 5: 그룹 채팅 (멀티 페르소나 단톡)

#### 기능 5-1: 팀 단톡 데몬
- **파일**: `/home/jay/workspace/group_chat.py`
- **설명**: Telegram 폴링으로 자연어 명령을 감지해 멀티 페르소나 단톡 세션을 구동하는 데몬 프로세스. 세션 시작/종료/자동 발화를 관리한다. 5분 타임아웃 자동 종료, 최대 6턴 자동 발화 후 유저 입력 대기. 세션 상태를 JSON 파일로 저장해 데몬 재시작 시 복구.
- **핵심 함수/클래스**: `GroupChatSession` 클래스, `TelegramPoller` 클래스, `detect_intent()`, `generate_persona_response()`, `select_next_speaker()`, `load_personas_from_org()`, `load_personas()`, `save_session_log()`, `main()`
- **입력**: Telegram 메시지, 트리거 파일 (`memory/events/group_chat_trigger.json`)
- **출력**: Telegram HTML 메시지 전송, 세션 로그 (`memory/daily/<날짜>.md`)
- **상태**: 구현완료
- **의존성**: `config/personas.json`, `memory/organization-structure.json`, Claude CLI, `GROUP_CHAT_BOT_TOKEN` 환경변수, `requests`

#### 기능 5-2: 자연어 의도 감지 (하이브리드)
- **파일**: `/home/jay/workspace/group_chat.py`
- **설명**: 단톡 시작/종료/제어 명령을 키워드 매칭(즉시)과 Claude Haiku API 호출(모호 시) 2단계로 감지. 인원 제한, 추가/퇴장, 역할/팀 필터, 자동 발화 수 제어 등 세션 중 제어 명령 처리.
- **핵심 함수/클래스**: `detect_intent()`, `GroupChatSession.handle_control()`
- **입력**: 유저 Telegram 메시지, 세션 활성 여부
- **출력**: 의도 dict (`intent`, `topic`, `personas`, `type`, `count` 등)
- **상태**: 구현완료
- **의존성**: Claude Haiku (`claude-haiku-4-5-20251001`), `ROLE_FILTERS`, `TEAM_FILTERS`, `START_KEYWORDS`, `END_KEYWORDS`

#### 기능 5-3: 페르소나 정보 동적 로드
- **파일**: `/home/jay/workspace/group_chat.py`
- **설명**: `organization-structure.json` 우선 → `config/personas.json` → 하드코딩 기본값 순으로 페르소나를 로드. 조직도의 개발실 서브팀, 레드팀, 횡단조직(QC/DevOps/디자인) 페르소나를 모두 동적으로 포함.
- **핵심 함수/클래스**: `load_personas_from_org()`, `load_personas()`
- **입력**: `memory/organization-structure.json`, `config/personas.json`
- **출력**: 페르소나 dict (id → name/team/role/expertise/personality/persona_desc)
- **상태**: 구현완료
- **의존성**: `memory/organization-structure.json`, `config/personas.json`

---

### 카테고리 6: 메시지 시스템

#### 기능 6-1: 봇 간 인박스 메시지
- **파일**: `/home/jay/workspace/inbox_utils.py`
- **설명**: 봇 간에 JSON 파일 기반으로 메시지를 주고받는 인박스 시스템. 파일명 형식: `YYYY-MM-DDTHH-MM-SS_from-<team>.json`. 읽지 않은 메시지만 반환, 읽음 처리, 전체 조회, 인박스 비우기 기능. 파일명 충돌 시 밀리초 추가.
- **핵심 함수/클래스**: `send_message()`, `read_inbox()`, `mark_read()`, `get_all_messages()`, `clear_inbox()`, `run_tests()` (assert 기반 단위 테스트 내장)
- **입력**: CLI: `send --from --to --subject --body`, `read --team`, `list --team`
- **출력**: JSON 메시지 파일 생성/조회, JSON stdout
- **상태**: 구현완료
- **의존성**: `memory/inbox/<team>/` 디렉토리

---

### 카테고리 7: 보고서 파싱 및 요약

#### 기능 7-1: 보고서 MD 파서
- **파일**: `/home/jay/workspace/report_parser.py`
- **설명**: 팀별 보고서 Markdown 파일을 파싱해 핵심 정보를 추출. 표준/비표준 패턴 다중 지원. 텔레그램용 원라인 요약 및 전체 진행 상황 요약 생성.
- **핵심 함수/클래스**: `parse_report()`, `summarize_oneline()`, `summarize_progress()`
- **입력**: 보고서 `.md` 파일 경로
- **출력**: dict (task_id, team, summary, test_total, test_passed, test_failed, bug_count, duration, files), 원라인 요약 문자열
- **상태**: 구현완료
- **의존성**: 없음 (표준 라이브러리만 사용)

---

### 카테고리 8: 설정 동기화 체크

#### 기능 8-1: 모델 정보 3-way 동기화 체크
- **파일**: `/home/jay/workspace/sync-check.py`
- **설명**: `bot_settings.json` (Source of Truth) ↔ `organization-structure.json` ↔ `MEMORY.md` 3개 파일 간 모델 정보 불일치를 자동 감지. `--fix` 옵션으로 `organization-structure.json`과 `engine_summary`를 자동 수정 (MEMORY.md는 경고만).
- **핵심 함수/클래스**: `get_bot_models()`, `get_org_person_model()`, `parse_memory_model()`, `check_person_models()`, `check_engine_summary()`, `fix_org_json()`, `collect_all_members()`, `count_models_from_members()`
- **입력**: 하드코딩된 3개 파일 경로, `--fix` 플래그
- **출력**: 콘솔 불일치 보고, `organization-structure.json` 자동 수정 (--fix 시)
- **상태**: 구현완료
- **의존성**: `/home/jay/.cokacdir/bot_settings.json`, `memory/organization-structure.json`, `~/.claude/projects/.../MEMORY.md`

---

### 카테고리 9: 프롬프트 시스템

#### 기능 9-1: 팀별 프롬프트 생성 공통 모듈
- **파일**: `/home/jay/workspace/prompts/team_prompts.py`
- **설명**: dispatch.py와 orchestrator.py에서 공통으로 사용하는 팀별 프롬프트 생성. direct 팀(dev1/dev2)은 DIRECT-WORKFLOW.md 참조 방식, glm 팀(dev3)은 GLM-WORKFLOW.md 참조 방식. 작업 유형에 따라 QC 검증 섹션 포함 여부 결정. critical/security 레벨 헤더 자동 삽입. project-map 섹션 자동 포함.
- **핵심 함수/클래스**: `build_prompt()`, `_build_direct_prompt()`, `_build_glm_prompt()`, `_build_verification_section()`, `_build_project_map_section()`, `_build_cowork_section()`, `TEAM_INFO`, `TEAM_MEMBER_ROLES`
- **입력**: team_id, task_id, task_desc, level, project_id, chain_id, task_type
- **출력**: 팀장에게 전달할 프롬프트 문자열
- **상태**: 구현완료
- **의존성**: `prompts/DIRECT-WORKFLOW.md`, `teams/dev3/GLM-WORKFLOW.md`, `teams/shared/QC-RULES.md`

#### 기능 9-2: 팀장 워크플로우 가이드
- **파일**: `/home/jay/workspace/prompts/DIRECT-WORKFLOW.md`
- **설명**: dev1/dev2 팀장이 따를 작업 워크플로우 전체 정의. Worktree 격리(Lv.2+), 마이크로태스크 분해, Task tool 병렬 실행, TDD 규칙, LSP(pyright) 활용, Git 커밋 규칙, QC 재시도 규칙, 완료 이벤트 파일 생성, task-timer 종료, 아누 완료 통보, chain 완료 알림 등 전체 Step 1~8 정의.
- **핵심 함수/클래스**: 문서 형식 (마크다운)
- **입력**: 플레이스홀더 변수 치환 (task_id, team_id, WORKSPACE_ROOT, CHAT_ID, ANU_KEY, project_id, chain_id 등)
- **출력**: 팀장 행동 지침
- **상태**: 구현완료
- **의존성**: 없음 (팀장이 참조하는 문서)

#### 기능 9-3: 팀장 필독 가이드 (5원칙 + 실패 시나리오 + 셀프QC)
- **파일**: `/home/jay/workspace/prompts/teamlead-guide.md`
- **설명**: 팀장 작업 철학 5원칙(계획우선/결정론적 실행/피드백사이클/문서화의무/감사추적), 실패 시나리오 체크리스트(비정상입력/동시성/비정상종료/스테일데이터/통합충돌), 셀프QC 5항목 정의.
- **핵심 함수/클래스**: 문서 형식
- **입력**: 없음
- **출력**: 팀장 행동 지침
- **상태**: 구현완료
- **의존성**: 없음

#### 기능 9-4: 비너스 호출 가이드
- **파일**: `/home/jay/workspace/prompts/VENUS-INVOCATION.md`
- **설명**: Gemini 기반 디자인 디렉터 비너스 호출 방법 정의. CLI, 파일 참조, 타임아웃 설정, Python import 방법 가이드. 비너스 전문 분야(브랜드/컬러/접근성/코드 리뷰) 정의.
- **핵심 함수/클래스**: 문서 형식
- **입력**: 없음
- **출력**: 비너스 호출 가이드
- **상태**: 구현완료
- **의존성**: `scripts/invoke_venus.py`

---

### 카테고리 10: QC 시스템

#### 기능 10-1: QC 규칙 문서 (v2.3)
- **파일**: `/home/jay/workspace/teams/shared/QC-RULES.md`
- **설명**: normal/critical/security 3단계 QC 레벨 정의. 셀프QC 5항목(1-A), 데이터 계약 체크리스트(1-B, 조건부), 인터페이스 계약 관리(Pydantic/Zod), 자동 검증(qc_verify.py), 마아트 독립 검증(critical+), 로키 보안 감사(security), 에러 처리 원칙 정의.
- **핵심 함수/클래스**: 문서 형식
- **상태**: 구현완료 (v2.3 — 2026-03-06 최신)
- **의존성**: `teams/dev1/qc/qc_verify.py`, `teams/shared/schemas/`

#### 기능 10-2: QC 자동 검증 스크립트 (qc_verify.py)
- **파일**: `/home/jay/workspace/teams/dev1/qc/qc_verify.py`
- **설명**: post-task 자동 검증 메인 스크립트. 9개 verifier를 순서대로 실행하고 PASS/FAIL/SKIP/WARN 결과를 JSON으로 출력. FAIL 하나라도 있으면 exit code 1 반환.
- **핵심 함수/클래스**: `run_check()`, `build_result()`, `save_output()`, `_determine_overall()`, `_has_workers()`, `main()`
- **입력**: `--task-id`, `--api-base`, `--api-endpoints`, `--test-dir`, `--check-files`, `--expected-files`, `--expected-files-from`, `--skip`, `--output`, `--workers-dir`, `--schemas-dir`
- **출력**: JSON (task_id, verified_at, overall, checks, summary)
- **상태**: 구현완료
- **의존성**: `verifiers/` 패키지 (api_health, file_check, data_integrity, test_runner, tdd_check, schema_contract, pyright_check, style_check, scope_check)

#### 기능 10-3: verifier 목록 (9종)
- **파일**: `/home/jay/workspace/teams/dev1/qc/verifiers/`
- **설명**: 각 verifier 상세:
  - `api_health.py`: HTTP 엔드포인트 200 응답 확인
  - `file_check.py`: 보고서 파일 존재 + 크기 확인
  - `data_integrity.py`: task-timers.json ↔ .done 파일 교차 검증
  - `test_runner.py`: pytest exit code 확인
  - `tdd_check.py`: TDD 순서 검증 (테스트 파일이 구현 파일보다 먼저 수정됐는지)
  - `schema_contract.py`: Pydantic ↔ JSON Schema ↔ Zod 계약 검증 (SC-1~SC-8)
  - `pyright_check.py`: pyright LSP 타입 체크
  - `style_check.py`: black + isort 스타일 검사 (WARN만)
  - `scope_check.py`: 예상 변경 파일 ↔ 실제 변경 대조 (WARN만)
- **상태**: 구현완료
- **의존성**: pyright, black, isort, pytest, jsonschema

#### 기능 10-4: 레드팀 자동 리뷰
- **파일**: `/home/jay/workspace/memory/red-team-auto-review.py`
- **설명**: 보안 취약점 분석 및 리스크 평가 도구. SQL Injection 등 취약점 패턴 자동 감지. 의존성 검사 포함.
- **핵심 함수/클래스**: `RedTeamReviewer` 클래스, `VULNERABILITY_PATTERNS`
- **입력**: CLI: `scan <파일>`, `vuln <파일>`, `deps <파일>`, `risk <파일>`
- **출력**: 보안 취약점 보고서
- **상태**: 구현완료
- **의존성**: `memory/red_team/` (base_reviewer, code_reviewer, red_team_orchestrator, security_patterns)

#### 기능 10-5: QC 코드 밸리데이터
- **파일**: `/home/jay/workspace/memory/code-validator.py`
- **설명**: 워크플로우, 코드 품질, 보안 검증을 통합 수행하는 QC Center 도구.
- **핵심 함수/클래스**: `QCValidator` 클래스
- **입력**: CLI: `all <파일>`, `workflow <파일>`, `code <파일>`, `security <파일>` + `--json`
- **출력**: 검증 결과 (콘솔/JSON)
- **상태**: 구현완료
- **의존성**: `memory/logging_config.py`

---

### 카테고리 11: 타이머 및 상태 추적

#### 기능 11-1: 작업 시간 추적 시스템
- **파일**: `/home/jay/workspace/memory/task-timer.py`
- **설명**: 작업별 시작/종료 시간을 `task-timers.json`에 기록. 완료 시 `.done` 이벤트 파일 자동 생성, `pipeline-status.json` 자동 갱신, 일일 로그 자동 기록. 멱등성 보장 (이미 완료된 task 재호출 안전). stale 상태 자동 정리 기능. 로그 타입별 섹션(의사결정/시스템변경/아키텍처/위임기록) 구분.
- **핵심 함수/클래스**: `TaskTimer` 클래스, `start_task()`, `end_task()`, `get_task_status()`, `list_tasks()`, `add_log_entry()`, `cleanup_stale()`, `_write_event_file()`, `_update_pipeline_status()`
- **입력**: CLI: `start <task_id> [--team --desc --project --work-level]`, `end <task_id>`, `status <task_id>`, `list [status]`, `log <msg> [--type]`, `cleanup [--running-hours --reserved-minutes --dry-run]`
- **출력**: JSON stdout, `memory/task-timers.json` 갱신, `memory/events/<task_id>.done`, `memory/pipeline-status.json`, `memory/daily/<날짜>.md`
- **상태**: 구현완료
- **의존성**: `utils/logger.py`, `fcntl`

---

### 카테고리 12: 대시보드

#### 기능 12-1: 조직 현황 대시보드 서버 (v2.1)
- **파일**: `/home/jay/workspace/dashboard/server.py`
- **설명**: 조직 현황을 시각화하는 웹 대시보드. FastAPI 설치 여부에 따라 자동으로 FastAPI 모드 또는 Simple HTTP 모드로 시작. SSE(Server-Sent Events) 스트리밍으로 실시간 파일 변경 감지 및 프론트엔드 자동 갱신. Basic Auth 지원 (`DASHBOARD_AUTH=true`). stale 판단 TTL(멤버 30분, 작업 2시간) 적용.
- **핵심 함수/클래스**: `DataLoader` 클래스, `DashboardHandler` 클래스 (HTTP), `DashboardServer` 클래스, `load_organization()`, `load_tasks()`, `load_tech_debt()`, `load_ci()`, `load_member_status()`, `load_bot_activity()`, `get_team_stats()`, `get_running_tasks_by_team()`, `get_member_status()`, `get_teams_info()`, `get_tasks_info()`, `get_tech_debt_info()`, `get_recent_tasks()`, `get_ci_status()`, `handle_stream()`, `_enrich_bot_activity()`
- **입력**: 없음 (포트 8000 고정)
- **출력**: HTTP: `/api/status`, `/api/stats`, `/api/org`, `/api/teams`, `/api/tasks`, `/api/tech-debt`, `/api/recent-tasks`, `/api/ci-status`, `/api/member-status`, `/api/bot-activity`, `/api/reload`, `/api/stream` (SSE), 정적 파일 서빙
- **상태**: 구현완료
- **의존성**: `memory/organization-structure.json`, `memory/task-timers.json`, `memory/tech-debt.json`, `memory/logs/ci-latest.json`, `memory/events/member-status.json`, `memory/events/bot-activity.json`, `dashboard/index.html`, FastAPI+uvicorn (선택)

---

### 카테고리 13: 스크립트 유틸리티

#### 기능 13-1: Git Worktree 관리자
- **파일**: `/home/jay/workspace/scripts/worktree_manager.py`
- **설명**: 멀티봇 환경에서 안전한 Worktree 관리. 브랜치 생성/완료(keep/merge/discard)/목록/상태 확인. 팀 작업 격리 목적.
- **핵심 함수/클래스**: `create()`, `finish()`, `list()`, `status()`
- **입력**: CLI: `create <project_path> <task_id> <team_id>`, `finish <project_path> <task_id> <team_id> <action>`, `list <project_path>`, `status <project_path> <task_id>`
- **출력**: JSON stdout, git worktree 생성/삭제
- **상태**: 구현완료
- **의존성**: git CLI

#### 기능 13-2: 비너스(Gemini) 호출 스크립트
- **파일**: `/home/jay/workspace/scripts/invoke_venus.py`
- **설명**: Gemini CLI를 subprocess로 호출해 비너스(디자인 디렉터) 역할 AI 응답 생성. 파일 컨텍스트 포함 지원, 타임아웃 설정.
- **핵심 함수/클래스**: `invoke_venus()`
- **입력**: `--prompt`, `--files`, `--timeout`
- **출력**: 비너스 응답 텍스트
- **상태**: 구현완료
- **의존성**: Gemini CLI, `~/.gemini/settings.json` (OAuth 인증)

#### 기능 13-3: 프로젝트 구조 맵 생성
- **파일**: `/home/jay/workspace/scripts/project-map.py`
- **설명**: 프로젝트 디렉토리 구조를 Markdown으로 자동 생성. 증분 갱신(incremental), 롤백 기능 지원. `fcntl` 락 및 해시 기반 변경 감지.
- **핵심 함수/클래스**: CLI 도구
- **입력**: `<PROJECT_PATH> --output --depth --include-tests --incremental --changed-files --deleted-files --rollback`
- **출력**: `memory/project-maps/<project_id>.md`
- **상태**: 구현완료
- **의존성**: `fcntl`, `hashlib`

#### 기능 13-4: 기술부채 트래커
- **파일**: `/home/jay/workspace/scripts/tech-debt.py`
- **설명**: 기술부채 항목을 `memory/tech-debt.json`에 추가/조회/해결/통계 관리.
- **핵심 함수/클래스**: CLI 도구 (`add`, `list`, `resolve`, `show`, `stats`)
- **입력**: `--title`, `--severity` (high|medium|low), `--desc`, item id
- **출력**: JSON 저장, 콘솔 출력
- **상태**: 구현완료
- **의존성**: `memory/tech-debt.json`

#### 기능 13-5: CI 리포트 생성기
- **파일**: `/home/jay/workspace/scripts/ci-report.py`
- **설명**: CI 실행 결과 JSON을 읽어 사람이 읽기 쉬운 리포트 생성.
- **핵심 함수/클래스**: CLI 도구
- **입력**: `memory/logs/ci-latest.json`
- **출력**: 마크다운 리포트
- **상태**: 구현완료
- **의존성**: `memory/logs/ci-latest.json`, `memory/logs/ci-history.jsonl`

#### 기능 13-6: 팀 추가 스크립트
- **파일**: `/home/jay/workspace/scripts/add-team.py`
- **설명**: `config/teams.json`에 새 팀 추가. 팀 디렉토리 자동 생성, 기본 설정 파일 생성.
- **핵심 함수/클래스**: CLI 도구
- **입력**: `--name`, `--type`, `--lead`, `--status`, `--list`
- **출력**: `config/teams.json` 갱신, `teams/<team_id>/` 디렉토리 생성
- **상태**: 구현완료
- **의존성**: `config/teams.json`

#### 기능 13-7: Drive 변경 로그 관리
- **파일**: `/home/jay/workspace/scripts/drive-change-log.py`
- **설명**: Google Drive 업로드 변경사항을 로컬 로그에 기록. project-map 증분 갱신 시스템과 연동.
- **핵심 함수/클래스**: CLI 도구 (`add`, `list`, `mark-processed`, `cleanup`)
- **입력**: `--project`, `--path`, `--action` (upload), `--unprocessed`, `--ids`, `--days`
- **출력**: 변경 로그 파일
- **상태**: 구현완료
- **의존성**: 프로젝트별 로그 파일

#### 기능 13-8: YouTube 새 스크립트 감지
- **파일**: `/home/jay/workspace/scripts/youtube-check-new-transcripts.py`
- **설명**: Firestore `youtube_summary_queue` 컬렉션에서 `summaryStatus='pending'` 영상 확인. 새 전사본 감지 시 videoId, 제목, 채널명 JSON 출력.
- **핵심 함수/클래스**: CLI 도구
- **입력**: `--with-transcript --video-id`
- **출력**: JSON stdout
- **상태**: 구현완료
- **의존성**: Firestore (Firebase Admin SDK)

#### 기능 13-9: Dev3 헬스체크
- **파일**: `/home/jay/workspace/scripts/check-dev3.py`
- **설명**: Dev3 팀(봇D) 작업 환경 헬스체크 및 최근 작업 이력 진단.
- **핵심 함수/클래스**: CLI 도구 (`--quick`, `--json`)
- **입력**: 없음
- **출력**: 헬스체크 결과 (콘솔/JSON)
- **상태**: 구현완료
- **의존성**: `memory/task-timers.json`

#### 기능 13-10: 브라우저 제어 유틸리티
- **파일**: `/home/jay/workspace/scripts/browser.py`
- **설명**: Playwright CDP 세션을 통한 브라우저 제어. 스크린샷 캡처 등.
- **핵심 함수/클래스**: CLI 도구
- **입력**: argparse 서브커맨드
- **출력**: 스크린샷 (`dashboard/screenshot-live.png`), JSON
- **상태**: 구현완료
- **의존성**: Playwright, Chromium

---

### 카테고리 14: CI/CD

#### 기능 14-1: 로컬 CI 파이프라인
- **파일**: `/home/jay/workspace/scripts/ci.sh`
- **설명**: 6단계 순서로 실행하는 로컬 CI. 1) py_compile 문법 검사, 2) pytest, 3) coverage, 4) pip-audit, 5) 추가 테스트, 6) 헬스체크. 결과를 `memory/logs/ci-latest.json`에 저장.
- **핵심 함수/클래스**: 쉘 스크립트
- **입력**: 없음
- **출력**: `memory/logs/ci-latest.json`, `memory/logs/ci-history.jsonl`
- **상태**: 구현완료
- **의존성**: pytest, coverage, pip-audit

#### 기능 14-2: 코드 스타일 린터
- **파일**: `/home/jay/workspace/scripts/lint.sh`
- **설명**: black + isort 스타일 검사 및 자동 수정.
- **핵심 함수/클래스**: 쉘 스크립트
- **입력**: `--fix` (자동 수정)
- **출력**: 스타일 검사 결과
- **상태**: 구현완료
- **의존성**: black, isort

#### 기능 14-3: 헬스체크 스크립트
- **파일**: `/home/jay/workspace/scripts/health-check.sh`
- **설명**: 시스템 헬스체크.
- **상태**: 구현완료
- **의존성**: 없음

---

### 카테고리 15: 메모리 서브시스템

#### 기능 15-1: 라우팅 레이어 (토큰 절약)
- **파일**: `/home/jay/workspace/memory/routing_layer.py`
- **설명**: 세션 시작 시 활성 프로젝트만 로드해 토큰 90% 절약. `active-projects.json` 기반.
- **핵심 함수/클래스**: `SessionRouter` 클래스
- **상태**: 구현완료
- **의존성**: `memory/active-projects.json`

#### 기능 15-2: 스킬 라우터
- **파일**: `/home/jay/workspace/memory/skill-router.py`
- **설명**: 메시지 내용을 분석해 적절한 스킬을 자동 감지/로드. `skill-triggers.json` 트리거 파일 기반.
- **핵심 함수/클래스**: `SkillRouter` 클래스
- **입력**: 메시지 텍스트, `--task-type`
- **출력**: 감지된 스킬 목록
- **상태**: 구현완료
- **의존성**: `memory/skill-triggers.json`

#### 기능 15-3: 작업 라우터
- **파일**: `/home/jay/workspace/memory/task-router.py`
- **설명**: 작업 설명을 분석해 적절한 팀원 선택.
- **핵심 함수/클래스**: `Task` 데이터클래스, CLI (`route`, `list`, `status`)
- **상태**: 구현완료
- **의존성**: `memory/dev-team-structure.json`

#### 기능 15-4: 토큰 사용량 추적
- **파일**: `/home/jay/workspace/memory/token_tracker.py`
- **설명**: 일일 토큰 예산(100,000) 관리 및 사용량 추적.
- **핵심 함수/클래스**: `TokenTracker` 클래스
- **상태**: 구현완료
- **의존성**: `memory/token-usage.json`

#### 기능 15-5: 대기 액션 관리자
- **파일**: `/home/jay/workspace/memory/pending_actions.py`
- **설명**: FIFO 기반 대기 액션 큐. `fcntl` 락 + Atomic write + `.bak` 백업 복구.
- **핵심 함수/클래스**: `PendingActions` 클래스
- **상태**: 구현완료
- **의존성**: `memory/pending-actions.json`

#### 기능 15-6: FIFO 이벤트 큐
- **파일**: `/home/jay/workspace/memory/event-queue.py`
- **설명**: FIFO 이벤트 큐 관리. `fcntl` 락 + Atomic write (임시 파일→os.replace) + `.bak` 백업 복구.
- **핵심 함수/클래스**: CLI + 모듈 임포트 양쪽 지원
- **상태**: 구현완료
- **의존성**: `memory/events/event-queue.json`

#### 기능 15-7: 프로젝트 격리 시스템
- **파일**: `/home/jay/workspace/memory/project-isolation.py`
- **설명**: 팀별 프로젝트 코드 격리 규칙 관리. 허용/차단 파일 경로 체크.
- **핵심 함수/클래스**: `ProjectIsolation` 클래스 (`check`, `init`, `status`)
- **상태**: 구현완료
- **의존성**: `memory/project-isolation-config.json`

#### 기능 15-8: 메모리 검색 엔진
- **파일**: `/home/jay/workspace/memory/search.py`
- **설명**: `index.json` 기반 토큰 효율적 메모리 검색.
- **핵심 함수/클래스**: `MemorySearchEngine` 클래스
- **상태**: 구현완료
- **의존성**: `memory/index.json`

#### 기능 15-9: 문서 생성 자동화
- **파일**: `/home/jay/workspace/memory/generate.py`
- **설명**: 템플릿 기반 문서 자동 생성 + `index.json` 자동 업데이트.
- **핵심 함수/클래스**: `DocumentGenerator` 클래스
- **상태**: 구현완료
- **의존성**: `memory/templates/`, `memory/document-templates.json`

#### 기능 15-10: 자동 문서화 시스템
- **파일**: `/home/jay/workspace/memory/auto-document.py`
- **설명**: 작업 완료 시 daily 업무일지 자동 업데이트, 변경 이력 관리.
- **핵심 함수/클래스**: `AutoDocumenter` 클래스, CLI (`log`)
- **입력**: `--type`, `--desc`, `--result`
- **출력**: `memory/daily/<날짜>.md` 업데이트
- **상태**: 구현완료
- **의존성**: `memory/daily/`

#### 기능 15-11: Boris Workflow 자동화
- **파일**: `/home/jay/workspace/memory/boris_workflow.py`
- **설명**: Research → Plan → Annotate → Todo → Implement → Feedback 6단계 Boris Workflow. 6개 파일 자동 생성, "구현 금지" 가드.
- **핵심 함수/클래스**: `BorisWorkflowEngine` 클래스
- **상태**: 구현완료
- **의존성**: `yaml` 패키지

#### 기능 15-12: 전문가 토론 코디네이터
- **파일**: `/home/jay/workspace/memory/expert-debate-coordinator.py`
- **설명**: 관리자가 여러 전문가 세션을 소집해 토론을 진행하고 결과를 `memory/debates/`에 저장.
- **핵심 함수/클래스**: `ExpertDebateCoordinator` 클래스
- **상태**: 구현완료
- **의존성**: `memory/debates/`

#### 기능 15-13: 대화 감지 스펙 자동 추출
- **파일**: `/home/jay/workspace/memory/conversation-spec-watcher.py`
- **설명**: 대화 내용에서 프로젝트 요청 패턴을 감지해 `spec-extractor.py`를 자동 호출.
- **핵심 함수/클래스**: `ConversationSpecWatcher` 클래스
- **상태**: 구현완료
- **의존성**: `memory/spec-extractor.py`, `memory/specs/`

#### 기능 15-14: 스펙 자동 추출
- **파일**: `/home/jay/workspace/memory/spec-extractor.py`
- **설명**: 대화 내용에서 프로젝트 스펙(이름/설명/프론트엔드/백엔드/DB/기능 목록) 자동 추출.
- **핵심 함수/클래스**: `ProjectSpec` 데이터클래스, CLI (`extract`, `from-file`)
- **상태**: 구현완료
- **의존성**: 없음

---

### 카테고리 16: 스킬 시스템 (21개)

#### 기능 16-1: 3docs-create
- **파일**: `/home/jay/workspace/skills/3docs-create/SKILL.md`
- **설명**: 계획서/맥락노트/체크리스트 3문서 자동 생성. 현재 진행 중 task_id 자동 감지.
- **트리거**: "3문서 생성", "계획서 생성", "새 프로젝트"

#### 기능 16-2: adversarial-review
- **파일**: `/home/jay/workspace/skills/adversarial-review/SKILL.md`
- **설명**: Steel-Man → Adversarial Attack → 심각도 분류 → Counter-Proposal 4단계 비평 워크플로우. 로직/설계 비평 전담, 보안 취약점은 로키에게 에스컬레이션.
- **트리거**: "stress-test", "스트레스 테스트", "코드리뷰", "아키텍처 검토"

#### 기능 16-3: agent-meeting
- **파일**: `/home/jay/workspace/skills/agent-meeting/SKILL.md`
- **설명**: 여러 페르소나를 소집해 의견 수집 → 보리스 워크플로우(Annotation Cycle) 합의 → 3문서 반영. 사전 리서치 완료 후 소집 의무.
- **트리거**: "agent 미팅", "페르소나 소집", "보리스 사이클"

#### 기능 16-4: blog-dominance
- **파일**: `/home/jay/workspace/skills/blog-dominance/SKILL.md`
- **설명**: SEO 블로그 콘텐츠 전략. GLM-5 최적화. 키워드 최적화+자연스러운 흐름. 서울대보험쌤/서울대연금쌤 브랜드 대상.
- **트리거**: "블로그", "SEO", "구글 1페이지"

#### 기능 16-5: competitor-analyst
- **파일**: `/home/jay/workspace/skills/competitor-analyst/SKILL.md`
- **설명**: 경쟁사 정보 분석. GLM-5 대용량 컨텍스트 활용. URL 다수 포함 시 자동 활성화. 전략 브리핑 + 실행 계획 제시.
- **트리거**: "경쟁사 분석", "역분석", "포지셔닝"

#### 기능 16-6: conversion-copywriter
- **파일**: `/home/jay/workspace/skills/conversion-copywriter/SKILL.md`
- **설명**: 전환율 향상 카피라이팅. 3가지 버전 + A/B 테스트 제안. 신뢰 기반 전환 중심.
- **트리거**: "전환율", "카피라이팅", "판매 페이지"

#### 기능 16-7: copywriting-prompt
- **파일**: `/home/jay/workspace/skills/copywriting-prompt/SKILL.md`
- **설명**: CRO 전문 카피라이터. 후킹/CTA/대체 후킹 3가지 포함. GLM-5 최적화.
- **트리거**: "카피라이팅", "후킹", "스크롤 멈추기"

#### 기능 16-8: cross-verified-research
- **파일**: `/home/jay/workspace/skills/cross-verified-research/SKILL.md`
- **설명**: 최소 5회 검색 + 5개 소스 교차검증. 90% 신뢰도 게이트. Lv.3 이상 작업에 의무 적용. 환각 방지 전문.
- **트리거**: "cross-verify", "교차검증"

#### 기능 16-9: deep-dive-analyzer
- **파일**: `/home/jay/workspace/skills/deep-dive-analyzer/SKILL.md`
- **설명**: 미시적 해부 + 완전한 분석. "Exhaust all components" 철학. adversarial-review 파이프라인 권장.
- **트리거**: "deep-dive", "심층분석"

#### 기능 16-10: find-skills
- **파일**: `/home/jay/workspace/skills/find-skills/SKILL.md`
- **설명**: 오픈 에이전트 스킬 에코시스템에서 스킬 검색/설치. `npx skills` CLI 활용.
- **트리거**: "find a skill", "스킬 검색"

#### 기능 16-11: fullstack-builder
- **파일**: `/home/jay/workspace/skills/fullstack-builder/SKILL.md`
- **설명**: 풀스택 웹 구현. GLM-5 최적화. React/TypeScript/Next.js/Tailwind. 실제 배포 가능한 코드.
- **트리거**: "랜딩 페이지", "SaaS", "웹사이트 구축"

#### 기능 16-12: git-worktree-isolation
- **파일**: `/home/jay/workspace/skills/git-worktree-isolation/SKILL.md`
- **설명**: Lv.2+ 작업 + Git repo 존재 + 2팀 이상 동시 투입 시 Worktree 격리 워크플로우 자동 적용. 멀티봇 충돌 방지.
- **트리거**: "git worktree", "worktree", "멀티봇"

#### 기능 16-13: insight-extractor
- **파일**: `/home/jay/workspace/skills/insight-extractor/SKILL.md`
- **설명**: 연구 보고서/백서 전략 분석. GLM-5 20만 단어 이상 문서 처리. 핵심 인사이트 → 실행 전략.
- **트리거**: "연구 보고서", "전략적 통찰력", "산업 보고서"

#### 기능 16-14: marketing-strategist
- **파일**: `/home/jay/workspace/skills/marketing-strategist/SKILL.md`
- **설명**: 캠페인 전략 수립. 콘텐츠 캘린더/30일 계획. 서울대보험쌤/서울대연금쌤 브랜드 전략.
- **트리거**: "콘텐츠 캘린더", "마케팅 전략", "SNS 전략"

#### 기능 16-15: nuclear-approval
- **파일**: `/home/jay/workspace/skills/nuclear-approval/SKILL.md`
- **설명**: 3문서 검증 → Context Purge 제안 → 제이회장님 승인 요청 → 승인 후 실행 시작. 중요 작업 시작 전 게이트.
- **트리거**: "핵미사일", "nuclear", "승인 요청", "컨텍스트 퍼지"

#### 기능 16-16: pdp-agent
- **파일**: `/home/jay/workspace/skills/pdp-agent/SKILL.md`
- **설명**: 제품 개발 프로세스(PDP) 오케스트레이터. 기획→리스크→구현→런칭→회고 5단계. 현재 단계 파악 후 해당 Phase Agent로 라우팅.
- **트리거**: "기능 개발", "우선순위 분석", "리스크 체크", "배포 준비", "PDP"

#### 기능 16-17: project-kickoff
- **파일**: `/home/jay/workspace/skills/project-kickoff/SKILL.md`
- **설명**: 프로젝트 전체 킥오프 흐름(Phase 0~3) 오케스트레이션. 선행 산출물 존재 검증 + 순서 위반 방지 + 세션 간 컨텍스트 보존. `kickoff.py`와 연동.
- **트리거**: "project-kickoff", "프로젝트 킥오프", "킥오프"

#### 기능 16-18: research-prompt
- **파일**: `/home/jay/workspace/skills/research-prompt/SKILL.md`
- **설명**: 세계적 수준의 연구자 페르소나. 핵심 인사이트 5개 + 실행 행동 3개 + 출처 명시.
- **트리거**: "리서치", "최신 데이터", "산업 리포트"

#### 기능 16-19: strategy-prompt
- **파일**: `/home/jay/workspace/skills/strategy-prompt/SKILL.md`
- **설명**: 90일 실행 전략 설계. 주차별 과제 + KPI + 대안 플랜 + 위험 요소 3개.
- **트리거**: "전략", "90일", "실행 계획"

#### 기능 16-20: tdd-enforcement
- **파일**: `/home/jay/workspace/skills/tdd-enforcement/SKILL.md`
- **설명**: RED-GREEN-REFACTOR 사이클 강제. Lv.2+ 코딩 작업에 자동 적용. 테스트 먼저 작성, RED 단계 필수 확인, 사후 테스트 절대 금지.
- **트리거**: "tdd", "테스트 주도" (Lv.2+ 작업 시 자동)

#### 기능 16-21: thread-architect
- **파일**: `/home/jay/workspace/skills/thread-architect/SKILL.md`
- **설명**: 바이럴 스레드/트윗 작성. GLM-5 최적화. 8~10개 트윗 + CTA. 서울대보험쌤/서울대연금쌤 SNS.
- **트리거**: "트윗", "스레드", "바이럴"

---

### 카테고리 17: 유틸리티

#### 기능 17-1: 공통 로거
- **파일**: `/home/jay/workspace/utils/logger.py`
- **설명**: RotatingFileHandler(10MB, 5백업) + 콘솔 StreamHandler 이중 출력. 중복 핸들러 방지. 모든 코어 모듈에서 공통 사용.
- **핵심 함수/클래스**: `get_logger(name, level)`
- **출력**: `memory/logs/app.log`
- **상태**: 구현완료
- **의존성**: `logging.handlers`

#### 기능 17-2: 에러 추적기
- **파일**: `/home/jay/workspace/utils/error_tracker.py`
- **설명**: JSONL 형식으로 에러 기록. 컨텍스트 매니저(`error_context`) 지원. 추적 실패해도 메인 로직 지속.
- **핵심 함수/클래스**: `track_error()`, `get_recent_errors()`, `error_context()` (contextmanager)
- **입력**: module 이름, Exception 객체
- **출력**: `memory/logs/errors.jsonl`
- **상태**: 구현완료
- **의존성**: 표준 라이브러리

---

### 카테고리 18: 설정 및 구성

#### 기능 18-1: 팀/페르소나 설정 파일
- **파일**: `/home/jay/workspace/config/teams.json`, `/home/jay/workspace/config/personas.json`
- **설명**: 팀 구조(수직/횡단조직, 상태, 리더, 멤버) 및 페르소나(이름, 이모지, 역할, 전문 분야, 성격) 정의. 조직도(`memory/organization-structure.json`)의 경량 버전.
- **상태**: 구현완료

#### 기능 18-2: pytest 설정
- **파일**: `/home/jay/workspace/pyproject.toml`
- **설명**: pytest 경로(`tests/`), black(120자), isort(black 프로필), coverage 설정. coverage 제외 대상: orchestrator.py, glm-coder.py, inbox_utils.py, report_parser.py, sync-check.py, utils/error_tracker.py 등.
- **상태**: 구현완료

#### 기능 18-3: CLAUDE.md 공통 규칙
- **파일**: `/home/jay/workspace/CLAUDE.md`
- **설명**: Workspace 절대 규칙(코드 경로, 임시 파일, auto-document, 보고서 경로), QC 검증 명령, 대시보드 접속 URL, 작업 완료 후 필수 절차 정의.
- **상태**: 구현완료

---

## 외부 연동

| 서비스 | 용도 | 설정 위치 |
|--------|------|-----------|
| cokacdir | Telegram 봇 플랫폼 (메시지 전송/cron 예약) | `COKACDIR_KEY_ANU/DEV1/DEV2/DEV3` 환경변수, `.env.keys` |
| Telegram Bot API | group_chat 직접 폴링 | `GROUP_CHAT_BOT_TOKEN` 환경변수 |
| Claude CLI | group_chat 페르소나 응답, 의도 감지 | `/home/jay/.local/bin/claude`, Sonnet/Haiku 모델 |
| GLM-4.7-flash (z.ai) | dev3팀 코딩 보조 | `GLM_API_KEY` 환경변수, `https://api.z.ai/api/paas/v4/` |
| Gemini CLI | 비너스(디자인 디렉터) | `~/.gemini/settings.json` (OAuth 개인 인증) |
| Google Firestore | InsuWiki YouTube 요약 큐 | Firebase Admin SDK |
| Google Drive | 파일 업로드 변경 로그 | `scripts/drive-change-log.py` |
| pyright | LSP 타입 체크 | `teams/shared/run_pyright.sh` |
| Playwright/Chromium | 브라우저 제어 | `~/.cache/ms-playwright/` |
| Tailscale | 원격 대시보드 접속 | `http://100.76.130.39:8000/dashboard/` |

---

## 설정 파일

| 파일 | 설명 |
|------|------|
| `/home/jay/workspace/memory/organization-structure.json` | 조직 구조 (Source of Truth), 팀/멤버/모델/역할 정의 |
| `/home/jay/workspace/memory/task-timers.json` | 작업 타이머 상태 (running/completed/reserved/stale) |
| `/home/jay/workspace/memory/pipeline-status.json` | 파이프라인 활성 작업 상태 |
| `/home/jay/workspace/memory/active-projects.json` | 활성 프로젝트 목록 (라우팅 레이어용) |
| `/home/jay/workspace/memory/skill-triggers.json` | 스킬 자동 감지 트리거 조건 정의 |
| `/home/jay/workspace/memory/tech-debt.json` | 기술부채 항목 목록 |
| `/home/jay/workspace/memory/pending-actions.json` | 대기 액션 큐 |
| `/home/jay/workspace/memory/events/event-queue.json` | FIFO 이벤트 큐 |
| `/home/jay/workspace/memory/events/member-status.json` | 팀원 개별 상태 (대시보드용) |
| `/home/jay/workspace/memory/events/bot-activity.json` | 봇 활동 상태 (대시보드용) |
| `/home/jay/workspace/config/teams.json` | 팀 설정 경량 버전 |
| `/home/jay/workspace/config/personas.json` | 페르소나 설정 경량 버전 |
| `/home/jay/workspace/pyproject.toml` | pytest/black/isort/coverage 설정 |
| `/home/jay/.cokacdir/bot_settings.json` | 봇별 모델 설정 (Source of Truth, 읽기 전용) |

---

## 테스트 커버리지

- **루트 테스트**: `/home/jay/workspace/tests/` — 통합 테스트
- **팀별 테스트**: `teams/dev1/tests/`, `teams/dev1/qc/test_qc_verify.py`, `teams/dev1/qc/verifiers/`
- **스크립트 테스트**: `scripts/tests/test_worktree_manager.py`
- **프롬프트 테스트**: `prompts/test_consistency.py`, `prompts/test_team_prompts.py`
- **인라인 테스트**: `inbox_utils.py::run_tests()` (assert 기반, 임시 디렉토리 사용)
- **팀 단위 테스트**: `teams/dev1/test_*.py` (다수의 task별 테스트 파일)
- **pyproject.toml**: `testpaths = ["tests"]`, `addopts = "-v"`

---

## 미구현/계획 중 기능

- **config/teams.json**: `strategy-team`, `marketing-team`, `insurance-team` 상태 `"planned"` — 미활성화 팀
- **대시보드 WebSocket**: `server.py` 주석에 "FastAPI 모드로 업그레이드: pip install fastapi uvicorn websockets" 안내. SSE로 부분 대체됨.
- **memory/routing_layer.py**: 세션 라우팅 레이어 구현됨이나 실제 cokacdir 세션 연동 여부 불명확
- **token_tracker.py**: 일일 한도(100,000토큰) 추적 구현됨이나 실제 Claude API 토큰 카운팅 연동 여부 미확인
- **conversation-spec-watcher.py**: 대화 감지 후 spec-extractor 자동 호출 구현됨이나 활성화(데몬 실행) 여부 미확인
- **memory/organization-structure.json의 engine_summary**: `sync-check.py --fix`로 자동 재계산 대상이나 일부 멤버 모델 미설정 가능성 있음
- **group_chat.py**: `model="claude-haiku-4-5-20251001"` 하드코딩 — 최신 Haiku 모델명 업데이트 필요할 수 있음
- **memory/dev-team-structure.json**: `task-router.py`에서 참조하나 파일 존재 여부 별도 확인 필요
- **.claude/hooks/**: 조사 대상이었으나 `/home/jay/workspace/.claude/` 디렉토리가 존재하지 않음 — hooks 미구현 또는 다른 경로 사용
