# Graph Report - /Users/etlab/projects/max-agents  (2026-04-29)

## Corpus Check
- Large corpus: 308 files · ~610,941 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only.

## Summary
- 1942 nodes · 3936 edges · 110 communities detected
- Extraction: 67% EXTRACTED · 33% INFERRED · 0% AMBIGUOUS · INFERRED: 1296 edges (avg confidence: 0.69)
- Token cost: 14,700 input · 5,000 output

## Community Hubs (Navigation)
- [[_COMMUNITY_Agent Runner Core|Agent Runner Core]]
- [[_COMMUNITY_Workflow Database|Workflow Database]]
- [[_COMMUNITY_Chat & DB Layer|Chat & DB Layer]]
- [[_COMMUNITY_Agent Loader & Registry|Agent Loader & Registry]]
- [[_COMMUNITY_Enforcement & Role Gates|Enforcement & Role Gates]]
- [[_COMMUNITY_NATS Messaging|NATS Messaging]]
- [[_COMMUNITY_Legacy App & Cron Tools|Legacy App & Cron Tools]]
- [[_COMMUNITY_Consistency Judge|Consistency Judge]]
- [[_COMMUNITY_Agent Personas & Knowledge|Agent Personas & Knowledge]]
- [[_COMMUNITY_Skill Manager|Skill Manager]]
- [[_COMMUNITY_Response Guard|Response Guard]]
- [[_COMMUNITY_Agent Runner Lifecycle|Agent Runner Lifecycle]]
- [[_COMMUNITY_Slump Detection|Slump Detection]]
- [[_COMMUNITY_Slack Reporter|Slack Reporter]]
- [[_COMMUNITY_Infrastructure & Cron|Infrastructure & Cron]]
- [[_COMMUNITY_Office Asset Generator|Office Asset Generator]]
- [[_COMMUNITY_API Keys & Image Gen|API Keys & Image Gen]]
- [[_COMMUNITY_Office Characters (Current)|Office Characters (Current)]]
- [[_COMMUNITY_Office Characters (v1)|Office Characters (v1)]]
- [[_COMMUNITY_Phaser Boot Scene|Phaser Boot Scene]]
- [[_COMMUNITY_OfficeCharacter Class|OfficeCharacter Class]]
- [[_COMMUNITY_Dashboard Settings & Store|Dashboard Settings & Store]]
- [[_COMMUNITY_Park Chief Tests|Park Chief Tests]]
- [[_COMMUNITY_Agent Admin API|Agent Admin API]]
- [[_COMMUNITY_Office Game Tiles|Office Game Tiles]]
- [[_COMMUNITY_Brain Heartbeat Tests|Brain Heartbeat Tests]]
- [[_COMMUNITY_AutoSMS Preferences|AutoSMS Preferences]]
- [[_COMMUNITY_Settings Client UI|Settings Client UI]]
- [[_COMMUNITY_Agents Manager|Agents Manager]]
- [[_COMMUNITY_AutoSMS Main Activity|AutoSMS Main Activity]]
- [[_COMMUNITY_Response NameError Fix|Response NameError Fix]]
- [[_COMMUNITY_Chat Page UI|Chat Page UI]]
- [[_COMMUNITY_Phone Call Receiver|Phone Call Receiver]]
- [[_COMMUNITY_AutoSMS App Icons|AutoSMS App Icons]]
- [[_COMMUNITY_Chat Client Functions|Chat Client Functions]]
- [[_COMMUNITY_SMS Action Receiver|SMS Action Receiver]]
- [[_COMMUNITY_Brain Viewer|Brain Viewer]]
- [[_COMMUNITY_Budget Todo App|Budget Todo App]]
- [[_COMMUNITY_Test Configuration|Test Configuration]]
- [[_COMMUNITY_Weekly Report Tests|Weekly Report Tests]]
- [[_COMMUNITY_Visual Updates Tests|Visual Updates Tests]]
- [[_COMMUNITY_Chat Page Tests|Chat Page Tests]]
- [[_COMMUNITY_Chat Client Component|Chat Client Component]]
- [[_COMMUNITY_Boot Receiver|Boot Receiver]]
- [[_COMMUNITY_App Root Layout|App Root Layout]]
- [[_COMMUNITY_Communication Log|Communication Log]]
- [[_COMMUNITY_Agent Card Component|Agent Card Component]]
- [[_COMMUNITY_Game Assets Tests|Game Assets Tests]]
- [[_COMMUNITY_Office Game Tests|Office Game Tests]]
- [[_COMMUNITY_Agents Manager Tests|Agents Manager Tests]]
- [[_COMMUNITY_Phaser Game Component|Phaser Game Component]]
- [[_COMMUNITY_Office Map|Office Map]]
- [[_COMMUNITY_Agent Profile Client|Agent Profile Client]]
- [[_COMMUNITY_Dedup & Send-to-Agent|Dedup & Send-to-Agent]]
- [[_COMMUNITY_SOUL Template & Routing|SOUL Template & Routing]]
- [[_COMMUNITY_AutoSMS Core|AutoSMS Core]]
- [[_COMMUNITY_PM2 Ecosystem Config|PM2 Ecosystem Config]]
- [[_COMMUNITY_Lounge Page|Lounge Page]]
- [[_COMMUNITY_Agents Page|Agents Page]]
- [[_COMMUNITY_Agent Detail Page|Agent Detail Page]]
- [[_COMMUNITY_Sidebar Component|Sidebar Component]]
- [[_COMMUNITY_Frontend Agents Tests|Frontend Agents Tests]]
- [[_COMMUNITY_Runtime Store Tests|Runtime Store Tests]]
- [[_COMMUNITY_DB Tests|DB Tests]]
- [[_COMMUNITY_Dashboard Home Page|Dashboard Home Page]]
- [[_COMMUNITY_Office Game Client|Office Game Client]]
- [[_COMMUNITY_Soul Editor|Soul Editor]]
- [[_COMMUNITY_Gateway Deps|Gateway Deps]]
- [[_COMMUNITY_Speed-Over-Polish Rationale|Speed-Over-Polish Rationale]]
- [[_COMMUNITY_AutoSMS Build Config|AutoSMS Build Config]]
- [[_COMMUNITY_AutoSMS Settings Gradle|AutoSMS Settings Gradle]]
- [[_COMMUNITY_AutoSMS App Build Config|AutoSMS App Build Config]]
- [[_COMMUNITY_Frontend PostCSS Config|Frontend PostCSS Config]]
- [[_COMMUNITY_Frontend Next Env|Frontend Next Env]]
- [[_COMMUNITY_Frontend Vitest Config|Frontend Vitest Config]]
- [[_COMMUNITY_Frontend Next Config|Frontend Next Config]]
- [[_COMMUNITY_Frontend Office Page|Frontend Office Page]]
- [[_COMMUNITY_Response Fix Rationale A|Response Fix Rationale A]]
- [[_COMMUNITY_Response Fix Rationale B|Response Fix Rationale B]]
- [[_COMMUNITY_Response Fix Rationale C|Response Fix Rationale C]]
- [[_COMMUNITY_Response Fix Rationale D|Response Fix Rationale D]]
- [[_COMMUNITY_Dashboard PostCSS Config|Dashboard PostCSS Config]]
- [[_COMMUNITY_Dashboard Next Env|Dashboard Next Env]]
- [[_COMMUNITY_Dashboard Vitest Config|Dashboard Vitest Config]]
- [[_COMMUNITY_Dashboard Next Config|Dashboard Next Config]]
- [[_COMMUNITY_Chat Lib Tests|Chat Lib Tests]]
- [[_COMMUNITY_Chat API Tests|Chat API Tests]]
- [[_COMMUNITY_Chat Tests|Chat Tests]]
- [[_COMMUNITY_Settings Client Tests|Settings Client Tests]]
- [[_COMMUNITY_Agents Config Tests|Agents Config Tests]]
- [[_COMMUNITY_Test Setup|Test Setup]]
- [[_COMMUNITY_Chat Page Tests (Dashboard)|Chat Page Tests (Dashboard)]]
- [[_COMMUNITY_Component Tests|Component Tests]]
- [[_COMMUNITY_Agent Profile Tests|Agent Profile Tests]]
- [[_COMMUNITY_Shared Knowledge Tests|Shared Knowledge Tests]]
- [[_COMMUNITY_Restart Lib Tests|Restart Lib Tests]]
- [[_COMMUNITY_Settings Client (Dashboard)|Settings Client (Dashboard)]]
- [[_COMMUNITY_Office Page (Dashboard)|Office Page (Dashboard)]]
- [[_COMMUNITY_Phaser Game Config|Phaser Game Config]]
- [[_COMMUNITY_Communication Log (Dashboard)|Communication Log (Dashboard)]]
- [[_COMMUNITY_Sidebar (Dashboard)|Sidebar (Dashboard)]]
- [[_COMMUNITY_Act3 Types|Act3 Types]]
- [[_COMMUNITY_Shared Types|Shared Types]]
- [[_COMMUNITY_Phaser Config Backup|Phaser Config Backup]]
- [[_COMMUNITY_Slack Markdown Fix|Slack Markdown Fix]]
- [[_COMMUNITY_Gateway Role Router|Gateway Role Router]]
- [[_COMMUNITY_Paca Academies Access|Paca Academies Access]]
- [[_COMMUNITY_GitHub Accounts Config|GitHub Accounts Config]]
- [[_COMMUNITY_Todo HTML App|Todo HTML App]]
- [[_COMMUNITY_Pixel Art Style|Pixel Art Style]]

