Skip to content

Commit c9158f3

Browse files
committed
chore(graph): relabel the graph communities
graphify label gave the four communities that appeared with the last update proper names instead of the placeholders derived from their hub node, and sharpened a few existing ones. Node and edge counts are unchanged.
1 parent 6ce376d commit c9158f3

2 files changed

Lines changed: 2289 additions & 2290 deletions

File tree

graphify-out/GRAPH_REPORT.md

Lines changed: 41 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,48 @@
11
# Graph Report - msk-shortener (2026-08-17)
22

33
## Corpus Check
4-
- 71 files · ~39,098 words
5-
- Verdict: corpus is large enough that graph structure adds value.
4+
- cluster-only mode — file stats not available
65

76
## Summary
87
- 413 nodes · 638 edges · 34 communities (25 shown, 9 thin omitted)
98
- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 6 edges (avg confidence: 0.67)
10-
- Token cost: 0 input · 0 output
9+
- Token cost: 1,076 input · 346 output
1110

1211
## Graph Freshness
1312
- Built from commit: `db43bc26`
1413
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
1514
- Run `graphify update .` after code changes (no API cost).
1615

1716
## Community Hubs (Navigation)
18-
- links.ts
17+
- Link Redirection and Bot Detection
1918
- TypeScript Configuration
20-
- Header.tsx
21-
- dependencies
22-
- index.ts
23-
- stats/[code]/page.tsx
24-
- Database Migrations
19+
- Static Pages and Metadata
20+
- Project Dependencies
21+
- QR Code and Link Creation
22+
- Link Statistics Pages
23+
- Database Migrations and Tracking
2524
- Development Dependencies
2625
- Package Metadata
27-
- globalStats.ts
28-
- password/page.tsx
29-
- config.ts
30-
- MSK Shortener – Claude Projekt-Doku
31-
- pull_request_template.md
26+
- Global Usage Statistics
27+
- Link Management and Password Protection
28+
- Internationalization and Localization
29+
- Project Documentation and Schema
30+
- Contribution and Deployment Documentation
3231
- Installation Scripts
33-
- Abuse Prevention
34-
- Root Layout Configuration
32+
- Abuse and Domain Filtering
33+
- Root Layout and Fonts
3534
- ESLint Configuration
3635
- Backup Scripts
3736
- Next.js Configuration
3837
- Update Scripts
3938
- Tailwind CSS Configuration
4039
- CodeQL Security Workflow
4140
- Dependency Review Workflow
42-
- Linting Workflow
41+
- ESLint Linting Workflow
4342
- Repository Mirroring Workflow
44-
- Release Automation Workflow
43+
- Release Management Workflow
4544
- UI Screenshots
46-
- links
45+
- Database Schema Definitions
4746

4847
## God Nodes (most connected - your core abstractions)
4948
1. `compilerOptions` - 20 edges
@@ -52,10 +51,10 @@
5251
4. `getGlobalStats()` - 12 edges
5352
5. `MSK Shortener – Claude Projekt-Doku` - 12 edges
5453
6. `hashIp()` - 11 edges
55-
7. `StatsPage()` - 10 edges
54+
7. `ApiError` - 10 edges
5655
8. `trackClick()` - 10 edges
5756
9. `isLinkExpired()` - 10 edges
58-
10. `ApiError` - 10 edges
57+
10. `StatsPage()` - 10 edges
5958

6059
## Surprising Connections (you probably didn't know these)
6160
- `MSK Logo` --references--> `MSK Shortener README` [INFERRED]
@@ -73,36 +72,36 @@
7372
- None detected.
7473

7574
## Hyperedges (group relationships)
76-
- **MSK Ecosystem Documentation** — readme, contributing, code_of_conduct, security, license [EXTRACTED 1.00]
7775
- **CI/CD Pipeline** — github_workflows_deploy, github_workflows_codeql, github_workflows_eslint, github_workflows_dependency_review [EXTRACTED 1.00]
76+
- **MSK Ecosystem Documentation** — readme, contributing, code_of_conduct, security, license [EXTRACTED 1.00]
7877

