{
  "directed": false,
  "multigraph": false,
  "graph": {},
  "nodes": [
    {
      "label": "astro.config.mjs",
      "file_type": "code",
      "source_file": "astro.config.mjs",
      "source_location": "L1",
      "id": "astro_config_mjs",
      "community": 41,
      "norm_label": "astro.config.mjs"
    },
    {
      "label": "playwright.config.ts",
      "file_type": "code",
      "source_file": "playwright.config.ts",
      "source_location": "L1",
      "id": "playwright_config_ts",
      "community": 48,
      "norm_label": "playwright.config.ts"
    },
    {
      "label": "tailwind.config.mjs",
      "file_type": "code",
      "source_file": "tailwind.config.mjs",
      "source_location": "L1",
      "id": "tailwind_config_mjs",
      "community": 49,
      "norm_label": "tailwind.config.mjs"
    },
    {
      "label": "server.mjs",
      "file_type": "code",
      "source_file": "server.mjs",
      "source_location": "L1",
      "id": "server_mjs",
      "community": 50,
      "norm_label": "server.mjs"
    },
    {
      "label": "env.d.ts",
      "file_type": "code",
      "source_file": "src/env.d.ts",
      "source_location": "L1",
      "id": "src_env_d_ts",
      "community": 51,
      "norm_label": "env.d.ts"
    },
    {
      "label": "middleware.ts",
      "file_type": "code",
      "source_file": "src/middleware.ts",
      "source_location": "L1",
      "id": "src_middleware_ts",
      "community": 2,
      "norm_label": "middleware.ts"
    },
    {
      "label": "validateCsrfOrigin()",
      "file_type": "code",
      "source_file": "src/middleware.ts",
      "source_location": "L19",
      "id": "src_middleware_validatecsrforigin",
      "community": 2,
      "norm_label": "validatecsrforigin()"
    },
    {
      "label": "config.ts",
      "file_type": "code",
      "source_file": "src/content/config.ts",
      "source_location": "L1",
      "id": "src_content_config_ts",
      "community": 52,
      "norm_label": "config.ts"
    },
    {
      "label": "sitemap.xml.ts",
      "file_type": "code",
      "source_file": "src/pages/sitemap.xml.ts",
      "source_location": "L1",
      "id": "src_pages_sitemap_xml_ts",
      "community": 42,
      "norm_label": "sitemap.xml.ts"
    },
    {
      "label": "GET()",
      "file_type": "code",
      "source_file": "src/pages/sitemap.xml.ts",
      "source_location": "L13",
      "id": "pages_sitemap_xml_get",
      "community": 42,
      "norm_label": "get()"
    },
    {
      "label": "sitemap-index.xml.ts",
      "file_type": "code",
      "source_file": "src/pages/sitemap-index.xml.ts",
      "source_location": "L1",
      "id": "src_pages_sitemap_index_xml_ts",
      "community": 43,
      "norm_label": "sitemap-index.xml.ts"
    },
    {
      "label": "GET()",
      "file_type": "code",
      "source_file": "src/pages/sitemap-index.xml.ts",
      "source_location": "L10",
      "id": "pages_sitemap_index_xml_get",
      "community": 43,
      "norm_label": "get()"
    },
    {
      "label": "contact.ts",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L1",
      "id": "src_pages_api_contact_ts",
      "community": 2,
      "norm_label": "contact.ts"
    },
    {
      "label": "checkRateLimit()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L17",
      "id": "api_contact_checkratelimit",
      "community": 2,
      "norm_label": "checkratelimit()"
    },
    {
      "label": "validateContactForm()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L83",
      "id": "api_contact_validatecontactform",
      "community": 2,
      "norm_label": "validatecontactform()"
    },
    {
      "label": "readSmtpConfig()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L146",
      "id": "api_contact_readsmtpconfig",
      "community": 2,
      "norm_label": "readsmtpconfig()"
    },
    {
      "label": "getTransporter()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L187",
      "id": "api_contact_gettransporter",
      "community": 2,
      "norm_label": "gettransporter()"
    },
    {
      "label": "sendContactEmail()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L294",
      "id": "api_contact_sendcontactemail",
      "community": 2,
      "norm_label": "sendcontactemail()"
    },
    {
      "label": "escapeHtml()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L466",
      "id": "api_contact_escapehtml",
      "community": 2,
      "norm_label": "escapehtml()"
    },
    {
      "label": "corsHeaders()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L480",
      "id": "api_contact_corsheaders",
      "community": 2,
      "norm_label": "corsheaders()"
    },
    {
      "label": "OPTIONS()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L505",
      "id": "api_contact_options",
      "community": 2,
      "norm_label": "options()"
    },
    {
      "label": "POST()",
      "file_type": "code",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L512",
      "id": "api_contact_post",
      "community": 2,
      "norm_label": "post()"
    },
    {
      "label": "metrics.json.ts",
      "file_type": "code",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L1",
      "id": "src_pages_api_metrics_json_ts",
      "community": 34,
      "norm_label": "metrics.json.ts"
    },
    {
      "label": "recordRequest()",
      "file_type": "code",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L12",
      "id": "api_metrics_json_recordrequest",
      "community": 34,
      "norm_label": "recordrequest()"
    },
    {
      "label": "percentile()",
      "file_type": "code",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L19",
      "id": "api_metrics_json_percentile",
      "community": 34,
      "norm_label": "percentile()"
    },
    {
      "label": "GET()",
      "file_type": "code",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L25",
      "id": "api_metrics_json_get",
      "community": 34,
      "norm_label": "get()"
    },
    {
      "label": "formatUptime()",
      "file_type": "code",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L85",
      "id": "api_metrics_json_formatuptime",
      "community": 34,
      "norm_label": "formatuptime()"
    },
    {
      "label": "health.json.ts",
      "file_type": "code",
      "source_file": "src/pages/api/health.json.ts",
      "source_location": "L1",
      "id": "src_pages_api_health_json_ts",
      "community": 44,
      "norm_label": "health.json.ts"
    },
    {
      "label": "GET()",
      "file_type": "code",
      "source_file": "src/pages/api/health.json.ts",
      "source_location": "L5",
      "id": "api_health_json_get",
      "community": 44,
      "norm_label": "get()"
    },
    {
      "label": "newsletter.ts",
      "file_type": "code",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L1",
      "id": "src_pages_api_newsletter_ts",
      "community": 2,
      "norm_label": "newsletter.ts"
    },
    {
      "label": "checkRateLimit()",
      "file_type": "code",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L17",
      "id": "api_newsletter_checkratelimit",
      "community": 2,
      "norm_label": "checkratelimit()"
    },
    {
      "label": "validateEmail()",
      "file_type": "code",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L44",
      "id": "api_newsletter_validateemail",
      "community": 2,
      "norm_label": "validateemail()"
    },
    {
      "label": "subscribeToNewsletter()",
      "file_type": "code",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L61",
      "id": "api_newsletter_subscribetonewsletter",
      "community": 2,
      "norm_label": "subscribetonewsletter()"
    },
    {
      "label": "corsHeaders()",
      "file_type": "code",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L159",
      "id": "api_newsletter_corsheaders",
      "community": 2,
      "norm_label": "corsheaders()"
    },
    {
      "label": "OPTIONS()",
      "file_type": "code",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L184",
      "id": "api_newsletter_options",
      "community": 2,
      "norm_label": "options()"
    },
    {
      "label": "POST()",
      "file_type": "code",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L191",
      "id": "api_newsletter_post",
      "community": 2,
      "norm_label": "post()"
    },
    {
      "label": "seo.ts",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L1",
      "id": "src_utils_seo_ts",
      "community": 8,
      "norm_label": "seo.ts"
    },
    {
      "label": "generatePageTitle()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L21",
      "id": "utils_seo_generatepagetitle",
      "community": 8,
      "norm_label": "generatepagetitle()"
    },
    {
      "label": "generateKeywords()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L31",
      "id": "utils_seo_generatekeywords",
      "community": 8,
      "norm_label": "generatekeywords()"
    },
    {
      "label": "generateBreadcrumbSchema()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L47",
      "id": "utils_seo_generatebreadcrumbschema",
      "community": 8,
      "norm_label": "generatebreadcrumbschema()"
    },
    {
      "label": "generateArticleSchema()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L63",
      "id": "utils_seo_generatearticleschema",
      "community": 8,
      "norm_label": "generatearticleschema()"
    },
    {
      "label": "generateFAQSchema()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L104",
      "id": "utils_seo_generatefaqschema",
      "community": 8,
      "norm_label": "generatefaqschema()"
    },
    {
      "label": "generateServiceSchema()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L122",
      "id": "utils_seo_generateserviceschema",
      "community": 8,
      "norm_label": "generateserviceschema()"
    },
    {
      "label": "generateCanonicalUrl()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L164",
      "id": "utils_seo_generatecanonicalurl",
      "community": 8,
      "norm_label": "generatecanonicalurl()"
    },
    {
      "label": "truncateDescription()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L173",
      "id": "utils_seo_truncatedescription",
      "community": 8,
      "norm_label": "truncatedescription()"
    },
    {
      "label": "generateOGImageUrl()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L188",
      "id": "utils_seo_generateogimageurl",
      "community": 8,
      "norm_label": "generateogimageurl()"
    },
    {
      "label": "shouldIndexPage()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L198",
      "id": "utils_seo_shouldindexpage",
      "community": 8,
      "norm_label": "shouldindexpage()"
    },
    {
      "label": "generateShareUrls()",
      "file_type": "code",
      "source_file": "src/utils/seo.ts",
      "source_location": "L213",
      "id": "utils_seo_generateshareurls",
      "community": 8,
      "norm_label": "generateshareurls()"
    },
    {
      "label": "animations.ts",
      "file_type": "code",
      "source_file": "src/utils/animations.ts",
      "source_location": "L1",
      "id": "src_utils_animations_ts",
      "community": 26,
      "norm_label": "animations.ts"
    },
    {
      "label": "initScrollReveal()",
      "file_type": "code",
      "source_file": "src/utils/animations.ts",
      "source_location": "L10",
      "id": "utils_animations_initscrollreveal",
      "community": 26,
      "norm_label": "initscrollreveal()"
    },
    {
      "label": "initCounters()",
      "file_type": "code",
      "source_file": "src/utils/animations.ts",
      "source_location": "L42",
      "id": "utils_animations_initcounters",
      "community": 26,
      "norm_label": "initcounters()"
    },
    {
      "label": "animateCounter()",
      "file_type": "code",
      "source_file": "src/utils/animations.ts",
      "source_location": "L65",
      "id": "utils_animations_animatecounter",
      "community": 26,
      "norm_label": "animatecounter()"
    },
    {
      "label": "initButtonRipple()",
      "file_type": "code",
      "source_file": "src/utils/animations.ts",
      "source_location": "L88",
      "id": "utils_animations_initbuttonripple",
      "community": 26,
      "norm_label": "initbuttonripple()"
    },
    {
      "label": "initProgressBars()",
      "file_type": "code",
      "source_file": "src/utils/animations.ts",
      "source_location": "L104",
      "id": "utils_animations_initprogressbars",
      "community": 26,
      "norm_label": "initprogressbars()"
    },
    {
      "label": "initAllAnimations()",
      "file_type": "code",
      "source_file": "src/utils/animations.ts",
      "source_location": "L128",
      "id": "utils_animations_initallanimations",
      "community": 26,
      "norm_label": "initallanimations()"
    },
    {
      "label": "analytics.ts",
      "file_type": "code",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L1",
      "id": "src_utils_analytics_ts",
      "community": 17,
      "norm_label": "analytics.ts"
    },
    {
      "label": "trackEvent()",
      "file_type": "code",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L19",
      "id": "utils_analytics_trackevent",
      "community": 17,
      "norm_label": "trackevent()"
    },
    {
      "label": "trackExternalLink()",
      "file_type": "code",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L40",
      "id": "utils_analytics_trackexternallink",
      "community": 17,
      "norm_label": "trackexternallink()"
    },
    {
      "label": "trackFormSubmit()",
      "file_type": "code",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L51",
      "id": "utils_analytics_trackformsubmit",
      "community": 17,
      "norm_label": "trackformsubmit()"
    },
    {
      "label": "trackNewsletterSignup()",
      "file_type": "code",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L60",
      "id": "utils_analytics_tracknewslettersignup",
      "community": 17,
      "norm_label": "tracknewslettersignup()"
    },
    {
      "label": "trackPortfolioFilter()",
      "file_type": "code",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L69",
      "id": "utils_analytics_trackportfoliofilter",
      "community": 17,
      "norm_label": "trackportfoliofilter()"
    },
    {
      "label": "trackCaseStudyView()",
      "file_type": "code",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L78",
      "id": "utils_analytics_trackcasestudyview",
      "community": 17,
      "norm_label": "trackcasestudyview()"
    },
    {
      "label": "bindExternalLinkTracking()",
      "file_type": "code",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L89",
      "id": "utils_analytics_bindexternallinktracking",
      "community": 17,
      "norm_label": "bindexternallinktracking()"
    },
    {
      "label": "logger.ts",
      "file_type": "code",
      "source_file": "src/utils/logger.ts",
      "source_location": "L1",
      "id": "src_utils_logger_ts",
      "community": 2,
      "norm_label": "logger.ts"
    },
    {
      "label": "getMinLevel()",
      "file_type": "code",
      "source_file": "src/utils/logger.ts",
      "source_location": "L32",
      "id": "utils_logger_getminlevel",
      "community": 2,
      "norm_label": "getminlevel()"
    },
    {
      "label": "shouldLog()",
      "file_type": "code",
      "source_file": "src/utils/logger.ts",
      "source_location": "L41",
      "id": "utils_logger_shouldlog",
      "community": 2,
      "norm_label": "shouldlog()"
    },
    {
      "label": "formatEntry()",
      "file_type": "code",
      "source_file": "src/utils/logger.ts",
      "source_location": "L45",
      "id": "utils_logger_formatentry",
      "community": 2,
      "norm_label": "formatentry()"
    },
    {
      "label": "output()",
      "file_type": "code",
      "source_file": "src/utils/logger.ts",
      "source_location": "L67",
      "id": "utils_logger_output",
      "community": 2,
      "norm_label": "output()"
    },
    {
      "label": "log()",
      "file_type": "code",
      "source_file": "src/utils/logger.ts",
      "source_location": "L81",
      "id": "utils_logger_log",
      "community": 2,
      "norm_label": "log()"
    },
    {
      "label": "logApiRequest()",
      "file_type": "code",
      "source_file": "src/utils/logger.ts",
      "source_location": "L96",
      "id": "utils_logger_logapirequest",
      "community": 2,
      "norm_label": "logapirequest()"
    },
    {
      "label": "imageUtils.ts",
      "file_type": "code",
      "source_file": "src/utils/imageUtils.ts",
      "source_location": "L1",
      "id": "src_utils_imageutils_ts",
      "community": 36,
      "norm_label": "imageutils.ts"
    },
    {
      "label": "optimizeUnsplashUrl()",
      "file_type": "code",
      "source_file": "src/utils/imageUtils.ts",
      "source_location": "L11",
      "id": "utils_imageutils_optimizeunsplashurl",
      "community": 36,
      "norm_label": "optimizeunsplashurl()"
    },
    {
      "label": "generateSrcset()",
      "file_type": "code",
      "source_file": "src/utils/imageUtils.ts",
      "source_location": "L41",
      "id": "utils_imageutils_generatesrcset",
      "community": 36,
      "norm_label": "generatesrcset()"
    },
    {
      "label": "getBlurPlaceholder()",
      "file_type": "code",
      "source_file": "src/utils/imageUtils.ts",
      "source_location": "L65",
      "id": "utils_imageutils_getblurplaceholder",
      "community": 36,
      "norm_label": "getblurplaceholder()"
    },
    {
      "label": "sentry.ts",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L1",
      "id": "src_utils_sentry_ts",
      "community": 2,
      "norm_label": "sentry.ts"
    },
    {
      "label": "getSentryDsn()",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L47",
      "id": "utils_sentry_getsentrydsn",
      "community": 2,
      "norm_label": "getsentrydsn()"
    },
    {
      "label": "getEnvironment()",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L55",
      "id": "utils_sentry_getenvironment",
      "community": 2,
      "norm_label": "getenvironment()"
    },
    {
      "label": "getRelease()",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L63",
      "id": "utils_sentry_getrelease",
      "community": 2,
      "norm_label": "getrelease()"
    },
    {
      "label": "generateEventId()",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L71",
      "id": "utils_sentry_generateeventid",
      "community": 2,
      "norm_label": "generateeventid()"
    },
    {
      "label": "parseDsn()",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L76",
      "id": "utils_sentry_parsedsn",
      "community": 2,
      "norm_label": "parsedsn()"
    },
    {
      "label": "sendToSentry()",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L88",
      "id": "utils_sentry_sendtosentry",
      "community": 2,
      "norm_label": "sendtosentry()"
    },
    {
      "label": "captureException()",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L123",
      "id": "utils_sentry_captureexception",
      "community": 2,
      "norm_label": "captureexception()"
    },
    {
      "label": "captureMessage()",
      "file_type": "code",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L185",
      "id": "utils_sentry_capturemessage",
      "community": 2,
      "norm_label": "capturemessage()"
    },
    {
      "label": "lighthouse_audit.py",
      "file_type": "code",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L1",
      "id": "scripts_lighthouse_audit_py",
      "community": 18,
      "norm_label": "lighthouse_audit.py"
    },
    {
      "label": "run_lighthouse()",
      "file_type": "code",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L12",
      "id": "scripts_lighthouse_audit_run_lighthouse",
      "community": 18,
      "norm_label": "run_lighthouse()"
    },
    {
      "label": "extract_scores()",
      "file_type": "code",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L40",
      "id": "scripts_lighthouse_audit_extract_scores",
      "community": 18,
      "norm_label": "extract_scores()"
    },
    {
      "label": "get_issues()",
      "file_type": "code",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L53",
      "id": "scripts_lighthouse_audit_get_issues",
      "community": 18,
      "norm_label": "get_issues()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L101",
      "id": "scripts_lighthouse_audit_main",
      "community": 18,
      "norm_label": "main()"
    },
    {
      "label": "Run Lighthouse audit on a URL",
      "file_type": "rationale",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L13",
      "id": "scripts_lighthouse_audit_rationale_13",
      "community": 18,
      "norm_label": "run lighthouse audit on a url"
    },
    {
      "label": "Extract key scores from Lighthouse data",
      "file_type": "rationale",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L41",
      "id": "scripts_lighthouse_audit_rationale_41",
      "community": 18,
      "norm_label": "extract key scores from lighthouse data"
    },
    {
      "label": "Extract issues from Lighthouse audit",
      "file_type": "rationale",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L54",
      "id": "scripts_lighthouse_audit_rationale_54",
      "community": 18,
      "norm_label": "extract issues from lighthouse audit"
    },
    {
      "label": "validate-schema.js",
      "file_type": "code",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L1",
      "id": "scripts_validate_schema_js",
      "community": 27,
      "norm_label": "validate-schema.js"
    },
    {
      "label": "extractJsonLd()",
      "file_type": "code",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L39",
      "id": "scripts_validate_schema_extractjsonld",
      "community": 27,
      "norm_label": "extractjsonld()"
    },
    {
      "label": "validateSchema()",
      "file_type": "code",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L55",
      "id": "scripts_validate_schema_validateschema",
      "community": 27,
      "norm_label": "validateschema()"
    },
    {
      "label": "validateOpenGraph()",
      "file_type": "code",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L139",
      "id": "scripts_validate_schema_validateopengraph",
      "community": 27,
      "norm_label": "validateopengraph()"
    },
    {
      "label": "validateTwitterCard()",
      "file_type": "code",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L174",
      "id": "scripts_validate_schema_validatetwittercard",
      "community": 27,
      "norm_label": "validatetwittercard()"
    },
    {
      "label": "validatePage()",
      "file_type": "code",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L206",
      "id": "scripts_validate_schema_validatepage",
      "community": 27,
      "norm_label": "validatepage()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L275",
      "id": "scripts_validate_schema_main",
      "community": 27,
      "norm_label": "main()"
    },
    {
      "label": "capture-theme-screenshots.js",
      "file_type": "code",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L1",
      "id": "scripts_capture_theme_screenshots_js",
      "community": 19,
      "norm_label": "capture-theme-screenshots.js"
    },
    {
      "label": "ensureDir()",
      "file_type": "code",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L60",
      "id": "scripts_capture_theme_screenshots_ensuredir",
      "community": 19,
      "norm_label": "ensuredir()"
    },
    {
      "label": "screenshotPath()",
      "file_type": "code",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L66",
      "id": "scripts_capture_theme_screenshots_screenshotpath",
      "community": 19,
      "norm_label": "screenshotpath()"
    },
    {
      "label": "waitForPageReady()",
      "file_type": "code",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L70",
      "id": "scripts_capture_theme_screenshots_waitforpageready",
      "community": 19,
      "norm_label": "waitforpageready()"
    },
    {
      "label": "setTheme()",
      "file_type": "code",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L76",
      "id": "scripts_capture_theme_screenshots_settheme",
      "community": 19,
      "norm_label": "settheme()"
    },
    {
      "label": "captureScreenshot()",
      "file_type": "code",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L93",
      "id": "scripts_capture_theme_screenshots_capturescreenshot",
      "community": 19,
      "norm_label": "capturescreenshot()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L105",
      "id": "scripts_capture_theme_screenshots_main",
      "community": 19,
      "norm_label": "main()"
    },
    {
      "label": "generateIndex()",
      "file_type": "code",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L203",
      "id": "scripts_capture_theme_screenshots_generateindex",
      "community": 19,
      "norm_label": "generateindex()"
    },
    {
      "label": "performance_test.py",
      "file_type": "code",
      "source_file": "scripts/performance_test.py",
      "source_location": "L1",
      "id": "scripts_performance_test_py",
      "community": 30,
      "norm_label": "performance_test.py"
    },
    {
      "label": "measure_response_time()",
      "file_type": "code",
      "source_file": "scripts/performance_test.py",
      "source_location": "L18",
      "id": "scripts_performance_test_measure_response_time",
      "community": 30,
      "norm_label": "measure_response_time()"
    },
    {
      "label": "print_stats()",
      "file_type": "code",
      "source_file": "scripts/performance_test.py",
      "source_location": "L41",
      "id": "scripts_performance_test_print_stats",
      "community": 30,
      "norm_label": "print_stats()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "scripts/performance_test.py",
      "source_location": "L65",
      "id": "scripts_performance_test_main",
      "community": 30,
      "norm_label": "main()"
    },
    {
      "label": "Measure response time for a URL over multiple iterations",
      "file_type": "rationale",
      "source_file": "scripts/performance_test.py",
      "source_location": "L19",
      "id": "scripts_performance_test_rationale_19",
      "community": 30,
      "norm_label": "measure response time for a url over multiple iterations"
    },
    {
      "label": "Print statistics for response times",
      "file_type": "rationale",
      "source_file": "scripts/performance_test.py",
      "source_location": "L42",
      "id": "scripts_performance_test_rationale_42",
      "community": 30,
      "norm_label": "print statistics for response times"
    },
    {
      "label": "windows-tasks.ps1",
      "file_type": "code",
      "source_file": "scripts/backup/windows-tasks.ps1",
      "source_location": "L1",
      "id": "scripts_backup_windows_tasks_ps1",
      "community": 53,
      "norm_label": "windows-tasks.ps1"
    },
    {
      "label": "sw.js",
      "file_type": "code",
      "source_file": "public/sw.js",
      "source_location": "L1",
      "id": "public_sw_js",
      "community": 20,
      "norm_label": "sw.js"
    },
    {
      "label": "isStaticAsset()",
      "file_type": "code",
      "source_file": "public/sw.js",
      "source_location": "L126",
      "id": "public_sw_isstaticasset",
      "community": 20,
      "norm_label": "isstaticasset()"
    },
    {
      "label": "cacheFirst()",
      "file_type": "code",
      "source_file": "public/sw.js",
      "source_location": "L133",
      "id": "public_sw_cachefirst",
      "community": 20,
      "norm_label": "cachefirst()"
    },
    {
      "label": "staleWhileRevalidate()",
      "file_type": "code",
      "source_file": "public/sw.js",
      "source_location": "L149",
      "id": "public_sw_stalewhilerevalidate",
      "community": 20,
      "norm_label": "stalewhilerevalidate()"
    },
    {
      "label": "processSyncQueue()",
      "file_type": "code",
      "source_file": "public/sw.js",
      "source_location": "L184",
      "id": "public_sw_processsyncqueue",
      "community": 20,
      "norm_label": "processsyncqueue()"
    },
    {
      "label": "openDB()",
      "file_type": "code",
      "source_file": "public/sw.js",
      "source_location": "L212",
      "id": "public_sw_opendb",
      "community": 20,
      "norm_label": "opendb()"
    },
    {
      "label": "getAllFromDB()",
      "file_type": "code",
      "source_file": "public/sw.js",
      "source_location": "L229",
      "id": "public_sw_getallfromdb",
      "community": 20,
      "norm_label": "getallfromdb()"
    },
    {
      "label": "deleteFromDB()",
      "file_type": "code",
      "source_file": "public/sw.js",
      "source_location": "L239",
      "id": "public_sw_deletefromdb",
      "community": 20,
      "norm_label": "deletefromdb()"
    },
    {
      "label": "e2e-blog-navigation.spec.ts",
      "file_type": "code",
      "source_file": "tests/e2e-blog-navigation.spec.ts",
      "source_location": "L1",
      "id": "tests_e2e_blog_navigation_spec_ts",
      "community": 54,
      "norm_label": "e2e-blog-navigation.spec.ts"
    },
    {
      "label": "theme-cross-browser.spec.ts",
      "file_type": "code",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L1",
      "id": "tests_theme_cross_browser_spec_ts",
      "community": 31,
      "norm_label": "theme-cross-browser.spec.ts"
    },
    {
      "label": "getThemeState()",
      "file_type": "code",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L19",
      "id": "tests_theme_cross_browser_spec_getthemestate",
      "community": 31,
      "norm_label": "getthemestate()"
    },
    {
      "label": "setStoredTheme()",
      "file_type": "code",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L36",
      "id": "tests_theme_cross_browser_spec_setstoredtheme",
      "community": 31,
      "norm_label": "setstoredtheme()"
    },
    {
      "label": "loadWithTheme()",
      "file_type": "code",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L45",
      "id": "tests_theme_cross_browser_spec_loadwiththeme",
      "community": 31,
      "norm_label": "loadwiththeme()"
    },
    {
      "label": "clickToggle()",
      "file_type": "code",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L51",
      "id": "tests_theme_cross_browser_spec_clicktoggle",
      "community": 31,
      "norm_label": "clicktoggle()"
    },
    {
      "label": "get()",
      "file_type": "code",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L193",
      "id": "tests_theme_cross_browser_spec_get",
      "community": 31,
      "norm_label": "get()"
    },
    {
      "label": "e2e-critical-paths.spec.ts",
      "file_type": "code",
      "source_file": "tests/e2e-critical-paths.spec.ts",
      "source_location": "L1",
      "id": "tests_e2e_critical_paths_spec_ts",
      "community": 55,
      "norm_label": "e2e-critical-paths.spec.ts"
    },
    {
      "label": "navigation.spec.ts",
      "file_type": "code",
      "source_file": "tests/navigation.spec.ts",
      "source_location": "L1",
      "id": "tests_navigation_spec_ts",
      "community": 56,
      "norm_label": "navigation.spec.ts"
    },
    {
      "label": "contact-form.spec.ts",
      "file_type": "code",
      "source_file": "tests/contact-form.spec.ts",
      "source_location": "L1",
      "id": "tests_contact_form_spec_ts",
      "community": 57,
      "norm_label": "contact-form.spec.ts"
    },
    {
      "label": "e2e-form-interactions.spec.ts",
      "file_type": "code",
      "source_file": "tests/e2e-form-interactions.spec.ts",
      "source_location": "L1",
      "id": "tests_e2e_form_interactions_spec_ts",
      "community": 58,
      "norm_label": "e2e-form-interactions.spec.ts"
    },
    {
      "label": "destructive-chaos.spec.ts",
      "file_type": "code",
      "source_file": "tests/destructive-chaos.spec.ts",
      "source_location": "L1",
      "id": "tests_destructive_chaos_spec_ts",
      "community": 59,
      "norm_label": "destructive-chaos.spec.ts"
    },
    {
      "label": "security-headers.test.ts",
      "file_type": "code",
      "source_file": "tests/security-headers.test.ts",
      "source_location": "L1",
      "id": "tests_security_headers_test_ts",
      "community": 60,
      "norm_label": "security-headers.test.ts"
    },
    {
      "label": "bug-fix-verification.spec.ts",
      "file_type": "code",
      "source_file": "tests/bug-fix-verification.spec.ts",
      "source_location": "L1",
      "id": "tests_bug_fix_verification_spec_ts",
      "community": 61,
      "norm_label": "bug-fix-verification.spec.ts"
    },
    {
      "label": "pages.spec.ts",
      "file_type": "code",
      "source_file": "tests/pages.spec.ts",
      "source_location": "L1",
      "id": "tests_pages_spec_ts",
      "community": 62,
      "norm_label": "pages.spec.ts"
    },
    {
      "label": "api-integration.spec.ts",
      "file_type": "code",
      "source_file": "tests/api-integration.spec.ts",
      "source_location": "L1",
      "id": "tests_api_integration_spec_ts",
      "community": 63,
      "norm_label": "api-integration.spec.ts"
    },
    {
      "label": "static-assets.spec.ts",
      "file_type": "code",
      "source_file": "tests/static-assets.spec.ts",
      "source_location": "L1",
      "id": "tests_static_assets_spec_ts",
      "community": 64,
      "norm_label": "static-assets.spec.ts"
    },
    {
      "label": "accessibility.spec.ts",
      "file_type": "code",
      "source_file": "tests/accessibility.spec.ts",
      "source_location": "L1",
      "id": "tests_accessibility_spec_ts",
      "community": 65,
      "norm_label": "accessibility.spec.ts"
    },
    {
      "label": "theme.spec.ts",
      "file_type": "code",
      "source_file": "tests/theme.spec.ts",
      "source_location": "L1",
      "id": "tests_theme_spec_ts",
      "community": 37,
      "norm_label": "theme.spec.ts"
    },
    {
      "label": "getThemeState()",
      "file_type": "code",
      "source_file": "tests/theme.spec.ts",
      "source_location": "L9",
      "id": "tests_theme_spec_getthemestate",
      "community": 37,
      "norm_label": "getthemestate()"
    },
    {
      "label": "loadPageWithStoredTheme()",
      "file_type": "code",
      "source_file": "tests/theme.spec.ts",
      "source_location": "L25",
      "id": "tests_theme_spec_loadpagewithstoredtheme",
      "community": 37,
      "norm_label": "loadpagewithstoredtheme()"
    },
    {
      "label": "clickThemeToggle()",
      "file_type": "code",
      "source_file": "tests/theme.spec.ts",
      "source_location": "L42",
      "id": "tests_theme_spec_clickthemetoggle",
      "community": 37,
      "norm_label": "clickthemetoggle()"
    },
    {
      "label": "inline-lead-form.spec.ts",
      "file_type": "code",
      "source_file": "tests/inline-lead-form.spec.ts",
      "source_location": "L1",
      "id": "tests_inline_lead_form_spec_ts",
      "community": 66,
      "norm_label": "inline-lead-form.spec.ts"
    },
    {
      "label": "cross-browser.spec.ts",
      "file_type": "code",
      "source_file": "tests/cross-browser.spec.ts",
      "source_location": "L1",
      "id": "tests_cross_browser_spec_ts",
      "community": 67,
      "norm_label": "cross-browser.spec.ts"
    },
    {
      "label": "sticky-cta.spec.ts",
      "file_type": "code",
      "source_file": "tests/sticky-cta.spec.ts",
      "source_location": "L1",
      "id": "tests_sticky_cta_spec_ts",
      "community": 68,
      "norm_label": "sticky-cta.spec.ts"
    },
    {
      "label": "newsletter-subscription.spec.ts",
      "file_type": "code",
      "source_file": "tests/newsletter-subscription.spec.ts",
      "source_location": "L1",
      "id": "tests_newsletter_subscription_spec_ts",
      "community": 69,
      "norm_label": "newsletter-subscription.spec.ts"
    },
    {
      "label": "portfolio.spec.ts",
      "file_type": "code",
      "source_file": "tests/portfolio.spec.ts",
      "source_location": "L1",
      "id": "tests_portfolio_spec_ts",
      "community": 70,
      "norm_label": "portfolio.spec.ts"
    },
    {
      "label": "blog.spec.ts",
      "file_type": "code",
      "source_file": "tests/blog.spec.ts",
      "source_location": "L1",
      "id": "tests_blog_spec_ts",
      "community": 71,
      "norm_label": "blog.spec.ts"
    },
    {
      "label": "e2e-smoke-suite.spec.ts",
      "file_type": "code",
      "source_file": "tests/e2e-smoke-suite.spec.ts",
      "source_location": "L1",
      "id": "tests_e2e_smoke_suite_spec_ts",
      "community": 72,
      "norm_label": "e2e-smoke-suite.spec.ts"
    },
    {
      "label": "ContactPage.ts",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L1",
      "id": "tests_pages_contactpage_ts",
      "community": 12,
      "norm_label": "contactpage.ts"
    },
    {
      "label": "ContactPage",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L7",
      "id": "pages_contactpage_contactpage",
      "community": 12,
      "norm_label": "contactpage"
    },
    {
      "label": ".constructor()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L26",
      "id": "pages_contactpage_contactpage_constructor",
      "community": 12,
      "norm_label": ".constructor()"
    },
    {
      "label": ".goto()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L45",
      "id": "pages_contactpage_contactpage_goto",
      "community": 12,
      "norm_label": ".goto()"
    },
    {
      "label": ".fillValidForm()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L50",
      "id": "pages_contactpage_contactpage_fillvalidform",
      "community": 12,
      "norm_label": ".fillvalidform()"
    },
    {
      "label": ".submit()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L73",
      "id": "pages_contactpage_contactpage_submit",
      "community": 12,
      "norm_label": ".submit()"
    },
    {
      "label": ".fillAndSubmit()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L77",
      "id": "pages_contactpage_contactpage_fillandsubmit",
      "community": 12,
      "norm_label": ".fillandsubmit()"
    },
    {
      "label": ".waitForSuccessToast()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L82",
      "id": "pages_contactpage_contactpage_waitforsuccesstoast",
      "community": 12,
      "norm_label": ".waitforsuccesstoast()"
    },
    {
      "label": ".waitForErrorToast()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L86",
      "id": "pages_contactpage_contactpage_waitforerrortoast",
      "community": 12,
      "norm_label": ".waitforerrortoast()"
    },
    {
      "label": ".isSubmitButtonDisabled()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L90",
      "id": "pages_contactpage_contactpage_issubmitbuttondisabled",
      "community": 12,
      "norm_label": ".issubmitbuttondisabled()"
    },
    {
      "label": ".getFieldError()",
      "file_type": "code",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L94",
      "id": "pages_contactpage_contactpage_getfielderror",
      "community": 12,
      "norm_label": ".getfielderror()"
    },
    {
      "label": "NavigationPage.ts",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L1",
      "id": "tests_pages_navigationpage_ts",
      "community": 15,
      "norm_label": "navigationpage.ts"
    },
    {
      "label": "NavigationPage",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L7",
      "id": "pages_navigationpage_navigationpage",
      "community": 15,
      "norm_label": "navigationpage"
    },
    {
      "label": ".constructor()",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L23",
      "id": "pages_navigationpage_navigationpage_constructor",
      "community": 15,
      "norm_label": ".constructor()"
    },
    {
      "label": ".clickNavLink()",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L31",
      "id": "pages_navigationpage_navigationpage_clicknavlink",
      "community": 15,
      "norm_label": ".clicknavlink()"
    },
    {
      "label": ".openMobileMenu()",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L36",
      "id": "pages_navigationpage_navigationpage_openmobilemenu",
      "community": 15,
      "norm_label": ".openmobilemenu()"
    },
    {
      "label": ".closeMobileMenu()",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L43",
      "id": "pages_navigationpage_navigationpage_closemobilemenu",
      "community": 15,
      "norm_label": ".closemobilemenu()"
    },
    {
      "label": ".scrollToFooter()",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L53",
      "id": "pages_navigationpage_navigationpage_scrolltofooter",
      "community": 15,
      "norm_label": ".scrolltofooter()"
    },
    {
      "label": ".clickFooterLink()",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L58",
      "id": "pages_navigationpage_navigationpage_clickfooterlink",
      "community": 15,
      "norm_label": ".clickfooterlink()"
    },
    {
      "label": ".verifyNoHorizontalOverflow()",
      "file_type": "code",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L64",
      "id": "pages_navigationpage_navigationpage_verifynohorizontaloverflow",
      "community": 15,
      "norm_label": ".verifynohorizontaloverflow()"
    },
    {
      "label": "README.md",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L1",
      "id": "readme_md",
      "community": 0,
      "norm_label": "readme.md"
    },
    {
      "label": "Astro SSR Standalone Server",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L1",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "community": 0,
      "norm_label": "astro ssr standalone server"
    },
    {
      "label": "Quick Start",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L5",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_quick_start",
      "community": 0,
      "norm_label": "quick start"
    },
    {
      "label": "Development",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L7",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_development",
      "community": 0,
      "norm_label": "development"
    },
    {
      "label": "code:bash (npm install)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L9",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_1",
      "community": 0,
      "norm_label": "code:bash (npm install)"
    },
    {
      "label": "Production",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L16",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_production",
      "community": 0,
      "norm_label": "production"
    },
    {
      "label": "code:bash (npm run build)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L18",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_2",
      "community": 0,
      "norm_label": "code:bash (npm run build)"
    },
    {
      "label": "Deployment",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L27",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment",
      "community": 0,
      "norm_label": "deployment"
    },
    {
      "label": "Build Process",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L37",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_build_process",
      "community": 0,
      "norm_label": "build process"
    },
    {
      "label": "code:bash (npm run build)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L41",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_3",
      "community": 0,
      "norm_label": "code:bash (npm run build)"
    },
    {
      "label": "Running the Server",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L51",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_running_the_server",
      "community": 0,
      "norm_label": "running the server"
    },
    {
      "label": "code:bash (npm start)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L55",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_4",
      "community": 0,
      "norm_label": "code:bash (npm start)"
    },
    {
      "label": "Environment Configuration",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L64",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_environment_configuration",
      "community": 0,
      "norm_label": "environment configuration"
    },
    {
      "label": "Example Configuration",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L74",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_example_configuration",
      "community": 0,
      "norm_label": "example configuration"
    },
    {
      "label": "code:env (HOST=0.0.0.0)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L77",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_5",
      "community": 0,
      "norm_label": "code:env (host=0.0.0.0)"
    },
    {
      "label": "code:env (HOST=localhost)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L84",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_6",
      "community": 0,
      "norm_label": "code:env (host=localhost)"
    },
    {
      "label": "Available Scripts",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L90",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_available_scripts",
      "community": 0,
      "norm_label": "available scripts"
    },
    {
      "label": "Architecture",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L103",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_architecture",
      "community": 0,
      "norm_label": "architecture"
    },
    {
      "label": "SSR Configuration",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L105",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_ssr_configuration",
      "community": 0,
      "norm_label": "ssr configuration"
    },
    {
      "label": "Server Entry Point",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L118",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_server_entry_point",
      "community": 0,
      "norm_label": "server entry point"
    },
    {
      "label": "Deployment Platforms",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L127",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment_platforms",
      "community": 0,
      "norm_label": "deployment platforms"
    },
    {
      "label": "Generic Node.js Platforms",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L129",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_generic_node_js_platforms",
      "community": 0,
      "norm_label": "generic node.js platforms"
    },
    {
      "label": "code:bash (npm run build)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L134",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_7",
      "community": 0,
      "norm_label": "code:bash (npm run build)"
    },
    {
      "label": "code:bash (export HOST=0.0.0.0)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L139",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_8",
      "community": 0,
      "norm_label": "code:bash (export host=0.0.0.0)"
    },
    {
      "label": "code:bash (npm start)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L146",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_9",
      "community": 0,
      "norm_label": "code:bash (npm start)"
    },
    {
      "label": "Platform-Specific Notes",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L150",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_platform_specific_notes",
      "community": 0,
      "norm_label": "platform-specific notes"
    },
    {
      "label": "code:dockerfile (FROM node:18-alpine)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L163",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_10",
      "community": 0,
      "norm_label": "code:dockerfile (from node:18-alpine)"
    },
    {
      "label": "Project Structure",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L176",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_project_structure",
      "community": 0,
      "norm_label": "project structure"
    },
    {
      "label": "code:block11 (.)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L178",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_11",
      "community": 0,
      "norm_label": "code:block11 (.)"
    },
    {
      "label": "Features",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L195",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_features",
      "community": 0,
      "norm_label": "features"
    },
    {
      "label": "Troubleshooting",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L206",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_troubleshooting",
      "community": 0,
      "norm_label": "troubleshooting"
    },
    {
      "label": "Port Already in Use",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L208",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_port_already_in_use",
      "community": 0,
      "norm_label": "port already in use"
    },
    {
      "label": "code:bash (# Windows)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L212",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_12",
      "community": 0,
      "norm_label": "code:bash (# windows)"
    },
    {
      "label": "Server Not Accessible",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L221",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_server_not_accessible",
      "community": 0,
      "norm_label": "server not accessible"
    },
    {
      "label": "code:env (HOST=0.0.0.0)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L225",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_13",
      "community": 0,
      "norm_label": "code:env (host=0.0.0.0)"
    },
    {
      "label": "Build Failures",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L229",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_build_failures",
      "community": 0,
      "norm_label": "build failures"
    },
    {
      "label": "code:bash (npm run clean)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L233",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_14",
      "community": 0,
      "norm_label": "code:bash (npm run clean)"
    },
    {
      "label": "License",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L240",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_license",
      "community": 0,
      "norm_label": "license"
    },
    {
      "label": "CHANGELOG.md",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L1",
      "id": "changelog_md",
      "community": 4,
      "norm_label": "changelog.md"
    },
    {
      "label": "Changelog",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L1",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changelog",
      "community": 4,
      "norm_label": "changelog"
    },
    {
      "label": "[Unreleased]",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L10",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_unreleased",
      "community": 4,
      "norm_label": "[unreleased]"
    },
    {
      "label": "Changed - Domain Migration (2026-03-21)",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L12",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21",
      "community": 4,
      "norm_label": "changed - domain migration (2026-03-21)"
    },
    {
      "label": "Configuration",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L16",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_configuration",
      "community": 4,
      "norm_label": "configuration"
    },
    {
      "label": "API Routes",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L20",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_api_routes",
      "community": 4,
      "norm_label": "api routes"
    },
    {
      "label": "SEO & Metadata",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L24",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_seo_metadata",
      "community": 4,
      "norm_label": "seo & metadata"
    },
    {
      "label": "Content",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L28",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_content",
      "community": 4,
      "norm_label": "content"
    },
    {
      "label": "Documentation",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L31",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_documentation",
      "community": 4,
      "norm_label": "documentation"
    },
    {
      "label": "Security",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L39",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_security",
      "community": 4,
      "norm_label": "security"
    },
    {
      "label": "Testing",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L46",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_testing",
      "community": 4,
      "norm_label": "testing"
    },
    {
      "label": "Migration Impact",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L53",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_migration_impact",
      "community": 4,
      "norm_label": "migration impact"
    },
    {
      "label": "[1.0.0] - Initial Release",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L62",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_1_0_0_initial_release",
      "community": 4,
      "norm_label": "[1.0.0] - initial release"
    },
    {
      "label": "Added",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L64",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_added",
      "community": 4,
      "norm_label": "added"
    },
    {
      "label": "Security",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L83",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_security_83",
      "community": 4,
      "norm_label": "security"
    },
    {
      "label": "Release Notes Template",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L92",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_release_notes_template",
      "community": 4,
      "norm_label": "release notes template"
    },
    {
      "label": "[Version] - YYYY-MM-DD",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L94",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_version_yyyy_mm_dd",
      "community": 4,
      "norm_label": "[version] - yyyy-mm-dd"
    },
    {
      "label": "Added",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L96",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_added_96",
      "community": 4,
      "norm_label": "added"
    },
    {
      "label": "Changed",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L99",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed",
      "community": 4,
      "norm_label": "changed"
    },
    {
      "label": "Deprecated",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L102",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_deprecated",
      "community": 4,
      "norm_label": "deprecated"
    },
    {
      "label": "Removed",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L105",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_removed",
      "community": 4,
      "norm_label": "removed"
    },
    {
      "label": "Fixed",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L108",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_fixed",
      "community": 4,
      "norm_label": "fixed"
    },
    {
      "label": "Security",
      "file_type": "document",
      "source_file": "CHANGELOG.md",
      "source_location": "L111",
      "id": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_security_111",
      "community": 4,
      "norm_label": "security"
    },
    {
      "label": "ai-transforming-business.md",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L1",
      "id": "src_content_blog_ai_transforming_business_md",
      "community": 9,
      "norm_label": "ai-transforming-business.md"
    },
    {
      "label": "Key AI Applications in Business",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L16",
      "id": "blog_ai_transforming_business_key_ai_applications_in_business",
      "community": 9,
      "norm_label": "key ai applications in business"
    },
    {
      "label": "1. Customer Service Automation",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L18",
      "id": "blog_ai_transforming_business_1_customer_service_automation",
      "community": 9,
      "norm_label": "1. customer service automation"
    },
    {
      "label": "code:python (from transformers import pipeline)",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L22",
      "id": "blog_ai_transforming_business_codeblock_1",
      "community": 9,
      "norm_label": "code:python (from transformers import pipeline)"
    },
    {
      "label": "2. Predictive Analytics",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L41",
      "id": "blog_ai_transforming_business_2_predictive_analytics",
      "community": 9,
      "norm_label": "2. predictive analytics"
    },
    {
      "label": "code:python (import pandas as pd)",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L45",
      "id": "blog_ai_transforming_business_codeblock_2",
      "community": 9,
      "norm_label": "code:python (import pandas as pd)"
    },
    {
      "label": "3. Process Automation",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L70",
      "id": "blog_ai_transforming_business_3_process_automation",
      "community": 9,
      "norm_label": "3. process automation"
    },
    {
      "label": "4. Intelligent Document Processing",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L74",
      "id": "blog_ai_transforming_business_4_intelligent_document_processing",
      "community": 9,
      "norm_label": "4. intelligent document processing"
    },
    {
      "label": "code:python (# Example: Extracting structured data from forms)",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L78",
      "id": "blog_ai_transforming_business_codeblock_3",
      "community": 9,
      "norm_label": "code:python (# example: extracting structured data from forms)"
    },
    {
      "label": "Implementation Considerations",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L93",
      "id": "blog_ai_transforming_business_implementation_considerations",
      "community": 9,
      "norm_label": "implementation considerations"
    },
    {
      "label": "Measuring ROI",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L101",
      "id": "blog_ai_transforming_business_measuring_roi",
      "community": 9,
      "norm_label": "measuring roi"
    },
    {
      "label": "The Road Ahead",
      "file_type": "document",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L110",
      "id": "blog_ai_transforming_business_the_road_ahead",
      "community": 9,
      "norm_label": "the road ahead"
    },
    {
      "label": "cloud-migration-guide.md",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L1",
      "id": "src_content_blog_cloud_migration_guide_md",
      "community": 13,
      "norm_label": "cloud-migration-guide.md"
    },
    {
      "label": "The 6 R's of Migration",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L16",
      "id": "blog_cloud_migration_guide_the_6_r_s_of_migration",
      "community": 13,
      "norm_label": "the 6 r's of migration"
    },
    {
      "label": "Infrastructure as Code",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L29",
      "id": "blog_cloud_migration_guide_infrastructure_as_code",
      "community": 13,
      "norm_label": "infrastructure as code"
    },
    {
      "label": "code:hcl (# Define AWS EC2 instance)",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L33",
      "id": "blog_cloud_migration_guide_codeblock_1",
      "community": 13,
      "norm_label": "code:hcl (# define aws ec2 instance)"
    },
    {
      "label": "Containerization as a Migration Strategy",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L62",
      "id": "blog_cloud_migration_guide_containerization_as_a_migration_strategy",
      "community": 13,
      "norm_label": "containerization as a migration strategy"
    },
    {
      "label": "code:dockerfile (# Multi-stage build for a Go application)",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L66",
      "id": "blog_cloud_migration_guide_codeblock_2",
      "community": 13,
      "norm_label": "code:dockerfile (# multi-stage build for a go application)"
    },
    {
      "label": "Cost Optimization Strategies",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L84",
      "id": "blog_cloud_migration_guide_cost_optimization_strategies",
      "community": 13,
      "norm_label": "cost optimization strategies"
    },
    {
      "label": "code:yaml (# AWS Cost allocation tags)",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L88",
      "id": "blog_cloud_migration_guide_codeblock_3",
      "community": 13,
      "norm_label": "code:yaml (# aws cost allocation tags)"
    },
    {
      "label": "Migration Checklist",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L112",
      "id": "blog_cloud_migration_guide_migration_checklist",
      "community": 13,
      "norm_label": "migration checklist"
    },
    {
      "label": "Common Pitfalls",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L125",
      "id": "blog_cloud_migration_guide_common_pitfalls",
      "community": 13,
      "norm_label": "common pitfalls"
    },
    {
      "label": "Conclusion",
      "file_type": "document",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L134",
      "id": "blog_cloud_migration_guide_conclusion",
      "community": 13,
      "norm_label": "conclusion"
    },
    {
      "label": "building-scalable-erp-systems.md",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L1",
      "id": "src_content_blog_building_scalable_erp_systems_md",
      "community": 6,
      "norm_label": "building-scalable-erp-systems.md"
    },
    {
      "label": "Why Custom ERP Still Matters",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L16",
      "id": "blog_building_scalable_erp_systems_why_custom_erp_still_matters",
      "community": 6,
      "norm_label": "why custom erp still matters"
    },
    {
      "label": "Architecture Decisions That Scale",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L25",
      "id": "blog_building_scalable_erp_systems_architecture_decisions_that_scale",
      "community": 6,
      "norm_label": "architecture decisions that scale"
    },
    {
      "label": "1. Modular Monolith Over Premature Microservices",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L27",
      "id": "blog_building_scalable_erp_systems_1_modular_monolith_over_premature_microservices",
      "community": 6,
      "norm_label": "1. modular monolith over premature microservices"
    },
    {
      "label": "code:block1 (src/)",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L31",
      "id": "blog_building_scalable_erp_systems_codeblock_1",
      "community": 6,
      "norm_label": "code:block1 (src/)"
    },
    {
      "label": "2. Role-Based Access Control (RBAC) from Day One",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L46",
      "id": "blog_building_scalable_erp_systems_2_role_based_access_control_rbac_from_day_one",
      "community": 6,
      "norm_label": "2. role-based access control (rbac) from day one"
    },
    {
      "label": "code:typescript (// Example: Contextual data filtering)",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L54",
      "id": "blog_building_scalable_erp_systems_codeblock_2",
      "community": 6,
      "norm_label": "code:typescript (// example: contextual data filtering)"
    },
    {
      "label": "3. Offline-Resilient Design",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L70",
      "id": "blog_building_scalable_erp_systems_3_offline_resilient_design",
      "community": 6,
      "norm_label": "3. offline-resilient design"
    },
    {
      "label": "Database Design for Multi-Tenant Government Systems",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L78",
      "id": "blog_building_scalable_erp_systems_database_design_for_multi_tenant_government_systems",
      "community": 6,
      "norm_label": "database design for multi-tenant government systems"
    },
    {
      "label": "Shared Database, Separate Schemas",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L80",
      "id": "blog_building_scalable_erp_systems_shared_database_separate_schemas",
      "community": 6,
      "norm_label": "shared database, separate schemas"
    },
    {
      "label": "code:sql (-- Row-level tenant isolation)",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L84",
      "id": "blog_building_scalable_erp_systems_codeblock_3",
      "community": 6,
      "norm_label": "code:sql (-- row-level tenant isolation)"
    },
    {
      "label": "Deployment Strategy for Government Projects",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L101",
      "id": "blog_building_scalable_erp_systems_deployment_strategy_for_government_projects",
      "community": 6,
      "norm_label": "deployment strategy for government projects"
    },
    {
      "label": "Blue-Green Deployments",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L103",
      "id": "blog_building_scalable_erp_systems_blue_green_deployments",
      "community": 6,
      "norm_label": "blue-green deployments"
    },
    {
      "label": "Monitoring and Alerting",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L112",
      "id": "blog_building_scalable_erp_systems_monitoring_and_alerting",
      "community": 6,
      "norm_label": "monitoring and alerting"
    },
    {
      "label": "Lessons Learned",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L121",
      "id": "blog_building_scalable_erp_systems_lessons_learned",
      "community": 6,
      "norm_label": "lessons learned"
    },
    {
      "label": "Conclusion",
      "file_type": "document",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L129",
      "id": "blog_building_scalable_erp_systems_conclusion",
      "community": 6,
      "norm_label": "conclusion"
    },
    {
      "label": "building-government-it-systems.md",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L1",
      "id": "src_content_blog_building_government_it_systems_md",
      "community": 7,
      "norm_label": "building-government-it-systems.md"
    },
    {
      "label": "The Unique Challenges of Government IT",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L16",
      "id": "blog_building_government_it_systems_the_unique_challenges_of_government_it",
      "community": 7,
      "norm_label": "the unique challenges of government it"
    },
    {
      "label": "1. Multi-District Deployment Complexity",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L18",
      "id": "blog_building_government_it_systems_1_multi_district_deployment_complexity",
      "community": 7,
      "norm_label": "1. multi-district deployment complexity"
    },
    {
      "label": "code:java (@Configuration)",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L24",
      "id": "blog_building_government_it_systems_codeblock_1",
      "community": 7,
      "norm_label": "code:java (@configuration)"
    },
    {
      "label": "2. Security and Compliance",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L57",
      "id": "blog_building_government_it_systems_2_security_and_compliance",
      "community": 7,
      "norm_label": "2. security and compliance"
    },
    {
      "label": "code:java (@Service)",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L68",
      "id": "blog_building_government_it_systems_codeblock_2",
      "community": 7,
      "norm_label": "code:java (@service)"
    },
    {
      "label": "3. Reliability Under Constraint",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L95",
      "id": "blog_building_government_it_systems_3_reliability_under_constraint",
      "community": 7,
      "norm_label": "3. reliability under constraint"
    },
    {
      "label": "code:java (@Component)",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L101",
      "id": "blog_building_government_it_systems_codeblock_3",
      "community": 7,
      "norm_label": "code:java (@component)"
    },
    {
      "label": "Lessons from the Police Management System",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L123",
      "id": "blog_building_government_it_systems_lessons_from_the_police_management_system",
      "community": 7,
      "norm_label": "lessons from the police management system"
    },
    {
      "label": "Architecture Decisions That Paid Off",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L127",
      "id": "blog_building_government_it_systems_architecture_decisions_that_paid_off",
      "community": 7,
      "norm_label": "architecture decisions that paid off"
    },
    {
      "label": "code:yaml (# District-specific feature configuration)",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L135",
      "id": "blog_building_government_it_systems_codeblock_4",
      "community": 7,
      "norm_label": "code:yaml (# district-specific feature configuration)"
    },
    {
      "label": "SCMS: Scaling Content Management for Government",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L150",
      "id": "blog_building_government_it_systems_scms_scaling_content_management_for_government",
      "community": 7,
      "norm_label": "scms: scaling content management for government"
    },
    {
      "label": "Key Takeaways for Government IT Projects",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L156",
      "id": "blog_building_government_it_systems_key_takeaways_for_government_it_projects",
      "community": 7,
      "norm_label": "key takeaways for government it projects"
    },
    {
      "label": "Conclusion",
      "file_type": "document",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L168",
      "id": "blog_building_government_it_systems_conclusion",
      "community": 7,
      "norm_label": "conclusion"
    },
    {
      "label": "getting-started-with-astro.md",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L1",
      "id": "src_content_blog_getting_started_with_astro_md",
      "community": 10,
      "norm_label": "getting-started-with-astro.md"
    },
    {
      "label": "Why Choose Astro?",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L16",
      "id": "blog_getting_started_with_astro_why_choose_astro",
      "community": 10,
      "norm_label": "why choose astro?"
    },
    {
      "label": "How Astro Differs from Traditional Frameworks",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L25",
      "id": "blog_getting_started_with_astro_how_astro_differs_from_traditional_frameworks",
      "community": 10,
      "norm_label": "how astro differs from traditional frameworks"
    },
    {
      "label": "Code Example",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L31",
      "id": "blog_getting_started_with_astro_code_example",
      "community": 10,
      "norm_label": "code example"
    },
    {
      "label": "code:astro (---)",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L35",
      "id": "blog_getting_started_with_astro_codeblock_1",
      "community": 10,
      "norm_label": "code:astro (---)"
    },
    {
      "label": "Performance Benefits",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L60",
      "id": "blog_getting_started_with_astro_performance_benefits",
      "community": 10,
      "norm_label": "performance benefits"
    },
    {
      "label": "code:javascript (// Traditional SPA: Everything loads upfront)",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L68",
      "id": "blog_getting_started_with_astro_codeblock_2",
      "community": 10,
      "norm_label": "code:javascript (// traditional spa: everything loads upfront)"
    },
    {
      "label": "Content Collections: Type-Safe Content",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L79",
      "id": "blog_getting_started_with_astro_content_collections_type_safe_content",
      "community": 10,
      "norm_label": "content collections: type-safe content"
    },
    {
      "label": "code:typescript (// src/content/config.ts)",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L83",
      "id": "blog_getting_started_with_astro_codeblock_3",
      "community": 10,
      "norm_label": "code:typescript (// src/content/config.ts)"
    },
    {
      "label": "Getting Started",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L103",
      "id": "blog_getting_started_with_astro_getting_started",
      "community": 10,
      "norm_label": "getting started"
    },
    {
      "label": "code:bash (npm create astro@latest)",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L107",
      "id": "blog_getting_started_with_astro_codeblock_4",
      "community": 10,
      "norm_label": "code:bash (npm create astro@latest)"
    },
    {
      "label": "When to Use Astro",
      "file_type": "document",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L113",
      "id": "blog_getting_started_with_astro_when_to_use_astro",
      "community": 10,
      "norm_label": "when to use astro"
    },
    {
      "label": "README-PERFORMANCE.md",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L1",
      "id": "scripts_readme_performance_md",
      "community": 1,
      "norm_label": "readme-performance.md"
    },
    {
      "label": "Performance Testing Scripts",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L1",
      "id": "scripts_readme_performance_performance_testing_scripts",
      "community": 1,
      "norm_label": "performance testing scripts"
    },
    {
      "label": "Quick Start",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L7",
      "id": "scripts_readme_performance_quick_start",
      "community": 1,
      "norm_label": "quick start"
    },
    {
      "label": "Test Current Server Performance",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L9",
      "id": "scripts_readme_performance_test_current_server_performance",
      "community": 1,
      "norm_label": "test current server performance"
    },
    {
      "label": "code:bash (# Quick check (recommended))",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L10",
      "id": "scripts_readme_performance_codeblock_1",
      "community": 1,
      "norm_label": "code:bash (# quick check (recommended))"
    },
    {
      "label": "Available Scripts",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L23",
      "id": "scripts_readme_performance_available_scripts",
      "community": 1,
      "norm_label": "available scripts"
    },
    {
      "label": "1. `performance_test.py`",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L25",
      "id": "scripts_readme_performance_1_performance_test_py",
      "community": 1,
      "norm_label": "1. `performance_test.py`"
    },
    {
      "label": "code:bash (python scripts/performance_test.py)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L29",
      "id": "scripts_readme_performance_codeblock_2",
      "community": 1,
      "norm_label": "code:bash (python scripts/performance_test.py)"
    },
    {
      "label": "2. `quick-perf-check.sh`",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L48",
      "id": "scripts_readme_performance_2_quick_perf_check_sh",
      "community": 1,
      "norm_label": "2. `quick-perf-check.sh`"
    },
    {
      "label": "code:bash (# Default (localhost:10000))",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L52",
      "id": "scripts_readme_performance_codeblock_3",
      "community": 1,
      "norm_label": "code:bash (# default (localhost:10000))"
    },
    {
      "label": "3. `lighthouse_audit.py`",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L68",
      "id": "scripts_readme_performance_3_lighthouse_audit_py",
      "community": 1,
      "norm_label": "3. `lighthouse_audit.py`"
    },
    {
      "label": "code:bash (python scripts/lighthouse_audit.py <url>)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L72",
      "id": "scripts_readme_performance_codeblock_4",
      "community": 1,
      "norm_label": "code:bash (python scripts/lighthouse_audit.py <url>)"
    },
    {
      "label": "Performance Targets",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L89",
      "id": "scripts_readme_performance_performance_targets",
      "community": 1,
      "norm_label": "performance targets"
    },
    {
      "label": "Core Web Vitals (Production)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L99",
      "id": "scripts_readme_performance_core_web_vitals_production",
      "community": 1,
      "norm_label": "core web vitals (production)"
    },
    {
      "label": "Manual Testing with curl",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L109",
      "id": "scripts_readme_performance_manual_testing_with_curl",
      "community": 1,
      "norm_label": "manual testing with curl"
    },
    {
      "label": "Basic Response Time",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L111",
      "id": "scripts_readme_performance_basic_response_time",
      "community": 1,
      "norm_label": "basic response time"
    },
    {
      "label": "code:bash (curl -w \"\\nTime: %{time_total}s\\n\" -o /dev/null -s http://lo)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L112",
      "id": "scripts_readme_performance_codeblock_5",
      "community": 1,
      "norm_label": "code:bash (curl -w \"\\ntime: %{time_total}s\\n\" -o /dev/null -s http://lo)"
    },
    {
      "label": "Detailed Timing",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L116",
      "id": "scripts_readme_performance_detailed_timing",
      "community": 1,
      "norm_label": "detailed timing"
    },
    {
      "label": "code:bash (curl -w \"\\n)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L117",
      "id": "scripts_readme_performance_codeblock_6",
      "community": 1,
      "norm_label": "code:bash (curl -w \"\\n)"
    },
    {
      "label": "Test Multiple Endpoints",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L128",
      "id": "scripts_readme_performance_test_multiple_endpoints",
      "community": 1,
      "norm_label": "test multiple endpoints"
    },
    {
      "label": "code:bash (for endpoint in / /contact /about /api/health.json; do)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L129",
      "id": "scripts_readme_performance_codeblock_7",
      "community": 1,
      "norm_label": "code:bash (for endpoint in / /contact /about /api/health.json; do)"
    },
    {
      "label": "CI/CD Integration",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L139",
      "id": "scripts_readme_performance_ci_cd_integration",
      "community": 1,
      "norm_label": "ci/cd integration"
    },
    {
      "label": "GitHub Actions Example",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L141",
      "id": "scripts_readme_performance_github_actions_example",
      "community": 1,
      "norm_label": "github actions example"
    },
    {
      "label": "code:yaml (- name: Performance Test)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L142",
      "id": "scripts_readme_performance_codeblock_8",
      "community": 1,
      "norm_label": "code:yaml (- name: performance test)"
    },
    {
      "label": "Pre-deployment Check",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L151",
      "id": "scripts_readme_performance_pre_deployment_check",
      "community": 1,
      "norm_label": "pre-deployment check"
    },
    {
      "label": "code:bash (# Build and test)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L152",
      "id": "scripts_readme_performance_codeblock_9",
      "community": 1,
      "norm_label": "code:bash (# build and test)"
    },
    {
      "label": "Troubleshooting",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L171",
      "id": "scripts_readme_performance_troubleshooting",
      "community": 1,
      "norm_label": "troubleshooting"
    },
    {
      "label": "Slow Response Times (> 500ms)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L173",
      "id": "scripts_readme_performance_slow_response_times_500ms",
      "community": 1,
      "norm_label": "slow response times (> 500ms)"
    },
    {
      "label": "code:bash (# 1. Build for production)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L183",
      "id": "scripts_readme_performance_codeblock_10",
      "community": 1,
      "norm_label": "code:bash (# 1. build for production)"
    },
    {
      "label": "High Variance in Response Times",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L197",
      "id": "scripts_readme_performance_high_variance_in_response_times",
      "community": 1,
      "norm_label": "high variance in response times"
    },
    {
      "label": "Monitoring in Production",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L213",
      "id": "scripts_readme_performance_monitoring_in_production",
      "community": 1,
      "norm_label": "monitoring in production"
    },
    {
      "label": "Recommended Tools",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L215",
      "id": "scripts_readme_performance_recommended_tools",
      "community": 1,
      "norm_label": "recommended tools"
    },
    {
      "label": "Custom Performance Monitoring",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L221",
      "id": "scripts_readme_performance_custom_performance_monitoring",
      "community": 1,
      "norm_label": "custom performance monitoring"
    },
    {
      "label": "code:javascript (// Add to your app)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L222",
      "id": "scripts_readme_performance_codeblock_11",
      "community": 1,
      "norm_label": "code:javascript (// add to your app)"
    },
    {
      "label": "Best Practices",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L236",
      "id": "scripts_readme_performance_best_practices",
      "community": 1,
      "norm_label": "best practices"
    },
    {
      "label": "Resources",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L247",
      "id": "scripts_readme_performance_resources",
      "community": 1,
      "norm_label": "resources"
    },
    {
      "label": "Quick Reference",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L256",
      "id": "scripts_readme_performance_quick_reference",
      "community": 1,
      "norm_label": "quick reference"
    },
    {
      "label": "code:bash (# Test homepage)",
      "file_type": "document",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L258",
      "id": "scripts_readme_performance_codeblock_12",
      "community": 1,
      "norm_label": "code:bash (# test homepage)"
    },
    {
      "label": "README.md",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L1",
      "id": "scripts_backup_readme_md",
      "community": 5,
      "norm_label": "readme.md"
    },
    {
      "label": "Backup Scripts",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L1",
      "id": "backup_readme_backup_scripts",
      "community": 5,
      "norm_label": "backup scripts"
    },
    {
      "label": "Quick Start",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L5",
      "id": "backup_readme_quick_start",
      "community": 5,
      "norm_label": "quick start"
    },
    {
      "label": "code:bash (# First-time setup)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L7",
      "id": "backup_readme_codeblock_1",
      "community": 5,
      "norm_label": "code:bash (# first-time setup)"
    },
    {
      "label": "Available Commands",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L18",
      "id": "backup_readme_available_commands",
      "community": 5,
      "norm_label": "available commands"
    },
    {
      "label": "Automation Setup",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L30",
      "id": "backup_readme_automation_setup",
      "community": 5,
      "norm_label": "automation setup"
    },
    {
      "label": "Linux/macOS (cron)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L32",
      "id": "backup_readme_linux_macos_cron",
      "community": 5,
      "norm_label": "linux/macos (cron)"
    },
    {
      "label": "code:bash (# Edit crontab)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L34",
      "id": "backup_readme_codeblock_2",
      "community": 5,
      "norm_label": "code:bash (# edit crontab)"
    },
    {
      "label": "Windows (Task Scheduler)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L45",
      "id": "backup_readme_windows_task_scheduler",
      "community": 5,
      "norm_label": "windows (task scheduler)"
    },
    {
      "label": "code:powershell (# Daily backup)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L47",
      "id": "backup_readme_codeblock_3",
      "community": 5,
      "norm_label": "code:powershell (# daily backup)"
    },
    {
      "label": "Restore Examples",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L55",
      "id": "backup_readme_restore_examples",
      "community": 5,
      "norm_label": "restore examples"
    },
    {
      "label": "code:bash (# List available backups)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L57",
      "id": "backup_readme_codeblock_4",
      "community": 5,
      "norm_label": "code:bash (# list available backups)"
    },
    {
      "label": "Storage Structure",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L68",
      "id": "backup_readme_storage_structure",
      "community": 5,
      "norm_label": "storage structure"
    },
    {
      "label": "code:block5 (backups/)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L70",
      "id": "backup_readme_codeblock_5",
      "community": 5,
      "norm_label": "code:block5 (backups/)"
    },
    {
      "label": "Pre-Deployment",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L80",
      "id": "backup_readme_pre_deployment",
      "community": 5,
      "norm_label": "pre-deployment"
    },
    {
      "label": "code:bash (# Manual)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L84",
      "id": "backup_readme_codeblock_6",
      "community": 5,
      "norm_label": "code:bash (# manual)"
    },
    {
      "label": "Troubleshooting",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L92",
      "id": "backup_readme_troubleshooting",
      "community": 5,
      "norm_label": "troubleshooting"
    },
    {
      "label": "Backup fails",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L94",
      "id": "backup_readme_backup_fails",
      "community": 5,
      "norm_label": "backup fails"
    },
    {
      "label": "code:bash (# Check disk space)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L96",
      "id": "backup_readme_codeblock_7",
      "community": 5,
      "norm_label": "code:bash (# check disk space)"
    },
    {
      "label": "Restore fails",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L107",
      "id": "backup_readme_restore_fails",
      "community": 5,
      "norm_label": "restore fails"
    },
    {
      "label": "code:bash (# Verify backup integrity)",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L109",
      "id": "backup_readme_codeblock_8",
      "community": 5,
      "norm_label": "code:bash (# verify backup integrity)"
    },
    {
      "label": "Documentation",
      "file_type": "document",
      "source_file": "scripts/backup/README.md",
      "source_location": "L117",
      "id": "backup_readme_documentation",
      "community": 5,
      "norm_label": "documentation"
    },
    {
      "label": "error-context.md",
      "file_type": "document",
      "source_file": "test-results/newsletter-subscription-Ne-c1de9-isible-and-usable-on-mobile-chromium/error-context.md",
      "source_location": "L1",
      "community": 40,
      "norm_label": "error-context.md",
      "id": "test_results_newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_md"
    },
    {
      "label": "Page snapshot",
      "file_type": "document",
      "source_file": "test-results/newsletter-subscription-Ne-c1de9-isible-and-usable-on-mobile-chromium/error-context.md",
      "source_location": "L1",
      "community": 40,
      "norm_label": "page snapshot",
      "id": "newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_page_snapshot"
    },
    {
      "label": "code:yaml (- generic [active] [ref=e1]:)",
      "file_type": "document",
      "source_file": "test-results/newsletter-subscription-Ne-c1de9-isible-and-usable-on-mobile-chromium/error-context.md",
      "source_location": "L3",
      "community": 40,
      "norm_label": "code:yaml (- generic [active] [ref=e1]:)",
      "id": "newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_codeblock_1"
    },
    {
      "label": "playwright.config.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/playwright.config.ts",
      "source_location": "L1",
      "community": 73,
      "norm_label": "playwright.config.ts",
      "id": "playwright_config"
    },
    {
      "label": "env.d.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/env.d.ts",
      "source_location": "L1",
      "community": 74,
      "norm_label": "env.d.ts",
      "id": "env_d"
    },
    {
      "label": "middleware.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts",
      "source_location": "L1",
      "community": 3,
      "norm_label": "middleware.ts",
      "id": "middleware"
    },
    {
      "label": "validateCsrfOrigin()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts",
      "source_location": "L19",
      "community": 3,
      "norm_label": "validatecsrforigin()",
      "id": "middleware_validatecsrforigin"
    },
    {
      "label": "config.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/content/config.ts",
      "source_location": "L1",
      "community": 41,
      "norm_label": "config.ts",
      "id": "config"
    },
    {
      "label": "sitemap.xml.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts",
      "source_location": "L1",
      "community": 45,
      "norm_label": "sitemap.xml.ts",
      "id": "sitemap_xml"
    },
    {
      "label": "GET()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts",
      "source_location": "L13",
      "community": 45,
      "norm_label": "get()",
      "id": "sitemap_xml_get"
    },
    {
      "label": "sitemap-index.xml.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts",
      "source_location": "L1",
      "community": 46,
      "norm_label": "sitemap-index.xml.ts",
      "id": "sitemap_index_xml"
    },
    {
      "label": "GET()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts",
      "source_location": "L10",
      "community": 46,
      "norm_label": "get()",
      "id": "sitemap_index_xml_get"
    },
    {
      "label": "contact.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L1",
      "community": 21,
      "norm_label": "contact.ts",
      "id": "contact"
    },
    {
      "label": "checkRateLimit()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L17",
      "community": 21,
      "norm_label": "checkratelimit()",
      "id": "contact_checkratelimit"
    },
    {
      "label": "validateContactForm()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L65",
      "community": 21,
      "norm_label": "validatecontactform()",
      "id": "contact_validatecontactform"
    },
    {
      "label": "sendContactEmail()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L150",
      "community": 21,
      "norm_label": "sendcontactemail()",
      "id": "contact_sendcontactemail"
    },
    {
      "label": "escapeHtml()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L288",
      "community": 21,
      "norm_label": "escapehtml()",
      "id": "contact_escapehtml"
    },
    {
      "label": "corsHeaders()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L302",
      "community": 21,
      "norm_label": "corsheaders()",
      "id": "contact_corsheaders"
    },
    {
      "label": "OPTIONS()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L327",
      "community": 21,
      "norm_label": "options()",
      "id": "contact_options"
    },
    {
      "label": "POST()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L334",
      "community": 21,
      "norm_label": "post()",
      "id": "contact_post"
    },
    {
      "label": "metrics.json.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L1",
      "community": 35,
      "norm_label": "metrics.json.ts",
      "id": "metrics_json"
    },
    {
      "label": "recordRequest()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L12",
      "community": 35,
      "norm_label": "recordrequest()",
      "id": "metrics_json_recordrequest"
    },
    {
      "label": "percentile()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L19",
      "community": 35,
      "norm_label": "percentile()",
      "id": "metrics_json_percentile"
    },
    {
      "label": "GET()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L25",
      "community": 35,
      "norm_label": "get()",
      "id": "metrics_json_get"
    },
    {
      "label": "formatUptime()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L85",
      "community": 35,
      "norm_label": "formatuptime()",
      "id": "metrics_json_formatuptime"
    },
    {
      "label": "health.json.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts",
      "source_location": "L1",
      "community": 47,
      "norm_label": "health.json.ts",
      "id": "health_json"
    },
    {
      "label": "GET()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts",
      "source_location": "L5",
      "community": 47,
      "norm_label": "get()",
      "id": "health_json_get"
    },
    {
      "label": "newsletter.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L1",
      "community": 3,
      "norm_label": "newsletter.ts",
      "id": "newsletter"
    },
    {
      "label": "checkRateLimit()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L17",
      "community": 3,
      "norm_label": "checkratelimit()",
      "id": "newsletter_checkratelimit"
    },
    {
      "label": "validateEmail()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L44",
      "community": 3,
      "norm_label": "validateemail()",
      "id": "newsletter_validateemail"
    },
    {
      "label": "subscribeToNewsletter()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L61",
      "community": 3,
      "norm_label": "subscribetonewsletter()",
      "id": "newsletter_subscribetonewsletter"
    },
    {
      "label": "corsHeaders()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L159",
      "community": 3,
      "norm_label": "corsheaders()",
      "id": "newsletter_corsheaders"
    },
    {
      "label": "OPTIONS()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L184",
      "community": 3,
      "norm_label": "options()",
      "id": "newsletter_options"
    },
    {
      "label": "POST()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L191",
      "community": 3,
      "norm_label": "post()",
      "id": "newsletter_post"
    },
    {
      "label": "seo.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L1",
      "community": 11,
      "norm_label": "seo.ts",
      "id": "seo"
    },
    {
      "label": "generatePageTitle()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L21",
      "community": 11,
      "norm_label": "generatepagetitle()",
      "id": "seo_generatepagetitle"
    },
    {
      "label": "generateKeywords()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L31",
      "community": 11,
      "norm_label": "generatekeywords()",
      "id": "seo_generatekeywords"
    },
    {
      "label": "generateBreadcrumbSchema()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L47",
      "community": 11,
      "norm_label": "generatebreadcrumbschema()",
      "id": "seo_generatebreadcrumbschema"
    },
    {
      "label": "generateArticleSchema()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L63",
      "community": 11,
      "norm_label": "generatearticleschema()",
      "id": "seo_generatearticleschema"
    },
    {
      "label": "generateFAQSchema()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L104",
      "community": 11,
      "norm_label": "generatefaqschema()",
      "id": "seo_generatefaqschema"
    },
    {
      "label": "generateServiceSchema()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L122",
      "community": 11,
      "norm_label": "generateserviceschema()",
      "id": "seo_generateserviceschema"
    },
    {
      "label": "generateCanonicalUrl()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L164",
      "community": 11,
      "norm_label": "generatecanonicalurl()",
      "id": "seo_generatecanonicalurl"
    },
    {
      "label": "truncateDescription()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L173",
      "community": 11,
      "norm_label": "truncatedescription()",
      "id": "seo_truncatedescription"
    },
    {
      "label": "generateOGImageUrl()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L188",
      "community": 11,
      "norm_label": "generateogimageurl()",
      "id": "seo_generateogimageurl"
    },
    {
      "label": "shouldIndexPage()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L198",
      "community": 11,
      "norm_label": "shouldindexpage()",
      "id": "seo_shouldindexpage"
    },
    {
      "label": "generateShareUrls()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L213",
      "community": 11,
      "norm_label": "generateshareurls()",
      "id": "seo_generateshareurls"
    },
    {
      "label": "animations.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L1",
      "community": 28,
      "norm_label": "animations.ts",
      "id": "animations"
    },
    {
      "label": "initScrollReveal()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L10",
      "community": 28,
      "norm_label": "initscrollreveal()",
      "id": "animations_initscrollreveal"
    },
    {
      "label": "initCounters()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L42",
      "community": 28,
      "norm_label": "initcounters()",
      "id": "animations_initcounters"
    },
    {
      "label": "animateCounter()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L65",
      "community": 28,
      "norm_label": "animatecounter()",
      "id": "animations_animatecounter"
    },
    {
      "label": "initButtonRipple()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L88",
      "community": 28,
      "norm_label": "initbuttonripple()",
      "id": "animations_initbuttonripple"
    },
    {
      "label": "initProgressBars()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L104",
      "community": 28,
      "norm_label": "initprogressbars()",
      "id": "animations_initprogressbars"
    },
    {
      "label": "initAllAnimations()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L128",
      "community": 28,
      "norm_label": "initallanimations()",
      "id": "animations_initallanimations"
    },
    {
      "label": "analytics.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L1",
      "community": 22,
      "norm_label": "analytics.ts",
      "id": "analytics"
    },
    {
      "label": "trackEvent()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L19",
      "community": 22,
      "norm_label": "trackevent()",
      "id": "analytics_trackevent"
    },
    {
      "label": "trackExternalLink()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L40",
      "community": 22,
      "norm_label": "trackexternallink()",
      "id": "analytics_trackexternallink"
    },
    {
      "label": "trackFormSubmit()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L51",
      "community": 22,
      "norm_label": "trackformsubmit()",
      "id": "analytics_trackformsubmit"
    },
    {
      "label": "trackNewsletterSignup()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L60",
      "community": 22,
      "norm_label": "tracknewslettersignup()",
      "id": "analytics_tracknewslettersignup"
    },
    {
      "label": "trackPortfolioFilter()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L69",
      "community": 22,
      "norm_label": "trackportfoliofilter()",
      "id": "analytics_trackportfoliofilter"
    },
    {
      "label": "trackCaseStudyView()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L78",
      "community": 22,
      "norm_label": "trackcasestudyview()",
      "id": "analytics_trackcasestudyview"
    },
    {
      "label": "bindExternalLinkTracking()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L89",
      "community": 22,
      "norm_label": "bindexternallinktracking()",
      "id": "analytics_bindexternallinktracking"
    },
    {
      "label": "logger.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L1",
      "community": 3,
      "norm_label": "logger.ts",
      "id": "logger"
    },
    {
      "label": "getMinLevel()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L32",
      "community": 3,
      "norm_label": "getminlevel()",
      "id": "logger_getminlevel"
    },
    {
      "label": "shouldLog()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L41",
      "community": 3,
      "norm_label": "shouldlog()",
      "id": "logger_shouldlog"
    },
    {
      "label": "formatEntry()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L45",
      "community": 3,
      "norm_label": "formatentry()",
      "id": "logger_formatentry"
    },
    {
      "label": "output()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L67",
      "community": 3,
      "norm_label": "output()",
      "id": "logger_output"
    },
    {
      "label": "log()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L81",
      "community": 3,
      "norm_label": "log()",
      "id": "logger_log"
    },
    {
      "label": "logApiRequest()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L96",
      "community": 3,
      "norm_label": "logapirequest()",
      "id": "logger_logapirequest"
    },
    {
      "label": "imageUtils.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts",
      "source_location": "L1",
      "community": 38,
      "norm_label": "imageutils.ts",
      "id": "imageutils"
    },
    {
      "label": "optimizeUnsplashUrl()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts",
      "source_location": "L11",
      "community": 38,
      "norm_label": "optimizeunsplashurl()",
      "id": "imageutils_optimizeunsplashurl"
    },
    {
      "label": "generateSrcset()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts",
      "source_location": "L41",
      "community": 38,
      "norm_label": "generatesrcset()",
      "id": "imageutils_generatesrcset"
    },
    {
      "label": "getBlurPlaceholder()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts",
      "source_location": "L65",
      "community": 38,
      "norm_label": "getblurplaceholder()",
      "id": "imageutils_getblurplaceholder"
    },
    {
      "label": "sentry.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L1",
      "community": 3,
      "norm_label": "sentry.ts",
      "id": "sentry"
    },
    {
      "label": "getSentryDsn()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L47",
      "community": 3,
      "norm_label": "getsentrydsn()",
      "id": "sentry_getsentrydsn"
    },
    {
      "label": "getEnvironment()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L55",
      "community": 3,
      "norm_label": "getenvironment()",
      "id": "sentry_getenvironment"
    },
    {
      "label": "getRelease()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L63",
      "community": 3,
      "norm_label": "getrelease()",
      "id": "sentry_getrelease"
    },
    {
      "label": "generateEventId()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L71",
      "community": 3,
      "norm_label": "generateeventid()",
      "id": "sentry_generateeventid"
    },
    {
      "label": "parseDsn()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L76",
      "community": 3,
      "norm_label": "parsedsn()",
      "id": "sentry_parsedsn"
    },
    {
      "label": "sendToSentry()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L88",
      "community": 3,
      "norm_label": "sendtosentry()",
      "id": "sentry_sendtosentry"
    },
    {
      "label": "captureException()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L123",
      "community": 3,
      "norm_label": "captureexception()",
      "id": "sentry_captureexception"
    },
    {
      "label": "captureMessage()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L185",
      "community": 3,
      "norm_label": "capturemessage()",
      "id": "sentry_capturemessage"
    },
    {
      "label": "lighthouse_audit.py",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L1",
      "community": 23,
      "norm_label": "lighthouse_audit.py",
      "id": "lighthouse_audit"
    },
    {
      "label": "run_lighthouse()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L12",
      "community": 23,
      "norm_label": "run_lighthouse()",
      "id": "lighthouse_audit_run_lighthouse"
    },
    {
      "label": "extract_scores()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L40",
      "community": 23,
      "norm_label": "extract_scores()",
      "id": "lighthouse_audit_extract_scores"
    },
    {
      "label": "get_issues()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L53",
      "community": 23,
      "norm_label": "get_issues()",
      "id": "lighthouse_audit_get_issues"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L101",
      "community": 23,
      "norm_label": "main()",
      "id": "lighthouse_audit_main"
    },
    {
      "label": "Run Lighthouse audit on a URL",
      "file_type": "rationale",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L13",
      "community": 23,
      "norm_label": "run lighthouse audit on a url",
      "id": "lighthouse_audit_rationale_13"
    },
    {
      "label": "Extract key scores from Lighthouse data",
      "file_type": "rationale",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L41",
      "community": 23,
      "norm_label": "extract key scores from lighthouse data",
      "id": "lighthouse_audit_rationale_41"
    },
    {
      "label": "Extract issues from Lighthouse audit",
      "file_type": "rationale",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L54",
      "community": 23,
      "norm_label": "extract issues from lighthouse audit",
      "id": "lighthouse_audit_rationale_54"
    },
    {
      "label": "validate-schema.js",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L1",
      "community": 29,
      "norm_label": "validate-schema.js",
      "id": "validate_schema"
    },
    {
      "label": "extractJsonLd()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L39",
      "community": 29,
      "norm_label": "extractjsonld()",
      "id": "validate_schema_extractjsonld"
    },
    {
      "label": "validateSchema()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L55",
      "community": 29,
      "norm_label": "validateschema()",
      "id": "validate_schema_validateschema"
    },
    {
      "label": "validateOpenGraph()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L139",
      "community": 29,
      "norm_label": "validateopengraph()",
      "id": "validate_schema_validateopengraph"
    },
    {
      "label": "validateTwitterCard()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L174",
      "community": 29,
      "norm_label": "validatetwittercard()",
      "id": "validate_schema_validatetwittercard"
    },
    {
      "label": "validatePage()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L206",
      "community": 29,
      "norm_label": "validatepage()",
      "id": "validate_schema_validatepage"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L275",
      "community": 29,
      "norm_label": "main()",
      "id": "validate_schema_main"
    },
    {
      "label": "capture-theme-screenshots.js",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L1",
      "community": 24,
      "norm_label": "capture-theme-screenshots.js",
      "id": "capture_theme_screenshots"
    },
    {
      "label": "ensureDir()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L60",
      "community": 24,
      "norm_label": "ensuredir()",
      "id": "capture_theme_screenshots_ensuredir"
    },
    {
      "label": "screenshotPath()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L66",
      "community": 24,
      "norm_label": "screenshotpath()",
      "id": "capture_theme_screenshots_screenshotpath"
    },
    {
      "label": "waitForPageReady()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L70",
      "community": 24,
      "norm_label": "waitforpageready()",
      "id": "capture_theme_screenshots_waitforpageready"
    },
    {
      "label": "setTheme()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L76",
      "community": 24,
      "norm_label": "settheme()",
      "id": "capture_theme_screenshots_settheme"
    },
    {
      "label": "captureScreenshot()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L93",
      "community": 24,
      "norm_label": "capturescreenshot()",
      "id": "capture_theme_screenshots_capturescreenshot"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L105",
      "community": 24,
      "norm_label": "main()",
      "id": "capture_theme_screenshots_main"
    },
    {
      "label": "generateIndex()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L203",
      "community": 24,
      "norm_label": "generateindex()",
      "id": "capture_theme_screenshots_generateindex"
    },
    {
      "label": "performance_test.py",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L1",
      "community": 32,
      "norm_label": "performance_test.py",
      "id": "performance_test"
    },
    {
      "label": "measure_response_time()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L18",
      "community": 32,
      "norm_label": "measure_response_time()",
      "id": "performance_test_measure_response_time"
    },
    {
      "label": "print_stats()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L41",
      "community": 32,
      "norm_label": "print_stats()",
      "id": "performance_test_print_stats"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L65",
      "community": 32,
      "norm_label": "main()",
      "id": "performance_test_main"
    },
    {
      "label": "Measure response time for a URL over multiple iterations",
      "file_type": "rationale",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L19",
      "community": 32,
      "norm_label": "measure response time for a url over multiple iterations",
      "id": "performance_test_rationale_19"
    },
    {
      "label": "Print statistics for response times",
      "file_type": "rationale",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L42",
      "community": 32,
      "norm_label": "print statistics for response times",
      "id": "performance_test_rationale_42"
    },
    {
      "label": "windows-tasks.ps1",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/backup/windows-tasks.ps1",
      "source_location": "L1",
      "community": 75,
      "norm_label": "windows-tasks.ps1",
      "id": "windows_tasks"
    },
    {
      "label": "sw.js",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L1",
      "community": 25,
      "norm_label": "sw.js",
      "id": "sw"
    },
    {
      "label": "isStaticAsset()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L126",
      "community": 25,
      "norm_label": "isstaticasset()",
      "id": "sw_isstaticasset"
    },
    {
      "label": "cacheFirst()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L133",
      "community": 25,
      "norm_label": "cachefirst()",
      "id": "sw_cachefirst"
    },
    {
      "label": "staleWhileRevalidate()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L149",
      "community": 25,
      "norm_label": "stalewhilerevalidate()",
      "id": "sw_stalewhilerevalidate"
    },
    {
      "label": "processSyncQueue()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L184",
      "community": 25,
      "norm_label": "processsyncqueue()",
      "id": "sw_processsyncqueue"
    },
    {
      "label": "openDB()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L212",
      "community": 25,
      "norm_label": "opendb()",
      "id": "sw_opendb"
    },
    {
      "label": "getAllFromDB()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L229",
      "community": 25,
      "norm_label": "getallfromdb()",
      "id": "sw_getallfromdb"
    },
    {
      "label": "deleteFromDB()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L239",
      "community": 25,
      "norm_label": "deletefromdb()",
      "id": "sw_deletefromdb"
    },
    {
      "label": "e2e-blog-navigation.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-blog-navigation.spec.ts",
      "source_location": "L1",
      "community": 76,
      "norm_label": "e2e-blog-navigation.spec.ts",
      "id": "e2e_blog_navigation_spec"
    },
    {
      "label": "theme-cross-browser.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L1",
      "community": 33,
      "norm_label": "theme-cross-browser.spec.ts",
      "id": "theme_cross_browser_spec"
    },
    {
      "label": "getThemeState()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L19",
      "community": 33,
      "norm_label": "getthemestate()",
      "id": "theme_cross_browser_spec_getthemestate"
    },
    {
      "label": "setStoredTheme()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L36",
      "community": 33,
      "norm_label": "setstoredtheme()",
      "id": "theme_cross_browser_spec_setstoredtheme"
    },
    {
      "label": "loadWithTheme()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L45",
      "community": 33,
      "norm_label": "loadwiththeme()",
      "id": "theme_cross_browser_spec_loadwiththeme"
    },
    {
      "label": "clickToggle()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L51",
      "community": 33,
      "norm_label": "clicktoggle()",
      "id": "theme_cross_browser_spec_clicktoggle"
    },
    {
      "label": "get()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L193",
      "community": 33,
      "norm_label": "get()",
      "id": "theme_cross_browser_spec_get"
    },
    {
      "label": "e2e-critical-paths.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-critical-paths.spec.ts",
      "source_location": "L1",
      "community": 77,
      "norm_label": "e2e-critical-paths.spec.ts",
      "id": "e2e_critical_paths_spec"
    },
    {
      "label": "navigation.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/navigation.spec.ts",
      "source_location": "L1",
      "community": 78,
      "norm_label": "navigation.spec.ts",
      "id": "navigation_spec"
    },
    {
      "label": "contact-form.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/contact-form.spec.ts",
      "source_location": "L1",
      "community": 79,
      "norm_label": "contact-form.spec.ts",
      "id": "contact_form_spec"
    },
    {
      "label": "e2e-form-interactions.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-form-interactions.spec.ts",
      "source_location": "L1",
      "community": 80,
      "norm_label": "e2e-form-interactions.spec.ts",
      "id": "e2e_form_interactions_spec"
    },
    {
      "label": "destructive-chaos.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/destructive-chaos.spec.ts",
      "source_location": "L1",
      "community": 81,
      "norm_label": "destructive-chaos.spec.ts",
      "id": "destructive_chaos_spec"
    },
    {
      "label": "security-headers.test.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/security-headers.test.ts",
      "source_location": "L1",
      "community": 82,
      "norm_label": "security-headers.test.ts",
      "id": "security_headers_test"
    },
    {
      "label": "bug-fix-verification.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/bug-fix-verification.spec.ts",
      "source_location": "L1",
      "community": 83,
      "norm_label": "bug-fix-verification.spec.ts",
      "id": "bug_fix_verification_spec"
    },
    {
      "label": "pages.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages.spec.ts",
      "source_location": "L1",
      "community": 84,
      "norm_label": "pages.spec.ts",
      "id": "pages_spec"
    },
    {
      "label": "api-integration.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/api-integration.spec.ts",
      "source_location": "L1",
      "community": 85,
      "norm_label": "api-integration.spec.ts",
      "id": "api_integration_spec"
    },
    {
      "label": "static-assets.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/static-assets.spec.ts",
      "source_location": "L1",
      "community": 86,
      "norm_label": "static-assets.spec.ts",
      "id": "static_assets_spec"
    },
    {
      "label": "accessibility.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/accessibility.spec.ts",
      "source_location": "L1",
      "community": 87,
      "norm_label": "accessibility.spec.ts",
      "id": "accessibility_spec"
    },
    {
      "label": "theme.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts",
      "source_location": "L1",
      "community": 39,
      "norm_label": "theme.spec.ts",
      "id": "theme_spec"
    },
    {
      "label": "getThemeState()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts",
      "source_location": "L9",
      "community": 39,
      "norm_label": "getthemestate()",
      "id": "theme_spec_getthemestate"
    },
    {
      "label": "loadPageWithStoredTheme()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts",
      "source_location": "L25",
      "community": 39,
      "norm_label": "loadpagewithstoredtheme()",
      "id": "theme_spec_loadpagewithstoredtheme"
    },
    {
      "label": "clickThemeToggle()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts",
      "source_location": "L42",
      "community": 39,
      "norm_label": "clickthemetoggle()",
      "id": "theme_spec_clickthemetoggle"
    },
    {
      "label": "cross-browser.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/cross-browser.spec.ts",
      "source_location": "L1",
      "community": 88,
      "norm_label": "cross-browser.spec.ts",
      "id": "cross_browser_spec"
    },
    {
      "label": "newsletter-subscription.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/newsletter-subscription.spec.ts",
      "source_location": "L1",
      "community": 89,
      "norm_label": "newsletter-subscription.spec.ts",
      "id": "newsletter_subscription_spec"
    },
    {
      "label": "portfolio.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/portfolio.spec.ts",
      "source_location": "L1",
      "community": 90,
      "norm_label": "portfolio.spec.ts",
      "id": "portfolio_spec"
    },
    {
      "label": "blog.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/blog.spec.ts",
      "source_location": "L1",
      "community": 91,
      "norm_label": "blog.spec.ts",
      "id": "blog_spec"
    },
    {
      "label": "e2e-smoke-suite.spec.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-smoke-suite.spec.ts",
      "source_location": "L1",
      "community": 92,
      "norm_label": "e2e-smoke-suite.spec.ts",
      "id": "e2e_smoke_suite_spec"
    },
    {
      "label": "ContactPage.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L1",
      "community": 14,
      "norm_label": "contactpage.ts",
      "id": "contactpage"
    },
    {
      "label": "ContactPage",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L7",
      "community": 14,
      "norm_label": "contactpage",
      "id": "contactpage_contactpage"
    },
    {
      "label": ".constructor()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L26",
      "community": 14,
      "norm_label": ".constructor()",
      "id": "contactpage_contactpage_constructor"
    },
    {
      "label": ".goto()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L45",
      "community": 14,
      "norm_label": ".goto()",
      "id": "contactpage_contactpage_goto"
    },
    {
      "label": ".fillValidForm()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L50",
      "community": 14,
      "norm_label": ".fillvalidform()",
      "id": "contactpage_contactpage_fillvalidform"
    },
    {
      "label": ".submit()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L73",
      "community": 14,
      "norm_label": ".submit()",
      "id": "contactpage_contactpage_submit"
    },
    {
      "label": ".fillAndSubmit()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L77",
      "community": 14,
      "norm_label": ".fillandsubmit()",
      "id": "contactpage_contactpage_fillandsubmit"
    },
    {
      "label": ".waitForSuccessToast()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L82",
      "community": 14,
      "norm_label": ".waitforsuccesstoast()",
      "id": "contactpage_contactpage_waitforsuccesstoast"
    },
    {
      "label": ".waitForErrorToast()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L86",
      "community": 14,
      "norm_label": ".waitforerrortoast()",
      "id": "contactpage_contactpage_waitforerrortoast"
    },
    {
      "label": ".isSubmitButtonDisabled()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L90",
      "community": 14,
      "norm_label": ".issubmitbuttondisabled()",
      "id": "contactpage_contactpage_issubmitbuttondisabled"
    },
    {
      "label": ".getFieldError()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L94",
      "community": 14,
      "norm_label": ".getfielderror()",
      "id": "contactpage_contactpage_getfielderror"
    },
    {
      "label": "NavigationPage.ts",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L1",
      "community": 16,
      "norm_label": "navigationpage.ts",
      "id": "navigationpage"
    },
    {
      "label": "NavigationPage",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L7",
      "community": 16,
      "norm_label": "navigationpage",
      "id": "navigationpage_navigationpage"
    },
    {
      "label": ".constructor()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L23",
      "community": 16,
      "norm_label": ".constructor()",
      "id": "navigationpage_navigationpage_constructor"
    },
    {
      "label": ".clickNavLink()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L31",
      "community": 16,
      "norm_label": ".clicknavlink()",
      "id": "navigationpage_navigationpage_clicknavlink"
    },
    {
      "label": ".openMobileMenu()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L36",
      "community": 16,
      "norm_label": ".openmobilemenu()",
      "id": "navigationpage_navigationpage_openmobilemenu"
    },
    {
      "label": ".closeMobileMenu()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L43",
      "community": 16,
      "norm_label": ".closemobilemenu()",
      "id": "navigationpage_navigationpage_closemobilemenu"
    },
    {
      "label": ".scrollToFooter()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L53",
      "community": 16,
      "norm_label": ".scrolltofooter()",
      "id": "navigationpage_navigationpage_scrolltofooter"
    },
    {
      "label": ".clickFooterLink()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L58",
      "community": 16,
      "norm_label": ".clickfooterlink()",
      "id": "navigationpage_navigationpage_clickfooterlink"
    },
    {
      "label": ".verifyNoHorizontalOverflow()",
      "file_type": "code",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L64",
      "community": 16,
      "norm_label": ".verifynohorizontaloverflow()",
      "id": "navigationpage_navigationpage_verifynohorizontaloverflow"
    }
  ],
  "links": [
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "astro.config.mjs",
      "source_location": "L1",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "astro_config_mjs",
      "target": "config"
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/middleware.ts",
      "source_location": "L2",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_middleware_ts",
      "target": "src_utils_logger_ts"
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/middleware.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_middleware_ts",
      "target": "src_utils_sentry_ts"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/middleware.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_middleware_ts",
      "target": "utils_sentry_captureexception"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/middleware.ts",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_middleware_ts",
      "target": "src_middleware_validatecsrforigin"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/sitemap.xml.ts",
      "source_location": "L13",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_sitemap_xml_ts",
      "target": "pages_sitemap_xml_get"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/sitemap-index.xml.ts",
      "source_location": "L10",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_sitemap_index_xml_ts",
      "target": "pages_sitemap_index_xml_get"
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L2",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "src_utils_logger_ts"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L2",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "utils_logger_logapirequest"
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "src_utils_sentry_ts"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "utils_sentry_captureexception"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L17",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_checkratelimit"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L65",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_validatecontactform"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L146",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_readsmtpconfig"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L187",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_gettransporter"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L150",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_sendcontactemail"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L288",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_escapehtml"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L302",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_corsheaders"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L327",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_options"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L334",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_contact_ts",
      "target": "api_contact_post"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L340",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_contact_post",
      "target": "api_contact_checkratelimit"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L404",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_contact_post",
      "target": "api_contact_validatecontactform"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L295",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_contact_sendcontactemail",
      "target": "api_contact_readsmtpconfig"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L310",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_contact_sendcontactemail",
      "target": "api_contact_gettransporter"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L221",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_contact_sendcontactemail",
      "target": "api_contact_escapehtml"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L417",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_contact_post",
      "target": "api_contact_sendcontactemail"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L280",
      "weight": 1.0,
      "source": "api_contact_sendcontactemail",
      "target": "utils_sentry_captureexception"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L328",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_contact_options",
      "target": "api_contact_corsheaders"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L342",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_contact_post",
      "target": "api_contact_corsheaders"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/pages/api/contact.ts",
      "source_location": "L349",
      "weight": 1.0,
      "source": "api_contact_post",
      "target": "utils_logger_logapirequest"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L12",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_metrics_json_ts",
      "target": "api_metrics_json_recordrequest"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_metrics_json_ts",
      "target": "api_metrics_json_percentile"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L25",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_metrics_json_ts",
      "target": "api_metrics_json_get"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L85",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_metrics_json_ts",
      "target": "api_metrics_json_formatuptime"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L58",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_metrics_json_get",
      "target": "api_metrics_json_percentile"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/metrics.json.ts",
      "source_location": "L49",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_metrics_json_get",
      "target": "api_metrics_json_formatuptime"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/health.json.ts",
      "source_location": "L5",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_health_json_ts",
      "target": "api_health_json_get"
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L2",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "src_utils_logger_ts"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L2",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "utils_logger_logapirequest"
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "src_utils_sentry_ts"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "utils_sentry_captureexception"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L17",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "api_newsletter_checkratelimit"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L44",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "api_newsletter_validateemail"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L61",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "api_newsletter_subscribetonewsletter"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L159",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "api_newsletter_corsheaders"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L184",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "api_newsletter_options"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L191",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_pages_api_newsletter_ts",
      "target": "api_newsletter_post"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L197",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_newsletter_post",
      "target": "api_newsletter_checkratelimit"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L244",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_newsletter_post",
      "target": "api_newsletter_validateemail"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L254",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_newsletter_post",
      "target": "api_newsletter_subscribetonewsletter"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L145",
      "weight": 1.0,
      "source": "api_newsletter_subscribetonewsletter",
      "target": "utils_sentry_captureexception"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L185",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_newsletter_options",
      "target": "api_newsletter_corsheaders"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L199",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "api_newsletter_post",
      "target": "api_newsletter_corsheaders"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/pages/api/newsletter.ts",
      "source_location": "L206",
      "weight": 1.0,
      "source": "api_newsletter_post",
      "target": "utils_logger_logapirequest"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L21",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generatepagetitle"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L31",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generatekeywords"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L47",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generatebreadcrumbschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L63",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generatearticleschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L104",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generatefaqschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L122",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generateserviceschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L164",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generatecanonicalurl"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L173",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_truncatedescription"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L188",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generateogimageurl"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L198",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_shouldindexpage"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/seo.ts",
      "source_location": "L213",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_seo_ts",
      "target": "utils_seo_generateshareurls"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L10",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_animations_ts",
      "target": "utils_animations_initscrollreveal"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L42",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_animations_ts",
      "target": "utils_animations_initcounters"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L65",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_animations_ts",
      "target": "utils_animations_animatecounter"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L88",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_animations_ts",
      "target": "utils_animations_initbuttonripple"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L104",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_animations_ts",
      "target": "utils_animations_initprogressbars"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L128",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_animations_ts",
      "target": "utils_animations_initallanimations"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L129",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_animations_initallanimations",
      "target": "utils_animations_initscrollreveal"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L130",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_animations_initallanimations",
      "target": "utils_animations_initcounters"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L131",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_animations_initallanimations",
      "target": "utils_animations_initbuttonripple"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/animations.ts",
      "source_location": "L132",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_animations_initallanimations",
      "target": "utils_animations_initprogressbars"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_analytics_ts",
      "target": "utils_analytics_trackevent"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L40",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_analytics_ts",
      "target": "utils_analytics_trackexternallink"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L51",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_analytics_ts",
      "target": "utils_analytics_trackformsubmit"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L60",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_analytics_ts",
      "target": "utils_analytics_tracknewslettersignup"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L69",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_analytics_ts",
      "target": "utils_analytics_trackportfoliofilter"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L78",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_analytics_ts",
      "target": "utils_analytics_trackcasestudyview"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L89",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_analytics_ts",
      "target": "utils_analytics_bindexternallinktracking"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_analytics_trackexternallink",
      "target": "utils_analytics_trackevent"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L52",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_analytics_trackformsubmit",
      "target": "utils_analytics_trackevent"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L61",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_analytics_tracknewslettersignup",
      "target": "utils_analytics_trackevent"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L70",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_analytics_trackportfoliofilter",
      "target": "utils_analytics_trackevent"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/analytics.ts",
      "source_location": "L79",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_analytics_trackcasestudyview",
      "target": "utils_analytics_trackevent"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L32",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_logger_ts",
      "target": "utils_logger_getminlevel"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_logger_ts",
      "target": "utils_logger_shouldlog"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L45",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_logger_ts",
      "target": "utils_logger_formatentry"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L67",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_logger_ts",
      "target": "utils_logger_output"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L81",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_logger_ts",
      "target": "utils_logger_log"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L96",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_logger_ts",
      "target": "utils_logger_logapirequest"
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "src_utils_logger_ts"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L42",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_logger_shouldlog",
      "target": "utils_logger_getminlevel"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L82",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_logger_log",
      "target": "utils_logger_shouldlog"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L83",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_logger_log",
      "target": "utils_logger_formatentry"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L83",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_logger_log",
      "target": "utils_logger_output"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/logger.ts",
      "source_location": "L107",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_logger_logapirequest",
      "target": "utils_logger_log"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/imageUtils.ts",
      "source_location": "L11",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_imageutils_ts",
      "target": "utils_imageutils_optimizeunsplashurl"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/imageUtils.ts",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_imageutils_ts",
      "target": "utils_imageutils_generatesrcset"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/imageUtils.ts",
      "source_location": "L65",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_imageutils_ts",
      "target": "utils_imageutils_getblurplaceholder"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L47",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "utils_sentry_getsentrydsn"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L55",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "utils_sentry_getenvironment"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L63",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "utils_sentry_getrelease"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L71",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "utils_sentry_generateeventid"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L76",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "utils_sentry_parsedsn"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L88",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "utils_sentry_sendtosentry"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L123",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "utils_sentry_captureexception"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L185",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_utils_sentry_ts",
      "target": "utils_sentry_capturemessage"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L89",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_sendtosentry",
      "target": "utils_sentry_getsentrydsn"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L138",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_captureexception",
      "target": "utils_sentry_getsentrydsn"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L200",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_capturemessage",
      "target": "utils_sentry_getsentrydsn"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L162",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_captureexception",
      "target": "utils_sentry_getenvironment"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L208",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_capturemessage",
      "target": "utils_sentry_getenvironment"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L163",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_captureexception",
      "target": "utils_sentry_getrelease"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L209",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_capturemessage",
      "target": "utils_sentry_getrelease"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L158",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_captureexception",
      "target": "utils_sentry_generateeventid"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L204",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_capturemessage",
      "target": "utils_sentry_generateeventid"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L92",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_sendtosentry",
      "target": "utils_sentry_parsedsn"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L157",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_captureexception",
      "target": "utils_sentry_sendtosentry"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/utils/sentry.ts",
      "source_location": "L203",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "utils_sentry_capturemessage",
      "target": "utils_sentry_sendtosentry"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L12",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_py",
      "target": "scripts_lighthouse_audit_run_lighthouse"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L40",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_py",
      "target": "scripts_lighthouse_audit_extract_scores"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L53",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_py",
      "target": "scripts_lighthouse_audit_get_issues"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L101",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_py",
      "target": "scripts_lighthouse_audit_main"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L109",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_main",
      "target": "scripts_lighthouse_audit_run_lighthouse"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L13",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_rationale_13",
      "target": "scripts_lighthouse_audit_run_lighthouse"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L114",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_main",
      "target": "scripts_lighthouse_audit_extract_scores"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_rationale_41",
      "target": "scripts_lighthouse_audit_extract_scores"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L132",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_main",
      "target": "scripts_lighthouse_audit_get_issues"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "scripts/lighthouse_audit.py",
      "source_location": "L54",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_lighthouse_audit_rationale_54",
      "target": "scripts_lighthouse_audit_get_issues"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L39",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_js",
      "target": "scripts_validate_schema_extractjsonld"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L55",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_js",
      "target": "scripts_validate_schema_validateschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L139",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_js",
      "target": "scripts_validate_schema_validateopengraph"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L174",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_js",
      "target": "scripts_validate_schema_validatetwittercard"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L206",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_js",
      "target": "scripts_validate_schema_validatepage"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L275",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_js",
      "target": "scripts_validate_schema_main"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L213",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_validatepage",
      "target": "scripts_validate_schema_extractjsonld"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L238",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_validatepage",
      "target": "scripts_validate_schema_validateopengraph"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L250",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_validatepage",
      "target": "scripts_validate_schema_validatetwittercard"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/validate-schema.js",
      "source_location": "L316",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_validate_schema_main",
      "target": "scripts_validate_schema_validatepage"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L60",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_js",
      "target": "scripts_capture_theme_screenshots_ensuredir"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L66",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_js",
      "target": "scripts_capture_theme_screenshots_screenshotpath"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L70",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_js",
      "target": "scripts_capture_theme_screenshots_waitforpageready"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L76",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_js",
      "target": "scripts_capture_theme_screenshots_settheme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L93",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_js",
      "target": "scripts_capture_theme_screenshots_capturescreenshot"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L105",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_js",
      "target": "scripts_capture_theme_screenshots_main"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L203",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_js",
      "target": "scripts_capture_theme_screenshots_generateindex"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L116",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_main",
      "target": "scripts_capture_theme_screenshots_ensuredir"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L165",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_main",
      "target": "scripts_capture_theme_screenshots_screenshotpath"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L159",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_main",
      "target": "scripts_capture_theme_screenshots_waitforpageready"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L162",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_main",
      "target": "scripts_capture_theme_screenshots_settheme"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L166",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_main",
      "target": "scripts_capture_theme_screenshots_capturescreenshot"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/capture-theme-screenshots.js",
      "source_location": "L198",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_capture_theme_screenshots_main",
      "target": "scripts_capture_theme_screenshots_generateindex"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/performance_test.py",
      "source_location": "L18",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_performance_test_py",
      "target": "scripts_performance_test_measure_response_time"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/performance_test.py",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_performance_test_py",
      "target": "scripts_performance_test_print_stats"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/performance_test.py",
      "source_location": "L65",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_performance_test_py",
      "target": "scripts_performance_test_main"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/performance_test.py",
      "source_location": "L97",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_performance_test_main",
      "target": "scripts_performance_test_measure_response_time"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "scripts/performance_test.py",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_performance_test_rationale_19",
      "target": "scripts_performance_test_measure_response_time"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scripts/performance_test.py",
      "source_location": "L98",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_performance_test_main",
      "target": "scripts_performance_test_print_stats"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "scripts/performance_test.py",
      "source_location": "L42",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_performance_test_rationale_42",
      "target": "scripts_performance_test_print_stats"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L126",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_js",
      "target": "public_sw_isstaticasset"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L133",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_js",
      "target": "public_sw_cachefirst"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L149",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_js",
      "target": "public_sw_stalewhilerevalidate"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L184",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_js",
      "target": "public_sw_processsyncqueue"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L212",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_js",
      "target": "public_sw_opendb"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L229",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_js",
      "target": "public_sw_getallfromdb"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L239",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_js",
      "target": "public_sw_deletefromdb"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L185",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_processsyncqueue",
      "target": "public_sw_opendb"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L186",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_processsyncqueue",
      "target": "public_sw_getallfromdb"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "public/sw.js",
      "source_location": "L197",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "public_sw_processsyncqueue",
      "target": "public_sw_deletefromdb"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_cross_browser_spec_ts",
      "target": "tests_theme_cross_browser_spec_getthemestate"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L36",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_cross_browser_spec_ts",
      "target": "tests_theme_cross_browser_spec_setstoredtheme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L45",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_cross_browser_spec_ts",
      "target": "tests_theme_cross_browser_spec_loadwiththeme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L51",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_cross_browser_spec_ts",
      "target": "tests_theme_cross_browser_spec_clicktoggle"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L193",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_cross_browser_spec_ts",
      "target": "tests_theme_cross_browser_spec_get"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme-cross-browser.spec.ts",
      "source_location": "L47",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_cross_browser_spec_loadwiththeme",
      "target": "tests_theme_cross_browser_spec_setstoredtheme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme.spec.ts",
      "source_location": "L9",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_spec_ts",
      "target": "tests_theme_spec_getthemestate"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme.spec.ts",
      "source_location": "L25",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_spec_ts",
      "target": "tests_theme_spec_loadpagewithstoredtheme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/theme.spec.ts",
      "source_location": "L42",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_theme_spec_ts",
      "target": "tests_theme_spec_clickthemetoggle"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L7",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_pages_contactpage_ts",
      "target": "pages_contactpage_contactpage"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L26",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_constructor"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L45",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_goto"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L50",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_fillvalidform"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L73",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_submit"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L77",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_fillandsubmit"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L82",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_waitforsuccesstoast"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L86",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_waitforerrortoast"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L90",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_issubmitbuttondisabled"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L94",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage",
      "target": "pages_contactpage_contactpage_getfielderror"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L78",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage_fillandsubmit",
      "target": "pages_contactpage_contactpage_fillvalidform"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/ContactPage.ts",
      "source_location": "L79",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_contactpage_contactpage_fillandsubmit",
      "target": "pages_contactpage_contactpage_submit"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L7",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "tests_pages_navigationpage_ts",
      "target": "pages_navigationpage_navigationpage"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L23",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_navigationpage_navigationpage",
      "target": "pages_navigationpage_navigationpage_constructor"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L31",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_navigationpage_navigationpage",
      "target": "pages_navigationpage_navigationpage_clicknavlink"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L36",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_navigationpage_navigationpage",
      "target": "pages_navigationpage_navigationpage_openmobilemenu"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L43",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_navigationpage_navigationpage",
      "target": "pages_navigationpage_navigationpage_closemobilemenu"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L53",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_navigationpage_navigationpage",
      "target": "pages_navigationpage_navigationpage_scrolltofooter"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L58",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_navigationpage_navigationpage",
      "target": "pages_navigationpage_navigationpage_clickfooterlink"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/pages/NavigationPage.ts",
      "source_location": "L64",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "pages_navigationpage_navigationpage",
      "target": "pages_navigationpage_navigationpage_verifynohorizontaloverflow"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L1",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "readme_md",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L5",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_quick_start"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L27",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L103",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_architecture"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L127",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment_platforms"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L176",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_project_structure"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L195",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_features"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L206",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_troubleshooting"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L240",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_astro_ssr_standalone_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_license"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L7",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_quick_start",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_development"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_quick_start",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_production"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L9",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_development",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_1"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L18",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_production",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_2"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L37",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_build_process"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L51",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_running_the_server"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L64",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_environment_configuration"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L90",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_available_scripts"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_build_process",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_3"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L55",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_running_the_server",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_4"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L74",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_environment_configuration",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_example_configuration"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L77",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_example_configuration",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_5"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L84",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_example_configuration",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_6"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L105",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_architecture",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_ssr_configuration"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L118",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_architecture",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_server_entry_point"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L129",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment_platforms",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_generic_node_js_platforms"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L150",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_deployment_platforms",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_platform_specific_notes"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L134",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_generic_node_js_platforms",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_7"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L139",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_generic_node_js_platforms",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_8"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L146",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_generic_node_js_platforms",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_9"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L163",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_platform_specific_notes",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_10"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L178",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_project_structure",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_11"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L208",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_troubleshooting",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_port_already_in_use"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L221",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_troubleshooting",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_server_not_accessible"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L229",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_troubleshooting",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_build_failures"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L212",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_port_already_in_use",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_12"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L225",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_server_not_accessible",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_13"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L233",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_build_failures",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_readme_codeblock_14"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L1",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "changelog_md",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changelog"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L10",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changelog",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_unreleased"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L62",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changelog",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_1_0_0_initial_release"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L92",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changelog",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_release_notes_template"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L12",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_unreleased",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L53",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_unreleased",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_migration_impact"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_configuration"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L20",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_api_routes"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L24",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_seo_metadata"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L28",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_content"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L31",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_documentation"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L39",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_security"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L46",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed_domain_migration_2026_03_21",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_testing"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L64",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_1_0_0_initial_release",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_added"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L83",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_1_0_0_initial_release",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_security_83"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L94",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_release_notes_template",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_version_yyyy_mm_dd"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L96",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_version_yyyy_mm_dd",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_added_96"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L99",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_version_yyyy_mm_dd",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_changed"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L102",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_version_yyyy_mm_dd",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_deprecated"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L105",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_version_yyyy_mm_dd",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_removed"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L108",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_version_yyyy_mm_dd",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_fixed"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "CHANGELOG.md",
      "source_location": "L111",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_version_yyyy_mm_dd",
      "target": "2e709500_79ab_403f_9ca0_3f027ac9f36e_changelog_security_111"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_ai_transforming_business_md",
      "target": "blog_ai_transforming_business_key_ai_applications_in_business"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L93",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_ai_transforming_business_md",
      "target": "blog_ai_transforming_business_implementation_considerations"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L101",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_ai_transforming_business_md",
      "target": "blog_ai_transforming_business_measuring_roi"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L110",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_ai_transforming_business_md",
      "target": "blog_ai_transforming_business_the_road_ahead"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L18",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_ai_transforming_business_key_ai_applications_in_business",
      "target": "blog_ai_transforming_business_1_customer_service_automation"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_ai_transforming_business_key_ai_applications_in_business",
      "target": "blog_ai_transforming_business_2_predictive_analytics"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L70",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_ai_transforming_business_key_ai_applications_in_business",
      "target": "blog_ai_transforming_business_3_process_automation"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L74",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_ai_transforming_business_key_ai_applications_in_business",
      "target": "blog_ai_transforming_business_4_intelligent_document_processing"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L22",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_ai_transforming_business_1_customer_service_automation",
      "target": "blog_ai_transforming_business_codeblock_1"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L45",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_ai_transforming_business_2_predictive_analytics",
      "target": "blog_ai_transforming_business_codeblock_2"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/ai-transforming-business.md",
      "source_location": "L78",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_ai_transforming_business_4_intelligent_document_processing",
      "target": "blog_ai_transforming_business_codeblock_3"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_cloud_migration_guide_md",
      "target": "blog_cloud_migration_guide_the_6_r_s_of_migration"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L29",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_cloud_migration_guide_md",
      "target": "blog_cloud_migration_guide_infrastructure_as_code"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L62",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_cloud_migration_guide_md",
      "target": "blog_cloud_migration_guide_containerization_as_a_migration_strategy"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L84",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_cloud_migration_guide_md",
      "target": "blog_cloud_migration_guide_cost_optimization_strategies"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L112",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_cloud_migration_guide_md",
      "target": "blog_cloud_migration_guide_migration_checklist"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L125",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_cloud_migration_guide_md",
      "target": "blog_cloud_migration_guide_common_pitfalls"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L134",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_cloud_migration_guide_md",
      "target": "blog_cloud_migration_guide_conclusion"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L33",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_cloud_migration_guide_infrastructure_as_code",
      "target": "blog_cloud_migration_guide_codeblock_1"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L66",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_cloud_migration_guide_containerization_as_a_migration_strategy",
      "target": "blog_cloud_migration_guide_codeblock_2"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/cloud-migration-guide.md",
      "source_location": "L88",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_cloud_migration_guide_cost_optimization_strategies",
      "target": "blog_cloud_migration_guide_codeblock_3"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_scalable_erp_systems_md",
      "target": "blog_building_scalable_erp_systems_why_custom_erp_still_matters"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L25",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_scalable_erp_systems_md",
      "target": "blog_building_scalable_erp_systems_architecture_decisions_that_scale"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L78",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_scalable_erp_systems_md",
      "target": "blog_building_scalable_erp_systems_database_design_for_multi_tenant_government_systems"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L101",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_scalable_erp_systems_md",
      "target": "blog_building_scalable_erp_systems_deployment_strategy_for_government_projects"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L121",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_scalable_erp_systems_md",
      "target": "blog_building_scalable_erp_systems_lessons_learned"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L129",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_scalable_erp_systems_md",
      "target": "blog_building_scalable_erp_systems_conclusion"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L27",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_architecture_decisions_that_scale",
      "target": "blog_building_scalable_erp_systems_1_modular_monolith_over_premature_microservices"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L46",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_architecture_decisions_that_scale",
      "target": "blog_building_scalable_erp_systems_2_role_based_access_control_rbac_from_day_one"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L70",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_architecture_decisions_that_scale",
      "target": "blog_building_scalable_erp_systems_3_offline_resilient_design"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L31",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_1_modular_monolith_over_premature_microservices",
      "target": "blog_building_scalable_erp_systems_codeblock_1"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L54",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_2_role_based_access_control_rbac_from_day_one",
      "target": "blog_building_scalable_erp_systems_codeblock_2"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L80",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_database_design_for_multi_tenant_government_systems",
      "target": "blog_building_scalable_erp_systems_shared_database_separate_schemas"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L84",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_shared_database_separate_schemas",
      "target": "blog_building_scalable_erp_systems_codeblock_3"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L103",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_deployment_strategy_for_government_projects",
      "target": "blog_building_scalable_erp_systems_blue_green_deployments"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-scalable-erp-systems.md",
      "source_location": "L112",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_scalable_erp_systems_deployment_strategy_for_government_projects",
      "target": "blog_building_scalable_erp_systems_monitoring_and_alerting"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_government_it_systems_md",
      "target": "blog_building_government_it_systems_the_unique_challenges_of_government_it"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L123",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_government_it_systems_md",
      "target": "blog_building_government_it_systems_lessons_from_the_police_management_system"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L150",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_government_it_systems_md",
      "target": "blog_building_government_it_systems_scms_scaling_content_management_for_government"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L156",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_government_it_systems_md",
      "target": "blog_building_government_it_systems_key_takeaways_for_government_it_projects"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L168",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_building_government_it_systems_md",
      "target": "blog_building_government_it_systems_conclusion"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L18",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_government_it_systems_the_unique_challenges_of_government_it",
      "target": "blog_building_government_it_systems_1_multi_district_deployment_complexity"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L57",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_government_it_systems_the_unique_challenges_of_government_it",
      "target": "blog_building_government_it_systems_2_security_and_compliance"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L95",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_government_it_systems_the_unique_challenges_of_government_it",
      "target": "blog_building_government_it_systems_3_reliability_under_constraint"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L24",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_government_it_systems_1_multi_district_deployment_complexity",
      "target": "blog_building_government_it_systems_codeblock_1"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L68",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_government_it_systems_2_security_and_compliance",
      "target": "blog_building_government_it_systems_codeblock_2"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L101",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_government_it_systems_3_reliability_under_constraint",
      "target": "blog_building_government_it_systems_codeblock_3"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L127",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_government_it_systems_lessons_from_the_police_management_system",
      "target": "blog_building_government_it_systems_architecture_decisions_that_paid_off"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/building-government-it-systems.md",
      "source_location": "L135",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_building_government_it_systems_architecture_decisions_that_paid_off",
      "target": "blog_building_government_it_systems_codeblock_4"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_getting_started_with_astro_md",
      "target": "blog_getting_started_with_astro_why_choose_astro"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L25",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_getting_started_with_astro_md",
      "target": "blog_getting_started_with_astro_how_astro_differs_from_traditional_frameworks"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L31",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_getting_started_with_astro_md",
      "target": "blog_getting_started_with_astro_code_example"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L60",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_getting_started_with_astro_md",
      "target": "blog_getting_started_with_astro_performance_benefits"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L79",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_getting_started_with_astro_md",
      "target": "blog_getting_started_with_astro_content_collections_type_safe_content"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L103",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_getting_started_with_astro_md",
      "target": "blog_getting_started_with_astro_getting_started"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L113",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "src_content_blog_getting_started_with_astro_md",
      "target": "blog_getting_started_with_astro_when_to_use_astro"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L35",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_getting_started_with_astro_code_example",
      "target": "blog_getting_started_with_astro_codeblock_1"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L68",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_getting_started_with_astro_performance_benefits",
      "target": "blog_getting_started_with_astro_codeblock_2"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L83",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_getting_started_with_astro_content_collections_type_safe_content",
      "target": "blog_getting_started_with_astro_codeblock_3"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/content/blog/getting-started-with-astro.md",
      "source_location": "L107",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "blog_getting_started_with_astro_getting_started",
      "target": "blog_getting_started_with_astro_codeblock_4"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L1",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_md",
      "target": "scripts_readme_performance_performance_testing_scripts"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L7",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_quick_start"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L23",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_available_scripts"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L89",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_performance_targets"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L99",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_core_web_vitals_production"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L109",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_manual_testing_with_curl"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L139",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_ci_cd_integration"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L171",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_troubleshooting"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L213",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_monitoring_in_production"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L236",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_best_practices"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L247",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_resources"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L256",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_performance_testing_scripts",
      "target": "scripts_readme_performance_quick_reference"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L9",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_quick_start",
      "target": "scripts_readme_performance_test_current_server_performance"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L10",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_test_current_server_performance",
      "target": "scripts_readme_performance_codeblock_1"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L25",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_available_scripts",
      "target": "scripts_readme_performance_1_performance_test_py"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L48",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_available_scripts",
      "target": "scripts_readme_performance_2_quick_perf_check_sh"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L68",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_available_scripts",
      "target": "scripts_readme_performance_3_lighthouse_audit_py"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L29",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_1_performance_test_py",
      "target": "scripts_readme_performance_codeblock_2"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L52",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_2_quick_perf_check_sh",
      "target": "scripts_readme_performance_codeblock_3"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L72",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_3_lighthouse_audit_py",
      "target": "scripts_readme_performance_codeblock_4"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L111",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_manual_testing_with_curl",
      "target": "scripts_readme_performance_basic_response_time"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L116",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_manual_testing_with_curl",
      "target": "scripts_readme_performance_detailed_timing"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L128",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_manual_testing_with_curl",
      "target": "scripts_readme_performance_test_multiple_endpoints"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L112",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_basic_response_time",
      "target": "scripts_readme_performance_codeblock_5"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L117",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_detailed_timing",
      "target": "scripts_readme_performance_codeblock_6"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L129",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_test_multiple_endpoints",
      "target": "scripts_readme_performance_codeblock_7"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L141",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_ci_cd_integration",
      "target": "scripts_readme_performance_github_actions_example"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L151",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_ci_cd_integration",
      "target": "scripts_readme_performance_pre_deployment_check"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L142",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_github_actions_example",
      "target": "scripts_readme_performance_codeblock_8"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L152",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_pre_deployment_check",
      "target": "scripts_readme_performance_codeblock_9"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L173",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_troubleshooting",
      "target": "scripts_readme_performance_slow_response_times_500ms"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L197",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_troubleshooting",
      "target": "scripts_readme_performance_high_variance_in_response_times"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L183",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_slow_response_times_500ms",
      "target": "scripts_readme_performance_codeblock_10"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L215",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_monitoring_in_production",
      "target": "scripts_readme_performance_recommended_tools"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L221",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_monitoring_in_production",
      "target": "scripts_readme_performance_custom_performance_monitoring"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L222",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_custom_performance_monitoring",
      "target": "scripts_readme_performance_codeblock_11"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/README-PERFORMANCE.md",
      "source_location": "L258",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_readme_performance_quick_reference",
      "target": "scripts_readme_performance_codeblock_12"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L1",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "scripts_backup_readme_md",
      "target": "backup_readme_backup_scripts"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L5",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_scripts",
      "target": "backup_readme_quick_start"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L18",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_scripts",
      "target": "backup_readme_available_commands"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L30",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_scripts",
      "target": "backup_readme_automation_setup"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L55",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_scripts",
      "target": "backup_readme_restore_examples"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L68",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_scripts",
      "target": "backup_readme_storage_structure"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L80",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_scripts",
      "target": "backup_readme_pre_deployment"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L92",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_scripts",
      "target": "backup_readme_troubleshooting"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L117",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_scripts",
      "target": "backup_readme_documentation"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L7",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_quick_start",
      "target": "backup_readme_codeblock_1"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L32",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_automation_setup",
      "target": "backup_readme_linux_macos_cron"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L45",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_automation_setup",
      "target": "backup_readme_windows_task_scheduler"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L34",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_linux_macos_cron",
      "target": "backup_readme_codeblock_2"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L47",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_windows_task_scheduler",
      "target": "backup_readme_codeblock_3"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L57",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_restore_examples",
      "target": "backup_readme_codeblock_4"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L70",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_storage_structure",
      "target": "backup_readme_codeblock_5"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L84",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_pre_deployment",
      "target": "backup_readme_codeblock_6"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L94",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_troubleshooting",
      "target": "backup_readme_backup_fails"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L107",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_troubleshooting",
      "target": "backup_readme_restore_fails"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L96",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_backup_fails",
      "target": "backup_readme_codeblock_7"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scripts/backup/README.md",
      "source_location": "L109",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "backup_readme_restore_fails",
      "target": "backup_readme_codeblock_8"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "test-results/newsletter-subscription-Ne-c1de9-isible-and-usable-on-mobile-chromium/error-context.md",
      "source_location": "L1",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "test_results_newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_md",
      "target": "newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_page_snapshot"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "test-results/newsletter-subscription-Ne-c1de9-isible-and-usable-on-mobile-chromium/error-context.md",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_page_snapshot",
      "target": "newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_codeblock_1"
    },
    {
      "relation": "imports_from",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts",
      "source_location": "L2",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "middleware",
      "target": "logger"
    },
    {
      "relation": "imports_from",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "middleware",
      "target": "sentry"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "middleware",
      "target": "middleware_validatecsrforigin"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts",
      "source_location": "L13",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sitemap_xml",
      "target": "sitemap_xml_get"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts",
      "source_location": "L10",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sitemap_index_xml",
      "target": "sitemap_index_xml_get"
    },
    {
      "relation": "imports_from",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L2",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "logger"
    },
    {
      "relation": "imports_from",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "sentry"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L17",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "contact_checkratelimit"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L65",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "contact_validatecontactform"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L150",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "contact_sendcontactemail"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L288",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "contact_escapehtml"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L302",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "contact_corsheaders"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L327",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "contact_options"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L334",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact",
      "target": "contact_post"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L340",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact_checkratelimit",
      "target": "contact_post"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L404",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact_validatecontactform",
      "target": "contact_post"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L221",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact_sendcontactemail",
      "target": "contact_escapehtml"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L417",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact_sendcontactemail",
      "target": "contact_post"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L328",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact_corsheaders",
      "target": "contact_options"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/contact.ts",
      "source_location": "L342",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contact_corsheaders",
      "target": "contact_post"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L12",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "metrics_json",
      "target": "metrics_json_recordrequest"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "metrics_json",
      "target": "metrics_json_percentile"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L25",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "metrics_json",
      "target": "metrics_json_get"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L85",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "metrics_json",
      "target": "metrics_json_formatuptime"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L58",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "metrics_json_percentile",
      "target": "metrics_json_get"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts",
      "source_location": "L49",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "metrics_json_get",
      "target": "metrics_json_formatuptime"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts",
      "source_location": "L5",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "health_json",
      "target": "health_json_get"
    },
    {
      "relation": "imports_from",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L2",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter",
      "target": "logger"
    },
    {
      "relation": "imports_from",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L3",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter",
      "target": "sentry"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L17",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter",
      "target": "newsletter_checkratelimit"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L44",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter",
      "target": "newsletter_validateemail"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L61",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter",
      "target": "newsletter_subscribetonewsletter"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L159",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter",
      "target": "newsletter_corsheaders"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L184",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter",
      "target": "newsletter_options"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L191",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter",
      "target": "newsletter_post"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L197",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter_checkratelimit",
      "target": "newsletter_post"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L244",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter_validateemail",
      "target": "newsletter_post"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L254",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter_subscribetonewsletter",
      "target": "newsletter_post"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L185",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter_corsheaders",
      "target": "newsletter_options"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/newsletter.ts",
      "source_location": "L199",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "newsletter_corsheaders",
      "target": "newsletter_post"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L21",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generatepagetitle"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L31",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generatekeywords"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L47",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generatebreadcrumbschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L63",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generatearticleschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L104",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generatefaqschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L122",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generateserviceschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L164",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generatecanonicalurl"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L173",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_truncatedescription"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L188",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generateogimageurl"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L198",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_shouldindexpage"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/seo.ts",
      "source_location": "L213",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "seo",
      "target": "seo_generateshareurls"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L10",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations",
      "target": "animations_initscrollreveal"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L42",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations",
      "target": "animations_initcounters"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L65",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations",
      "target": "animations_animatecounter"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L88",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations",
      "target": "animations_initbuttonripple"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L104",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations",
      "target": "animations_initprogressbars"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L128",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations",
      "target": "animations_initallanimations"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L129",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations_initscrollreveal",
      "target": "animations_initallanimations"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L130",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations_initcounters",
      "target": "animations_initallanimations"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L131",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations_initbuttonripple",
      "target": "animations_initallanimations"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts",
      "source_location": "L132",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "animations_initprogressbars",
      "target": "animations_initallanimations"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics",
      "target": "analytics_trackevent"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L40",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics",
      "target": "analytics_trackexternallink"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L51",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics",
      "target": "analytics_trackformsubmit"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L60",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics",
      "target": "analytics_tracknewslettersignup"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L69",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics",
      "target": "analytics_trackportfoliofilter"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L78",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics",
      "target": "analytics_trackcasestudyview"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L89",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics",
      "target": "analytics_bindexternallinktracking"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics_trackevent",
      "target": "analytics_trackexternallink"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L52",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics_trackevent",
      "target": "analytics_trackformsubmit"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L61",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics_trackevent",
      "target": "analytics_tracknewslettersignup"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L70",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics_trackevent",
      "target": "analytics_trackportfoliofilter"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/analytics.ts",
      "source_location": "L79",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "analytics_trackevent",
      "target": "analytics_trackcasestudyview"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L32",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger",
      "target": "logger_getminlevel"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger",
      "target": "logger_shouldlog"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L45",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger",
      "target": "logger_formatentry"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L67",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger",
      "target": "logger_output"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L81",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger",
      "target": "logger_log"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L96",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger",
      "target": "logger_logapirequest"
    },
    {
      "relation": "imports_from",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L16",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger",
      "target": "sentry"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L42",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger_getminlevel",
      "target": "logger_shouldlog"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L82",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger_shouldlog",
      "target": "logger_log"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L83",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger_formatentry",
      "target": "logger_log"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L83",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger_output",
      "target": "logger_log"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts",
      "source_location": "L107",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "logger_log",
      "target": "logger_logapirequest"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts",
      "source_location": "L11",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "imageutils",
      "target": "imageutils_optimizeunsplashurl"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "imageutils",
      "target": "imageutils_generatesrcset"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts",
      "source_location": "L65",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "imageutils",
      "target": "imageutils_getblurplaceholder"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L47",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry",
      "target": "sentry_getsentrydsn"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L55",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry",
      "target": "sentry_getenvironment"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L63",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry",
      "target": "sentry_getrelease"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L71",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry",
      "target": "sentry_generateeventid"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L76",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry",
      "target": "sentry_parsedsn"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L88",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry",
      "target": "sentry_sendtosentry"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L123",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry",
      "target": "sentry_captureexception"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L185",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry",
      "target": "sentry_capturemessage"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L89",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_getsentrydsn",
      "target": "sentry_sendtosentry"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L138",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_getsentrydsn",
      "target": "sentry_captureexception"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L200",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_getsentrydsn",
      "target": "sentry_capturemessage"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L162",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_getenvironment",
      "target": "sentry_captureexception"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L208",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_getenvironment",
      "target": "sentry_capturemessage"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L163",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_getrelease",
      "target": "sentry_captureexception"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L209",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_getrelease",
      "target": "sentry_capturemessage"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L158",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_generateeventid",
      "target": "sentry_captureexception"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L204",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_generateeventid",
      "target": "sentry_capturemessage"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L92",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_parsedsn",
      "target": "sentry_sendtosentry"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L157",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_sendtosentry",
      "target": "sentry_captureexception"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/sentry.ts",
      "source_location": "L203",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sentry_sendtosentry",
      "target": "sentry_capturemessage"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L12",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit",
      "target": "lighthouse_audit_run_lighthouse"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L40",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit",
      "target": "lighthouse_audit_extract_scores"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L53",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit",
      "target": "lighthouse_audit_get_issues"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L101",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit",
      "target": "lighthouse_audit_main"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L109",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit_run_lighthouse",
      "target": "lighthouse_audit_main"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L13",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit_run_lighthouse",
      "target": "lighthouse_audit_rationale_13"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L114",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit_extract_scores",
      "target": "lighthouse_audit_main"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit_extract_scores",
      "target": "lighthouse_audit_rationale_41"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L132",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit_get_issues",
      "target": "lighthouse_audit_main"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/lighthouse_audit.py",
      "source_location": "L54",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "lighthouse_audit_get_issues",
      "target": "lighthouse_audit_rationale_54"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L39",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema",
      "target": "validate_schema_extractjsonld"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L55",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema",
      "target": "validate_schema_validateschema"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L139",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema",
      "target": "validate_schema_validateopengraph"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L174",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema",
      "target": "validate_schema_validatetwittercard"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L206",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema",
      "target": "validate_schema_validatepage"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L275",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema",
      "target": "validate_schema_main"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L213",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema_extractjsonld",
      "target": "validate_schema_validatepage"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L238",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema_validateopengraph",
      "target": "validate_schema_validatepage"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L250",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema_validatetwittercard",
      "target": "validate_schema_validatepage"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/validate-schema.js",
      "source_location": "L316",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "validate_schema_validatepage",
      "target": "validate_schema_main"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L60",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots",
      "target": "capture_theme_screenshots_ensuredir"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L66",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots",
      "target": "capture_theme_screenshots_screenshotpath"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L70",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots",
      "target": "capture_theme_screenshots_waitforpageready"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L76",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots",
      "target": "capture_theme_screenshots_settheme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L93",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots",
      "target": "capture_theme_screenshots_capturescreenshot"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L105",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots",
      "target": "capture_theme_screenshots_main"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L203",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots",
      "target": "capture_theme_screenshots_generateindex"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L116",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots_ensuredir",
      "target": "capture_theme_screenshots_main"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L165",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots_screenshotpath",
      "target": "capture_theme_screenshots_main"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L159",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots_waitforpageready",
      "target": "capture_theme_screenshots_main"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L162",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots_settheme",
      "target": "capture_theme_screenshots_main"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L166",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots_capturescreenshot",
      "target": "capture_theme_screenshots_main"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/capture-theme-screenshots.js",
      "source_location": "L198",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "capture_theme_screenshots_main",
      "target": "capture_theme_screenshots_generateindex"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L18",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "performance_test",
      "target": "performance_test_measure_response_time"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L41",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "performance_test",
      "target": "performance_test_print_stats"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L65",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "performance_test",
      "target": "performance_test_main"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L97",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "performance_test_measure_response_time",
      "target": "performance_test_main"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "performance_test_measure_response_time",
      "target": "performance_test_rationale_19"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L98",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "performance_test_print_stats",
      "target": "performance_test_main"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/performance_test.py",
      "source_location": "L42",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "performance_test_print_stats",
      "target": "performance_test_rationale_42"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L126",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw",
      "target": "sw_isstaticasset"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L133",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw",
      "target": "sw_cachefirst"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L149",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw",
      "target": "sw_stalewhilerevalidate"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L184",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw",
      "target": "sw_processsyncqueue"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L212",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw",
      "target": "sw_opendb"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L229",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw",
      "target": "sw_getallfromdb"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L239",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw",
      "target": "sw_deletefromdb"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L185",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw_processsyncqueue",
      "target": "sw_opendb"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L186",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw_processsyncqueue",
      "target": "sw_getallfromdb"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js",
      "source_location": "L197",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "sw_processsyncqueue",
      "target": "sw_deletefromdb"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L19",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_cross_browser_spec",
      "target": "theme_cross_browser_spec_getthemestate"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L36",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_cross_browser_spec",
      "target": "theme_cross_browser_spec_setstoredtheme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L45",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_cross_browser_spec",
      "target": "theme_cross_browser_spec_loadwiththeme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L51",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_cross_browser_spec",
      "target": "theme_cross_browser_spec_clicktoggle"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L193",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_cross_browser_spec",
      "target": "theme_cross_browser_spec_get"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts",
      "source_location": "L47",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_cross_browser_spec_setstoredtheme",
      "target": "theme_cross_browser_spec_loadwiththeme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts",
      "source_location": "L9",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_spec",
      "target": "theme_spec_getthemestate"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts",
      "source_location": "L25",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_spec",
      "target": "theme_spec_loadpagewithstoredtheme"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts",
      "source_location": "L42",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "theme_spec",
      "target": "theme_spec_clickthemetoggle"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L7",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage",
      "target": "contactpage_contactpage"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L26",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_constructor"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L45",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_goto"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L50",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_fillvalidform"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L73",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_submit"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L77",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_fillandsubmit"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L82",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_waitforsuccesstoast"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L86",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_waitforerrortoast"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L90",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_issubmitbuttondisabled"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L94",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage",
      "target": "contactpage_contactpage_getfielderror"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L78",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage_fillvalidform",
      "target": "contactpage_contactpage_fillandsubmit"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/ContactPage.ts",
      "source_location": "L79",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "contactpage_contactpage_submit",
      "target": "contactpage_contactpage_fillandsubmit"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L7",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "navigationpage",
      "target": "navigationpage_navigationpage"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L23",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "navigationpage_navigationpage",
      "target": "navigationpage_navigationpage_constructor"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L31",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "navigationpage_navigationpage",
      "target": "navigationpage_navigationpage_clicknavlink"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L36",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "navigationpage_navigationpage",
      "target": "navigationpage_navigationpage_openmobilemenu"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L43",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "navigationpage_navigationpage",
      "target": "navigationpage_navigationpage_closemobilemenu"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L53",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "navigationpage_navigationpage",
      "target": "navigationpage_navigationpage_scrolltofooter"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L58",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "navigationpage_navigationpage",
      "target": "navigationpage_navigationpage_clickfooterlink"
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages/NavigationPage.ts",
      "source_location": "L64",
      "weight": 1.0,
      "confidence_score": 1.0,
      "source": "navigationpage_navigationpage",
      "target": "navigationpage_navigationpage_verifynohorizontaloverflow"
    }
  ],
  "hyperedges": [],
  "built_at_commit": "41a213123d716e051cf7f0ed4bd684ef83354b93"
}