## God Nodes (most connected - your core abstractions)
1. `GET()` - 148 edges
2. `Brain` - 92 edges
3. `SlackReporter` - 69 edges
4. `WorkflowRun` - 59 edges
5. `run()` - 51 edges
6. `WorkflowDB` - 49 edges
7. `WorkflowEngine` - 48 edges
8. `WorkflowDef` - 40 edges
9. `TaskDef` - 39 edges
10. `StepDef` - 39 edges

## Surprising Connections (you probably didn't know these)
- `최대리 Lead Role for TEAM_BRIEF (code/PDF/deployment output)` --implements--> `TEAM_BRIEF workflow pattern`  [INFERRED]
  agents/choi-deputy/SOUL.md → DESIGN-V3.md
- `김사원 Lead Role for TEAM_BRIEF (external data/search output)` --implements--> `TEAM_BRIEF workflow pattern`  [INFERRED]
  agents/kim-staff/SOUL.md → DESIGN-V3.md
- `slump_alert.py (매일 09:00)` --runs--> `슬럼프 감지 알고리즘`  [INFERRED]
  shared/data/crontab-backup.txt → agents/lee-deputy/knowledge/slump-detection.md
- `태그 기반으로 적절한 카테고리(폴더) 추천.` --uses--> `Brain`  [INFERRED]
  /Users/etlab/projects/max-agents/shared/skills/file-registry.py → /Users/etlab/projects/max-agents/gateway/brain.py
