421 lines
18 KiB
Markdown
421 lines
18 KiB
Markdown
# Graph Report - . (2026-04-21)
|
|
|
|
## Corpus Check
|
|
- 163 files · ~121,820 words
|
|
- Verdict: corpus is large enough that graph structure adds value.
|
|
|
|
## Summary
|
|
- 369 nodes · 617 edges · 57 communities detected
|
|
- Extraction: 77% EXTRACTED · 23% INFERRED · 0% AMBIGUOUS · INFERRED: 141 edges (avg confidence: 0.8)
|
|
- Token cost: 0 input · 0 output
|
|
|
|
## Community Hubs (Navigation)
|
|
- [[_COMMUNITY_Fishing System & UI|Fishing System & UI]]
|
|
- [[_COMMUNITY_Music & i18n Testing|Music & i18n Testing]]
|
|
- [[_COMMUNITY_Command Config & Audit|Command Config & Audit]]
|
|
- [[_COMMUNITY_Interaction & i18n Core|Interaction & i18n Core]]
|
|
- [[_COMMUNITY_Error Flow & Setup Wizard|Error Flow & Setup Wizard]]
|
|
- [[_COMMUNITY_Activity & Fever Systems|Activity & Fever Systems]]
|
|
- [[_COMMUNITY_Weapon Refinement RPG|Weapon Refinement RPG]]
|
|
- [[_COMMUNITY_Client Lifecycle & Sharding|Client Lifecycle & Sharding]]
|
|
- [[_COMMUNITY_Discord Event Management|Discord Event Management]]
|
|
- [[_COMMUNITY_Infrastructure & Loaders|Infrastructure & Loaders]]
|
|
- [[_COMMUNITY_Command Subscriptions|Command Subscriptions]]
|
|
- [[_COMMUNITY_AutoRole Automation|AutoRole Automation]]
|
|
- [[_COMMUNITY_Dashboard gRPC Routes|Dashboard gRPC Routes]]
|
|
- [[_COMMUNITY_gRPC Integration Tests|gRPC Integration Tests]]
|
|
- [[_COMMUNITY_Mock Interaction Testing|Mock Interaction Testing]]
|
|
- [[_COMMUNITY_DB & Transaction Layer|DB & Transaction Layer]]
|
|
- [[_COMMUNITY_Logging Infrastructure|Logging Infrastructure]]
|
|
- [[_COMMUNITY_Configuration & Env|Configuration & Env]]
|
|
- [[_COMMUNITY_Custom Exceptions|Custom Exceptions]]
|
|
- [[_COMMUNITY_Dashboard UI Layout|Dashboard UI Layout]]
|
|
- [[_COMMUNITY_Dashboard Development|Dashboard Development]]
|
|
- [[_COMMUNITY_CSS & UI Utilities|CSS & UI Utilities]]
|
|
- [[_COMMUNITY_Command Integration Tests|Command Integration Tests]]
|
|
- [[_COMMUNITY_Mini-Game Mechanics|Mini-Game Mechanics]]
|
|
- [[_COMMUNITY_Logging & Channel Ops|Logging & Channel Ops]]
|
|
- [[_COMMUNITY_Contract Config|Contract Config]]
|
|
- [[_COMMUNITY_Prisma Configuration|Prisma Configuration]]
|
|
- [[_COMMUNITY_PostCSS Settings|PostCSS Settings]]
|
|
- [[_COMMUNITY_TS Environment|TS Environment]]
|
|
- [[_COMMUNITY_Jest Global Setup|Jest Global Setup]]
|
|
- [[_COMMUNITY_Playwright Config|Playwright Config]]
|
|
- [[_COMMUNITY_ESLint Rules|ESLint Rules]]
|
|
- [[_COMMUNITY_Next.js Config|Next.js Config]]
|
|
- [[_COMMUNITY_Test Configurations|Test Configurations]]
|
|
- [[_COMMUNITY_E2E Testing|E2E Testing]]
|
|
- [[_COMMUNITY_gRPC Ping Tests|gRPC Ping Tests]]
|
|
- [[_COMMUNITY_Scratch Debugging|Scratch Debugging]]
|
|
- [[_COMMUNITY_Bot Test Config|Bot Test Config]]
|
|
- [[_COMMUNITY_DB Unit Tests|DB Unit Tests]]
|
|
- [[_COMMUNITY_Error Logic Testing|Error Logic Testing]]
|
|
- [[_COMMUNITY_Reporter Tests|Reporter Tests]]
|
|
- [[_COMMUNITY_Locale Testing|Locale Testing]]
|
|
- [[_COMMUNITY_Invite Service Tests|Invite Service Tests]]
|
|
- [[_COMMUNITY_Fishing Session Tests|Fishing Session Tests]]
|
|
- [[_COMMUNITY_Music Playback Tests|Music Playback Tests]]
|
|
- [[_COMMUNITY_Mimic Logic Tests|Mimic Logic Tests]]
|
|
- [[_COMMUNITY_Voice State Tests|Voice State Tests]]
|
|
- [[_COMMUNITY_Shard Process|Shard Process]]
|
|
- [[_COMMUNITY_Bot Entrypoint|Bot Entrypoint]]
|
|
- [[_COMMUNITY_i18n Schema|i18n Schema]]
|
|
- [[_COMMUNITY_English Assets|English Assets]]
|
|
- [[_COMMUNITY_Korean Assets|Korean Assets]]
|
|
- [[_COMMUNITY_Monorepo Architecture|Monorepo Architecture]]
|
|
- [[_COMMUNITY_gRPC Bridge|gRPC Bridge]]
|
|
- [[_COMMUNITY_Language Support|Language Support]]
|
|
- [[_COMMUNITY_Fishing Mechanics|Fishing Mechanics]]
|
|
- [[_COMMUNITY_Audit Diagnostic|Audit Diagnostic]]
|
|
|
|
## God Nodes (most connected - your core abstractions)
|
|
1. `FishingService` - 55 edges
|
|
2. `MusicService` - 38 edges
|
|
3. `t()` - 30 edges
|
|
4. `execute()` - 14 edges
|
|
5. `RefinementService` - 13 edges
|
|
6. `execute()` - 11 edges
|
|
7. `execute()` - 9 edges
|
|
8. `execute()` - 9 edges
|
|
9. `execute()` - 8 edges
|
|
10. `VoiceService` - 8 edges
|
|
|
|
## Surprising Connections (you probably didn't know these)
|
|
- `Temporary Voice Channels` --logs_to--> `Centralized Audit Logging` [INFERRED]
|
|
Docs/Features/temp_voice_channels.md → apps/bot/src/services/AuditLogService.ts
|
|
- `Weapon Refinement System` --influenced_by--> `Fever Time System` [EXTRACTED]
|
|
Docs/WorkDone/2026-03-30_RefinementImplementation.md → apps/bot/src/services/FeverService.ts
|
|
- `handleSetupWizardInteraction()` --calls--> `t()` [INFERRED]
|
|
apps/bot/src/interactions/handlers/setupWizardHandler.ts → apps/bot/src/i18n/index.ts
|
|
- `execute()` --calls--> `t()` [INFERRED]
|
|
apps/bot/src/commands/language.ts → apps/bot/src/i18n/index.ts
|
|
- `buildErrorMessage()` --calls--> `t()` [INFERRED]
|
|
apps/bot/src/commands/music.ts → apps/bot/src/i18n/index.ts
|
|
|
|
## Communities
|
|
|
|
### Community 0 - "Fishing System & UI"
|
|
Cohesion: 0.08
|
|
Nodes (4): execute(), buildFishingGauge(), buildFishingLane(), FishingService
|
|
|
|
### Community 1 - "Music & i18n Testing"
|
|
Cohesion: 0.1
|
|
Nodes (10): walk(), buildErrorMessage(), execute(), respond(), extractYouTubeVideoId(), formatDuration(), isYouTubePlaylistUrl(), MusicService (+2 more)
|
|
|
|
### Community 2 - "Command Config & Audit"
|
|
Cohesion: 0.11
|
|
Nodes (16): buildResultLine(), execute(), getOverallColor(), AuditLogService, execute(), buildStatusLabel(), execute(), formatReminderOffsets() (+8 more)
|
|
|
|
### Community 3 - "Interaction & i18n Core"
|
|
Cohesion: 0.12
|
|
Nodes (9): getNestedValue(), normalizeDiscordLocale(), resolveLocale(), StaticI18nProvider, execute(), getContextLocale(), getInteractionLocale(), VoiceService (+1 more)
|
|
|
|
### Community 4 - "Error Flow & Setup Wizard"
|
|
Cohesion: 0.12
|
|
Nodes (7): createBotError(), ErrorReporter, withErrorHandler(), PermissionAuditService, execute(), handleSetupWizardInteraction(), SetupWizardRenderer
|
|
|
|
### Community 5 - "Activity & Fever Systems"
|
|
Cohesion: 0.11
|
|
Nodes (6): ActivityTrackerService, BigEmojiService, FeverService, execute(), MimicService, WebhookService
|
|
|
|
### Community 6 - "Weapon Refinement RPG"
|
|
Cohesion: 0.26
|
|
Nodes (3): execute(), handleRefinementInteraction(), RefinementService
|
|
|
|
### Community 7 - "Client Lifecycle & Sharding"
|
|
Cohesion: 0.12
|
|
Nodes (5): execute(), execute(), PrismaShardStatusRepository, PresenceService, execute()
|
|
|
|
### Community 8 - "Discord Event Management"
|
|
Cohesion: 0.22
|
|
Nodes (6): buildEventEmbed(), EventService, resolveAnnouncementChannel(), toDiscordTimestamps(), globalSetup(), main()
|
|
|
|
### Community 9 - "Infrastructure & Loaders"
|
|
Cohesion: 0.15
|
|
Nodes (6): loadCommands(), handleGlobalExceptions(), loadEvents(), connectDB(), createPgPoolConfig(), KordClient
|
|
|
|
### Community 10 - "Command Subscriptions"
|
|
Cohesion: 0.27
|
|
Nodes (7): beforeHandle(), data(), ensureGuildPaidForTrait(), execute(), toModule(), traitRequiresPayment(), ExampleSlashCommand
|
|
|
|
### Community 11 - "AutoRole Automation"
|
|
Cohesion: 0.19
|
|
Nodes (4): AutoRoleCommand, generateAutoRoleDashboard(), AutoRoleService, execute()
|
|
|
|
### Community 12 - "Dashboard gRPC Routes"
|
|
Cohesion: 0.4
|
|
Nodes (2): pingBot(), GET()
|
|
|
|
### Community 13 - "gRPC Integration Tests"
|
|
Cohesion: 0.5
|
|
Nodes (1): MockBotDashboardService
|
|
|
|
### Community 14 - "Mock Interaction Testing"
|
|
Cohesion: 0.5
|
|
Nodes (1): MockDiscord
|
|
|
|
### Community 15 - "DB & Transaction Layer"
|
|
Cohesion: 0.67
|
|
Nodes (2): isRootClient(), withTransaction()
|
|
|
|
### Community 16 - "Logging Infrastructure"
|
|
Cohesion: 0.5
|
|
Nodes (0):
|
|
|
|
### Community 17 - "Configuration & Env"
|
|
Cohesion: 0.67
|
|
Nodes (0):
|
|
|
|
### Community 18 - "Custom Exceptions"
|
|
Cohesion: 0.67
|
|
Nodes (1): BotError
|
|
|
|
### Community 19 - "Dashboard UI Layout"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 20 - "Dashboard Development"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 21 - "CSS & UI Utilities"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 22 - "Command Integration Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 23 - "Mini-Game Mechanics"
|
|
Cohesion: 1.0
|
|
Nodes (2): Fever Time System, Weapon Refinement System
|
|
|
|
### Community 24 - "Logging & Channel Ops"
|
|
Cohesion: 1.0
|
|
Nodes (2): Centralized Audit Logging, Temporary Voice Channels
|
|
|
|
### Community 25 - "Contract Config"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 26 - "Prisma Configuration"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 27 - "PostCSS Settings"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 28 - "TS Environment"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 29 - "Jest Global Setup"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 30 - "Playwright Config"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 31 - "ESLint Rules"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 32 - "Next.js Config"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 33 - "Test Configurations"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 34 - "E2E Testing"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 35 - "gRPC Ping Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 36 - "Scratch Debugging"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 37 - "Bot Test Config"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 38 - "DB Unit Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 39 - "Error Logic Testing"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 40 - "Reporter Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 41 - "Locale Testing"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 42 - "Invite Service Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 43 - "Fishing Session Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 44 - "Music Playback Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 45 - "Mimic Logic Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 46 - "Voice State Tests"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 47 - "Shard Process"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 48 - "Bot Entrypoint"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 49 - "i18n Schema"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 50 - "English Assets"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 51 - "Korean Assets"
|
|
Cohesion: 1.0
|
|
Nodes (0):
|
|
|
|
### Community 52 - "Monorepo Architecture"
|
|
Cohesion: 1.0
|
|
Nodes (1): Kord Monorepo Architecture
|
|
|
|
### Community 53 - "gRPC Bridge"
|
|
Cohesion: 1.0
|
|
Nodes (1): gRPC Communication Layer
|
|
|
|
### Community 54 - "Language Support"
|
|
Cohesion: 1.0
|
|
Nodes (1): Internationalization System
|
|
|
|
### Community 55 - "Fishing Mechanics"
|
|
Cohesion: 1.0
|
|
Nodes (1): Fishing Mini-Game
|
|
|
|
### Community 56 - "Audit Diagnostic"
|
|
Cohesion: 1.0
|
|
Nodes (1): Permission Audit Diagnostic
|
|
|
|
## Knowledge Gaps
|
|
- **9 isolated node(s):** `Kord Monorepo Architecture`, `gRPC Communication Layer`, `Internationalization System`, `Fishing Mini-Game`, `Weapon Refinement System` (+4 more)
|
|
These have ≤1 connection - possible missing edges or undocumented components.
|
|
- **Thin community `Dashboard UI Layout`** (2 nodes): `layout.tsx`, `RootLayout()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Dashboard Development`** (2 nodes): `page.tsx`, `testGrpc()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `CSS & UI Utilities`** (2 nodes): `utils.ts`, `cn()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Command Integration Tests`** (2 nodes): `Command.test.ts`, `executePingCommand()`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Mini-Game Mechanics`** (2 nodes): `Fever Time System`, `Weapon Refinement System`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Logging & Channel Ops`** (2 nodes): `Centralized Audit Logging`, `Temporary Voice Channels`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Contract Config`** (1 nodes): `index.js`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Prisma Configuration`** (1 nodes): `prisma.config.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `PostCSS Settings`** (1 nodes): `postcss.config.mjs`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `TS Environment`** (1 nodes): `next-env.d.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Jest Global Setup`** (1 nodes): `jest.setup.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Playwright Config`** (1 nodes): `playwright.config.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `ESLint Rules`** (1 nodes): `eslint.config.mjs`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Next.js Config`** (1 nodes): `next.config.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Test Configurations`** (1 nodes): `jest.config.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `E2E Testing`** (1 nodes): `dashboard.spec.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `gRPC Ping Tests`** (1 nodes): `grpc-ping.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Scratch Debugging`** (1 nodes): `scratch_debug_env.js`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Bot Test Config`** (1 nodes): `jest.config.js`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `DB Unit Tests`** (1 nodes): `db.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Error Logic Testing`** (1 nodes): `BotError.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Reporter Tests`** (1 nodes): `ErrorReporter.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Locale Testing`** (1 nodes): `i18n.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Invite Service Tests`** (1 nodes): `InviteService.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Fishing Session Tests`** (1 nodes): `FishingService.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Music Playback Tests`** (1 nodes): `MusicService.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Mimic Logic Tests`** (1 nodes): `MimicService.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Voice State Tests`** (1 nodes): `VoiceService.test.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Shard Process`** (1 nodes): `shard.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Bot Entrypoint`** (1 nodes): `index.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `i18n Schema`** (1 nodes): `types.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `English Assets`** (1 nodes): `en.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Korean Assets`** (1 nodes): `ko.ts`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Monorepo Architecture`** (1 nodes): `Kord Monorepo Architecture`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `gRPC Bridge`** (1 nodes): `gRPC Communication Layer`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Language Support`** (1 nodes): `Internationalization System`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Fishing Mechanics`** (1 nodes): `Fishing Mini-Game`
|
|
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
|
- **Thin community `Audit Diagnostic`** (1 nodes): `Permission Audit Diagnostic`
|
|
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 `t()` connect `Command Config & Audit` to `Fishing System & UI`, `Music & i18n Testing`, `Interaction & i18n Core`, `Error Flow & Setup Wizard`, `Client Lifecycle & Sharding`, `AutoRole Automation`?**
|
|
_High betweenness centrality (0.270) - this node is a cross-community bridge._
|
|
- **Why does `createPgPoolConfig()` connect `Infrastructure & Loaders` to `Music & i18n Testing`?**
|
|
_High betweenness centrality (0.048) - this node is a cross-community bridge._
|
|
- **Are the 28 inferred relationships involving `t()` (e.g. with `handleSetupWizardInteraction()` and `execute()`) actually correct?**
|
|
_`t()` has 28 INFERRED edges - model-reasoned connections that need verification._
|
|
- **Are the 11 inferred relationships involving `execute()` (e.g. with `t()` and `.addFromQuery()`) actually correct?**
|
|
_`execute()` has 11 INFERRED edges - model-reasoned connections that need verification._
|
|
- **What connects `Kord Monorepo Architecture`, `gRPC Communication Layer`, `Internationalization System` to the rest of the system?**
|
|
_9 weakly-connected nodes found - possible documentation gaps or missing edges._
|
|
- **Should `Fishing System & UI` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.08 - nodes in this community are weakly interconnected._
|
|
- **Should `Music & i18n Testing` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.1 - nodes in this community are weakly interconnected._ |