# Graph Report - . (2026-04-09) ## Corpus Check - 122 files · ~90,936 words - Verdict: corpus is large enough that graph structure adds value. ## Summary - 384 nodes · 565 edges · 75 communities detected - Extraction: 65% EXTRACTED · 35% INFERRED · 0% AMBIGUOUS · INFERRED: 197 edges (avg confidence: 0.5) - Token cost: 0 input · 0 output ## God Nodes (most connected - your core abstractions) 1. `FishingService` - 55 edges 2. `MusicService` - 38 edges 3. `RefinementService` - 13 edges 4. `VoiceService` - 8 edges 5. `구독 티어 시스템` - 8 edges 6. `PermissionAuditService` - 7 edges 7. `execute()` - 6 edges 8. `InviteService` - 6 edges 9. `AuditLogService` - 6 edges 10. `EventService` - 6 edges ## Surprising Connections (you probably didn't know these) - None detected - all connections are within the same source files. ## Communities ### Community 0 - "Fishing Service (UI)" Cohesion: 0.08 Nodes (1): FishingService ### Community 1 - "Activity tracking & Audit" Cohesion: 0.05 Nodes (3): ActivityTrackerService, FeverService, KordClient ### Community 2 - "Music Service Logic" Cohesion: 0.11 Nodes (6): extractYouTubeVideoId(), formatDuration(), isYouTubePlaylistUrl(), MusicService, parseDurationSeconds(), parseDurationTextToSeconds() ### Community 3 - "I18n & Localization" Cohesion: 0.14 Nodes (5): getNestedValue(), normalizeDiscordLocale(), resolveLocale(), StaticI18nProvider, t() ### Community 4 - "Bot Errors & Exceptions" Cohesion: 0.15 Nodes (3): BotError, ErrorReporter, withErrorHandler() ### Community 5 - "Permission Audits" Cohesion: 0.16 Nodes (4): execute(), getOverallColor(), PermissionAuditService, SetupWizardRenderer ### Community 6 - "Event Scheduling" Cohesion: 0.21 Nodes (10): buildStatusLabel(), execute(), formatReminderOffsets(), parseReminderOffsets(), parseSeoulDateTime(), toDiscordTimestamps(), buildEventEmbed(), EventService (+2 more) ### Community 7 - "Refinement Economy" Cohesion: 0.37 Nodes (1): RefinementService ### Community 8 - "Emoji & Interaction" Cohesion: 0.18 Nodes (3): BigEmojiService, MimicService, WebhookService ### Community 9 - "System Architecture" Cohesion: 0.2 Nodes (10): API Gateway, Billing & Payments, Data Persistence Layer, Centralized Logging & Monitoring, Notification System, External Payment Integration, Rate Limiting Middleware, Report Generation Engine (+2 more) ### Community 10 - "Conceptual placeholders" Cohesion: 0.2 Nodes (10): A, B, C, D, E, FishingGame, G, H (+2 more) ### Community 11 - "Subscription Tiers" Cohesion: 0.22 Nodes (9): FREE (프리), 서버, GuildOwnership, PREMIUM (프리미엄), PRO (프로), STANDARD (스탠다드), 사용자, UserSubscription (+1 more) ### Community 12 - "Voice Channel Logic" Cohesion: 0.46 Nodes (1): VoiceService ### Community 13 - "Fishing Gameplay" Cohesion: 0.33 Nodes (2): buildFishingGauge(), buildFishingLane() ### Community 14 - "Invite Management" Cohesion: 0.6 Nodes (1): InviteService ### Community 15 - "Audit Logging" Cohesion: 0.47 Nodes (1): AuditLogService ### Community 16 - "Configuration & DB" Cohesion: 0.4 Nodes (0): ### Community 17 - "Mini-game Registry" Cohesion: 0.4 Nodes (0): ### Community 18 - "Bot Presence" Cohesion: 0.67 Nodes (1): PresenceService ### Community 19 - "Music Commands" Cohesion: 0.83 Nodes (3): buildErrorMessage(), execute(), respond() ### Community 20 - "Group: Database Credentials" Cohesion: 1.0 Nodes (3): 데이터베이스 비밀번호 및 접속 주소, 디스코드 봇 토큰, 환경 변수 ### Community 21 - "Group: Node 1" Cohesion: 0.67 Nodes (3): process_data, analyze_results, generate_report ### Community 22 - "Group: Language" Cohesion: 1.0 Nodes (0): ### Community 23 - "Group: Jest Config" Cohesion: 1.0 Nodes (0): ### Community 24 - "Group: I18N Test" Cohesion: 1.0 Nodes (0): ### Community 25 - "Group: Temp Core Concepts" Cohesion: 1.0 Nodes (1): Temp_Core_Concepts ### Community 26 - "Group: I18N System" Cohesion: 1.0 Nodes (1): i18n 시스템 ### Community 27 - "Group: Translationschema" Cohesion: 1.0 Nodes (1): TranslationSchema ### Community 28 - "Group: Src/I18N/Locales/En.Ts" Cohesion: 1.0 Nodes (1): 영어 번역 데이터 ### Community 29 - "Group: Src/I18N/Locales/Ko.Ts" Cohesion: 1.0 Nodes (1): 한국어 번역 데이터 ### Community 30 - "Group: Youtube Music Playback" Cohesion: 1.0 Nodes (1): YouTube 음악 재생 기능 ### Community 31 - "Group: Musicservice" Cohesion: 1.0 Nodes (1): MusicService ### Community 32 - "Group: Slash Command" Cohesion: 1.0 Nodes (1): Slash Command ### Community 33 - "Group: Guildevent" Cohesion: 1.0 Nodes (1): 이벤트 이벤트 ### Community 34 - "Group: Reminderoffsets" Cohesion: 1.0 Nodes (1): 이벤트 리마인더 오프셋 목록 ### Community 35 - "Group: Fishing Mini Game" Cohesion: 1.0 Nodes (1): 낚시 미니게임 ### Community 36 - "Group: Fishing Mini Game Registry" Cohesion: 1.0 Nodes (1): 공용 미니게임 레지스트리 ### Community 37 - "Group: /Fishing Cast Command" Cohesion: 1.0 Nodes (1): /fishing cast 명령어 ### Community 38 - "Group: /Fishing End Command" Cohesion: 1.0 Nodes (1): /fishing end 명령어 ### Community 39 - "Group: 전용 스레드 기반 세션" Cohesion: 1.0 Nodes (1): 전용 스레드 기반 세션 ### Community 40 - "Group: 메모리 기반 세션 관리" Cohesion: 1.0 Nodes (1): 메모리 기반 세션 관리 ### Community 41 - "Group: 거리/끊어짐 게이지" Cohesion: 1.0 Nodes (1): 거리/끊어짐 게이지 ### Community 42 - "Group: 골드 지급" Cohesion: 1.0 Nodes (1): 골드 지급 ### Community 43 - "Group: Refinementprofile.Gold" Cohesion: 1.0 Nodes (1): RefinementProfile.gold ### Community 44 - "Group: Src/Commands/Fishing.Ts" Cohesion: 1.0 Nodes (1): src/commands/fishing.ts ### Community 45 - "Group: Src/Services/Fishingservice.Ts" Cohesion: 1.0 Nodes (1): src/services/FishingService.ts ### Community 46 - "Group: Src/Events/Interactioncreate.Ts" Cohesion: 1.0 Nodes (1): src/events/interactionCreate.ts ### Community 47 - "Group: Src/Services/Minigameregistry.Ts" Cohesion: 1.0 Nodes (1): src/services/MiniGameRegistry.ts ### Community 48 - "Group: Src/Services/Refinementservice.Ts" Cohesion: 1.0 Nodes (1): src/services/RefinementService.ts ### Community 49 - "Group: Src/I18N/Types.Ts" Cohesion: 1.0 Nodes (1): src/i18n/types.ts ### Community 50 - "Group: Tests/Services/Fishingservice.Test.Ts" Cohesion: 1.0 Nodes (1): tests/services/FishingService.test.ts ### Community 51 - "Group: Youtube Music Playback" Cohesion: 1.0 Nodes (1): YouTube Music Playback ### Community 52 - "Group: Pause/Resume Control" Cohesion: 1.0 Nodes (1): pause/resume control ### Community 53 - "Group: Next-Track Preview" Cohesion: 1.0 Nodes (1): next-track preview ### Community 54 - "Group: Src/Commands/Music.Ts" Cohesion: 1.0 Nodes (1): src/commands/music.ts ### Community 55 - "Group: Src/Services/Musicservice.Ts" Cohesion: 1.0 Nodes (1): src/services/MusicService.ts ### Community 56 - "Group: Error Guidance Ux" Cohesion: 1.0 Nodes (1): 에러 안내 UX 개선 ### Community 57 - "Group: Boterror Class" Cohesion: 1.0 Nodes (1): BotError 클래스 ### Community 58 - "Group: Errorcodes.Ts" Cohesion: 1.0 Nodes (1): ErrorCodes.ts ### Community 59 - "Group: Fishingprofile" Cohesion: 1.0 Nodes (1): Fishing Profile (User Stats) ### Community 60 - "Group: Fishingservice" Cohesion: 1.0 Nodes (1): Fishing Service ### Community 61 - "Group: /Fishing Status" Cohesion: 1.0 Nodes (1): /fishing status command ### Community 62 - "Group: Fishingcollectionentry" Cohesion: 1.0 Nodes (1): Fishing Collection Entry ### Community 63 - "Group: /Fishing Ranking" Cohesion: 1.0 Nodes (1): /fishing ranking command ### Community 64 - "Group: Permissionauditservice" Cohesion: 1.0 Nodes (1): Permission Audit Service ### Community 65 - "Group: /Audit-Permissions" Cohesion: 1.0 Nodes (1): /audit-permissions command ### Community 66 - "Group: Presenceservice" Cohesion: 1.0 Nodes (1): Presence Service ### Community 67 - "Group: Auditchannel" Cohesion: 1.0 Nodes (1): Audit Channel Model ### Community 68 - "Group: Auditlogservice" Cohesion: 1.0 Nodes (1): Audit Log Service ### Community 69 - "Group: File1" Cohesion: 1.0 Nodes (1): file1 ### Community 70 - "Group: Root" Cohesion: 1.0 Nodes (1): Root ### Community 71 - "Group: Data" Cohesion: 1.0 Nodes (1): Data ### Community 72 - "Group: Model" Cohesion: 1.0 Nodes (1): Model ### Community 73 - "Group: Function A" Cohesion: 1.0 Nodes (1): Function A ### Community 74 - "Group: Function B" Cohesion: 1.0 Nodes (1): Function B ## Knowledge Gaps - **52 isolated node(s):** `사용자`, `서버`, `FREE (프리)`, `STANDARD (스탠다드)`, `PRO (프로)` (+47 more) These have ≤1 connection - possible missing edges or undocumented components. - **Thin community `Group: Language`** (2 nodes): `language.ts`, `execute()` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Jest Config`** (1 nodes): `jest.config.js` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: I18N Test`** (1 nodes): `i18n.test.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Temp Core Concepts`** (1 nodes): `Temp_Core_Concepts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: I18N System`** (1 nodes): `i18n 시스템` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Translationschema`** (1 nodes): `TranslationSchema` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/I18N/Locales/En.Ts`** (1 nodes): `영어 번역 데이터` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/I18N/Locales/Ko.Ts`** (1 nodes): `한국어 번역 데이터` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Youtube Music Playback`** (1 nodes): `YouTube 음악 재생 기능` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Musicservice`** (1 nodes): `MusicService` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Slash Command`** (1 nodes): `Slash Command` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Guildevent`** (1 nodes): `이벤트 이벤트` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Reminderoffsets`** (1 nodes): `이벤트 리마인더 오프셋 목록` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Fishing Mini Game`** (1 nodes): `낚시 미니게임` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Fishing Mini Game Registry`** (1 nodes): `공용 미니게임 레지스트리` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: /Fishing Cast Command`** (1 nodes): `/fishing cast 명령어` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: /Fishing End Command`** (1 nodes): `/fishing end 명령어` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: 전용 스레드 기반 세션`** (1 nodes): `전용 스레드 기반 세션` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: 메모리 기반 세션 관리`** (1 nodes): `메모리 기반 세션 관리` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: 거리/끊어짐 게이지`** (1 nodes): `거리/끊어짐 게이지` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: 골드 지급`** (1 nodes): `골드 지급` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Refinementprofile.Gold`** (1 nodes): `RefinementProfile.gold` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/Commands/Fishing.Ts`** (1 nodes): `src/commands/fishing.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/Services/Fishingservice.Ts`** (1 nodes): `src/services/FishingService.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/Events/Interactioncreate.Ts`** (1 nodes): `src/events/interactionCreate.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/Services/Minigameregistry.Ts`** (1 nodes): `src/services/MiniGameRegistry.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/Services/Refinementservice.Ts`** (1 nodes): `src/services/RefinementService.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/I18N/Types.Ts`** (1 nodes): `src/i18n/types.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Tests/Services/Fishingservice.Test.Ts`** (1 nodes): `tests/services/FishingService.test.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Youtube Music Playback`** (1 nodes): `YouTube Music Playback` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Pause/Resume Control`** (1 nodes): `pause/resume control` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Next-Track Preview`** (1 nodes): `next-track preview` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/Commands/Music.Ts`** (1 nodes): `src/commands/music.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Src/Services/Musicservice.Ts`** (1 nodes): `src/services/MusicService.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Error Guidance Ux`** (1 nodes): `에러 안내 UX 개선` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Boterror Class`** (1 nodes): `BotError 클래스` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Errorcodes.Ts`** (1 nodes): `ErrorCodes.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Fishingprofile`** (1 nodes): `Fishing Profile (User Stats)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Fishingservice`** (1 nodes): `Fishing Service` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: /Fishing Status`** (1 nodes): `/fishing status command` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Fishingcollectionentry`** (1 nodes): `Fishing Collection Entry` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: /Fishing Ranking`** (1 nodes): `/fishing ranking command` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Permissionauditservice`** (1 nodes): `Permission Audit Service` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: /Audit-Permissions`** (1 nodes): `/audit-permissions command` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Presenceservice`** (1 nodes): `Presence Service` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Auditchannel`** (1 nodes): `Audit Channel Model` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Auditlogservice`** (1 nodes): `Audit Log Service` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: File1`** (1 nodes): `file1` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Root`** (1 nodes): `Root` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Data`** (1 nodes): `Data` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Model`** (1 nodes): `Model` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Function A`** (1 nodes): `Function A` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Group: Function B`** (1 nodes): `Function B` 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:_ - **Why does `FishingService` connect `Fishing Service (UI)` to `Fishing Gameplay`?** _High betweenness centrality (0.184) - this node is a cross-community bridge._ - **Why does `RefinementService` connect `Refinement Economy` to `Activity tracking & Audit`?** _High betweenness centrality (0.045) - this node is a cross-community bridge._ - **What connects `사용자`, `서버`, `FREE (프리)` to the rest of the system?** _52 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Fishing Service (UI)` be split into smaller, more focused modules?** _Cohesion score 0.08 - nodes in this community are weakly interconnected._ - **Should `Activity tracking & Audit` be split into smaller, more focused modules?** _Cohesion score 0.05 - nodes in this community are weakly interconnected._ - **Should `Music Service Logic` be split into smaller, more focused modules?** _Cohesion score 0.11 - nodes in this community are weakly interconnected._ - **Should `I18n & Localization` be split into smaller, more focused modules?** _Cohesion score 0.14 - nodes in this community are weakly interconnected._