- `_get_status()` --calls--> `GET()`  [INFERRED]
  /Users/etlab/projects/max-agents/gateway/agent-runner.py → /Users/etlab/projects/max-agents/gateway/dashboard/src/app/api/communications/route.ts

## Communities

### Community 0 - "Agent Runner Core"
Cohesion: 0.02
Nodes (129): build_prompt(), build_stage1_prompt(), call_claude(), 작업 완료 후 자기 회고 — 비동기로 실행, Build Stage 1 prompt: read self-narrative + reflect on incoming message.     Ret, Stage 1: narrative reflection. Returns reflection text, or None if skipped/faile, Stage 1 자기반성에서 실수를 인지했는지 판단. 2개 이상 신호 감지 시 True., 메인 Claude 호출.      Args:         message: 처리할 메시지         skip_routing: True이면 r (+121 more)

### Community 1 - "Workflow Database"
Cohesion: 0.05
Nodes (81): 워크플로우 상태 DB — shared/workflow.db brain.py 패턴 답습: WAL + check_same_thread=False +, WorkflowDB, _default_db(), _now_kst(), 워크플로우 실행 엔진 - execute(run, wf_def): 메인 실행 루프 - _execute_parallel(): ThreadPoolEx, ThreadPoolExecutor로 병렬 실행, 순차 실행 — 이전 태스크 결과가 다음 태스크 message에 반영됨, park-chief-self: 직접 claude -p 호출 (스킬 포함, tool 제한) (+73 more)

### Community 2 - "Chat & DB Layer"
Cohesion: 0.04
Nodes (94): BaseModel, agentName(), getBossMessages(), getBossMessagesByAgent(), kstNow(), openBossDb(), saveBossMessage(), addLoungeMessage() (+86 more)

### Community 3 - "Agent Loader & Registry"
Cohesion: 0.04
Nodes (82): buildAgentCard(), get_agent(), get_agent_bot_env_map(), get_agent_nicknames(), get_agents_config(), get_all_agents(), get_all_role_rules(), get_app_token_env() (+74 more)

### Community 4 - "Enforcement & Role Gates"
Cohesion: 0.05
Nodes (46): _default_registry(), load_agent_registry(), check_completion_evidence(), Stage 2 응답의 완료 선언에 증거가 있는지 검증.      Returns:         (passed, reason) — passed=T, now_kst(), now_kst_text(), resolve_runtime_paths(), RuntimePaths (+38 more)

### Community 5 - "NATS Messaging"
Cohesion: 0.05
Nodes (45): NamedTuple, AgentComm, build_session_context(), _check_and_record_outbound(), _cosine_similarity(), create_session(), get_agent_status_sync(), NATS 기반 에이전트간 통신 모듈 기존 Slack 멘션 + 폴링 방식을 대체 사용: COMM_MODE=nats 환경변수로 활성화  V3.1: (+37 more)

### Community 6 - "Legacy App & Cron Tools"
Cohesion: 0.03
Nodes (62): seedDb(), call_claude(), 🏢 주식회사 ET — 맥스 AI 사무실 Gateway Slack ↔ Claude CLI 파이프  ⚠️ LEGACY: 개발/디버그 전용. 운영에서, crontab_add(), crontab_list(), crontab_remove(), crontab 명령 실행. (성공여부, stdout, stderr) 반환., 현재 crontab 읽기. (crontab명령성공여부, 내용) 반환. (+54 more)

### Community 7 - "Consistency Judge"
Cohesion: 0.03
Nodes (58): _build_judge_prompt(), _call_minimax(), _format_tool_uses(), judge_consistency(), _load_minimax_key(), _parse_judge_response(), consistency_judge.py — 박과장 Watcher MiniMax-M2.7-highspeed로 Stage 1↔Stage 2 일관성 판, env → 여러 .env 후보 순으로 MINIMAX_API_KEY 로드.     post-hook subprocess가 .env 안 상속받는 경 (+50 more)

### Community 8 - "Agent Personas & Knowledge"
Cohesion: 0.03
Nodes (81): 최대리 (choi-deputy) — Coder, INTP, deployments, code quality, 임대리 (im-marketer) — Marketing Lead, ENTP, SNS content strategy, 김사원 (kim-staff) — Researcher, ENFP, web/YouTube/GitHub search, 이대리 (lee-deputy) — Academy Manager, ESFJ, student data, 박과장 (park-chief) — Control plane, task distribution, quality gate, maxtest PE entrance exam scoring system knowledge, teamimax instructor collaboration SaaS knowledge, 됐습니다 only when verified: tested, link in hand (+73 more)

