Skip to content

Commit d24be81

Browse files
committed
graph
1 parent 85971b7 commit d24be81

2 files changed

Lines changed: 11065 additions & 0 deletions

File tree

graphify-out/GRAPH_REPORT.md

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# Graph Report - . (2026-08-17)
2+
3+
## Corpus Check
4+
- cluster-only mode — file stats not available
5+
6+
## Summary
7+
- 359 nodes · 594 edges · 30 communities (22 shown, 8 thin omitted)
8+
- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 3 edges (avg confidence: 0.83)
9+
- Token cost: 1,005 input · 290 output
10+
11+
## Graph Freshness
12+
- Built from commit: `917cb5e5`
13+
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
14+
- Run `graphify update .` after code changes (no API cost).
15+
16+
## Community Hubs (Navigation)
17+
- Link Redirection Logic
18+
- TypeScript Configuration
19+
- Static Content Pages
20+
- Project Dependencies
21+
- Link Creation API
22+
- Link Statistics UI
23+
- Database Migrations
24+
- Development Dependencies
25+
- Package Metadata
26+
- Global Analytics
27+
- Link Management Service
28+
- Internationalization and Locales
29+
- Input Validation Schemas
30+
- Project Documentation
31+
- Installation Scripts
32+
- Abuse Prevention
33+
- Root Layout Configuration
34+
- ESLint Configuration
35+
- Backup Scripts
36+
- Next.js Configuration
37+
- Update Scripts
38+
- Tailwind CSS Configuration
39+
- CodeQL Security Workflow
40+
- Dependency Review Workflow
41+
- Linting Workflow
42+
- Repository Mirroring Workflow
43+
- Release Automation Workflow
44+
- UI Screenshots
45+
46+
## God Nodes (most connected - your core abstractions)
47+
1. `compilerOptions` - 20 edges
48+
2. `getLinkByCode()` - 15 edges
49+
3. `execute()` - 12 edges
50+
4. `getGlobalStats()` - 12 edges
51+
5. `hashIp()` - 11 edges
52+
6. `StatsPage()` - 10 edges
53+
7. `trackClick()` - 10 edges
54+
8. `isLinkExpired()` - 10 edges
55+
9. `ApiError` - 10 edges
56+
10. `getPool()` - 9 edges
57+
58+
## Surprising Connections (you probably didn't know these)
59+
- `MSK Logo` --references--> `MSK Shortener README` [INFERRED]
60+
public/logo.png → README.md
61+
- `MSK Shortener UI Screenshot` --references--> `MSK Shortener README` [INFERRED]
62+
public/msk_shortener.png → README.md
63+
- `GET()` --calls--> `getLinkByCode()` [EXTRACTED]
64+
app/api/links/[code]/qr/route.ts → src/lib/links.ts
65+
- `GET()` --calls--> `getLinkByCode()` [EXTRACTED]
66+
app/api/links/[code]/stats/route.ts → src/lib/links.ts
67+
- `POST()` --calls--> `createLink()` [EXTRACTED]
68+
app/api/links/route.ts → src/lib/links.ts
69+
70+
## Import Cycles
71+
- None detected.
72+
73+
## Hyperedges (group relationships)
74+
- **MSK Ecosystem Documentation** — readme, contributing, code_of_conduct, security, license [EXTRACTED 1.00]
75+
- **CI/CD Pipeline** — github_workflows_deploy, github_workflows_codeql, github_workflows_eslint, github_workflows_dependency_review [EXTRACTED 1.00]
76+
77+
## Communities (30 total, 8 thin omitted)
78+
79+
### Community 0 - "Link Redirection Logic"
80+
Cohesion: 0.14
81+
Nodes (25): GET(), POST(), POST(), PageProps, RedirectPage(), PageProps, PasswordPage(), PasswordPrompt() (+17 more)
82+
83+
### Community 1 - "TypeScript Configuration"
84+
Cohesion: 0.06
85+
Nodes (32): ./app/*, dom, dom.iterable, esnext, next-env.d.ts, .next/types/**/*.ts, node_modules, **/*.ts (+24 more)
86+
87+
### Community 2 - "Static Content Pages"
88+
Cohesion: 0.08
89+
Nodes (12): CreateLinkForm(), DeleteForm(), DeleteFormProps, State, DeleteLinkButton(), Header(), HeaderProps, Logo() (+4 more)
90+
91+
### Community 3 - "Project Dependencies"
92+
Cohesion: 0.07
93+
Nodes (28): GET(), bcryptjs, dotenv, mysql2, nanoid, next, next-intl, dependencies (+20 more)
94+
95+
### Community 4 - "Link Creation API"
96+
Cohesion: 0.13
97+
Nodes (16): QR_OPTIONS, RouteContext, DELETE(), RouteContext, LinkResult(), LinkResultProps, Props, jsonError() (+8 more)
98+
99+
### Community 5 - "Link Statistics UI"
100+
Cohesion: 0.18
101+
Nodes (19): GET(), RouteContext, formatDate(), PageProps, parseDays(), StatsPage(), QRCodeDisplay(), QRCodeDisplayProps (+11 more)
102+
103+
### Community 6 - "Database Migrations"
104+
Cohesion: 0.15
105+
Nodes (21): main(), ensureMigrationsTable(), getExecutedMigrations(), main(), MIGRATIONS_DIR, runMigration(), ClickContext, extractClickContext() (+13 more)
106+
107+
### Community 7 - "Development Dependencies"
108+
Cohesion: 0.09
109+
Nodes (23): autoprefixer, eslint, eslint-config-next, devDependencies, autoprefixer, eslint, eslint-config-next, postcss (+15 more)
110+
111+
### Community 8 - "Package Metadata"
112+
Cohesion: 0.10
113+
Nodes (20): description, engines, node, license, name, overrides, brace-expansion, eslint (+12 more)
114+
115+
### Community 9 - "Global Analytics"
116+
Cohesion: 0.18
117+
Nodes (14): GET(), GlobalStatsPage(), AggregateBars(), AggregateBarsProps, aggregateBrowsersGlobal(), aggregateOsGlobal(), countClicksLast7Days(), countClicksToday() (+6 more)
118+
119+
### Community 10 - "Link Management Service"
120+
Cohesion: 0.25
121+
Nodes (13): queryOne(), createLink(), CreateLinkOptions, CreateLinkResult, LinkServiceError, DEFAULT_LENGTH, generateDeleteToken(), generateShortCode() (+5 more)
122+
123+
### Community 11 - "Internationalization and Locales"
124+
Cohesion: 0.28
125+
Nodes (8): POST(), LanguageSwitcher(), isLocale(), Locale, LOCALE_FLAGS, LOCALE_LABELS, LOCALES, getCurrentLocale()
126+
127+
### Community 12 - "Input Validation Schemas"
128+
Cohesion: 0.18
129+
Nodes (10): CreateLinkInput, createLinkSchema, customCodeSchema, DeleteLinkInput, deleteLinkSchema, expiresAtSchema, passwordSchema, urlSchema (+2 more)
130+
131+
### Community 13 - "Project Documentation"
132+
Cohesion: 0.25
133+
Nodes (9): Code of Conduct, Contributing Guidelines, Deployment Guide, Deploy Workflow, GNU Affero General Public License v3.0, MSK Logo, MSK Shortener UI Screenshot, MSK Shortener README (+1 more)
134+
135+
### Community 14 - "Installation Scripts"
136+
Cohesion: 0.43
137+
Nodes (7): DEBIAN_FRONTEND, log_err(), log_info(), log_ok(), log_step(), log_warn(), install.sh script
138+
139+
### Community 15 - "Abuse Prevention"
140+
Cohesion: 0.48
141+
Nodes (6): AbuseCheckResult, addBlockedDomain(), BLOCKED_DOMAINS, BLOCKED_TLDS, checkUrlForAbuse(), SHORTENER_DOMAINS
142+
143+
### Community 16 - "Root Layout Configuration"
144+
Cohesion: 0.33
145+
Nodes (4): inter, jetbrainsMono, metadata, viewport
146+
147+
### Community 17 - "ESLint Configuration"
148+
Cohesion: 0.40
149+
Nodes (4): compat, __dirname, eslintConfig, __filename
150+
151+
### Community 18 - "Backup Scripts"
152+
Cohesion: 0.83
153+
Nodes (3): log_err(), log_ok(), backup.sh script
154+
155+
### Community 19 - "Next.js Configuration"
156+
Cohesion: 0.50
157+
Nodes (3): csp, nextConfig, withNextIntl
158+
159+
## Knowledge Gaps
160+
- **127 isolated node(s):** `PageProps`, `PageProps`, `RouteContext`, `QR_OPTIONS`, `RouteContext` (+122 more)
161+
These have ≤1 connection - possible missing edges or undocumented components.
162+
- **8 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
163+
164+
## Suggested Questions
165+
_Questions this graph is uniquely positioned to answer:_
166+
167+
- **Why does `dependencies` connect `Project Dependencies` to `Package Metadata`?**
168+
_High betweenness centrality (0.235) - this node is a cross-community bridge._
169+
- **Why does `GET()` connect `Project Dependencies` to `Link Redirection Logic`, `Link Creation API`?**
170+
_High betweenness centrality (0.220) - this node is a cross-community bridge._
171+
- **What connects `PageProps`, `PageProps`, `RouteContext` to the rest of the system?**
172+
_127 weakly-connected nodes found - possible documentation gaps or missing edges._
173+
- **Should `Link Redirection Logic` be split into smaller, more focused modules?**
174+
_Cohesion score 0.14393939393939395 - nodes in this community are weakly interconnected._
175+
- **Should `TypeScript Configuration` be split into smaller, more focused modules?**
176+
_Cohesion score 0.06060606060606061 - nodes in this community are weakly interconnected._
177+
- **Should `Static Content Pages` be split into smaller, more focused modules?**
178+
_Cohesion score 0.08275862068965517 - nodes in this community are weakly interconnected._
179+
- **Should `Project Dependencies` be split into smaller, more focused modules?**
180+
_Cohesion score 0.07142857142857142 - nodes in this community are weakly interconnected._

0 commit comments

Comments
 (0)