22 KiB
Graph Report - . (2026-04-19)
Corpus Check
- 177 files · ~197,362 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 235 nodes · 221 edges · 57 communities detected
- Extraction: 89% EXTRACTED · 11% INFERRED · 0% AMBIGUOUS · INFERRED: 25 edges (avg confidence: 0.76)
- Token cost: 0 input · 0 output
Community Hubs (Navigation)
- _COMMUNITY_Layout Persistence Branding
- _COMMUNITY_Concept Modal Youtube
- _COMMUNITY_Main Getingestconfigfromenv Getpublicconfig
- _COMMUNITY_Wordpress Decodeentities Fetchallpages
- _COMMUNITY_Cache Main Createcachefromenv
- _COMMUNITY_Highperformingyoutubevideos Instagramposts Newestitems
- _COMMUNITY_Compute Sleep Cachedcompute
- _COMMUNITY_Cache Slug Build
- _COMMUNITY_Image Placeholder Load
- _COMMUNITY_Website Repository Guidelines
- _COMMUNITY_Youtube Fetchyoutubeviaapi Fetchyoutubeviarss
- _COMMUNITY_Cacheputsafe Isget Isimagerequest
- _COMMUNITY_Production Notch Styling
- _COMMUNITY_Astro Blogpostcard Layout
- _COMMUNITY_Getcachepath Readcontentcache Verify
- _COMMUNITY_Fetchpodcastrss Normalizepodcastfeeditems Striphtml
- _COMMUNITY_Target Data Umami
- _COMMUNITY_Screenshot Review Santhoshj
- _COMMUNITY_Tests Listed Files
- _COMMUNITY_Service Worker Critical
- _COMMUNITY_Withutm
- _COMMUNITY_Creatememorycache Memory Cache
- _COMMUNITY_Readfeaturedvideoids Curation
- _COMMUNITY_Read Umami Attributes
- _COMMUNITY_Read Layout Test
- _COMMUNITY_Read Title Type
- _COMMUNITY_Umami Attributes Test
- _COMMUNITY_Wcag Responsive Shell
- _COMMUNITY_Normalized Schema Wordpress
- _COMMUNITY_Passwords Rationale Revocable
- _COMMUNITY_Astro Config
- _COMMUNITY_Community 31
- _COMMUNITY_Links
- _COMMUNITY_Types
- _COMMUNITY_Types
- _COMMUNITY_Test
- _COMMUNITY_Ingest Test
- _COMMUNITY_Desktop Header Screenshot
- _COMMUNITY_Mobile Header Screenshot
- _COMMUNITY_Surface
- _COMMUNITY_Rationale Structure Keeps
- _COMMUNITY_Contentitem Summary Optional
- _COMMUNITY_Standardcard Astro
- _COMMUNITY_Post Slug Astro
- _COMMUNITY_Slug Astro
- _COMMUNITY_Point Quality Gate
- _COMMUNITY_Bounce Rate Reduction
- _COMMUNITY_Preview Modal Instead
- _COMMUNITY_Umami Preview Event
- _COMMUNITY_Modal Tracking Click
- _COMMUNITY_Precedence Localstorage Cookie
- _COMMUNITY_Cookie Fallback Long
- _COMMUNITY_Switch Event Automatic
- _COMMUNITY_Surface
- _COMMUNITY_Social Aggregation
- _COMMUNITY_Homepage Modules
- _COMMUNITY_Conversion Ctas
God Nodes (most connected - your core abstractions)
2026-02-10 lighthouse fixes change- 13 edgesmain()- 10 edgescreateCacheFromEnv()- 8 edgesmedia-modal capability- 7 edgesrun()- 6 edgesnormalizeWordpressPost()- 6 edgesfast-website- 6 edgesThree-theme system (dark/light/high-contrast)- 6 edgeslog()- 5 edgesnormalizeWordpressPage()- 5 edges
Surprising Connections (you probably didn't know these)
Favicon SVG stylized S mark--supports_branding-->SEO-first content aggregation website[INFERRED] site/public/favicon.svg → README.mdrun()--calls-->log()[INFERRED] site\scripts\run-lighthouse.ts → site\scripts\fetch-content.tscreateCacheFromEnv()--calls-->log()[INFERRED] site\src\lib\cache\index.ts → site\scripts\fetch-content.tsmain()--calls-->getIngestConfigFromEnv()[INFERRED] site\scripts\fetch-content.ts → site\src\lib\config.tsmain()--calls-->createCacheFromEnv()[INFERRED] site\scripts\fetch-content.ts → site\src\lib\cache\index.ts
Hyperedges (group relationships)
- Theme notch incident bundle — doc_diag_complete, doc_diag_summary, doc_prod_diagnosis, issue_theme_notch_production_unstyled, cause_stale_production_css, fix_rebuild_redeploy_docker [INFERRED 0.90]
- Lighthouse gate contract — capability_lighthouse_quality_gate, concept_lighthouse_gate_100, concept_theme_system, concept_service_worker_caching, concept_layout_shift_prevention [EXTRACTED 0.90]
- Media modal implementation bundle — capability_media_modal, concept_native_dialog_modal, concept_iframe_src_reset, concept_cards_as_buttons, concept_data_attributes_modal, concept_modal_embed_urls, concept_wcag_modal_accessibility, concept_umami_media_preview, concept_modal_cta_tracking [EXTRACTED 0.90]
- Theme persistence bundle — change_remember_theme, concept_theme_persistence, concept_theme_precedence_order, concept_site_theme_cookie, concept_theme_switch_event, concept_theme_switch_payload, concept_no_restore_event [EXTRACTED 0.90]
Communities
Community 0 - "Layout Persistence Branding"
Cohesion: 0.08 Nodes (25): lighthouse-quality-gate capability, Accessible semantic controls, deterministic lighthouse gate, Layout shift prevention, prefers-reduced-motion handling, theme persistence across visits, Theme persistence with localStorage/cookie fallback, theme_switch umami event (+17 more)
Community 1 - "Concept Modal Youtube"
Cohesion: 0.12 Nodes (18): media-modal capability, 2026-02-10 lighthouse fixes change, youtube iframe api endpoint, video/podcast cards as button triggers, concept crawlable anchors, concept csp header alignment, concept dark theme contrast tokens, data-* attribute flow from cards to modal (+10 more)
Community 2 - "Main Getingestconfigfromenv Getpublicconfig"
Cohesion: 0.18 Nodes (11): getIngestConfigFromEnv(), dedupe(), log(), main(), normalizeSpotifyEpisodeUrl(), readPodcastSpotifyOverrideMap(), writeAtomic(), readInstagramEmbedPosts() (+3 more)
Community 3 - "Wordpress Decodeentities Fetchallpages"
Cohesion: 0.27 Nodes (10): decodeEntities(), fetchWordpressContent(), getAuthHeaders(), mapCategoryIds(), mapFeaturedImageUrl(), normalizeWordpressCategory(), normalizeWordpressPage(), normalizeWordpressPost() (+2 more)
Community 4 - "Cache Main Createcachefromenv"
Cohesion: 0.21 Nodes (7): log(), main(), createCacheFromEnv(), createNoopCache(), createRedisCache(), resolveDefaultTtlSecondsFromEnv(), resolveRedisUrlFromEnv()
Community 5 - "Highperformingyoutubevideos Instagramposts Newestitems"
Cohesion: 0.2 Nodes (4): highPerformingYoutubeVideos(), wordpressPosts(), wordpressPostsByCategorySlug(), youtubeVideos()
Community 6 - "Compute Sleep Cachedcompute"
Cohesion: 0.25 Nodes (7): compute(), sleep(), cachedCompute(), getArg(), hasFlag(), run(), startPreviewServerIfNeeded()
Community 7 - "Cache Slug Build"
Cohesion: 0.18 Nodes (11): blog-section-surface, build-time ingestion into content cache, site/content/cache/content.json, site/scripts/fetch-content.ts, Rationale: build-time cache keeps site fast and crawlable, /blog/category/ route, /blog route, /blog/page/ route (+3 more)
Community 8 - "Image Placeholder Load"
Cohesion: 0.2 Nodes (10): BaseLayout inline image load script, static placeholder on image error, fade-in on image load, image-lazy-loading, .img-error, .img-loading, .img-shimmer-wrap, no CLS from placeholder (+2 more)
Community 9 - "Website Repository Guidelines"
Cohesion: 0.22 Nodes (9): Repository Guidelines, SVG uses prefers-color-scheme dark fill override, Favicon SVG stylized S mark, lighthouse-quality-gate, nav-hover-line, theme-switcher-notch, OpenSpec schema spec-driven, fast-website (+1 more)
Community 10 - "Youtube Fetchyoutubeviaapi Fetchyoutubeviarss"
Cohesion: 0.36 Nodes (6): fetchYoutubeViaApi(), fetchYoutubeViaRss(), normalizeYoutubeApiVideos(), normalizeYoutubeRssFeedItems(), stripHtml(), truncate()
Community 11 - "Cacheputsafe Isget Isimagerequest"
Cohesion: 0.33 Nodes (0):
Community 12 - "Production Notch Styling"
Cohesion: 0.33 Nodes (6): Stale production CSS missing theme-notch rules, Production Theme Notch Styling Issue - Complete Diagnostic Report, Production Theme Notch Styling Issue - Executive Summary, Production Theme Notch Styling Issue - Diagnostic Report, Rebuild and redeploy Docker image, Theme notch unstyled on production
Community 13 - "Astro Blogpostcard Layout"
Cohesion: 0.33 Nodes (4): card-layout-system, views shown only when available, shared Card component, standard footer/meta row
Community 14 - "Getcachepath Readcontentcache Verify"
Cohesion: 0.5 Nodes (3): getCachePath(), readContentCache(), main()
Community 15 - "Fetchpodcastrss Normalizepodcastfeeditems Striphtml"
Cohesion: 0.6 Nodes (4): fetchPodcastRss(), normalizePodcastFeedItems(), stripHtml(), truncate()
Community 16 - "Target Data Umami"
Cohesion: 0.5 Nodes (4): data-umami-event attributes, placement, target_id, target_url
Community 17 - "Screenshot Review Santhoshj"
Cohesion: 0.67 Nodes (3): Performance Review — santhoshj.com, Blog page screenshot, Homepage screenshot
Community 18 - "Tests Listed Files"
Cohesion: 0.67 Nodes (3): Listed spec files missing in current workspace, site/tests/content.spec.ts, site/tests/yaml.spec.ts
Community 19 - "Service Worker Critical"
Cohesion: 0.67 Nodes (3): Critical-asset cache busting, Service worker caching lifecycle, Service worker performance spec
Community 20 - "Withutm"
Cohesion: 1.0 Nodes (0):
Community 21 - "Creatememorycache Memory Cache"
Cohesion: 1.0 Nodes (0):
Community 22 - "Readfeaturedvideoids Curation"
Cohesion: 1.0 Nodes (0):
Community 23 - "Read Umami Attributes"
Cohesion: 1.0 Nodes (0):
Community 24 - "Read Layout Test"
Cohesion: 1.0 Nodes (0):
Community 25 - "Read Title Type"
Cohesion: 1.0 Nodes (0):
Community 26 - "Umami Attributes Test"
Cohesion: 1.0 Nodes (0):
Community 27 - "Wcag Responsive Shell"
Cohesion: 1.0 Nodes (0):
Community 28 - "Normalized Schema Wordpress"
Cohesion: 1.0 Nodes (2): normalized wordpress internal schema, Rationale: normalized schema keeps UI simple and consistent
Community 29 - "Passwords Rationale Revocable"
Cohesion: 1.0 Nodes (2): Rationale: app passwords are revocable and safer operationally, WordPress application passwords
Community 30 - "Astro Config"
Cohesion: 1.0 Nodes (0):
Community 31 - "Community 31"
Cohesion: 1.0 Nodes (0):
Community 32 - "Links"
Cohesion: 1.0 Nodes (0):
Community 33 - "Types"
Cohesion: 1.0 Nodes (0):
Community 34 - "Types"
Cohesion: 1.0 Nodes (0):
Community 35 - "Test"
Cohesion: 1.0 Nodes (0):
Community 36 - "Ingest Test"
Cohesion: 1.0 Nodes (0):
Community 37 - "Desktop Header Screenshot"
Cohesion: 1.0 Nodes (1): Desktop header screenshot
Community 38 - "Mobile Header Screenshot"
Cohesion: 1.0 Nodes (1): Mobile header screenshot
Community 39 - "Surface"
Cohesion: 1.0 Nodes (1): seo-content-surface
Community 40 - "Rationale Structure Keeps"
Cohesion: 1.0 Nodes (1): Rationale: route structure keeps URLs clear and stable
Community 41 - "Contentitem Summary Optional"
Cohesion: 1.0 Nodes (1): ContentItem.summary optional field
Community 42 - "Standardcard Astro"
Cohesion: 1.0 Nodes (0):
Community 43 - "Post Slug Astro"
Cohesion: 1.0 Nodes (1): blog/post/[slug].astro
Community 44 - "Slug Astro"
Cohesion: 1.0 Nodes (1): blog/page/[slug].astro
Community 45 - "Point Quality Gate"
Cohesion: 1.0 Nodes (1): Lighthouse 100-point quality gate
Community 46 - "Bounce Rate Reduction"
Cohesion: 1.0 Nodes (1): Bounce rate reduction intent
Community 47 - "Preview Modal Instead"
Cohesion: 1.0 Nodes (1): on-site media preview modal instead of outbound navigation
Community 48 - "Umami Preview Event"
Cohesion: 1.0 Nodes (1): umami media_preview event taxonomy
Community 49 - "Modal Tracking Click"
Cohesion: 1.0 Nodes (1): modal CTA tracking via cta_click taxonomy
Community 50 - "Precedence Localstorage Cookie"
Cohesion: 1.0 Nodes (1): theme precedence localStorage -> cookie -> environment signals
Community 51 - "Cookie Fallback Long"
Cohesion: 1.0 Nodes (1): site_theme cookie fallback with long TTL
Community 52 - "Switch Event Automatic"
Cohesion: 1.0 Nodes (1): no theme_switch event on automatic restoration
Community 53 - "Surface"
Cohesion: 1.0 Nodes (1): SEO content surface spec
Community 54 - "Social Aggregation"
Cohesion: 1.0 Nodes (1): Social content aggregation spec
Community 55 - "Homepage Modules"
Cohesion: 1.0 Nodes (1): Homepage content modules spec
Community 56 - "Conversion Ctas"
Cohesion: 1.0 Nodes (1): Conversion CTAs spec
Knowledge Gaps
- 78 isolated node(s):
Repository Guidelines,OpenSpec schema spec-driven,theme-switcher-notch,nav-hover-line,lighthouse-quality-gate(+73 more) These have ≤1 connection - possible missing edges or undocumented components. - Thin community
Withutm(2 nodes):url.ts,withUtm()Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Creatememorycache Memory Cache(2 nodes):createMemoryCache(),memory-cache.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Readfeaturedvideoids Curation(2 nodes):readFeaturedVideoIds(),curation.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Read Umami Attributes(2 nodes):read(),blog-umami-attributes.test.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Read Layout Test(2 nodes):read(),card-layout.test.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Read Title Type(2 nodes):read(),content-title-type-attributes.test.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Umami Attributes Test(2 nodes):umami-attributes.test.ts,read()Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Wcag Responsive Shell(2 nodes):wcag-responsive-shell.test.ts,read()Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Normalized Schema Wordpress(2 nodes):normalized wordpress internal schema,Rationale: normalized schema keeps UI simple and consistentToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Passwords Rationale Revocable(2 nodes):Rationale: app passwords are revocable and safer operationally,WordPress application passwordsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Astro Config(1 nodes):astro.config.mjsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 31(1 nodes):env.d.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Links(1 nodes):links.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Types(1 nodes):types.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Types(1 nodes):types.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Test(1 nodes):blog-nav.test.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Ingest Test(1 nodes):ingest.test.tsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Desktop Header Screenshot(1 nodes):Desktop header screenshotToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Mobile Header Screenshot(1 nodes):Mobile header screenshotToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Surface(1 nodes):seo-content-surfaceToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Rationale Structure Keeps(1 nodes):Rationale: route structure keeps URLs clear and stableToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Contentitem Summary Optional(1 nodes):ContentItem.summary optional fieldToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Standardcard Astro(1 nodes):StandardCard.astroToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Post Slug Astro(1 nodes):blog/post/[slug].astroToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Slug Astro(1 nodes):blog/page/[slug].astroToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Point Quality Gate(1 nodes):Lighthouse 100-point quality gateToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Bounce Rate Reduction(1 nodes):Bounce rate reduction intentToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Preview Modal Instead(1 nodes):on-site media preview modal instead of outbound navigationToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Umami Preview Event(1 nodes):umami media_preview event taxonomyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Modal Tracking Click(1 nodes):modal CTA tracking via cta_click taxonomyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Precedence Localstorage Cookie(1 nodes):theme precedence localStorage -> cookie -> environment signalsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Cookie Fallback Long(1 nodes):site_theme cookie fallback with long TTLToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Switch Event Automatic(1 nodes):no theme_switch event on automatic restorationToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Surface(1 nodes):SEO content surface specToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Social Aggregation(1 nodes):Social content aggregation specToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Homepage Modules(1 nodes):Homepage content modules specToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Conversion Ctas(1 nodes):Conversion CTAs specToo 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
2026-02-10 lighthouse fixes changeconnectConcept Modal YoutubetoLayout Persistence Branding? High betweenness centrality (0.020) - this node is a cross-community bridge. - Why does
prefers-reduced-motion handlingconnectLayout Persistence BrandingtoConcept Modal Youtube? High betweenness centrality (0.017) - this node is a cross-community bridge. - Why does
main()connectMain Getingestconfigfromenv GetpublicconfigtoCache Main Createcachefromenv,Compute Sleep Cachedcompute? High betweenness centrality (0.012) - this node is a cross-community bridge. - Are the 4 inferred relationships involving
main()(e.g. withgetIngestConfigFromEnv()andcreateCacheFromEnv()) actually correct?main()has 4 INFERRED edges - model-reasoned connections that need verification. - Are the 7 inferred relationships involving
createCacheFromEnv()(e.g. withmain()andmain()) actually correct?createCacheFromEnv()has 7 INFERRED edges - model-reasoned connections that need verification. - Are the 2 inferred relationships involving
run()(e.g. withsleep()andlog()) actually correct?run()has 2 INFERRED edges - model-reasoned connections that need verification. - What connects
Repository Guidelines,OpenSpec schema spec-driven,theme-switcher-notchto the rest of the system? 78 weakly-connected nodes found - possible documentation gaps or missing edges.