### Community 9 - "Skill Manager"
Cohesion: 0.06
Nodes (33): _agent_skills_dir(), approve_skill(), check_dangerous(), cleanup_unused_skills(), list_skills(), _load_agents_json(), main(), _now_kst() (+25 more)

### Community 10 - "Response Guard"
Cohesion: 0.04
Nodes (38): has_boss_channel_noise(), is_self_reflection_response(), 팀원의 내부 독백/진행 과정 노출 감지., 사장님 채널에 부적절한 이모지 남발/친근체 감지., get_runner_source(), 박과장 응답 품질 + 자아 기반 실수 감지 — 5가지 Fix 테스트  Fix 1: judge_prompt 사장님 보고체 강제 Fix 2: TEA, Fix 4: Stage 1 자아 기반 실수 감지, _SELF_AWARE_MISTAKE_SIGNALS 리스트가 정의되어 있어야 함 (+30 more)

### Community 11 - "Agent Runner Lifecycle"
Cohesion: 0.05
Nodes (52): _clean_response(), cleanup_conflicting_processes(), _dedup(), find_conflicting_processes(), _get_recent_response(), _get_status(), get_thread_context(), handle_mention() (+44 more)

### Community 12 - "Slump Detection"
Cohesion: 0.06
Nodes (39): build_message(), build_pdf_html(), calc_slope(), detect(), fetch_records(), generate_and_upload_pdf(), get_excluded(), _group_rows_html() (+31 more)

### Community 13 - "Slack Reporter"
Cohesion: 0.1
Nodes (14): filter_for_slack(), 슬랙 메시지용 필터 — 경로, 코드 블록, 기술 용어 제거, _has_no_dev_terms(), _make_reporter(), _make_run(), Slack 보고 시스템 단위 테스트 pytest gateway/tests/test_workflow_reporter.py, TestFilterForSlack, TestPostComplete (+6 more)

### Community 14 - "Infrastructure & Cron"
Cohesion: 0.05
Nodes (53): slump_alert.py (매일 09:00), vultr-traffic-monitor.sh (*/30분), crontab-backup.txt (크론잡 백업), Caddy 리버스 프록시 (vultr), etlab (M4 맥미니 24GB), etserver (Ryzen 7 7840HS 28GB), n100 (Intel N100 16GB), n100 MySQL (paca/peak/max_test_2026 등) (+45 more)

### Community 15 - "Office Asset Generator"
Cohesion: 0.08
Nodes (39): build_prompt(), ensure_dir(), iter_targets(), main(), now_kst(), post_process_image(), read_token_file(), request_image() (+31 more)

### Community 16 - "API Keys & Image Gen"
Cohesion: 0.06
Nodes (40): GEMINI_API_KEY, image-generate.py (shared skill), MINIMAX_API_KEY, Nano Banana 2 (gemini-3.1-flash-image-preview), API Key Security Rules, Vultr file upload (--upload flag), agent_knowledge (PostgreSQL table), Brain (Python class) (+32 more)

### Community 17 - "Office Characters (Current)"
Cohesion: 0.14
Nodes (30): Sitting animation state - character at workstation/desk pose, Walking animation state - directional movement sprites (up/down/left/right), CEO character sprite - facing down (front view), brown suit, formal attire, pixel art style, CEO character sprite - sitting at desk, brown suit, working at computer, pixel art style, CEO - office game character, formal brown suit, senior authority role, Choi - office game character (deputy), casual dark hoodie style, male character, Kim - office game character (staff/사원), green jacket, red hair, female character, tablet user, Lee - office game character (deputy/이대리), orange jacket, blonde hair, female character, device user (+22 more)

### Community 18 - "Office Characters (v1)"
Cohesion: 0.09
Nodes (30): CEO character v1, Choi character v1, Kim character v1, Lee character v1, Park character v1, Max-agents office game dashboard, CEO sprite: facing down (v1), CEO sprite: sitting at desk (v1) (+22 more)

### Community 19 - "Phaser Boot Scene"
Cohesion: 0.1
Nodes (6): BootScene, EventBusImpl, poll(), startLogPoller(), agentName(), UIScene

### Community 20 - "OfficeCharacter Class"
Cohesion: 0.13
Nodes (2): OfficeCharacter, OfficeScene

### Community 21 - "Dashboard Settings & Store"
Cohesion: 0.17
Nodes (22): SettingsPage(), buildLog(), ensureDashboardDir(), formatInKst(), formatStoredTime(), getBaseLoungeState(), getLoungeState(), getMaskedTokenSettings() (+14 more)

### Community 22 - "Park Chief Tests"
Cohesion: 0.11
Nodes (14): get_source(), 박과장 2단계 호출 구조 테스트  테스트 대상: gateway/agent-runner.py의 process() 함수 내 박과장 로직 수정 내용:, 박과장 에이전트 러너 기본 구조 테스트      Note: PLAN/DELEGATE/DIRECT 2단계 분류 로직은 코드에서 제거됨.     현, agent-runner.py에 process 관련 함수가 존재, agent-runner.py가 subprocess를 사용하여 claude 호출, agent-runner.py가 Slack 통합을 포함, agent-runner.py가 enforcement 미들웨어를 사용, agent-runner.py가 NATS 통신을 지원 (+6 more)

