Graphify audit โ alby-studio (Phase 3 expansion #1)
Context
First Phase 3 expansion of the graphify quarterly audit pattern adopted in graphify-trial-2026-05-20. alby-studio was the priority target (62 source files, the auth + storefront + Stripe Connect coupling that benefits from graph analysis).
Detail
Run summary
| Metric | Value |
|---|---|
| Files extracted | 149 |
| Words analyzed | ~54,076 |
| Nodes | 783 |
| Edges | 1,427 |
| Communities | 53 (40 shown, 13 thin omitted) |
| Extraction quality | 100% extracted / 0% inferred / 0% ambiguous |
| Token cost | $0 (AST-only) |
| Wall-clock time | <10 sec |
| Output (gitignored) | alby-studio/graphify-out/{graph.json, graph.html, GRAPH_REPORT.md} |
Top god-nodes
| # | Symbol | Edges | Significance |
|---|---|---|---|
| 1 | cn() | 88 | Tailwind class merger โ every shadcn-style component touches it. Class-merging refactor impact map. |
| 2 | Button() | 34 | Heavily reused UI primitive |
| 3 | authOptions | 30 | NextAuth config โ auth surface centralization |
| 4 | Card() / CardContent() / CardHeader() / CardTitle() | 29 / 29 / 26 / 26 | shadcn Card composition |
| 5 | getVendorBySlug() | 21 | THE storefront domain spine โ vendor lookup central |
| 6 | Input() | 20 | Form input primitive |
| 7 | env | 16 | Env-var access pattern |
New cross-coupling facts (gate: โฅ2 needed)
- โ
NEW โ
cn()god-utility with 88 call sites. Any move away from shadcn-style class merging would touch 88 places. Quantifies refactor cost.
- โ
NEW โ
getVendorBySlug()is the storefront's spine (21 edges). Vendor-lookup-by-slug is central to alby-studio's domain. Worth a typed query interface (TS generics) so route handlers don't re-derive the lookup pattern.
- โ
NEW โ
authOptionshas 30 edges โ NextAuth config is centralized (good) but refactor blast radius is real. Affects ~30 places if migrating to a different auth strategy (e.g., Aspire Hub OIDC consumer).
- ๐ก Expected: shadcn Card components dominate UI (Card + Content + Header + Title all 26-29 edges)
- ๐ก Expected:
nanoidusage across services for IDs
Verdict
Phase 3 expansion confirms graphify's value. 3 of 5 findings genuinely new (gate โฅ2). Continue with the quarterly audit pattern.
Actionable follow-ups from this audit
- [ ] Investigate whether
getVendorBySlug()should become a typed query inpackages/db(or alby-studio'slib/services/) with a clearer interface than the current 21-call-site pattern - [ ] Confirm whether the 88-edge
cn()god-utility is acceptable (it's a shadcn convention) or signals a class-merging strategy review - [ ] If migrating alby-studio to Aspire Hub OIDC SSO, document the 30 NextAuth callsites as the migration scope
Next Phase 3 targets
| Repo | Source files | Priority |
|---|---|---|
| zinga-pms | 31 | ๐ก small but PMS is the largest Zinga product |
| MCP servers batch 1 | varies | ๐ก group of 5-8 servers for cross-server pattern detection |
| alby-place | varies | ๐ข if it's the WP storefront, may not be Python/TS-heavy enough |
| Aspire LLM Gateway codebase | ~10 files | ๐ด too small, skip |
Related
- graphify-trial-2026-05-20 โ original Phase 1/2 trial
- aios-workflow โ adoption rules + tiered plan
๐ Relationships
graph LR
graphify_audit_2026_05_21["graphify-audit-2026-05-21"]:::self
graphify_audit_2026_05_21 --> graphify_trial_2026_05_20["graphify-trial-2026-05-20"]
graphify_audit_2026_05_21 --> aios_workflow["aios-workflow"]
classDef self fill:#715EE3,color:#fff,stroke:#291F50;