# Graph Report - /home/agent/ai-agent/backend/workspace/73f46153-e8cc-447a-82ad-2eeefa00689f (2026-04-14) ## Corpus Check - 43 files · ~211,373 words - Verdict: corpus is large enough that graph structure adds value. ## Summary - 163 nodes · 187 edges · 42 communities detected - Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS - Token cost: 0 input · 0 output ## God Nodes (most connected - your core abstractions) 1. `ContactPage` - 10 edges 2. `NavigationPage` - 8 edges 3. `main()` - 7 edges 4. `trackEvent()` - 6 edges 5. `captureException()` - 6 edges 6. `captureMessage()` - 6 edges 7. `POST()` - 5 edges 8. `POST()` - 5 edges 9. `initAllAnimations()` - 5 edges 10. `log()` - 5 edges ## Surprising Connections (you probably didn't know these) - None detected - all connections are within the same source files. ## Communities ### Community 0 - "Community 0" Cohesion: 0.17 Nodes (0): ### Community 1 - "Community 1" Cohesion: 0.22 Nodes (1): ContactPage ### Community 2 - "Community 2" Cohesion: 0.56 Nodes (8): captureException(), captureMessage(), generateEventId(), getEnvironment(), getRelease(), getSentryDsn(), parseDsn(), sendToSentry() ### Community 3 - "Community 3" Cohesion: 0.36 Nodes (6): formatEntry(), getMinLevel(), log(), logApiRequest(), output(), shouldLog() ### Community 4 - "Community 4" Cohesion: 0.22 Nodes (1): NavigationPage ### Community 5 - "Community 5" Cohesion: 0.46 Nodes (7): checkRateLimit(), corsHeaders(), escapeHtml(), OPTIONS(), POST(), sendContactEmail(), validateContactForm() ### Community 6 - "Community 6" Cohesion: 0.43 Nodes (6): trackCaseStudyView(), trackEvent(), trackExternalLink(), trackFormSubmit(), trackNewsletterSignup(), trackPortfolioFilter() ### Community 7 - "Community 7" Cohesion: 0.36 Nodes (7): extract_scores(), get_issues(), main(), Run Lighthouse audit on a URL, Extract key scores from Lighthouse data, Extract issues from Lighthouse audit, run_lighthouse() ### Community 8 - "Community 8" Cohesion: 0.46 Nodes (7): captureScreenshot(), ensureDir(), generateIndex(), main(), screenshotPath(), setTheme(), waitForPageReady() ### Community 9 - "Community 9" Cohesion: 0.36 Nodes (4): deleteFromDB(), getAllFromDB(), openDB(), processSyncQueue() ### Community 10 - "Community 10" Cohesion: 0.52 Nodes (6): checkRateLimit(), corsHeaders(), OPTIONS(), POST(), subscribeToNewsletter(), validateEmail() ### Community 11 - "Community 11" Cohesion: 0.48 Nodes (5): initAllAnimations(), initButtonRipple(), initCounters(), initProgressBars(), initScrollReveal() ### Community 12 - "Community 12" Cohesion: 0.48 Nodes (5): extractJsonLd(), main(), validateOpenGraph(), validatePage(), validateTwitterCard() ### Community 13 - "Community 13" Cohesion: 0.47 Nodes (5): main(), measure_response_time(), print_stats(), Measure response time for a URL over multiple iterations, Print statistics for response times ### Community 14 - "Community 14" Cohesion: 0.4 Nodes (2): loadWithTheme(), setStoredTheme() ### Community 15 - "Community 15" Cohesion: 0.6 Nodes (3): formatUptime(), GET(), percentile() ### Community 16 - "Community 16" Cohesion: 0.5 Nodes (0): ### Community 17 - "Community 17" Cohesion: 0.5 Nodes (0): ### Community 18 - "Community 18" Cohesion: 1.0 Nodes (0): ### Community 19 - "Community 19" Cohesion: 1.0 Nodes (0): ### Community 20 - "Community 20" Cohesion: 1.0 Nodes (0): ### Community 21 - "Community 21" Cohesion: 1.0 Nodes (0): ### Community 22 - "Community 22" Cohesion: 1.0 Nodes (0): ### Community 23 - "Community 23" Cohesion: 1.0 Nodes (0): ### Community 24 - "Community 24" Cohesion: 1.0 Nodes (0): ### Community 25 - "Community 25" Cohesion: 1.0 Nodes (0): ### Community 26 - "Community 26" Cohesion: 1.0 Nodes (0): ### Community 27 - "Community 27" Cohesion: 1.0 Nodes (0): ### Community 28 - "Community 28" Cohesion: 1.0 Nodes (0): ### Community 29 - "Community 29" Cohesion: 1.0 Nodes (0): ### Community 30 - "Community 30" Cohesion: 1.0 Nodes (0): ### Community 31 - "Community 31" Cohesion: 1.0 Nodes (0): ### Community 32 - "Community 32" Cohesion: 1.0 Nodes (0): ### Community 33 - "Community 33" Cohesion: 1.0 Nodes (0): ### Community 34 - "Community 34" Cohesion: 1.0 Nodes (0): ### Community 35 - "Community 35" Cohesion: 1.0 Nodes (0): ### Community 36 - "Community 36" Cohesion: 1.0 Nodes (0): ### Community 37 - "Community 37" Cohesion: 1.0 Nodes (0): ### Community 38 - "Community 38" Cohesion: 1.0 Nodes (0): ### Community 39 - "Community 39" Cohesion: 1.0 Nodes (0): ### Community 40 - "Community 40" Cohesion: 1.0 Nodes (0): ### Community 41 - "Community 41" Cohesion: 1.0 Nodes (0): ## Knowledge Gaps - **5 isolated node(s):** `Run Lighthouse audit on a URL`, `Extract key scores from Lighthouse data`, `Extract issues from Lighthouse audit`, `Measure response time for a URL over multiple iterations`, `Print statistics for response times` These have ≤1 connection - possible missing edges or undocumented components. - **Thin community `Community 18`** (2 nodes): `sitemap.xml.ts`, `GET()` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 19`** (2 nodes): `sitemap-index.xml.ts`, `GET()` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 20`** (2 nodes): `health.json.ts`, `GET()` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 21`** (1 nodes): `playwright.config.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 22`** (1 nodes): `env.d.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 23`** (1 nodes): `config.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 24`** (1 nodes): `windows-tasks.ps1` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 25`** (1 nodes): `e2e-blog-navigation.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 26`** (1 nodes): `e2e-critical-paths.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 27`** (1 nodes): `navigation.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 28`** (1 nodes): `contact-form.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 29`** (1 nodes): `e2e-form-interactions.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 30`** (1 nodes): `destructive-chaos.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 31`** (1 nodes): `security-headers.test.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 32`** (1 nodes): `bug-fix-verification.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 33`** (1 nodes): `pages.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 34`** (1 nodes): `api-integration.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 35`** (1 nodes): `static-assets.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 36`** (1 nodes): `accessibility.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 37`** (1 nodes): `cross-browser.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 38`** (1 nodes): `newsletter-subscription.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 39`** (1 nodes): `portfolio.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 40`** (1 nodes): `blog.spec.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 41`** (1 nodes): `e2e-smoke-suite.spec.ts` 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:_ - **What connects `Run Lighthouse audit on a URL`, `Extract key scores from Lighthouse data`, `Extract issues from Lighthouse audit` to the rest of the system?** _5 weakly-connected nodes found - possible documentation gaps or missing edges._