### Community 23 - "Agent Admin API"
Cohesion: 0.2
Nodes (17): createAgent(), deleteAgent(), ensureAgentScaffold(), getAgentDir(), getAgentsJsonPath(), listDashboardAgents(), readAgentsDocument(), renderSoulTemplate() (+9 more)

### Community 24 - "Office Game Tiles"
Cohesion: 0.15
Nodes (21): Dashboard UI (2D office game interface for max-agents gateway), Office Game Tileset (pixel art 2D office environment asset set), Office Game Tileset v1 (original/backup pixel art tile set), Bookshelf Tile (pixel art, wooden 3-shelf unit with colorful books), Coffee Machine Tile (pixel art, wooden espresso machine with portafilters), Desk Tile (pixel art, wooden office desk with lamp, papers, plant, coffee cup), Floor Carpet Tile (pixel art, near-transparent carpet tile, subtle texture), Floor Wood Tile (pixel art, light wood plank floor tile) (+13 more)

### Community 25 - "Brain Heartbeat Tests"
Cohesion: 0.15
Nodes (6): 하트비트 + brain knowledge 저장 단위 테스트 pytest tests/test_heartbeat_brain.py, _heartbeat_worker 핵심 로직 추출 — 한 번만 실행, _run_heartbeat_once(), TestHealthcheckScript, TestHeartbeatWorker, TestTotalBudget

### Community 26 - "AutoSMS Preferences"
Cohesion: 0.14
Nodes (2): AutoSmsPreferences, SendRecord

### Community 27 - "Settings Client UI"
Cohesion: 0.14
Nodes (0): 

### Community 28 - "Agents Manager"
Cohesion: 0.27
Nodes (11): addAgent(), createAgentDirectories(), generateSoulTemplate(), getAgentFromConfig(), getAgentsFromConfig(), initBrainDb(), isAgentIdExists(), isValidAgentId() (+3 more)

### Community 29 - "AutoSMS Main Activity"
Cohesion: 0.15
Nodes (1): MainActivity

### Community 30 - "Response NameError Fix"
Cohesion: 0.17
Nodes (7): agent-runner.py response NameError 버그 수정 테스트 pytest tests/test_response_nameerro, process_park_chief_judge 함수가 존재하는지 확인, agent-runner.py response NameError 버그 수정 검증, process() 함수에서 response가 초기화되어야 함, process() 함수 후반부에서 response 사용 확인, 모든 브랜치에서 response가 정의되도록 보장, TestResponseNameErrorFix

### Community 31 - "Chat Page UI"
Cohesion: 0.24
Nodes (6): apiToDisplay(), detectTargets(), formatDateSeparator(), groupByDate(), handleSend(), toBossType()

### Community 32 - "Phone Call Receiver"
Cohesion: 0.22
Nodes (1): PhoneCallReceiver

### Community 33 - "AutoSMS App Icons"
Cohesion: 0.43
Nodes (8): AutoSMS Android App (automated SMS tool), AutoSMS App Launcher Icon hdpi (phone handset + chain link + speech bubble on purple-blue gradient), AutoSMS App Launcher Icon mdpi (phone handset + chain link + speech bubble on purple-blue gradient), AutoSMS App Launcher Icon xhdpi (phone handset + chain link + speech bubble on purple-blue gradient), AutoSMS App Launcher Icon xxhdpi (phone handset + chain link + speech bubble on purple-blue gradient), AutoSMS App Launcher Icon xxxhdpi (phone handset + chain link + speech bubble on purple-blue gradient, highest res), Layer8 Logo (stylized S-shape with circuit board nodes, blue-to-purple gradient), Layer8 System (PDCA orchestration platform by ET Lab)

### Community 34 - "Chat Client Functions"
Cohesion: 0.29
Nodes (0): 

### Community 35 - "SMS Action Receiver"
Cohesion: 0.4
Nodes (1): SendSmsActionReceiver

### Community 36 - "Brain Viewer"
Cohesion: 0.7
Nodes (4): BrainViewer(), normalizeConversations(), normalizeKnowledge(), normalizeMistakes()

### Community 37 - "Budget Todo App"
Cohesion: 0.4
Nodes (5): /api/branches endpoint, /api/budget endpoint, /api/todos endpoint, 측평 행사 예산편성 app (budget-todo), FastAPI backend (budget-todo)

### Community 38 - "Test Configuration"
Cohesion: 0.5
Nodes (3): _isolate_brain_from_production(), 테스트 공용 fixture — 프로덕션 DB 오염 방지, 모든 테스트에서 프로덕션 PostgreSQL 접근 차단.      LAYER8_RAG_DB를 존재하지 않는 URL로 설정 → Brain._db_

### Community 39 - "Weekly Report Tests"
Cohesion: 0.83
Nodes (3): _read_script(), test_weekly_report_targets_port_5434(), test_weekly_report_uses_postgres_for_brain_counts()

### Community 40 - "Visual Updates Tests"
Cohesion: 0.5
Nodes (0): 

### Community 41 - "Chat Page Tests"
Cohesion: 0.5
Nodes (0): 

### Community 42 - "Chat Client Component"
Cohesion: 0.67
Nodes (2): handleKeyDown(), handleSend()

### Community 43 - "Boot Receiver"
Cohesion: 0.67
Nodes (1): BootReceiver