7978
## Communities (34 total, 9 thin omitted)
8079

81-
### Community 0 - "links.ts"
80+
### Community 0 - "Link Redirection and Bot Detection"
8281
Cohesion: 0.08
8382
Nodes (46): POST(), POST(), dynamic, PageProps, RedirectPage(), revalidate, BOT_PATTERNS, isBot() (+38 more)
8483

8584
### Community 1 - "TypeScript Configuration"
8685
Cohesion: 0.06
8786
Nodes (32): ./app/*, dom, dom.iterable, esnext, next-env.d.ts, .next/types/**/*.ts, node_modules, **/*.ts (+24 more)
8887

89-
### Community 2 - "Header.tsx"
88+
### Community 2 - "Static Pages and Metadata"
9089
Cohesion: 0.07
9190
Nodes (12): dynamic, dynamic, CreateLinkForm(), DeleteForm(), DeleteFormProps, State, DeleteLinkButton(), Header() (+4 more)
9291

93-
### Community 3 - "dependencies"
92+
### Community 3 - "Project Dependencies"
9493
Cohesion: 0.07
9594
Nodes (27): bcryptjs, dotenv, mysql2, nanoid, next, next-intl, dependencies, bcryptjs (+19 more)
9695

97-
### Community 4 - "index.ts"
96+
### Community 4 - "QR Code and Link Creation"
9897
Cohesion: 0.13
9998
Nodes (14): GET(), QR_OPTIONS, RouteContext, LinkResult(), LinkResultProps, PasswordForm(), Props, jsonError() (+6 more)
10099

101-
### Community 5 - "stats/[code]/page.tsx"
100+
### Community 5 - "Link Statistics Pages"
102101
Cohesion: 0.16
103102
Nodes (22): GET(), RouteContext, dynamic, formatDate(), PageProps, parseDays(), revalidate, StatsPage() (+14 more)
104103

105-
### Community 6 - "Database Migrations"
104+
### Community 6 - "Database Migrations and Tracking"
106105
Cohesion: 0.15
107106
Nodes (20): main(), ensureMigrationsTable(), getExecutedMigrations(), main(), MIGRATIONS_DIR, runMigration(), ClickContext, normalizeDeviceType() (+12 more)
108107

@@ -114,35 +113,35 @@ Nodes (23): autoprefixer, eslint, eslint-config-next, devDependencies, autoprefi
114113
Cohesion: 0.10
115114
Nodes (20): description, engines, node, license, name, overrides, brace-expansion, eslint (+12 more)
116115

117-
### Community 9 - "globalStats.ts"
116+
### Community 9 - "Global Usage Statistics"
118117
Cohesion: 0.16
119118
Nodes (16): GET(), dynamic, GlobalStatsPage(), revalidate, AggregateBars(), AggregateBarsProps, aggregateBrowsersGlobal(), aggregateOsGlobal() (+8 more)
120119

121-
### Community 10 - "password/page.tsx"
120+
### Community 10 - "Link Management and Password Protection"
122121
Cohesion: 0.11
123122
Nodes (15): DELETE(), GET(), RouteContext, dynamic, PageProps, PasswordPage(), revalidate, LanguageSwitcher() (+7 more)
124123

125-
### Community 11 - "config.ts"
124+
### Community 11 - "Internationalization and Localization"
126125
Cohesion: 0.29
127126
Nodes (9): POST(), DEFAULT_LOCALE, isLocale(), Locale, LOCALE_COOKIE, LOCALE_FLAGS, LOCALE_LABELS, LOCALES (+1 more)
128127

129-
### Community 12 - "MSK Shortener – Claude Projekt-Doku"
128+
### Community 12 - "Project Documentation and Schema"
130129
Cohesion: 0.13
131130
Nodes (14): 💬 Arbeitsweise, `clicks`, 🗄️ Datenbank-Schema, 🌍 Deployment, 📦 Features, `links`, 🎨 MSK Design-System, MSK Shortener – Claude Projekt-Doku (+6 more)
132131

133-
### Community 13 - "pull_request_template.md"
132+
### Community 13 - "Contribution and Deployment Documentation"
134133
Cohesion: 0.13
135134
Nodes (15): Code of Conduct, Contributing Guidelines, Deployment Guide, Additional Notes, Checklist, Description, Related Issue, Screenshots (+7 more)
136135

137136
### Community 14 - "Installation Scripts"
138137
Cohesion: 0.43
139138
Nodes (7): DEBIAN_FRONTEND, log_err(), log_info(), log_ok(), log_step(), log_warn(), install.sh script
140139

141-
### Community 15 - "Abuse Prevention"
140+
### Community 15 - "Abuse and Domain Filtering"
142141
Cohesion: 0.29
143142
Nodes (4): AbuseCheckResult, BLOCKED_DOMAINS, BLOCKED_TLDS, SHORTENER_DOMAINS
144143

145-
### Community 16 - "Root Layout Configuration"
144+
### Community 16 - "Root Layout and Fonts"
146145
Cohesion: 0.33
147146
Nodes (4): inter, jetbrainsMono, metadata, viewport
148147

@@ -159,24 +158,24 @@ Cohesion: 0.50
159158
Nodes (3): csp, nextConfig, withNextIntl
160159

161160
## Knowledge Gaps
162-
- **163 isolated node(s):** `PageProps`, `dynamic`, `revalidate`, `PageProps`, `dynamic` (+158 more)
161+
- **163 isolated node(s):** `PageProps`, `TrackClickOptions`, `CreateLinkOptions`, `Bucket`, `CreateLinkInput` (+158 more)
163162
These have ≤1 connection - possible missing edges or undocumented components.
164163
- **9 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
165164

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

169-
- **Why does `Header()` connect `Header.tsx` to `globalStats.ts`, `stats/[code]/page.tsx`?**
168+
- **Why does `Header()` connect `Static Pages and Metadata` to `Global Usage Statistics`, `Link Statistics Pages`?**
170169
_High betweenness centrality (0.018) - this node is a cross-community bridge._
171-
- **Why does `dependencies` connect `dependencies` to `Package Metadata`?**
170+
- **Why does `dependencies` connect `Project Dependencies` to `Package Metadata`?**
172171
_High betweenness centrality (0.017) - this node is a cross-community bridge._
173-
- **Why does `getLinkByCode()` connect `stats/[code]/page.tsx` to `links.ts`, `password/page.tsx`, `index.ts`?**
172+
- **Why does `getLinkByCode()` connect `Link Statistics Pages` to `Link Redirection and Bot Detection`, `Link Management and Password Protection`, `QR Code and Link Creation`?**
174173
_High betweenness centrality (0.015) - this node is a cross-community bridge._
175-
- **What connects `PageProps`, `dynamic`, `revalidate` to the rest of the system?**
174+
- **What connects `PageProps`, `TrackClickOptions`, `CreateLinkOptions` to the rest of the system?**
176175
_163 weakly-connected nodes found - possible documentation gaps or missing edges._
177-
- **Should `links.ts` be split into smaller, more focused modules?**
176+
- **Should `Link Redirection and Bot Detection` be split into smaller, more focused modules?**
178177
_Cohesion score 0.07532467532467532 - nodes in this community are weakly interconnected._
179178
- **Should `TypeScript Configuration` be split into smaller, more focused modules?**
180179
_Cohesion score 0.06060606060606061 - nodes in this community are weakly interconnected._
181-
- **Should `Header.tsx` be split into smaller, more focused modules?**
180+
- **Should `Static Pages and Metadata` be split into smaller, more focused modules?**
182181
_Cohesion score 0.06951871657754011 - nodes in this community are weakly interconnected._

0 commit comments

Comments
 (0)