# 아누시스템 종합 스펙 문서

> 아누시스템(Anu System) — 매트릭스 AI 에이전트 조직의 구조, 인프라, 워크플로우, 스킬 체계를 종합 정의하는 마스터 스펙 문서

---

## 목차 (TOC)

1. [조직 구조](#1-조직-구조)
2. [스킬 목록](#2-스킬-목록)
3. [서비스 및 인프라](#3-서비스-및-인프라)
4. [주기적 프로세스](#4-주기적-프로세스)
5. [프로젝트 목록](#5-프로젝트-목록)
6. [핵심 워크플로우](#6-핵심-워크플로우)
7. [도구 및 스크립트](#7-도구-및-스크립트)
8. [데이터 흐름](#8-데이터-흐름)

---

## 1. 조직 구조

**조직 타입**: 매트릭스 구조 — 수직조직(CC) + 횡단조직(CR)
**버전**: 3.2

---

### 1.1 수직조직 (CC — Command Chain)

#### 개발실 총괄

| 역할 | 페르소나 | 모델 | 비고 |
|------|----------|------|------|
| 개발실장 | 아누 (Anu) | Opus | 제이회장님 전용 / 봇A |
| 직할사원 | 픽셀 (Pixel) | Haiku | 직할 소속 |

---

#### 개발1팀 (dev1-team)

| 역할 | 페르소나 | 모델 | 신화권 |
|------|----------|------|--------|
| 팀장 | 헤르메스 (Hermes) | Opus | 그리스 |
| 백엔드 | 불칸 | Sonnet | — |
| 프론트엔드 | 이리스 | Sonnet | — |
| UX | 아테나 | Sonnet | — |
| 테스터 | 아르고스 | Haiku | — |

봇 매핑: **봇B → dev1 (헤르메스)**

---

#### 개발2팀 (dev2-team)

| 역할 | 페르소나 | 모델 | 신화권 |
|------|----------|------|--------|
| 팀장 | 오딘 (Odin) | Opus | 북유럽 |
| 백엔드 | 토르 | Sonnet | — |
| 프론트엔드 | 프레이야 | Sonnet | — |
| UX | 미미르 | Sonnet | — |
| 테스터 | 헤임달 | Haiku | — |

봇 매핑: **봇C → dev2 (오딘)**

---

#### 개발3팀 (dev3-team)

| 역할 | 페르소나 | 모델 | 신화권 |
|------|----------|------|--------|
| 팀장 | 다그다 (Dagda) | Sonnet | 켈트 |
| 백엔드 | 루 | Sonnet | — |
| 프론트엔드 | 브리짓 | Sonnet | — |
| UX | 에인 | Sonnet | — |
| 테스터 | 모리건 | Haiku | — |

봇 매핑: **봇D → dev3 (다그다)**

---

#### 개발4팀 (dev4-team)

| 역할 | 페르소나 | 모델 | 신화권 |
|------|----------|------|--------|
| 팀장 | 비슈누 (Vishnu) | Opus | 힌두 |
| 백엔드 | 카르티케야 | Sonnet | — |
| 프론트엔드 | 사라스바티 | Sonnet | — |
| UX | 락슈미 | Sonnet | — |
| 테스터 | 하누만 | Haiku | — |

봇 매핑: **봇E → dev4 (비슈누)**

---

#### 개발5팀 (dev5-team)

| 역할 | 페르소나 | 모델 | 신화권 |
|------|----------|------|--------|
| 팀장 | 마르둑 (Marduk) | Opus | 메소포타미아 |
| 백엔드 | 엔키 | Sonnet | — |
| 프론트엔드 | 이쉬타르 | Sonnet | — |
| UX | 나부 | Sonnet | — |
| 테스터 | 닌기르수 | Haiku | — |

봇 매핑: **봇F → dev5 (마르둑)**

---

#### 개발6팀 (dev6-team)

| 역할 | 페르소나 | 모델 | 신화권 |
|------|----------|------|--------|
| 팀장 | 페룬 (Perun) | Opus | 슬라브 |
| 백엔드 | 스바로그 | Sonnet | — |
| 프론트엔드 | 라다 | Sonnet | — |
| UX | 모코시 | Sonnet | — |
| 테스터 | 벨레스 | Haiku | — |

봇 매핑: **봇G → dev6 (페룬)**

---

#### 개발7팀 (dev7-team)

| 역할 | 페르소나 | 모델 | 신화권 |
|------|----------|------|--------|
| 팀장 | 이참나 (Itzamna) | Opus | 마야 |
| 백엔드 | 쿠쿨칸 | Sonnet | — |
| 프론트엔드 | 이쉬첼 | Sonnet | — |
| UX | 아쿠인 | Sonnet | — |
| 테스터 | 카마소츠 | Haiku | — |

봇 매핑: **봇H → dev7 (이참나)**

---

#### 개발8팀 (dev8-team, GLM)

| 역할 | 페르소나 | 모델 | 신화권 |
|------|----------|------|--------|
| 팀장 | 라 (Ra) | Sonnet | 이집트 |
| 백엔드 | 아누비스 | GLM-4.7 | — |
| 프론트엔드 | 이시스 | GLM-4.7 | — |
| UX | 토트 | GLM-4.7 | — |
| 테스터 | 호루스 | Haiku | — |

봇 매핑: **봇I → dev8 (라)**
특이사항: 팀원 엔진이 GLM-4.7 (Z.AI) 기반으로 운영됨

---

#### 마케팅팀 (논리적 팀)

| 역할 | 페르소나 | 모델 |
|------|----------|------|
| 팀장 | 아프로디테 | Opus |
| 콘텐츠 | 아폴론 | Sonnet |
| CRO 카피 | 페이토 | Sonnet |
| 전략 | 므네모시네 | Sonnet |
| SEO | 에이레네 | Sonnet |
| 실행 | 에코 | Haiku |
| Growth | 키르케 | Sonnet |

봇 매핑: 유동 배정 (가용 봇이 마케팅 모드로 전환)

---

#### 컨설팅팀 (논리적 팀)

| 역할 | 페르소나 | 모델 |
|------|----------|------|
| 보장 분석 | 아스클레피오스 | Haiku |
| 약관 비교 | 테미스 | Haiku |

봇 매핑: 유동 배정

---

#### 출판팀 (논리적 팀)

| 역할 | 페르소나 | 모델 |
|------|----------|------|
| 팀장 | 토트 | Opus |
| 구성 작가 | 칼리오페 | Sonnet |
| 초안 | 에라토 | Sonnet |
| 팩트체커 | 클리오 | Sonnet |
| 퇴고 | 테르프시코레 | Sonnet |
| 마케팅 카피 | 폴리뮤니아 | Haiku |
| 문서 편집 | 세쉬아트 | Sonnet |

봇 매핑: 유동 배정

---

#### 보안팀

| 역할 | 페르소나 | 모델 |
|------|----------|------|
| 팀장 | 로키 | Opus |
| Pentester | 펜리르 | Sonnet |
| Coder | 시긴 | Sonnet |
| Searcher | 라타토스크 | Sonnet |
| Supervision | 스쿨드 | Sonnet |

---

### 1.2 횡단조직 (CR — Cross-functional)

| 센터명 | 담당 페르소나 | 엔진 | 역할 | 상태 |
|--------|-------------|------|------|------|
| QC 센터 | 마아트 (Ma'at) | Sonnet | 독립 품질 검증 | 운영 중 |
| DevOps 센터 | 야누스 (Janus) | Sonnet | 인프라/배포 관리 | 운영 중 |
| Gemini 센터 | 비너스 (Venus) | Gemini 엔진 | 세컨드오피니언/디자인/이미지 생성 | 운영 중 |
| Codex 센터 | 아틀라스 (Atlas) | GPT 엔진 | 세컨드오피니언/코드 | 운영 중 |
| 전략 센터 | 프로메테우스 (Prometheus) | Sonnet | 제품 전략 리뷰 | 운영 중 |
| 회고분석 센터 | 크로노스 (Chronos) | Sonnet | 주간 회고/트렌드 분석 | 운영 중 |
| Finance 센터 | (미정) | — | 재무 관리 | planned |
| 출판 센터 | 토트 (Thoth) | Opus | 출판 총괄 | planned |

---

### 1.3 봇-팀 매핑 요약

| 봇 ID | 담당 팀 | 팀장 |
|-------|---------|------|
| 봇A | 개발실장 (직속) | 아누 |
| 봇B | dev1 | 헤르메스 |
| 봇C | dev2 | 오딘 |
| 봇D | dev3 | 다그다 |
| 봇E | dev4 | 비슈누 |
| 봇F | dev5 | 마르둑 |
| 봇G | dev6 | 페룬 |
| 봇H | dev7 | 이참나 |
| 봇I | dev8 | 라 |
| 유동 | 마케팅/컨설팅/출판팀 | 가용 봇 모드 전환 |

---

## 2. 스킬 목록

총 **85개** 스킬. 카테고리별로 분류.

---

### 2.1 마케팅 / CRO (32개)

| 스킬 ID | 설명 |
|---------|------|
| `page-cro` | 페이지 전환율 최적화 |
| `form-cro` | 폼 전환율 최적화 |
| `popup-cro` | 팝업 전환율 최적화 |
| `signup-flow-cro` | 가입 플로우 CRO |
| `onboarding-cro` | 온보딩 CRO |
| `paywall-upgrade-cro` | 페이월/업그레이드 CRO |
| `churn-prevention` | 이탈 방지 전략 |
| `ab-test-setup` | A/B 테스트 설정 |
| `copywriting` | 카피라이팅 |
| `copywriting-prompt` | 카피라이팅 프롬프트 (구 conversion-copywriter 통합) |
| `copy-editing` | 카피 편집 |
| `ad-creative` | 광고 크리에이티브 |
| `marketing-ideas` | 마케팅 아이디어 생성 |
| `marketing-psychology` | 마케팅 심리학 적용 |
| `marketing-strategist` | 마케팅 전략가 |
| `content-strategy` | 콘텐츠 전략 |
| `social-content` | 소셜 콘텐츠 제작 |
| `thread-architect` | Threads 콘텐츠 아키텍트 |
| `paid-ads` | 유료 광고 운영 |
| `analytics-tracking` | 분석 추적 설정 |
| `lead-magnets` | 리드 마그넷 설계 |
| `referral-program` | 레퍼럴 프로그램 |
| `cold-email` | 콜드 이메일 |
| `email-sequence` | 이메일 시퀀스 |
| `free-tool-strategy` | 무료 도구 전략 |
| `sales-enablement` | 세일즈 지원 |
| `revops` | Revenue Operations |
| `product-marketing-context` | 제품 마케팅 컨텍스트 |
| `competitor-analyst` | 경쟁사 분석 |
| `competitor-alternatives` | 경쟁사 대안 제시 |
| `pricing-strategy` | 가격 전략 |
| `launch-strategy` | 런치 전략 |

---

### 2.2 SEO / 콘텐츠 (8개)

| 스킬 ID | 설명 |
|---------|------|
| `blog-dominance` | 블로그 도미넌스 전략 |
| `seo-audit` | SEO 감사 |
| `programmatic-seo` | 프로그래매틱 SEO |
| `site-architecture` | 사이트 구조 설계 |
| `schema-markup` | 스키마 마크업 |
| `naver-seo` | 네이버 SEO |
| `ai-seo` | AI SEO 최적화 |
| `geo-optimizer` | GEO(Generative Engine Optimization) 최적화 |

---

### 2.3 이미지 / 디자인 (6개)

| 스킬 ID | 설명 |
|---------|------|
| `canvas-design` | 캔버스 디자인 |
| `frontend-design` | 프론트엔드 디자인 |
| `gemini-image` | Gemini 이미지 생성 |
| `hybrid-image` | 하이브리드 이미지 |
| `satori-cardnews` | Satori 카드뉴스 |
| `image-gen-guide` | 이미지 생성 가이드 |

---

### 2.4 개발 / 코딩 (14개)

| 스킬 ID | 설명 |
|---------|------|
| `fullstack-builder` | 풀스택 빌더 |
| `claude-api` | Claude API 연동 |
| `mcp-builder` | MCP 빌더 |
| `vercel-react-best-practices` | Vercel + React 베스트 프랙티스 |
| `supabase-postgres-best-practices` | Supabase + PostgreSQL 베스트 프랙티스 |
| `webapp-testing` | 웹앱 테스트 |
| `playwright-generate-test` | Playwright 테스트 자동 생성 |
| `subagent-driven-development` | 서브에이전트 기반 개발 |
| `git-worktree-isolation` | Git Worktree 격리 개발 |
| `ship` | 빠른 배포/출시 |
| `tdd-enforcement` | TDD 강제 적용 |
| `systematic-debugging` | 체계적 디버깅 |
| `verification-before-completion` | 완료 전 검증 |

---

### 2.5 리서치 / 분석 (10개)

| 스킬 ID | 설명 |
|---------|------|
| `research-prompt` | 리서치 프롬프트 |
| `cross-verified-research` | 교차 검증 리서치 |
| `deep-dive-analyzer` | 심층 분석 |
| `insight-extractor` | 인사이트 추출 |
| `strategy-prompt` | 전략 프롬프트 |
| `adversarial-review` | 적대적 리뷰 |
| `swing-trace` | Swing 추적 분석 |
| `swing-options` | Swing 옵션 분석 |
| `swing-mortem` | Swing 사후 분석 |
| `swing-clarify` | Swing 명확화 |

---

### 2.6 출판 / 글쓰기 (4개)

| 스킬 ID | 설명 |
|---------|------|
| `book-writer` | 책 작성 |
| `human-writer` | 인간적 글쓰기 |
| `pdf` | PDF 문서 생성 |
| `docx` | DOCX 문서 생성 |

---

### 2.7 크롤링 (1개)

| 스킬 ID | 설명 |
|---------|------|
| `advanced-crawling` | 고급 웹 크롤링 |

---

### 2.8 프로세스 / 관리 (10개)

| 스킬 ID | 설명 |
|---------|------|
| `3docs-create` | 3문서(계획서+맥락노트+체크리스트) 생성 |
| `agent-meeting` | 에이전트 미팅 소집 및 합의 |
| `nuclear-approval` | 핵미사일 승인 프로세스 |
| `retro` | 회고 실행 |
| `skill-creator` | 새 스킬 생성 |
| `find-skills` | 스킬 탐색 |
| `project-kickoff` | 프로젝트 킥오프 |
| `pdp-agent` | PDP 에이전트 |

---

### 2.9 사용 중단 스킬

| 스킬 ID | 대체 스킬 | 사유 |
|---------|----------|------|
| `conversion-copywriter` | `copywriting-prompt` | 통합됨 |

### 2.10 스킬 현황 (자동 업데이트)

<!-- AUTO:skills:START -->
**총 100개 스킬**

- `3docs-create`
- `ab-test-setup`
- `ad-creative`
- `advanced-crawling`
- `adversarial-review`
- `agent-meeting`
- `ai-seo`
- `analytics-tracking`
- `autoresearch`
- `blog-dominance`
- `blog-publish-naver`
- `blog-publish-tistory`
- `blog-writer`
- `book-writer`
- `brainstorming`
- `canvas-design`
- `changelog-generator`
- `churn-prevention`
- `claude-api`
- `cold-email`
- `competitor-alternatives`
- `competitor-analyst`
- `content-strategy`
- `conversion-copywriter`
- `copy-editing`
- `copywriting`
- `copywriting-prompt`
- `cross-verified-research`
- `deep-dive-analyzer`
- `docx`
- `email-sequence`
- `find-skills`
- `form-cro`
- `free-tool-strategy`
- `frontend-design`
- `fullstack-builder`
- `gemini-image`
- `geo-optimizer`
- `git-worktree-isolation`
- `human-writer`
- `hybrid-image`
- `image-gen-guide`
- `insane-design`
- `insight-extractor`
- `internal-comms`
- `langsmith-fetch`
- `launch-strategy`
- `lead-magnets`
- `lightpanda-crawl`
- `marketing-ideas`
- `marketing-psychology`
- `marketing-strategist`
- `mcp-builder`
- `naver-seo`
- `nuclear-approval`
- `onboarding-cro`
- `owasp-security`
- `page-cro`
- `paid-ads`
- `paywall-upgrade-cro`
- `pdf`
- `pdp-agent`
- `playwright-generate-test`
- `popup-cro`
- `pptx`
- `pricing-strategy`
- `product-marketing-context`
- `programmatic-seo`
- `project-kickoff`
- `referral-program`
- `research-prompt`
- `retro`
- `revops`
- `sales-enablement`
- `sanitize`
- `satori-cardnews`
- `schema-markup`
- `seo-audit`
- `shared`
- `ship`
- `signup-flow-cro`
- `site-architecture`
- `skill-creator`
- `social-content`
- `strategy-prompt`
- `subagent-driven-development`
- `supabase-postgres-best-practices`
- `swing-clarify`
- `swing-mortem`
- `swing-options`
- `swing-trace`
- `systematic-debugging`
- `tdd-enforcement`
- `thread-architect`
- `thread-hook-formula`
- `vercel-react-best-practices`
- `verification-before-completion`
- `webapp-testing`
- `xlsx`
- `youtube-transcript`
<!-- AUTO:skills:END -->

---

## 3. 서비스 및 인프라

### 3.1 상시 가동 서비스 (systemctl --user)

| 서비스명 | 설명 | 포트 |
|---------|------|------|
| `cokacdir.service` | 텔레그램 봇 게이트웨이 (작업 디스패치) | — |
| `dashboard.service` | 조직 대시보드 | 8000 |
| `insuro-preview.service` | InsuRo 프리뷰 서버 | — |
| `openclaw-gateway.service` | OpenClaw Gateway (GLM 연동) | — |

---

### 3.2 서버 정보

| 항목 | 값 |
|------|-----|
| OS | Ubuntu Linux 6.8.0-106-generic |
| GPU | GTX 1060 6GB (Whisper GPU 전용) |
| Tailscale IP | 100.76.130.39 |
| 공개 IP | 211.49.68.111 |
| Cloudflare Tunnel | Whisper GPU 서비스 (포트 8200) |

---

### 3.3 외부 연동 서비스

| 서비스 | 용도 | 인증 정보 |
|--------|------|-----------|
| Firebase | insuwiki-j2h (InsuWiki 프로젝트) | 환경변수에 저장됨 |
| Google Drive | 문서 연동 | 환경변수에 저장됨 |
| YouTube API | 트랜스크립트 추출 | 환경변수에 저장됨 |
| Gemini (Google) | 비너스 센터 — 이미지 생성, 세컨드오피니언 | 환경변수에 저장됨 |
| OpenAI (GPT) | 아틀라스 센터 — 세컨드오피니언/코드 | 환경변수에 저장됨 |
| Z.AI (GLM) | dev8팀 팀원 엔진 (GLM-4.7) | 환경변수에 저장됨 |
| GitHub | 코드 저장소, PR 관리 | 환경변수에 저장됨 |

### 3.4 서비스 현황 (자동 업데이트)

<!-- AUTO:services:START -->
**실행 중: 9개**

- `at-spi-dbus-bus.service`
- `cloudflared-whisper.service`
- `cokacdir.service`
- `dashboard.service`
- `dbus.service`
- `gpg-agent.service`
- `lightpanda.service`
- `openclaw-gateway.service`
- `whisper-gpu.service`
<!-- AUTO:services:END -->

---

## 4. 주기적 프로세스

### 4.1 등록된 Cron 스케줄

| 스케줄 ID | 작업 | 실행 시간 | 스케줄 표현식 |
|-----------|------|-----------|--------------|
| BD78A87F | Threads 콘텐츠 2주 데이터 리뷰 | 2026-03-26 09:00 (1회성) | 절대시간 |
| A0E18067 | 주간 회고 실행 | 매주 월요일 09:00 | `0 9 * * 1` |
| 5390C20F | 카나리 테스트 | 매일 09:00 | `0 9 * * *` |
| 5417583A | 주간 리포트 | 매주 월요일 08:00 | `0 8 * * 1` |

#### 카나리 테스트 (5390C20F) 상세

`canary-test.py`가 매일 09:00에 실행되어 아래 **7개 핵심 기능**을 자동 검증:

1. 텔레그램 봇 게이트웨이 응답 여부
2. 대시보드 서비스 접근 가능 여부
3. 스킬 호출 정상 작동 여부
4. dispatch.py 파라미터 처리 여부
5. .done 파일 감지 및 처리 여부
6. 토큰 추적 기록 여부
7. 메모리 파일 읽기/쓰기 여부

결과는 `memory/canary-status.json`에 기록됨.

---

### 4.2 기타 주기적 프로세스

| 프로세스 | 방식 | 비고 |
|---------|------|------|
| InsuWiki 크롤링 | 수동 실행 | 별도 스크립트 |
| ThreadAuto 자동 게시 | FastAPI 상시 구동 | Threads 플랫폼 대상 |
| done-watcher | 상시 구동 | .done 파일 감지 → 완료 통보 |
| activity-watcher | 상시 구동 | 에이전트 활동 모니터링 |

### 4.3 Cron 현황 (자동 업데이트)

<!-- AUTO:cron:START -->
```json
{
  "schedules": [
    {
      "created_at": "2026-03-15 03:32:49",
      "id": "A0E18067",
      "once": false,
      "prompt": "주간 회고 실행: python3 /home/jay/workspace/scripts/weekly-retro.py를 실행하고 결과를 제이회장님께 보고",
      "schedule": "0 9 * * 1",
      "schedule_type": "cron"
    },
    {
      "created_at": "2026-03-22 11:08:31",
      "id": "5390C20F",
      "once": false,
      "prompt": "cd /home/jay/workspace && python3 scripts/canary-test.py 실행하여 시스템 7개 핵심 기능 자동 검증. 실패 시 제이회장님께 알림.",
      "schedule": "0 9 * * *",
      "schedule_type": "cron"
    },
    {
      "created_at": "2026-03-22 11:08:33",
      "id": "5417583A",
      "once": false,
      "prompt": "cd /home/jay/workspace && python3 scripts/weekly-report.py 실행하여 주간 메트릭 리포트 생성. 팀별 QC 통과율, 평균 소요시간, stale 작업 등 집계하여 memory/reports/weekly/ 에 저장 후 제이회장님께 보고.",
      "schedule": "0 8 * * 1",
      "schedule_type": "cron"
    },
    {
      "created_at": "2026-03-25 09:01:24",
      "id": "AAA915B5",
      "once": false,
      "prompt": "bash /home/jay/workspace/scripts/backup-spec.sh 실행하여 anu-system-spec.md 백업 수행. 결과를 확인하고 실패 시 제이회장님께 알림.",
      "schedule": "0 */6 * * *",
      "schedule_type": "cron"
    },
    {
      "created_at": "2026-03-25 09:01:30",
      "id": "E5DDA160",
      "once": false,
      "prompt": "ANU_KEY=c119085addb0f8b7 ANU_CHAT=6937032012 python3 /home/jay/workspace/scripts/update-system-spec.py 실행하여 시스템 스펙 문서 자동 업데이트 수행. 변경 사항이 있으면 changelog에 기록. 실패 시 제이회장님께 알림.",
      "schedule": "15 */6 * * *",
      "schedule_type": "cron"
    },
    {
      "created_at": "2026-03-25 13:03:06",
      "id": "02A713FA",
      "once": false,
      "prompt": "cleanup-large-audio.sh를 실행하여 대용량 오디오 파일을 정리하세요. 스크립트 경로: /home/jay/workspace/scripts/cleanup-large-audio.sh. 실행 명령: bash /home/jay/workspace/scripts/cleanup-large-audio.sh",
      "schedule": "30 */6 * * *",
      "schedule_type": "cron"
    }
  ],
  "status": "ok"
}
```
<!-- AUTO:cron:END -->

---

## 5. 프로젝트 목록

| 프로젝트 | 경로 | 기술 스택 | 설명 |
|---------|------|-----------|------|
| InsuWiki | `/home/jay/projects/insuwiki/` | Next.js, Firebase (insuwiki-j2h) | 보험 지식 위키 |
| InsuRo | `/home/jay/projects/InsuRo/` | Vite + React + TypeScript + Shadcn | 보험 비교/추천 서비스 |
| MediScan | `/home/jay/projects/MediScan/` | 미확인 | 의료 스캔 관련 서비스 |
| InfoKeyword | `/home/jay/projects/InfoKeyword/` | Node.js | 키워드 분석 도구 |
| ThreadAuto | `/home/jay/projects/ThreadAuto/` | Python / FastAPI | Threads 자동 게시 시스템 |

### 5.2 프로젝트 현황 (자동 업데이트)

<!-- AUTO:projects:START -->
**총 7개 프로젝트**

- `BlogAuto`
- `InfoKeyword`
- `InforKeyword`
- `InsuRo`
- `MediScan`
- `ThreadAuto`
- `insuwiki`
<!-- AUTO:projects:END -->

---

## 6. 핵심 워크플로우

### 6.1 작업 디스패치 (dispatch.py)

아누가 팀에 작업을 위임하는 핵심 프로세스.

```bash
python dispatch.py --team <team_id> --task-id <task_id> --level <level>
```

| 파라미터 | 설명 |
|---------|------|
| `--team` | 작업을 위임할 팀 ID (예: dev4) |
| `--task-id` | 고유 작업 식별자 |
| `--level` | 작업 난이도/레벨 |

---

### 6.2 .done 프로토콜 (작업 완료 감지)

작업 완료 시 `memory/events/{task_id}.done` 파일을 생성하여 신호 전달.

```
memory/events/{task_id}.done
```

파일 내용 포함 정보:
- 완료 상태 (status)
- merge 정보

`done-watcher.py` / `done-watcher.sh`가 상시 감지하여 완료 통보 체인 실행.

---

### 6.3 작업 타이머 (task-timer)

`memory/task-timer.py`로 작업 시작/종료 시간 추적.
결과는 `memory/task-timers.json`에 기록됨.

---

### 6.4 보고서 생성 (SCQA 프레임워크)

보고서는 SCQA 프레임워크 기반으로 생성:

- **S**ituation (상황) → **C**omplication (문제) → **Q**uestion (질문) → **A**nswer (답변)

저장 경로: `memory/reports/{task_id}.md`

---

### 6.5 토큰 추적 (token-tracker)

`scripts/token-tracker.py`가 세션별 토큰 사용량 추적.
JSONL 세션 파일을 스캔하여 `memory/token-ledger.json`에 기록.

---

### 6.6 에이전트 미팅 (agent-meeting 스킬)

여러 페르소나를 소집하여 의사결정을 진행하는 협업 프로세스:

1. 여러 페르소나 소집
2. 각자 의견 수집
3. 합의 도출
4. 결과 기록

---

### 6.7 QC 프로세스

```
셀프 QC → qc_verify.py 자동 검증 → [critical 이슈: 마아트] → [security 이슈: 로키]
```

| 단계 | 담당 | 조건 |
|------|------|------|
| 셀프 QC | 작업자 본인 | 항상 |
| 자동 검증 | qc_verify.py | 항상 |
| 품질 검증 | 마아트 (QC 센터) | critical 이슈 시 |
| 보안 검증 | 로키 (보안팀) | security 이슈 시 |

---

### 6.8 3문서 시스템 (코딩 전 필수)

코딩 작업 시작 전 반드시 3문서를 생성 후 핵미사일 승인을 받아야 함:

```
계획서 → 맥락노트 → 체크리스트 → [핵미사일 승인] → 코딩 시작
```

| 문서 | 역할 |
|------|------|
| 계획서 | 작업 목표, 범위, 접근 방법 정의 |
| 맥락노트 | 관련 배경 정보, 제약 조건 기록 |
| 체크리스트 | 완료 기준 및 검증 항목 목록 |

---

### 6.9 작업 완료 체인 (finish-task)

```
finish-task.sh → .done 파일 생성 → task-timer 종료 → notify-completion.py (팀장→아누 통보)
```

`notify-completion.py`는 체인 인식 기능을 갖추고 있어 완료 통보가 계층적으로 전달됨.

---

## 7. 도구 및 스크립트

기본 경로: `/home/jay/workspace/scripts/`

---

### 7.1 핵심 운영 스크립트

| 파일 | 역할 |
|------|------|
| `finish-task.sh` | 작업 마무리 (.done 생성 → timer end → 완료 통보) |
| `notify-completion.py` | 팀장→아누 완료 통보 (체인 인식) |
| `done-watcher.py` | .done 파일 감지 워처 (Python) |
| `done-watcher.sh` | .done 파일 감지 워처 (Bash) |
| `worktree_manager.py` | Git Worktree 생성/정리/머지 관리 |

---

### 7.2 분석 / 보고 스크립트

| 파일 | 역할 |
|------|------|
| `token-tracker.py` | 토큰 사용량 추적 (JSONL 세션 스캔) |
| `weekly-report.py` | 주간 메트릭 리포트 생성 |
| `weekly-retro.py` | 주간 회고 분석 |
| `canary-test.py` | 7개 핵심 기능 자동 검증 |
| `health-score.py` / `health_score.py` | 시스템 건강도 점수 산출 |

---

### 7.3 코드 품질 스크립트

| 파일 | 역할 |
|------|------|
| `code-review.py` | 코드 리뷰 자동화 |
| `diff-aware-qa.py` | 변경 사항 기반 QA |
| `lint.sh` | 린트 실행 |
| `ci.sh` | CI 파이프라인 실행 |
| `ci-report.py` | CI 결과 리포트 생성 |

---

### 7.4 유틸리티 스크립트

| 파일 | 역할 |
|------|------|
| `browser.py` | 브라우저 자동화 |
| `project-map.py` | 프로젝트 맵 생성 |
| `gen-skill-docs.py` | 스킬 문서 자동 생성 |
| `memory-janitor.py` | 메모리 정리 |
| `cleanup-stale-tasks.sh` | 오래된 작업 정리 |
| `orphan-watchdog.py` | 고아 작업 감시 |
| `pattern-detector.py` | 패턴 감지 |

---

### 7.5 크롤링 / 외부 연동 스크립트

| 파일 | 역할 |
|------|------|
| `insurance_crawler.py` | 보험 크롤러 |
| `insurance_spider.py` | 보험 스파이더 |
| `youtube-transcribe.py` | YouTube 트랜스크립트 생성 |
| `youtube-check-new-transcripts.py` | YouTube 신규 트랜스크립트 확인 |
| `crawl_utils.py` | 크롤링 유틸리티 |
| `curl_to_fetcher.py` | curl 요청을 fetcher로 변환 |

---

### 7.6 인프라 스크립트

| 파일 | 역할 |
|------|------|
| `start-whisper-gpu.sh` | Whisper GPU 서비스 시작 |
| `setup-gpu.sh` | GPU 환경 설정 |
| `verify-gpu.sh` | GPU 상태 검증 |
| `start-hybrid-server.sh` | 하이브리드 서버 시작 |
| `stop-hybrid-server.sh` | 하이브리드 서버 중지 |
| `start-cloudflared-whisper.sh` | Cloudflare Tunnel 시작 (Whisper 전용) |
| `start-activity-watcher.sh` | 활동 워처 시작 |
| `bot-status-watchdog.py` | 봇 상태 감시 |
| `secret-rotation-check.py` | 시크릿 로테이션 확인 (값 미포함) |
| `npm-audit.sh` | npm 보안 감사 |

---

### 7.7 기타 스크립트

| 파일 | 역할 |
|------|------|
| `add-team.py` | 팀 추가 |
| `auto_merge.py` | 자동 머지 |
| `extract-changed-files.py` | 변경 파일 추출 |
| `invoke_venus.py` | 비너스 센터 호출 (Gemini) |
| `preview_manager.py` | 프리뷰 관리 |
| `learnings_archiver.py` | 학습 내용 아카이브 |
| `transcript-learner.py` | 트랜스크립트 기반 학습 |

### 7.8 스크립트 현황 (자동 업데이트)

<!-- AUTO:scripts:START -->
**총 101개 파일**

- `__init__.py`
- `absorption-health-check.py`
- `activity-watcher.py`
- `add-team.py`
- `analyze_ab.py`
- `auto_merge.py`
- `backup-spec.sh`
- `bot-status-watchdog.py`
- `browser.py`
- `canary-test.py`
- `check-dev3.py`
- `check-dev8.py`
- `ci-report.py`
- `ci.sh`
- `cleanup-large-audio.sh`
- `cleanup-stale-tasks.cron.txt`
- `cleanup-stale-tasks.sh`
- `cleanup-workspace.py`
- `code-review.py`
- `completion-handler-instructions.md`
- `crawl_utils.py`
- `curl_to_fetcher.py`
- `design_md_search.py`
- `diff-aware-qa.py`
- `done-watcher.py`
- `done-watcher.sh`
- `done-watcher.sh.bak`
- `drive-change-log.py`
- `ensure-bot-memory.sh`
- `extract-changed-files.py`
- `file-cleanup.py`
- `file_cleanup.py`
- `finish-task.sh`
- `gen-skill-docs.py`
- `generate_file_summaries.py`
- `google_ads_cli.py`
- `health-score.py`
- `health_score.py`
- `hybrid_server.py`
- `insurance_crawler.py`
- `insurance_spider.py`
- `invoke_venus.py`
- `learning-analyzer.py`
- `learnings_archiver.py`
- `lint-workspace.py`
- `lint.sh`
- `meeting-audit.py`
- `memory-janitor.py`
- `memory-search.py`
- `memory_janitor.py`
- `merge_refined.py`
- `meta_ads_cli.py`
- `notify-completion.py`
- `notify-completion.py.bak`
- `npm-audit.sh`
- `orphan-watchdog.py`
- `output-review.py`
- `output_review_ai.py`
- `output_review_helpers.py`
- `passive_feedback.py`
- `pattern-detector.py`
- `post-task-hook.sh`
- `pre-commit-install.sh`
- `preview_manager.py`
- `project-map.py`
- `refine_threads.py`
- `report_utils.py`
- `run-file-cleanup.sh`
- `safe-gh-read.sh`
- `scrapling_mcp_config.json`
- `secret-rotation-check.py`
- `session-watchdog.sh`
- `session_watchdog.py`
- `setup-gpu.sh`
- `skill-judge.py`
- `skill-quality-check.py`
- `split_threads.py`
- `start-activity-watcher.sh`
- `start-cloudflared-whisper.sh`
- `start-hybrid-server.sh`
- `start-whisper-gpu.sh`
- `stop-hybrid-server.sh`
- `switch-account.sh`
- `tech-debt.py`
- `test_utm_builder.py`
- `thread_dumper.py`
- `token-tracker.py`
- `transcript-learner.py`
- `unify_before_starting.py`
- `update-system-spec.py`
- `utm_builder.py`
- `validate-output-structure.py`
- `verify-gpu.sh`
- `weekly-report.py`
- `weekly-retro.py`
- `weekly_retro.py`
- `whisper-compile.py`
- `whisper-save-guidance.py`
- `worktree_manager.py`
- `youtube-check-new-transcripts.py`
- `youtube-transcribe.py`
<!-- AUTO:scripts:END -->

---

## 8. 데이터 흐름

### 8.1 핵심 메모리 파일

기본 경로: `/home/jay/workspace/memory/`

---

#### `memory/task-timers.json`

작업 시간 기록 파일.

```json
{
  "tasks": {
    "<task_id>": {
      "task_id": "string",
      "team_id": "string",
      "description": "string",
      "start_time": "ISO8601",
      "end_time": "ISO8601",
      "duration_seconds": 0,
      "status": "string",
      "token_usage": {}
    }
  }
}
```

업데이트 주체: `task-timer.py`

---

#### `memory/token-ledger.json`

세션별 토큰 사용량 기록 파일.

```json
{
  "tasks": {
    "<task_id>": {
      "session_id": "string",
      "team_id": "string",
      "input_tokens": 0,
      "output_tokens": 0,
      "cache_read_tokens": 0,
      "cache_write_tokens": 0,
      "total_tokens": 0,
      "message_count": 0,
      "timestamp": "ISO8601",
      "model": "string",
      "cost_estimate_usd": 0.0
    }
  }
}
```

업데이트 주체: `token-tracker.py`

---

#### `memory/organization-structure.json`

조직 구조 정의 파일 (v3.2).
팀/멤버/역할/모델 정보 포함.
업데이트 방식: **수동 업데이트** (구조 변경 시 직접 편집)

---

### 8.2 상태 관리 파일

| 파일 | 내용 | 업데이트 방식 |
|------|------|--------------|
| `memory/active-projects.json` | 활성 프로젝트 목록 | 프로젝트 추가/종료 시 |
| `memory/canary-status.json` | 카나리 테스트 결과 | `canary-test.py` (매일 자동) |
| `memory/merge-log.json` | 머지 이력 | `auto_merge.py` / `worktree_manager.py` |
| `memory/progress-tracker.json` | 진행 상황 추적 | 작업 상태 변경 시 |
| `memory/skill-triggers.json` | 스킬 트리거 매핑 | 스킬 추가/변경 시 수동 |
| `memory/tech-debt.json` | 기술 부채 목록 | 등록/해소 시 수동 |
| `memory/todo.json` | 대기 작업 목록 | 작업 생성/완료 시 |

### 8.2.1 작업 통계 (자동 업데이트)

<!-- AUTO:task_stats:START -->
| 항목 | 값 |
|------|-----|
| 총 작업 수 | 1370 |
| 완료된 작업 | 1358 |
| 완료율 | 99.1% |
| 평균 소요시간 | 31분 15초 |
| 최대 소요시간 | 100시간 49분 39초 |
| 최소 소요시간 | 0초 |
<!-- AUTO:task_stats:END -->

---

### 8.3 이벤트 파일

| 파일 패턴 | 내용 | 생성 주체 |
|-----------|------|----------|
| `memory/events/{task_id}.done` | 작업 완료 신호 (상태, merge 정보) | `finish-task.sh` |
| `memory/reports/{task_id}.md` | SCQA 기반 작업 보고서 | 팀장/작업자 |

---

### 8.4 데이터 흐름 다이어그램

```
[텔레그램 봇] → [cokacdir.service] → [dispatch.py]
                                              |
                    ┌─────────────────────────┤
                    ↓                         ↓
             [dev팀 봇 (B~I)]          [마케팅/출판/컨설팅 (유동)]
                    |
                    ↓
            [작업 실행 (Claude Code)]
                    |
         ┌──────────┴──────────┐
         ↓                     ↓
   [task-timer.py]      [token-tracker.py]
         |                     |
         ↓                     ↓
  [task-timers.json]   [token-ledger.json]
         |
         ↓
  [finish-task.sh]
         |
         ↓
  [{task_id}.done] → [done-watcher] → [notify-completion.py] → [아누]
         |
         ↓
  [QC 프로세스] → [마아트/로키 (조건부)]
         |
         ↓
  [weekly-report.py] / [weekly-retro.py] (매주 월요일)
```

---

## 메타정보

| 항목 | 내용 |
|------|------|
| 문서명 | 아누시스템 종합 스펙 문서 |
| 버전 | 1.0.0 |
| 생성일 | 2026-03-25 |
| 작성자 | 사라스바티 (dev4-team, 프론트엔드) |
| 조직 구조 버전 | v3.2 |
| 스킬 수 | 85개 |
| 자동 업데이트 여부 | `update-system-spec.py`에 의한 6시간 주기 자동 업데이트 (AUTO 마커 섹션) |
| 백업 주기 | 6시간 (`backup-spec.sh`), 최근 7일분 보존 |
| 보안 정책 | API 키, 토큰 등 모든 인증 정보는 환경변수에 저장됨 — 본 문서에 포함하지 않음 |

> 본 문서는 아누시스템의 마스터 레퍼런스입니다. 조직 구조(v3.2), 스킬, 인프라, 워크플로우가 변경될 경우 해당 섹션을 갱신하세요.