### Community 44 - "App Root Layout"
Cohesion: 0.67
Nodes (1): RootLayout()

### Community 45 - "Communication Log"
Cohesion: 0.67
Nodes (0): 

### Community 46 - "Agent Card Component"
Cohesion: 0.67
Nodes (1): AgentCard()

### Community 47 - "Game Assets Tests"
Cohesion: 0.67
Nodes (0): 

### Community 48 - "Office Game Tests"
Cohesion: 0.67
Nodes (0): 

### Community 49 - "Agents Manager Tests"
Cohesion: 0.67
Nodes (0): 

### Community 50 - "Phaser Game Component"
Cohesion: 0.67
Nodes (1): PhaserGame()

### Community 51 - "Office Map"
Cohesion: 0.67
Nodes (1): tileToPixel()

### Community 52 - "Agent Profile Client"
Cohesion: 0.67
Nodes (0): 

### Community 53 - "Dedup & Send-to-Agent"
Cohesion: 0.67
Nodes (3): V3.3 dedup fix (file-based /tmp/max-agents-outbound-dedup.jsonl), Rationale: in-memory dedup fails across subprocess spawns → file-based dedup, shared/skills/send-to-agent.py (inter-agent NATS messaging)

### Community 54 - "SOUL Template & Routing"
Cohesion: 0.67
Nodes (3): [ROUTED] infinite-loop guard, Rationale: Routed tasks must not be re-routed (infinite loop prevention), send-to-agent.py (task routing)

### Community 55 - "AutoSMS Core"
Cohesion: 0.67
Nodes (3): AutoSMS Android app, BroadcastReceiver (call detection), com.etlab.autosms (package)

### Community 56 - "PM2 Ecosystem Config"
Cohesion: 1.0
Nodes (0): 

### Community 57 - "Lounge Page"
Cohesion: 1.0
Nodes (0): 

### Community 58 - "Agents Page"
Cohesion: 1.0
Nodes (0): 

### Community 59 - "Agent Detail Page"
Cohesion: 1.0
Nodes (0): 

### Community 60 - "Sidebar Component"
Cohesion: 1.0
Nodes (0): 

### Community 61 - "Frontend Agents Tests"
Cohesion: 1.0
Nodes (0): 

### Community 62 - "Runtime Store Tests"
Cohesion: 1.0
Nodes (0): 

### Community 63 - "DB Tests"
Cohesion: 1.0
Nodes (0): 

### Community 64 - "Dashboard Home Page"
Cohesion: 1.0
Nodes (0): 

### Community 65 - "Office Game Client"
Cohesion: 1.0
Nodes (0): 

### Community 66 - "Soul Editor"
Cohesion: 1.0
Nodes (0): 

### Community 67 - "Gateway Deps"
Cohesion: 1.0
Nodes (2): gateway hello.html (맥스 AI 사무실 첫 화면), gateway requirements.txt (Python deps)

### Community 68 - "Speed-Over-Polish Rationale"
Cohesion: 1.0
Nodes (2): TEAM_BRIEF lead role (이대리), Rationale: 속도 > 완성도 (upstream handoff)

### Community 69 - "AutoSMS Build Config"
Cohesion: 1.0
Nodes (0): 

### Community 70 - "AutoSMS Settings Gradle"
Cohesion: 1.0
Nodes (0): 

### Community 71 - "AutoSMS App Build Config"
Cohesion: 1.0
Nodes (0): 

### Community 72 - "Frontend PostCSS Config"
Cohesion: 1.0
Nodes (0): 

### Community 73 - "Frontend Next Env"
Cohesion: 1.0
Nodes (0): 

### Community 74 - "Frontend Vitest Config"
Cohesion: 1.0
Nodes (0): 

### Community 75 - "Frontend Next Config"
Cohesion: 1.0
Nodes (0): 

### Community 76 - "Frontend Office Page"
Cohesion: 1.0
Nodes (0): 

### Community 77 - "Response Fix Rationale A"
Cohesion: 1.0
Nodes (1): 각 팀원 SOUL.md에 '팀장(박과장)에게 보고할 때' 섹션 존재

### Community 78 - "Response Fix Rationale B"
Cohesion: 1.0
Nodes (1): 보고 형식 섹션에 '첫 줄 = 결과 한 줄 요약' 규칙 포함

### Community 79 - "Response Fix Rationale C"
Cohesion: 1.0
Nodes (1): 보고 형식 섹션에 수행 과정 보고 금지 규칙 포함

### Community 80 - "Response Fix Rationale D"
Cohesion: 1.0
Nodes (1): 보고 형식 섹션에 팀원 간 칭찬 금지 규칙 포함

### Community 81 - "Dashboard PostCSS Config"
Cohesion: 1.0
Nodes (0): 

### Community 82 - "Dashboard Next Env"
Cohesion: 1.0
Nodes (0): 

### Community 83 - "Dashboard Vitest Config"
Cohesion: 1.0
Nodes (0): 

### Community 84 - "Dashboard Next Config"
Cohesion: 1.0
Nodes (0): 

### Community 85 - "Chat Lib Tests"
Cohesion: 1.0
Nodes (0): 

### Community 86 - "Chat API Tests"
Cohesion: 1.0
Nodes (0): 

### Community 87 - "Chat Tests"
Cohesion: 1.0
Nodes (0): 

### Community 88 - "Settings Client Tests"
Cohesion: 1.0
Nodes (0): 

### Community 89 - "Agents Config Tests"
Cohesion: 1.0
Nodes (0): 

### Community 90 - "Test Setup"
Cohesion: 1.0
Nodes (0): 

### Community 91 - "Chat Page Tests (Dashboard)"
Cohesion: 1.0
Nodes (0): 

### Community 92 - "Component Tests"
Cohesion: 1.0
Nodes (0): 

### Community 93 - "Agent Profile Tests"
Cohesion: 1.0
Nodes (0): 

### Community 94 - "Shared Knowledge Tests"
Cohesion: 1.0
Nodes (0): 

### Community 95 - "Restart Lib Tests"
Cohesion: 1.0
Nodes (0): 

### Community 96 - "Settings Client (Dashboard)"
Cohesion: 1.0
Nodes (0): 

### Community 97 - "Office Page (Dashboard)"
Cohesion: 1.0
Nodes (0): 

### Community 98 - "Phaser Game Config"
Cohesion: 1.0
Nodes (0): 

### Community 99 - "Communication Log (Dashboard)"
Cohesion: 1.0
Nodes (0): 

### Community 100 - "Sidebar (Dashboard)"
Cohesion: 1.0
Nodes (0): 

### Community 101 - "Act3 Types"
Cohesion: 1.0
Nodes (0): 

### Community 102 - "Shared Types"
Cohesion: 1.0
Nodes (0): 

### Community 103 - "Phaser Config Backup"
Cohesion: 1.0
Nodes (0): 

### Community 104 - "Slack Markdown Fix"
Cohesion: 1.0
Nodes (1): V3.3 Slack markdown ** URL fix (re.sub)

### Community 105 - "Gateway Role Router"
Cohesion: 1.0
Nodes (1): gateway/enforcement/role_router.py (context-based routing)

### Community 106 - "Paca Academies Access"
Cohesion: 1.0
Nodes (1): 파카프로 아카데미 ID 매핑

### Community 107 - "GitHub Accounts Config"
Cohesion: 1.0
Nodes (1): GitHub 계정 (etlab8320/seanyjeong)

### Community 108 - "Todo HTML App"
Cohesion: 1.0
Nodes (1): Todo HTML app (localStorage)

### Community 109 - "Pixel Art Style"
Cohesion: 1.0
Nodes (1): Pixel art style current - varied styles per character (chibi vs realistic)

## Ambiguous Edges - Review These
- `characters_v1_backup sprite set` → `Kim sprite: facing right (v1) - shows female variant at water cooler`  [AMBIGUOUS]
  gateway/dashboard/public/assets/characters_v1_backup/kim_right.png · relation: anomaly_possible_wrong_asset
- `Kim character v1` → `Kim sprite: facing right (v1) - shows female variant at water cooler`  [AMBIGUOUS]
  gateway/dashboard/public/assets/characters_v1_backup/kim_right.png · relation: animation_state_of

## Knowledge Gaps
- **362 isolated node(s):** `측평 행사 예산편성 투두리스트 FastAPI + SQLite, 포트 8099`, `SendRecord`, `마크다운 콘텐츠를 파싱해서 트렌드 목록 + 한줄 액션 반환.`, `points: [(datetime, value), ...]  최소 3개 필요`, `슬럼프 감지 로직 — 연속 하락 + 최고기록 대비 하락률 + 관리대상.      심각: 3회 연속 하락 OR 개인 최고기록 대비 10%+ 하락` (+357 more)
  These have ≤1 connection - possible missing edges or undocumented components.
- **Thin community `PM2 Ecosystem Config`** (2 nodes): `createAgentApp()`, `ecosystem.config.js`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Lounge Page`** (2 nodes): `LoungePage()`, `page.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Agents Page`** (2 nodes): `AgentsPage()`, `page.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Agent Detail Page`** (2 nodes): `AgentDetailPage()`, `page.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Sidebar Component`** (2 nodes): `Sidebar()`, `Sidebar.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Frontend Agents Tests`** (2 nodes): `formatTs()`, `agents.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Runtime Store Tests`** (2 nodes): `mockPm2Jlist()`, `runtime-store.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `DB Tests`** (2 nodes): `MockDatabase()`, `act2-db.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Dashboard Home Page`** (2 nodes): `HomePage()`, `page.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Office Game Client`** (2 nodes): `OfficeGameClient()`, `OfficeGameClient.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Soul Editor`** (2 nodes): `onSave()`, `SoulEditor.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Gateway Deps`** (2 nodes): `gateway hello.html (맥스 AI 사무실 첫 화면)`, `gateway requirements.txt (Python deps)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Speed-Over-Polish Rationale`** (2 nodes): `TEAM_BRIEF lead role (이대리)`, `Rationale: 속도 > 완성도 (upstream handoff)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `AutoSMS Build Config`** (1 nodes): `build.gradle.kts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `AutoSMS Settings Gradle`** (1 nodes): `settings.gradle.kts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `AutoSMS App Build Config`** (1 nodes): `build.gradle.kts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Frontend PostCSS Config`** (1 nodes): `postcss.config.mjs`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Frontend Next Env`** (1 nodes): `next-env.d.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Frontend Vitest Config`** (1 nodes): `vitest.config.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Frontend Next Config`** (1 nodes): `next.config.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Frontend Office Page`** (1 nodes): `page.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Response Fix Rationale A`** (1 nodes): `각 팀원 SOUL.md에 '팀장(박과장)에게 보고할 때' 섹션 존재`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Response Fix Rationale B`** (1 nodes): `보고 형식 섹션에 '첫 줄 = 결과 한 줄 요약' 규칙 포함`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Response Fix Rationale C`** (1 nodes): `보고 형식 섹션에 수행 과정 보고 금지 규칙 포함`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Response Fix Rationale D`** (1 nodes): `보고 형식 섹션에 팀원 간 칭찬 금지 규칙 포함`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Dashboard PostCSS Config`** (1 nodes): `postcss.config.mjs`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Dashboard Next Env`** (1 nodes): `next-env.d.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Dashboard Vitest Config`** (1 nodes): `vitest.config.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Dashboard Next Config`** (1 nodes): `next.config.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Chat Lib Tests`** (1 nodes): `act4-chat-lib.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Chat API Tests`** (1 nodes): `act4-chat-api.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Chat Tests`** (1 nodes): `act4-chat.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Settings Client Tests`** (1 nodes): `act3-settings-client.test.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Agents Config Tests`** (1 nodes): `agents-config.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Test Setup`** (1 nodes): `setup.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Chat Page Tests (Dashboard)`** (1 nodes): `chat-page.test.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Component Tests`** (1 nodes): `components.test.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Agent Profile Tests`** (1 nodes): `agent-profile-client.test.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Shared Knowledge Tests`** (1 nodes): `shared-knowledge.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Restart Lib Tests`** (1 nodes): `restart-lib.test.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Settings Client (Dashboard)`** (1 nodes): `SettingsClient.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Office Page (Dashboard)`** (1 nodes): `page.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Phaser Game Config`** (1 nodes): `config.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Communication Log (Dashboard)`** (1 nodes): `CommunicationLog.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Sidebar (Dashboard)`** (1 nodes): `Sidebar.tsx`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Act3 Types`** (1 nodes): `act3-types.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Shared Types`** (1 nodes): `types.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Phaser Config Backup`** (1 nodes): `config.ts`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Slack Markdown Fix`** (1 nodes): `V3.3 Slack markdown ** URL fix (re.sub)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Gateway Role Router`** (1 nodes): `gateway/enforcement/role_router.py (context-based routing)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Paca Academies Access`** (1 nodes): `파카프로 아카데미 ID 매핑`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `GitHub Accounts Config`** (1 nodes): `GitHub 계정 (etlab8320/seanyjeong)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Todo HTML App`** (1 nodes): `Todo HTML app (localStorage)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Pixel Art Style`** (1 nodes): `Pixel art style current - varied styles per character (chibi vs realistic)`
  Too small to be a meaningful cluster - may be noise or needs more connections extracted.

## Suggested Questions
_Questions this graph is uniquely positioned to answer:_

- **What is the exact relationship between `characters_v1_backup sprite set` and `Kim sprite: facing right (v1) - shows female variant at water cooler`?**
  _Edge tagged AMBIGUOUS (relation: anomaly_possible_wrong_asset) - confidence is low._
- **What is the exact relationship between `Kim character v1` and `Kim sprite: facing right (v1) - shows female variant at water cooler`?**
  _Edge tagged AMBIGUOUS (relation: animation_state_of) - confidence is low._
- **Why does `GET()` connect `Agent Loader & Registry` to `Agent Runner Core`, `Workflow Database`, `Chat & DB Layer`, `Enforcement & Role Gates`, `NATS Messaging`, `Legacy App & Cron Tools`, `Consistency Judge`, `Skill Manager`, `Agent Runner Lifecycle`, `Slump Detection`, `Slack Reporter`, `Office Asset Generator`, `OfficeCharacter Class`, `Dashboard Settings & Store`?**
  _High betweenness centrality (0.348) - this node is a cross-community bridge._
- **Why does `run()` connect `Legacy App & Cron Tools` to `Agent Runner Core`, `Workflow Database`, `Chat & DB Layer`, `Agent Loader & Registry`, `Enforcement & Role Gates`, `Consistency Judge`, `Skill Manager`, `Agent Runner Lifecycle`, `Slump Detection`, `Office Asset Generator`?**
  _High betweenness centrality (0.090) - this node is a cross-community bridge._
- **Why does `Brain` connect `Agent Runner Core` to `Agent Runner Lifecycle`, `Brain Heartbeat Tests`, `Agent Loader & Registry`, `Workflow Database`?**
  _High betweenness centrality (0.077) - this node is a cross-community bridge._
- **Are the 135 inferred relationships involving `GET()` (e.g. with `main()` and `detect()`) actually correct?**
  _`GET()` has 135 INFERRED edges - model-reasoned connections that need verification._
- **Are the 60 inferred relationships involving `Brain` (e.g. with `태그 기반으로 적절한 카테고리(폴더) 추천.` and `에이전트별 독립 프로세스 러너 사용법: python agent-runner.py <agent-id>`) actually correct?**
  _`Brain` has 60 INFERRED edges - model-reasoned connections that need verification._