{
  "directed": false,
  "multigraph": false,
  "graph": {
    "hyperedges": [
      {
        "id": "pzem_sensor_to_dashboard_flow",
        "label": "PZEM sensor data flow through services to dashboard",
        "nodes": [
          "model_pzemdata",
          "service_dataservice",
          "controller_dashboardcontroller",
          "view_dashboard"
        ],
        "relation": "participate_in",
        "confidence": "INFERRED",
        "confidence_score": 0.95,
        "source_file": "app/Services/DataService.php"
      },
      {
        "id": "ai_insights_pipeline",
        "label": "AI-powered insights pipeline via Gemini",
        "nodes": [
          "service_geminiservice",
          "service_dataservice",
          "service_insightsservice",
          "controller_geminicontroller"
        ],
        "relation": "participate_in",
        "confidence": "INFERRED",
        "confidence_score": 0.9,
        "source_file": "app/Services/GeminiService.php"
      },
      {
        "id": "analytics_compute_engine",
        "label": "Analytics compute engine with caching and sampling",
        "nodes": [
          "service_analyticsservice",
          "model_pzemdata",
          "config_energy",
          "concept_linear_regression"
        ],
        "relation": "participate_in",
        "confidence": "INFERRED",
        "confidence_score": 0.85,
        "source_file": "app/Services/AnalyticsService.php"
      }
    ]
  },
  "nodes": [
    {
      "label": "PzemData.php",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L1",
      "id": "app_models_pzemdata_php",
      "community": 1,
      "norm_label": "pzemdata.php"
    },
    {
      "label": "PzemData",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L9",
      "id": "models_pzemdata_pzemdata",
      "community": 1,
      "norm_label": "pzemdata"
    },
    {
      "label": ".boot()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L35",
      "id": "models_pzemdata_pzemdata_boot",
      "community": 1,
      "norm_label": ".boot()"
    },
    {
      "label": ".scopeLatestReading()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L45",
      "id": "models_pzemdata_pzemdata_scopelatestreading",
      "community": 1,
      "norm_label": ".scopelatestreading()"
    },
    {
      "label": ".scopeHistory()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L50",
      "id": "models_pzemdata_pzemdata_scopehistory",
      "community": 1,
      "norm_label": ".scopehistory()"
    },
    {
      "label": ".scopeHourly()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L55",
      "id": "models_pzemdata_pzemdata_scopehourly",
      "community": 1,
      "norm_label": ".scopehourly()"
    },
    {
      "label": ".scopeStats()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L71",
      "id": "models_pzemdata_pzemdata_scopestats",
      "community": 1,
      "norm_label": ".scopestats()"
    },
    {
      "label": ".scopeEnergyTimeline()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L88",
      "id": "models_pzemdata_pzemdata_scopeenergytimeline",
      "community": 1,
      "norm_label": ".scopeenergytimeline()"
    },
    {
      "label": ".scopePowerDistribution()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L93",
      "id": "models_pzemdata_pzemdata_scopepowerdistribution",
      "community": 1,
      "norm_label": ".scopepowerdistribution()"
    },
    {
      "label": ".scopeLoadStates()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L115",
      "id": "models_pzemdata_pzemdata_scopeloadstates",
      "community": 1,
      "norm_label": ".scopeloadstates()"
    },
    {
      "label": ".scopePeakDemand()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L135",
      "id": "models_pzemdata_pzemdata_scopepeakdemand",
      "community": 1,
      "norm_label": ".scopepeakdemand()"
    },
    {
      "label": ".scopeVoltageQuality()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L146",
      "id": "models_pzemdata_pzemdata_scopevoltagequality",
      "community": 1,
      "norm_label": ".scopevoltagequality()"
    },
    {
      "label": ".scopeDateRange()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L162",
      "id": "models_pzemdata_pzemdata_scopedaterange",
      "community": 1,
      "norm_label": ".scopedaterange()"
    },
    {
      "label": ".scopeSampled()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L174",
      "id": "models_pzemdata_pzemdata_scopesampled",
      "community": 1,
      "norm_label": ".scopesampled()"
    },
    {
      "label": ".scopeTimeseries()",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L188",
      "id": "models_pzemdata_pzemdata_scopetimeseries",
      "community": 1,
      "norm_label": ".scopetimeseries()"
    },
    {
      "label": "User.php",
      "file_type": "code",
      "source_file": "app/Models/User.php",
      "source_location": "L1",
      "id": "app_models_user_php",
      "community": 6,
      "norm_label": "user.php"
    },
    {
      "label": "User",
      "file_type": "code",
      "source_file": "app/Models/User.php",
      "source_location": "L13",
      "id": "models_user_user",
      "community": 6,
      "norm_label": "user"
    },
    {
      "label": ".casts()",
      "file_type": "code",
      "source_file": "app/Models/User.php",
      "source_location": "L25",
      "id": "models_user_user_casts",
      "community": 6,
      "norm_label": ".casts()"
    },
    {
      "label": "AppServiceProvider.php",
      "file_type": "code",
      "source_file": "app/Providers/AppServiceProvider.php",
      "source_location": "L1",
      "id": "app_providers_appserviceprovider_php",
      "community": 9,
      "norm_label": "appserviceprovider.php"
    },
    {
      "label": "AppServiceProvider",
      "file_type": "code",
      "source_file": "app/Providers/AppServiceProvider.php",
      "source_location": "L7",
      "id": "providers_appserviceprovider_appserviceprovider",
      "community": 9,
      "norm_label": "appserviceprovider"
    },
    {
      "label": ".register()",
      "file_type": "code",
      "source_file": "app/Providers/AppServiceProvider.php",
      "source_location": "L12",
      "id": "providers_appserviceprovider_appserviceprovider_register",
      "community": 9,
      "norm_label": ".register()"
    },
    {
      "label": ".boot()",
      "file_type": "code",
      "source_file": "app/Providers/AppServiceProvider.php",
      "source_location": "L20",
      "id": "providers_appserviceprovider_appserviceprovider_boot",
      "community": 9,
      "norm_label": ".boot()"
    },
    {
      "label": "AnalyticsService.php",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L1",
      "id": "app_services_analyticsservice_php",
      "community": 2,
      "norm_label": "analyticsservice.php"
    },
    {
      "label": "AnalyticsService",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L9",
      "id": "services_analyticsservice_analyticsservice",
      "community": 2,
      "norm_label": "analyticsservice"
    },
    {
      "label": ".get()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L13",
      "id": "services_analyticsservice_analyticsservice_get",
      "community": 2,
      "norm_label": ".get()"
    },
    {
      "label": ".sample()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L48",
      "id": "services_analyticsservice_analyticsservice_sample",
      "community": 2,
      "norm_label": ".sample()"
    },
    {
      "label": ".module()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L58",
      "id": "services_analyticsservice_analyticsservice_module",
      "community": 2,
      "norm_label": ".module()"
    },
    {
      "label": ".loadStates()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L98",
      "id": "services_analyticsservice_analyticsservice_loadstates",
      "community": 2,
      "norm_label": ".loadstates()"
    },
    {
      "label": ".peakDemand()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L143",
      "id": "services_analyticsservice_analyticsservice_peakdemand",
      "community": 2,
      "norm_label": ".peakdemand()"
    },
    {
      "label": ".voltageQuality()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L178",
      "id": "services_analyticsservice_analyticsservice_voltagequality",
      "community": 2,
      "norm_label": ".voltagequality()"
    },
    {
      "label": ".carbon()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L206",
      "id": "services_analyticsservice_analyticsservice_carbon",
      "community": 2,
      "norm_label": ".carbon()"
    },
    {
      "label": ".standbyWaste()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L225",
      "id": "services_analyticsservice_analyticsservice_standbywaste",
      "community": 2,
      "norm_label": ".standbywaste()"
    },
    {
      "label": ".loadPattern()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L281",
      "id": "services_analyticsservice_analyticsservice_loadpattern",
      "community": 2,
      "norm_label": ".loadpattern()"
    },
    {
      "label": ".pfDegradation()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L322",
      "id": "services_analyticsservice_analyticsservice_pfdegradation",
      "community": 2,
      "norm_label": ".pfdegradation()"
    },
    {
      "label": ".correlation()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L361",
      "id": "services_analyticsservice_analyticsservice_correlation",
      "community": 2,
      "norm_label": ".correlation()"
    },
    {
      "label": ".inrush()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L385",
      "id": "services_analyticsservice_analyticsservice_inrush",
      "community": 2,
      "norm_label": ".inrush()"
    },
    {
      "label": ".equipmentClass()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L431",
      "id": "services_analyticsservice_analyticsservice_equipmentclass",
      "community": 2,
      "norm_label": ".equipmentclass()"
    },
    {
      "label": ".forecast()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L469",
      "id": "services_analyticsservice_analyticsservice_forecast",
      "community": 2,
      "norm_label": ".forecast()"
    },
    {
      "label": ".isolationForest()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L516",
      "id": "services_analyticsservice_analyticsservice_isolationforest",
      "community": 2,
      "norm_label": ".isolationforest()"
    },
    {
      "label": ".rul()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L568",
      "id": "services_analyticsservice_analyticsservice_rul",
      "community": 2,
      "norm_label": ".rul()"
    },
    {
      "label": ".demandResponse()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L605",
      "id": "services_analyticsservice_analyticsservice_demandresponse",
      "community": 2,
      "norm_label": ".demandresponse()"
    },
    {
      "label": ".harmonics()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L651",
      "id": "services_analyticsservice_analyticsservice_harmonics",
      "community": 2,
      "norm_label": ".harmonics()"
    },
    {
      "label": ".stats()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L678",
      "id": "services_analyticsservice_analyticsservice_stats",
      "community": 2,
      "norm_label": ".stats()"
    },
    {
      "label": ".pearson()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L696",
      "id": "services_analyticsservice_analyticsservice_pearson",
      "community": 2,
      "norm_label": ".pearson()"
    },
    {
      "label": ".linearRegression()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L724",
      "id": "services_analyticsservice_analyticsservice_linearregression",
      "community": 2,
      "norm_label": ".linearregression()"
    },
    {
      "label": ".simpleMovingAverage()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L760",
      "id": "services_analyticsservice_analyticsservice_simplemovingaverage",
      "community": 2,
      "norm_label": ".simplemovingaverage()"
    },
    {
      "label": ".stdDev()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L770",
      "id": "services_analyticsservice_analyticsservice_stddev",
      "community": 2,
      "norm_label": ".stddev()"
    },
    {
      "label": ".datasetHours()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L781",
      "id": "services_analyticsservice_analyticsservice_datasethours",
      "community": 2,
      "norm_label": ".datasethours()"
    },
    {
      "label": ".circadianCentroid()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L792",
      "id": "services_analyticsservice_analyticsservice_circadiancentroid",
      "community": 2,
      "norm_label": ".circadiancentroid()"
    },
    {
      "label": ".emptyResult()",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L817",
      "id": "services_analyticsservice_analyticsservice_emptyresult",
      "community": 2,
      "norm_label": ".emptyresult()"
    },
    {
      "label": "DataService.php",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L1",
      "id": "app_services_dataservice_php",
      "community": 1,
      "norm_label": "dataservice.php"
    },
    {
      "label": "DataService",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L10",
      "id": "services_dataservice_dataservice",
      "community": 1,
      "norm_label": "dataservice"
    },
    {
      "label": ".latest()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L12",
      "id": "services_dataservice_dataservice_latest",
      "community": 1,
      "norm_label": ".latest()"
    },
    {
      "label": ".history()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L27",
      "id": "services_dataservice_dataservice_history",
      "community": 1,
      "norm_label": ".history()"
    },
    {
      "label": ".hourly()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L32",
      "id": "services_dataservice_dataservice_hourly",
      "community": 1,
      "norm_label": ".hourly()"
    },
    {
      "label": ".stats()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L37",
      "id": "services_dataservice_dataservice_stats",
      "community": 1,
      "norm_label": ".stats()"
    },
    {
      "label": ".energyTimeline()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L42",
      "id": "services_dataservice_dataservice_energytimeline",
      "community": 1,
      "norm_label": ".energytimeline()"
    },
    {
      "label": ".powerDistribution()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L47",
      "id": "services_dataservice_dataservice_powerdistribution",
      "community": 1,
      "norm_label": ".powerdistribution()"
    },
    {
      "label": ".loadStates()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L52",
      "id": "services_dataservice_dataservice_loadstates",
      "community": 1,
      "norm_label": ".loadstates()"
    },
    {
      "label": ".peakDemand()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L57",
      "id": "services_dataservice_dataservice_peakdemand",
      "community": 1,
      "norm_label": ".peakdemand()"
    },
    {
      "label": ".voltageQuality()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L62",
      "id": "services_dataservice_dataservice_voltagequality",
      "community": 1,
      "norm_label": ".voltagequality()"
    },
    {
      "label": ".timeseries()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L73",
      "id": "services_dataservice_dataservice_timeseries",
      "community": 1,
      "norm_label": ".timeseries()"
    },
    {
      "label": ".todayEnergy()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L107",
      "id": "services_dataservice_dataservice_todayenergy",
      "community": 1,
      "norm_label": ".todayenergy()"
    },
    {
      "label": ".clearCache()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L118",
      "id": "services_dataservice_dataservice_clearcache",
      "community": 1,
      "norm_label": ".clearcache()"
    },
    {
      "label": ".kpi()",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": "L124",
      "id": "services_dataservice_dataservice_kpi",
      "community": 1,
      "norm_label": ".kpi()"
    },
    {
      "label": "GeminiService.php",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L1",
      "id": "app_services_geminiservice_php",
      "community": 3,
      "norm_label": "geminiservice.php"
    },
    {
      "label": "GeminiService",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L8",
      "id": "services_geminiservice_geminiservice",
      "community": 3,
      "norm_label": "geminiservice"
    },
    {
      "label": ".__construct()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L13",
      "id": "services_geminiservice_geminiservice_construct",
      "community": 3,
      "norm_label": ".__construct()"
    },
    {
      "label": ".get()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L23",
      "id": "services_geminiservice_geminiservice_get",
      "community": 3,
      "norm_label": ".get()"
    },
    {
      "label": ".summary()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L36",
      "id": "services_geminiservice_geminiservice_summary",
      "community": 3,
      "norm_label": ".summary()"
    },
    {
      "label": ".recommendations()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L50",
      "id": "services_geminiservice_geminiservice_recommendations",
      "community": 3,
      "norm_label": ".recommendations()"
    },
    {
      "label": ".anomalyExplanation()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L68",
      "id": "services_geminiservice_geminiservice_anomalyexplanation",
      "community": 3,
      "norm_label": ".anomalyexplanation()"
    },
    {
      "label": ".forecast()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L85",
      "id": "services_geminiservice_geminiservice_forecast",
      "community": 3,
      "norm_label": ".forecast()"
    },
    {
      "label": ".diagnosis()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L102",
      "id": "services_geminiservice_geminiservice_diagnosis",
      "community": 3,
      "norm_label": ".diagnosis()"
    },
    {
      "label": ".chat()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L120",
      "id": "services_geminiservice_geminiservice_chat",
      "community": 3,
      "norm_label": ".chat()"
    },
    {
      "label": ".buildContext()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L132",
      "id": "services_geminiservice_geminiservice_buildcontext",
      "community": 3,
      "norm_label": ".buildcontext()"
    },
    {
      "label": ".callApi()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L177",
      "id": "services_geminiservice_geminiservice_callapi",
      "community": 3,
      "norm_label": ".callapi()"
    },
    {
      "label": ".cleanResponse()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L248",
      "id": "services_geminiservice_geminiservice_cleanresponse",
      "community": 3,
      "norm_label": ".cleanresponse()"
    },
    {
      "label": ".getCache()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L255",
      "id": "services_geminiservice_geminiservice_getcache",
      "community": 3,
      "norm_label": ".getcache()"
    },
    {
      "label": ".putCache()",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L276",
      "id": "services_geminiservice_geminiservice_putcache",
      "community": 3,
      "norm_label": ".putcache()"
    },
    {
      "label": "InsightsService.php",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L1",
      "id": "app_services_insightsservice_php",
      "community": 4,
      "norm_label": "insightsservice.php"
    },
    {
      "label": "InsightsService",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L9",
      "id": "services_insightsservice_insightsservice",
      "community": 4,
      "norm_label": "insightsservice"
    },
    {
      "label": ".get()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L13",
      "id": "services_insightsservice_insightsservice_get",
      "community": 4,
      "norm_label": ".get()"
    },
    {
      "label": ".sample()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L44",
      "id": "services_insightsservice_insightsservice_sample",
      "community": 4,
      "norm_label": ".sample()"
    },
    {
      "label": ".anomalies()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L54",
      "id": "services_insightsservice_insightsservice_anomalies",
      "community": 4,
      "norm_label": ".anomalies()"
    },
    {
      "label": ".prediction()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L86",
      "id": "services_insightsservice_insightsservice_prediction",
      "community": 4,
      "norm_label": ".prediction()"
    },
    {
      "label": ".powerQuality()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L128",
      "id": "services_insightsservice_insightsservice_powerquality",
      "community": 4,
      "norm_label": ".powerquality()"
    },
    {
      "label": ".cost()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L146",
      "id": "services_insightsservice_insightsservice_cost",
      "community": 4,
      "norm_label": ".cost()"
    },
    {
      "label": ".touCost()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L159",
      "id": "services_insightsservice_insightsservice_toucost",
      "community": 4,
      "norm_label": ".toucost()"
    },
    {
      "label": ".health()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L226",
      "id": "services_insightsservice_insightsservice_health",
      "community": 4,
      "norm_label": ".health()"
    },
    {
      "label": ".carbon()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L278",
      "id": "services_insightsservice_insightsservice_carbon",
      "community": 4,
      "norm_label": ".carbon()"
    },
    {
      "label": ".standbyWaste()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L294",
      "id": "services_insightsservice_insightsservice_standbywaste",
      "community": 4,
      "norm_label": ".standbywaste()"
    },
    {
      "label": ".peakDemand()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L346",
      "id": "services_insightsservice_insightsservice_peakdemand",
      "community": 4,
      "norm_label": ".peakdemand()"
    },
    {
      "label": ".voltageQuality()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L381",
      "id": "services_insightsservice_insightsservice_voltagequality",
      "community": 4,
      "norm_label": ".voltagequality()"
    },
    {
      "label": ".emptyResult()",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L407",
      "id": "services_insightsservice_insightsservice_emptyresult",
      "community": 4,
      "norm_label": ".emptyresult()"
    },
    {
      "label": "AnalyticsController.php",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L1",
      "id": "app_http_controllers_analyticscontroller_php",
      "community": 7,
      "norm_label": "analyticscontroller.php"
    },
    {
      "label": "AnalyticsController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L9",
      "id": "controllers_analyticscontroller_analyticscontroller",
      "community": 7,
      "norm_label": "analyticscontroller"
    },
    {
      "label": ".__construct()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L11",
      "id": "controllers_analyticscontroller_analyticscontroller_construct",
      "community": 7,
      "norm_label": ".__construct()"
    },
    {
      "label": ".index()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L15",
      "id": "controllers_analyticscontroller_analyticscontroller_index",
      "community": 7,
      "norm_label": ".index()"
    },
    {
      "label": ".specific()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L23",
      "id": "controllers_analyticscontroller_analyticscontroller_specific",
      "community": 7,
      "norm_label": ".specific()"
    },
    {
      "label": "AuthController.php",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L1",
      "id": "app_http_controllers_authcontroller_php",
      "community": 8,
      "norm_label": "authcontroller.php"
    },
    {
      "label": "AuthController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L8",
      "id": "controllers_authcontroller_authcontroller",
      "community": 8,
      "norm_label": "authcontroller"
    },
    {
      "label": ".showLogin()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L10",
      "id": "controllers_authcontroller_authcontroller_showlogin",
      "community": 8,
      "norm_label": ".showlogin()"
    },
    {
      "label": ".login()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L15",
      "id": "controllers_authcontroller_authcontroller_login",
      "community": 8,
      "norm_label": ".login()"
    },
    {
      "label": ".logout()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L33",
      "id": "controllers_authcontroller_authcontroller_logout",
      "community": 8,
      "norm_label": ".logout()"
    },
    {
      "label": "Controller.php",
      "file_type": "code",
      "source_file": "app/Http/Controllers/Controller.php",
      "source_location": "L1",
      "id": "app_http_controllers_controller_php",
      "community": 24,
      "norm_label": "controller.php"
    },
    {
      "label": "Controller",
      "file_type": "code",
      "source_file": "app/Http/Controllers/Controller.php",
      "source_location": "L5",
      "id": "controllers_controller_controller",
      "community": 24,
      "norm_label": "controller"
    },
    {
      "label": "DashboardController.php",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "L1",
      "id": "app_http_controllers_dashboardcontroller_php",
      "community": 10,
      "norm_label": "dashboardcontroller.php"
    },
    {
      "label": "DashboardController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "L8",
      "id": "controllers_dashboardcontroller_dashboardcontroller",
      "community": 10,
      "norm_label": "dashboardcontroller"
    },
    {
      "label": ".__construct()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "L10",
      "id": "controllers_dashboardcontroller_dashboardcontroller_construct",
      "community": 10,
      "norm_label": ".__construct()"
    },
    {
      "label": ".index()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "L14",
      "id": "controllers_dashboardcontroller_dashboardcontroller_index",
      "community": 10,
      "norm_label": ".index()"
    },
    {
      "label": "DataController.php",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L1",
      "id": "app_http_controllers_datacontroller_php",
      "community": 5,
      "norm_label": "datacontroller.php"
    },
    {
      "label": "DataController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L9",
      "id": "controllers_datacontroller_datacontroller",
      "community": 5,
      "norm_label": "datacontroller"
    },
    {
      "label": ".__construct()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L11",
      "id": "controllers_datacontroller_datacontroller_construct",
      "community": 5,
      "norm_label": ".__construct()"
    },
    {
      "label": ".latest()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L15",
      "id": "controllers_datacontroller_datacontroller_latest",
      "community": 5,
      "norm_label": ".latest()"
    },
    {
      "label": ".history()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L20",
      "id": "controllers_datacontroller_datacontroller_history",
      "community": 5,
      "norm_label": ".history()"
    },
    {
      "label": ".hourly()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L29",
      "id": "controllers_datacontroller_datacontroller_hourly",
      "community": 5,
      "norm_label": ".hourly()"
    },
    {
      "label": ".stats()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L37",
      "id": "controllers_datacontroller_datacontroller_stats",
      "community": 5,
      "norm_label": ".stats()"
    },
    {
      "label": ".kpi()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L64",
      "id": "controllers_datacontroller_datacontroller_kpi",
      "community": 5,
      "norm_label": ".kpi()"
    },
    {
      "label": ".energyTimeline()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L69",
      "id": "controllers_datacontroller_datacontroller_energytimeline",
      "community": 5,
      "norm_label": ".energytimeline()"
    },
    {
      "label": ".powerDistribution()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L74",
      "id": "controllers_datacontroller_datacontroller_powerdistribution",
      "community": 5,
      "norm_label": ".powerdistribution()"
    },
    {
      "label": ".loadStates()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L82",
      "id": "controllers_datacontroller_datacontroller_loadstates",
      "community": 5,
      "norm_label": ".loadstates()"
    },
    {
      "label": ".peakDemand()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L87",
      "id": "controllers_datacontroller_datacontroller_peakdemand",
      "community": 5,
      "norm_label": ".peakdemand()"
    },
    {
      "label": ".voltageQuality()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L92",
      "id": "controllers_datacontroller_datacontroller_voltagequality",
      "community": 5,
      "norm_label": ".voltagequality()"
    },
    {
      "label": ".timeseries()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L97",
      "id": "controllers_datacontroller_datacontroller_timeseries",
      "community": 5,
      "norm_label": ".timeseries()"
    },
    {
      "label": "GeminiController.php",
      "file_type": "code",
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "L1",
      "id": "app_http_controllers_geminicontroller_php",
      "community": 11,
      "norm_label": "geminicontroller.php"
    },
    {
      "label": "GeminiController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "L9",
      "id": "controllers_geminicontroller_geminicontroller",
      "community": 11,
      "norm_label": "geminicontroller"
    },
    {
      "label": ".__construct()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "L11",
      "id": "controllers_geminicontroller_geminicontroller_construct",
      "community": 11,
      "norm_label": ".__construct()"
    },
    {
      "label": ".index()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "L15",
      "id": "controllers_geminicontroller_geminicontroller_index",
      "community": 11,
      "norm_label": ".index()"
    },
    {
      "label": "InsightsController.php",
      "file_type": "code",
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "L1",
      "id": "app_http_controllers_insightscontroller_php",
      "community": 12,
      "norm_label": "insightscontroller.php"
    },
    {
      "label": "InsightsController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "L9",
      "id": "controllers_insightscontroller_insightscontroller",
      "community": 12,
      "norm_label": "insightscontroller"
    },
    {
      "label": ".__construct()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "L11",
      "id": "controllers_insightscontroller_insightscontroller_construct",
      "community": 12,
      "norm_label": ".__construct()"
    },
    {
      "label": ".index()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "L15",
      "id": "controllers_insightscontroller_insightscontroller_index",
      "community": 12,
      "norm_label": ".index()"
    },
    {
      "label": "SettingsController.php",
      "file_type": "code",
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "L1",
      "id": "app_http_controllers_settingscontroller_php",
      "community": 13,
      "norm_label": "settingscontroller.php"
    },
    {
      "label": "SettingsController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "L10",
      "id": "controllers_settingscontroller_settingscontroller",
      "community": 13,
      "norm_label": "settingscontroller"
    },
    {
      "label": ".index()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "L30",
      "id": "controllers_settingscontroller_settingscontroller_index",
      "community": 13,
      "norm_label": ".index()"
    },
    {
      "label": ".update()",
      "file_type": "code",
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "L45",
      "id": "controllers_settingscontroller_settingscontroller_update",
      "community": 13,
      "norm_label": ".update()"
    },
    {
      "label": "EnsureUserIsAuthenticated.php",
      "file_type": "code",
      "source_file": "app/Http/Middleware/EnsureUserIsAuthenticated.php",
      "source_location": "L1",
      "id": "app_http_middleware_ensureuserisauthenticated_php",
      "community": 15,
      "norm_label": "ensureuserisauthenticated.php"
    },
    {
      "label": "EnsureUserIsAuthenticated",
      "file_type": "code",
      "source_file": "app/Http/Middleware/EnsureUserIsAuthenticated.php",
      "source_location": "L10",
      "id": "middleware_ensureuserisauthenticated_ensureuserisauthenticated",
      "community": 15,
      "norm_label": "ensureuserisauthenticated"
    },
    {
      "label": ".handle()",
      "file_type": "code",
      "source_file": "app/Http/Middleware/EnsureUserIsAuthenticated.php",
      "source_location": "L12",
      "id": "middleware_ensureuserisauthenticated_ensureuserisauthenticated_handle",
      "community": 15,
      "norm_label": ".handle()"
    },
    {
      "label": "app.php",
      "file_type": "code",
      "source_file": "config/app.php",
      "source_location": "L1",
      "id": "config_app_php",
      "community": 27,
      "norm_label": "app.php"
    },
    {
      "label": "auth.php",
      "file_type": "code",
      "source_file": "config/auth.php",
      "source_location": "L1",
      "id": "config_auth_php",
      "community": 28,
      "norm_label": "auth.php"
    },
    {
      "label": "cache.php",
      "file_type": "code",
      "source_file": "config/cache.php",
      "source_location": "L1",
      "id": "config_cache_php",
      "community": 29,
      "norm_label": "cache.php"
    },
    {
      "label": "database.php",
      "file_type": "code",
      "source_file": "config/database.php",
      "source_location": "L1",
      "id": "config_database_php",
      "community": 30,
      "norm_label": "database.php"
    },
    {
      "label": "energy.php",
      "file_type": "code",
      "source_file": "config/energy.php",
      "source_location": "L1",
      "id": "config_energy_php",
      "community": 31,
      "norm_label": "energy.php"
    },
    {
      "label": "filesystems.php",
      "file_type": "code",
      "source_file": "config/filesystems.php",
      "source_location": "L1",
      "id": "config_filesystems_php",
      "community": 32,
      "norm_label": "filesystems.php"
    },
    {
      "label": "logging.php",
      "file_type": "code",
      "source_file": "config/logging.php",
      "source_location": "L1",
      "id": "config_logging_php",
      "community": 33,
      "norm_label": "logging.php"
    },
    {
      "label": "mail.php",
      "file_type": "code",
      "source_file": "config/mail.php",
      "source_location": "L1",
      "id": "config_mail_php",
      "community": 34,
      "norm_label": "mail.php"
    },
    {
      "label": "queue.php",
      "file_type": "code",
      "source_file": "config/queue.php",
      "source_location": "L1",
      "id": "config_queue_php",
      "community": 35,
      "norm_label": "queue.php"
    },
    {
      "label": "services.php",
      "file_type": "code",
      "source_file": "config/services.php",
      "source_location": "L1",
      "id": "config_services_php",
      "community": 36,
      "norm_label": "services.php"
    },
    {
      "label": "session.php",
      "file_type": "code",
      "source_file": "config/session.php",
      "source_location": "L1",
      "id": "config_session_php",
      "community": 37,
      "norm_label": "session.php"
    },
    {
      "label": "api.php",
      "file_type": "code",
      "source_file": "routes/api.php",
      "source_location": "L1",
      "id": "routes_api_php",
      "community": 38,
      "norm_label": "api.php"
    },
    {
      "label": "console.php",
      "file_type": "code",
      "source_file": "routes/console.php",
      "source_location": "L1",
      "id": "routes_console_php",
      "community": 39,
      "norm_label": "console.php"
    },
    {
      "label": "web.php",
      "file_type": "code",
      "source_file": "routes/web.php",
      "source_location": "L1",
      "id": "routes_web_php",
      "community": 40,
      "norm_label": "web.php"
    },
    {
      "label": "UserFactory.php",
      "file_type": "code",
      "source_file": "database/factories/UserFactory.php",
      "source_location": "L1",
      "id": "database_factories_userfactory_php",
      "community": 14,
      "norm_label": "userfactory.php"
    },
    {
      "label": "UserFactory",
      "file_type": "code",
      "source_file": "database/factories/UserFactory.php",
      "source_location": "L13",
      "id": "factories_userfactory_userfactory",
      "community": 14,
      "norm_label": "userfactory"
    },
    {
      "label": ".definition()",
      "file_type": "code",
      "source_file": "database/factories/UserFactory.php",
      "source_location": "L25",
      "id": "factories_userfactory_userfactory_definition",
      "community": 14,
      "norm_label": ".definition()"
    },
    {
      "label": ".unverified()",
      "file_type": "code",
      "source_file": "database/factories/UserFactory.php",
      "source_location": "L39",
      "id": "factories_userfactory_userfactory_unverified",
      "community": 14,
      "norm_label": ".unverified()"
    },
    {
      "label": "0001_01_01_000000_create_users_table.php",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000000_create_users_table.php",
      "source_location": "L1",
      "id": "database_migrations_0001_01_01_000000_create_users_table_php",
      "community": 16,
      "norm_label": "0001_01_01_000000_create_users_table.php"
    },
    {
      "label": "up()",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000000_create_users_table.php",
      "source_location": "L12",
      "id": "migrations_0001_01_01_000000_create_users_table_up",
      "community": 16,
      "norm_label": "up()"
    },
    {
      "label": "down()",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000000_create_users_table.php",
      "source_location": "L43",
      "id": "migrations_0001_01_01_000000_create_users_table_down",
      "community": 16,
      "norm_label": "down()"
    },
    {
      "label": "0001_01_01_000001_create_cache_table.php",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000001_create_cache_table.php",
      "source_location": "L1",
      "id": "database_migrations_0001_01_01_000001_create_cache_table_php",
      "community": 17,
      "norm_label": "0001_01_01_000001_create_cache_table.php"
    },
    {
      "label": "up()",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000001_create_cache_table.php",
      "source_location": "L12",
      "id": "migrations_0001_01_01_000001_create_cache_table_up",
      "community": 17,
      "norm_label": "up()"
    },
    {
      "label": "down()",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000001_create_cache_table.php",
      "source_location": "L30",
      "id": "migrations_0001_01_01_000001_create_cache_table_down",
      "community": 17,
      "norm_label": "down()"
    },
    {
      "label": "0001_01_01_000002_create_jobs_table.php",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000002_create_jobs_table.php",
      "source_location": "L1",
      "id": "database_migrations_0001_01_01_000002_create_jobs_table_php",
      "community": 18,
      "norm_label": "0001_01_01_000002_create_jobs_table.php"
    },
    {
      "label": "up()",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000002_create_jobs_table.php",
      "source_location": "L12",
      "id": "migrations_0001_01_01_000002_create_jobs_table_up",
      "community": 18,
      "norm_label": "up()"
    },
    {
      "label": "down()",
      "file_type": "code",
      "source_file": "database/migrations/0001_01_01_000002_create_jobs_table.php",
      "source_location": "L53",
      "id": "migrations_0001_01_01_000002_create_jobs_table_down",
      "community": 18,
      "norm_label": "down()"
    },
    {
      "label": "2026_07_11_112535_create_pzem_data_table.php",
      "file_type": "code",
      "source_file": "database/migrations/2026_07_11_112535_create_pzem_data_table.php",
      "source_location": "L1",
      "id": "database_migrations_2026_07_11_112535_create_pzem_data_table_php",
      "community": 19,
      "norm_label": "2026_07_11_112535_create_pzem_data_table.php"
    },
    {
      "label": "up()",
      "file_type": "code",
      "source_file": "database/migrations/2026_07_11_112535_create_pzem_data_table.php",
      "source_location": "L12",
      "id": "migrations_2026_07_11_112535_create_pzem_data_table_up",
      "community": 19,
      "norm_label": "up()"
    },
    {
      "label": "down()",
      "file_type": "code",
      "source_file": "database/migrations/2026_07_11_112535_create_pzem_data_table.php",
      "source_location": "L29",
      "id": "migrations_2026_07_11_112535_create_pzem_data_table_down",
      "community": 19,
      "norm_label": "down()"
    },
    {
      "label": "2026_07_13_144228_add_reading_time_index_to_pzem_data_table.php",
      "file_type": "code",
      "source_file": "database/migrations/2026_07_13_144228_add_reading_time_index_to_pzem_data_table.php",
      "source_location": "L1",
      "id": "database_migrations_2026_07_13_144228_add_reading_time_index_to_pzem_data_table_php",
      "community": 20,
      "norm_label": "2026_07_13_144228_add_reading_time_index_to_pzem_data_table.php"
    },
    {
      "label": "up()",
      "file_type": "code",
      "source_file": "database/migrations/2026_07_13_144228_add_reading_time_index_to_pzem_data_table.php",
      "source_location": "L12",
      "id": "migrations_2026_07_13_144228_add_reading_time_index_to_pzem_data_table_up",
      "community": 20,
      "norm_label": "up()"
    },
    {
      "label": "down()",
      "file_type": "code",
      "source_file": "database/migrations/2026_07_13_144228_add_reading_time_index_to_pzem_data_table.php",
      "source_location": "L22",
      "id": "migrations_2026_07_13_144228_add_reading_time_index_to_pzem_data_table_down",
      "community": 20,
      "norm_label": "down()"
    },
    {
      "label": "DatabaseSeeder.php",
      "file_type": "code",
      "source_file": "database/seeders/DatabaseSeeder.php",
      "source_location": "L1",
      "id": "database_seeders_databaseseeder_php",
      "community": 6,
      "norm_label": "databaseseeder.php"
    },
    {
      "label": "DatabaseSeeder",
      "file_type": "code",
      "source_file": "database/seeders/DatabaseSeeder.php",
      "source_location": "L9",
      "id": "seeders_databaseseeder_databaseseeder",
      "community": 6,
      "norm_label": "databaseseeder"
    },
    {
      "label": ".run()",
      "file_type": "code",
      "source_file": "database/seeders/DatabaseSeeder.php",
      "source_location": "L16",
      "id": "seeders_databaseseeder_databaseseeder_run",
      "community": 6,
      "norm_label": ".run()"
    },
    {
      "label": "app.js",
      "file_type": "code",
      "source_file": "resources/js/app.js",
      "source_location": "L1",
      "id": "resources_js_app_js",
      "community": 41,
      "norm_label": "app.js"
    },
    {
      "label": "dashboard.blade.php",
      "file_type": "code",
      "source_file": "resources/views/dashboard.blade.php",
      "source_location": null,
      "id": "resources_views_dashboard_blade_php",
      "community": 42,
      "norm_label": "dashboard.blade.php"
    },
    {
      "label": "welcome.blade.php",
      "file_type": "code",
      "source_file": "resources/views/welcome.blade.php",
      "source_location": null,
      "id": "resources_views_welcome_blade_php",
      "community": 43,
      "norm_label": "welcome.blade.php"
    },
    {
      "label": "login.blade.php",
      "file_type": "code",
      "source_file": "resources/views/auth/login.blade.php",
      "source_location": null,
      "id": "resources_views_auth_login_blade_php",
      "community": 44,
      "norm_label": "login.blade.php"
    },
    {
      "label": "app.blade.php",
      "file_type": "code",
      "source_file": "resources/views/layouts/app.blade.php",
      "source_location": null,
      "id": "resources_views_layouts_app_blade_php",
      "community": 45,
      "norm_label": "app.blade.php"
    },
    {
      "label": "TestCase.php",
      "file_type": "code",
      "source_file": "tests/TestCase.php",
      "source_location": "L1",
      "id": "tests_testcase_php",
      "community": 25,
      "norm_label": "testcase.php"
    },
    {
      "label": "TestCase",
      "file_type": "code",
      "source_file": "tests/TestCase.php",
      "source_location": "L7",
      "id": "tests_testcase_testcase",
      "community": 25,
      "norm_label": "testcase"
    },
    {
      "label": "ExampleTest.php",
      "file_type": "code",
      "source_file": "tests/Feature/ExampleTest.php",
      "source_location": "L1",
      "id": "tests_feature_exampletest_php",
      "community": 21,
      "norm_label": "exampletest.php"
    },
    {
      "label": "ExampleTest",
      "file_type": "code",
      "source_file": "tests/Feature/ExampleTest.php",
      "source_location": "L8",
      "id": "feature_exampletest_exampletest",
      "community": 21,
      "norm_label": "exampletest"
    },
    {
      "label": ".test_the_application_returns_a_successful_response()",
      "file_type": "code",
      "source_file": "tests/Feature/ExampleTest.php",
      "source_location": "L13",
      "id": "feature_exampletest_exampletest_test_the_application_returns_a_successful_response",
      "community": 21,
      "norm_label": ".test_the_application_returns_a_successful_response()"
    },
    {
      "label": "ExampleTest.php",
      "file_type": "code",
      "source_file": "tests/Unit/ExampleTest.php",
      "source_location": "L1",
      "id": "tests_unit_exampletest_php",
      "community": 22,
      "norm_label": "exampletest.php"
    },
    {
      "label": "ExampleTest",
      "file_type": "code",
      "source_file": "tests/Unit/ExampleTest.php",
      "source_location": "L7",
      "id": "unit_exampletest_exampletest",
      "community": 22,
      "norm_label": "exampletest"
    },
    {
      "label": ".test_that_true_is_true()",
      "file_type": "code",
      "source_file": "tests/Unit/ExampleTest.php",
      "source_location": "L12",
      "id": "unit_exampletest_exampletest_test_that_true_is_true",
      "community": 22,
      "norm_label": ".test_that_true_is_true()"
    },
    {
      "label": "PzemData",
      "file_type": "code",
      "source_file": "app/Models/PzemData.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "model_pzemdata",
      "community": 0,
      "norm_label": "pzemdata"
    },
    {
      "label": "User",
      "file_type": "code",
      "source_file": "app/Models/User.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "model_user",
      "community": 26,
      "norm_label": "user"
    },
    {
      "label": "DataService",
      "file_type": "code",
      "source_file": "app/Services/DataService.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "service_dataservice",
      "community": 0,
      "norm_label": "dataservice"
    },
    {
      "label": "AnalyticsService",
      "file_type": "code",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "service_analyticsservice",
      "community": 0,
      "norm_label": "analyticsservice"
    },
    {
      "label": "InsightsService",
      "file_type": "code",
      "source_file": "app/Services/InsightsService.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "service_insightsservice",
      "community": 0,
      "norm_label": "insightsservice"
    },
    {
      "label": "GeminiService",
      "file_type": "code",
      "source_file": "app/Services/GeminiService.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "service_geminiservice",
      "community": 0,
      "norm_label": "geminiservice"
    },
    {
      "label": "DashboardController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "controller_dashboardcontroller",
      "community": 0,
      "norm_label": "dashboardcontroller"
    },
    {
      "label": "DataController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "controller_datacontroller",
      "community": 0,
      "norm_label": "datacontroller"
    },
    {
      "label": "AnalyticsController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "controller_analyticscontroller",
      "community": 0,
      "norm_label": "analyticscontroller"
    },
    {
      "label": "InsightsController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "controller_insightscontroller",
      "community": 0,
      "norm_label": "insightscontroller"
    },
    {
      "label": "GeminiController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "controller_geminicontroller",
      "community": 0,
      "norm_label": "geminicontroller"
    },
    {
      "label": "AuthController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "controller_authcontroller",
      "community": 0,
      "norm_label": "authcontroller"
    },
    {
      "label": "SettingsController",
      "file_type": "code",
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "controller_settingscontroller",
      "community": 0,
      "norm_label": "settingscontroller"
    },
    {
      "label": "Controller",
      "file_type": "code",
      "source_file": "app/Http/Controllers/Controller.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "controller_controller",
      "community": 0,
      "norm_label": "controller"
    },
    {
      "label": "EnsureUserIsAuthenticated",
      "file_type": "code",
      "source_file": "app/Http/Middleware/EnsureUserIsAuthenticated.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "middleware_ensureuserisauthenticated",
      "community": 0,
      "norm_label": "ensureuserisauthenticated"
    },
    {
      "label": "energy config",
      "file_type": "code",
      "source_file": "config/energy.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "config_energy",
      "community": 0,
      "norm_label": "energy config"
    },
    {
      "label": "auth config",
      "file_type": "code",
      "source_file": "config/auth.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "config_auth",
      "community": 26,
      "norm_label": "auth config"
    },
    {
      "label": "database config",
      "file_type": "code",
      "source_file": "config/database.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "config_database",
      "community": 23,
      "norm_label": "database config"
    },
    {
      "label": "session config",
      "file_type": "code",
      "source_file": "config/session.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "config_session",
      "community": 23,
      "norm_label": "session config"
    },
    {
      "label": "app config",
      "file_type": "code",
      "source_file": "config/app.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "config_app",
      "community": 23,
      "norm_label": "app config"
    },
    {
      "label": "create_pzem_data_table migration",
      "file_type": "code",
      "source_file": "database/migrations/2026_07_11_112535_create_pzem_data_table.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "migration_create_pzem_data",
      "community": 0,
      "norm_label": "create_pzem_data_table migration"
    },
    {
      "label": "dashboard view",
      "file_type": "code",
      "source_file": "resources/views/dashboard.blade.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "view_dashboard",
      "community": 0,
      "norm_label": "dashboard view"
    },
    {
      "label": "login view",
      "file_type": "code",
      "source_file": "resources/views/auth/login.blade.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "view_auth_login",
      "community": 0,
      "norm_label": "login view"
    },
    {
      "label": "app layout view",
      "file_type": "code",
      "source_file": "resources/views/layouts/app.blade.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "view_layouts_app",
      "community": 0,
      "norm_label": "app layout view"
    },
    {
      "label": "welcome view",
      "file_type": "code",
      "source_file": "resources/views/welcome.blade.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "view_welcome",
      "community": 46,
      "norm_label": "welcome view"
    },
    {
      "label": "app.js (Alpine + Chart.js)",
      "file_type": "code",
      "source_file": "resources/js/app.js",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "js_app",
      "community": 0,
      "norm_label": "app.js (alpine + chart.js)"
    },
    {
      "label": "app.css (Tailwind + FontAwesome)",
      "file_type": "code",
      "source_file": "resources/css/app.css",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "css_app",
      "community": 0,
      "norm_label": "app.css (tailwind + fontawesome)"
    },
    {
      "label": "web routes",
      "file_type": "code",
      "source_file": "routes/web.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "routes_web",
      "community": 0,
      "norm_label": "web routes"
    },
    {
      "label": "AppServiceProvider",
      "file_type": "code",
      "source_file": "app/Providers/AppServiceProvider.php",
      "source_location": null,
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "providers_appserviceprovider",
      "community": 47,
      "norm_label": "appserviceprovider"
    },
    {
      "label": "scopeLatestReading",
      "file_type": "rationale",
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:45",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_scope_latest_reading",
      "community": 0,
      "norm_label": "scopelatestreading"
    },
    {
      "label": "scopeHourly",
      "file_type": "rationale",
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:55",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_scope_hourly",
      "community": 0,
      "norm_label": "scopehourly"
    },
    {
      "label": "scopeStats",
      "file_type": "rationale",
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:71",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_scope_stats",
      "community": 0,
      "norm_label": "scopestats"
    },
    {
      "label": "scopeTimeseries",
      "file_type": "rationale",
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:188",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_scope_timeseries",
      "community": 0,
      "norm_label": "scopetimeseries"
    },
    {
      "label": "cache invalidation on PzemData creation",
      "file_type": "rationale",
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:39",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_cache_invalidation",
      "community": 0,
      "norm_label": "cache invalidation on pzemdata creation"
    },
    {
      "label": "load state classification",
      "file_type": "rationale",
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:115",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_load_state_classification",
      "community": 0,
      "norm_label": "load state classification"
    },
    {
      "label": "health score calculation",
      "file_type": "rationale",
      "source_file": "app/Services/DataService.php",
      "source_location": "app/Services/DataService.php:124",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_health_score",
      "community": 0,
      "norm_label": "health score calculation"
    },
    {
      "label": "time-of-use cost calculation",
      "file_type": "rationale",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "app/Services/InsightsService.php:159",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_tou_cost",
      "community": 0,
      "norm_label": "time-of-use cost calculation"
    },
    {
      "label": "z-score anomaly detection",
      "file_type": "rationale",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "app/Services/InsightsService.php:54",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_zscore_anomaly",
      "community": 0,
      "norm_label": "z-score anomaly detection"
    },
    {
      "label": "Gemini API context building",
      "file_type": "rationale",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "app/Services/GeminiService.php:132",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_gemini_context",
      "community": 0,
      "norm_label": "gemini api context building"
    },
    {
      "label": "linear regression for trend analysis",
      "file_type": "rationale",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:724",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_linear_regression",
      "community": 0,
      "norm_label": "linear regression for trend analysis"
    },
    {
      "label": "multi-dimensional z-score anomaly detection",
      "file_type": "rationale",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:516",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_isolation_forest",
      "community": 0,
      "norm_label": "multi-dimensional z-score anomaly detection"
    },
    {
      "label": "circadian centroid for load pattern analysis",
      "file_type": "rationale",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:792",
      "source_url": null,
      "captured_at": null,
      "author": null,
      "contributor": null,
      "id": "concept_circadian_centroid",
      "community": 0,
      "norm_label": "circadian centroid for load pattern analysis"
    }
  ],
  "links": [
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L9",
      "weight": 1.0,
      "source": "app_models_pzemdata_php",
      "target": "models_pzemdata_pzemdata",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L35",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_boot",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L45",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopelatestreading",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L50",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopehistory",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L55",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopehourly",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L71",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopestats",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L88",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopeenergytimeline",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L93",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopepowerdistribution",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L115",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopeloadstates",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L135",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopepeakdemand",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L146",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopevoltagequality",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L162",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopedaterange",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L174",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopesampled",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/PzemData.php",
      "source_location": "L188",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata",
      "target": "models_pzemdata_pzemdata_scopetimeseries",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L19",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L60",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_module",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L14",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_latest",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L29",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_history",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L34",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_hourly",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L39",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_stats",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L44",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_energytimeline",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L49",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_powerdistribution",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L54",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_loadstates",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L59",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_peakdemand",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/DataService.php",
      "source_location": "L64",
      "weight": 1.0,
      "source": "services_dataservice_dataservice_voltagequality",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L19",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "models_pzemdata_pzemdata"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "app/Models/PzemData.php",
      "source_location": "L40",
      "weight": 1.0,
      "source": "models_pzemdata_pzemdata_boot",
      "target": "services_dataservice_dataservice"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/User.php",
      "source_location": "L13",
      "weight": 1.0,
      "source": "app_models_user_php",
      "target": "models_user_user",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Models/User.php",
      "source_location": "L25",
      "weight": 1.0,
      "source": "models_user_user",
      "target": "models_user_user_casts",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "database/seeders/DatabaseSeeder.php",
      "source_location": "L20",
      "weight": 1.0,
      "source": "seeders_databaseseeder_databaseseeder_run",
      "target": "models_user_user"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Providers/AppServiceProvider.php",
      "source_location": "L7",
      "weight": 1.0,
      "source": "app_providers_appserviceprovider_php",
      "target": "providers_appserviceprovider_appserviceprovider",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Providers/AppServiceProvider.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "providers_appserviceprovider_appserviceprovider",
      "target": "providers_appserviceprovider_appserviceprovider_register",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Providers/AppServiceProvider.php",
      "source_location": "L20",
      "weight": 1.0,
      "source": "providers_appserviceprovider_appserviceprovider",
      "target": "providers_appserviceprovider_appserviceprovider_boot",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L9",
      "weight": 1.0,
      "source": "app_services_analyticsservice_php",
      "target": "services_analyticsservice_analyticsservice",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L13",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_get",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L48",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_sample",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L58",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_module",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L98",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_loadstates",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L143",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_peakdemand",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L178",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_voltagequality",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L206",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_carbon",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L225",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_standbywaste",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L281",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_loadpattern",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L322",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_pfdegradation",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L361",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_correlation",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L385",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_inrush",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L431",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_equipmentclass",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L469",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_forecast",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L516",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_isolationforest",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L568",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_rul",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L605",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_demandresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L651",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_harmonics",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L678",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_stats",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L696",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_pearson",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L724",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_linearregression",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L760",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_simplemovingaverage",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L770",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_stddev",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L781",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_datasethours",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L792",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_circadiancentroid",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L817",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice",
      "target": "services_analyticsservice_analyticsservice_emptyresult",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L23",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_emptyresult",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L26",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_sample",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L29",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_loadstates",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L30",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_peakdemand",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L31",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_voltagequality",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L32",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_carbon",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L33",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_standbywaste",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L34",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_loadpattern",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L35",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_pfdegradation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L36",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_correlation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L37",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_inrush",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L38",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_equipmentclass",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L39",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_forecast",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L40",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_isolationforest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L41",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_rul",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L42",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_demandresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L43",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_get",
      "target": "services_analyticsservice_analyticsservice_harmonics",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L60",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_module",
      "target": "services_analyticsservice_analyticsservice_get",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L65",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_module",
      "target": "services_analyticsservice_analyticsservice_sample",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L62",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_module",
      "target": "services_analyticsservice_analyticsservice_emptyresult",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L118",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_loadstates",
      "target": "services_analyticsservice_analyticsservice_datasethours",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L200",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_voltagequality",
      "target": "services_analyticsservice_analyticsservice_stddev",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L262",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_standbywaste",
      "target": "services_analyticsservice_analyticsservice_datasethours",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L316",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_loadpattern",
      "target": "services_analyticsservice_analyticsservice_circadiancentroid",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L331",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_pfdegradation",
      "target": "services_analyticsservice_analyticsservice_linearregression",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L335",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_pfdegradation",
      "target": "services_analyticsservice_analyticsservice_datasethours",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L373",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_correlation",
      "target": "services_analyticsservice_analyticsservice_pearson",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L479",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_forecast",
      "target": "services_analyticsservice_analyticsservice_simplemovingaverage",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L481",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_forecast",
      "target": "services_analyticsservice_analyticsservice_linearregression",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L490",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_forecast",
      "target": "services_analyticsservice_analyticsservice_stddev",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L523",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_isolationforest",
      "target": "services_analyticsservice_analyticsservice_stddev",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L577",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_rul",
      "target": "services_analyticsservice_analyticsservice_linearregression",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L580",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_rul",
      "target": "services_analyticsservice_analyticsservice_datasethours",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L610",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_demandresponse",
      "target": "services_analyticsservice_analyticsservice_stddev",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "L692",
      "weight": 1.0,
      "source": "services_analyticsservice_analyticsservice_stats",
      "target": "services_analyticsservice_analyticsservice_stddev",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L10",
      "weight": 1.0,
      "source": "app_services_dataservice_php",
      "target": "services_dataservice_dataservice",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_latest",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L27",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_history",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L32",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_hourly",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L37",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_stats",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L42",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_energytimeline",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L47",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_powerdistribution",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L52",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_loadstates",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L57",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_peakdemand",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L62",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_voltagequality",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L73",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_timeseries",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L107",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_todayenergy",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L118",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_clearcache",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/DataService.php",
      "source_location": "L124",
      "weight": 1.0,
      "source": "services_dataservice_dataservice",
      "target": "services_dataservice_dataservice_kpi",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L8",
      "weight": 1.0,
      "source": "app_services_geminiservice_php",
      "target": "services_geminiservice_geminiservice",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L13",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_construct",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L23",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_get",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L36",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_summary",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L50",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_recommendations",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L68",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_anomalyexplanation",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L85",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_forecast",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L102",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_diagnosis",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L120",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_chat",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L132",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_buildcontext",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L177",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_callapi",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L248",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_cleanresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L255",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_getcache",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L276",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice",
      "target": "services_geminiservice_geminiservice_putcache",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L26",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_get",
      "target": "services_geminiservice_geminiservice_summary",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L53",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_recommendations",
      "target": "services_geminiservice_geminiservice_get",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L28",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_get",
      "target": "services_geminiservice_geminiservice_anomalyexplanation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L29",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_get",
      "target": "services_geminiservice_geminiservice_forecast",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L30",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_get",
      "target": "services_geminiservice_geminiservice_diagnosis",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L31",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_get",
      "target": "services_geminiservice_geminiservice_chat",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L38",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_summary",
      "target": "services_geminiservice_geminiservice_buildcontext",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L47",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_summary",
      "target": "services_geminiservice_geminiservice_callapi",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L52",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_recommendations",
      "target": "services_geminiservice_geminiservice_buildcontext",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L65",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_recommendations",
      "target": "services_geminiservice_geminiservice_callapi",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L70",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_anomalyexplanation",
      "target": "services_geminiservice_geminiservice_buildcontext",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L82",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_anomalyexplanation",
      "target": "services_geminiservice_geminiservice_callapi",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L87",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_forecast",
      "target": "services_geminiservice_geminiservice_buildcontext",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L99",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_forecast",
      "target": "services_geminiservice_geminiservice_callapi",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L104",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_diagnosis",
      "target": "services_geminiservice_geminiservice_buildcontext",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L117",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_diagnosis",
      "target": "services_geminiservice_geminiservice_callapi",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L122",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_chat",
      "target": "services_geminiservice_geminiservice_buildcontext",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L129",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_chat",
      "target": "services_geminiservice_geminiservice_callapi",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L180",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_callapi",
      "target": "services_geminiservice_geminiservice_getcache",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L229",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_callapi",
      "target": "services_geminiservice_geminiservice_cleanresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/GeminiService.php",
      "source_location": "L231",
      "weight": 1.0,
      "source": "services_geminiservice_geminiservice_callapi",
      "target": "services_geminiservice_geminiservice_putcache",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L9",
      "weight": 1.0,
      "source": "app_services_insightsservice_php",
      "target": "services_insightsservice_insightsservice",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L13",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_get",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L44",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_sample",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L54",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_anomalies",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L86",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_prediction",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L128",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_powerquality",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L146",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_cost",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L159",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_toucost",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L226",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_health",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L278",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_carbon",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L294",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_standbywaste",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L346",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_peakdemand",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L381",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_voltagequality",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L407",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice",
      "target": "services_insightsservice_insightsservice_emptyresult",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L23",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_emptyresult",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L26",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_sample",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L27",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_anomalies",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L31",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_prediction",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L32",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_powerquality",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L33",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_cost",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L34",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_toucost",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L35",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_health",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L36",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_carbon",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L37",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_standbywaste",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L38",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_peakdemand",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L39",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_get",
      "target": "services_insightsservice_insightsservice_voltagequality",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "app/Services/InsightsService.php",
      "source_location": "L162",
      "weight": 1.0,
      "source": "services_insightsservice_insightsservice_toucost",
      "target": "services_insightsservice_insightsservice_cost",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L9",
      "weight": 1.0,
      "source": "app_http_controllers_analyticscontroller_php",
      "target": "controllers_analyticscontroller_analyticscontroller",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L11",
      "weight": 1.0,
      "source": "controllers_analyticscontroller_analyticscontroller",
      "target": "controllers_analyticscontroller_analyticscontroller_construct",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L15",
      "weight": 1.0,
      "source": "controllers_analyticscontroller_analyticscontroller",
      "target": "controllers_analyticscontroller_analyticscontroller_index",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "L23",
      "weight": 1.0,
      "source": "controllers_analyticscontroller_analyticscontroller",
      "target": "controllers_analyticscontroller_analyticscontroller_specific",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L8",
      "weight": 1.0,
      "source": "app_http_controllers_authcontroller_php",
      "target": "controllers_authcontroller_authcontroller",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L10",
      "weight": 1.0,
      "source": "controllers_authcontroller_authcontroller",
      "target": "controllers_authcontroller_authcontroller_showlogin",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L15",
      "weight": 1.0,
      "source": "controllers_authcontroller_authcontroller",
      "target": "controllers_authcontroller_authcontroller_login",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "L33",
      "weight": 1.0,
      "source": "controllers_authcontroller_authcontroller",
      "target": "controllers_authcontroller_authcontroller_logout",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/Controller.php",
      "source_location": "L5",
      "weight": 1.0,
      "source": "app_http_controllers_controller_php",
      "target": "controllers_controller_controller",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "L8",
      "weight": 1.0,
      "source": "app_http_controllers_dashboardcontroller_php",
      "target": "controllers_dashboardcontroller_dashboardcontroller",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "L10",
      "weight": 1.0,
      "source": "controllers_dashboardcontroller_dashboardcontroller",
      "target": "controllers_dashboardcontroller_dashboardcontroller_construct",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "L14",
      "weight": 1.0,
      "source": "controllers_dashboardcontroller_dashboardcontroller",
      "target": "controllers_dashboardcontroller_dashboardcontroller_index",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L9",
      "weight": 1.0,
      "source": "app_http_controllers_datacontroller_php",
      "target": "controllers_datacontroller_datacontroller",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L11",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_construct",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L15",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_latest",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L20",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_history",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L29",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_hourly",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L37",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_stats",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L64",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_kpi",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L69",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_energytimeline",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L74",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_powerdistribution",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L82",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_loadstates",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L87",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_peakdemand",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L92",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_voltagequality",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "L97",
      "weight": 1.0,
      "source": "controllers_datacontroller_datacontroller",
      "target": "controllers_datacontroller_datacontroller_timeseries",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "L9",
      "weight": 1.0,
      "source": "app_http_controllers_geminicontroller_php",
      "target": "controllers_geminicontroller_geminicontroller",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "L11",
      "weight": 1.0,
      "source": "controllers_geminicontroller_geminicontroller",
      "target": "controllers_geminicontroller_geminicontroller_construct",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "L15",
      "weight": 1.0,
      "source": "controllers_geminicontroller_geminicontroller",
      "target": "controllers_geminicontroller_geminicontroller_index",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "L9",
      "weight": 1.0,
      "source": "app_http_controllers_insightscontroller_php",
      "target": "controllers_insightscontroller_insightscontroller",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "L11",
      "weight": 1.0,
      "source": "controllers_insightscontroller_insightscontroller",
      "target": "controllers_insightscontroller_insightscontroller_construct",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "L15",
      "weight": 1.0,
      "source": "controllers_insightscontroller_insightscontroller",
      "target": "controllers_insightscontroller_insightscontroller_index",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "L10",
      "weight": 1.0,
      "source": "app_http_controllers_settingscontroller_php",
      "target": "controllers_settingscontroller_settingscontroller",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "L30",
      "weight": 1.0,
      "source": "controllers_settingscontroller_settingscontroller",
      "target": "controllers_settingscontroller_settingscontroller_index",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "L45",
      "weight": 1.0,
      "source": "controllers_settingscontroller_settingscontroller",
      "target": "controllers_settingscontroller_settingscontroller_update",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Middleware/EnsureUserIsAuthenticated.php",
      "source_location": "L10",
      "weight": 1.0,
      "source": "app_http_middleware_ensureuserisauthenticated_php",
      "target": "middleware_ensureuserisauthenticated_ensureuserisauthenticated",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "app/Http/Middleware/EnsureUserIsAuthenticated.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "middleware_ensureuserisauthenticated_ensureuserisauthenticated",
      "target": "middleware_ensureuserisauthenticated_ensureuserisauthenticated_handle",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/factories/UserFactory.php",
      "source_location": "L13",
      "weight": 1.0,
      "source": "database_factories_userfactory_php",
      "target": "factories_userfactory_userfactory",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "database/factories/UserFactory.php",
      "source_location": "L25",
      "weight": 1.0,
      "source": "factories_userfactory_userfactory",
      "target": "factories_userfactory_userfactory_definition",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "database/factories/UserFactory.php",
      "source_location": "L39",
      "weight": 1.0,
      "source": "factories_userfactory_userfactory",
      "target": "factories_userfactory_userfactory_unverified",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/0001_01_01_000000_create_users_table.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "database_migrations_0001_01_01_000000_create_users_table_php",
      "target": "migrations_0001_01_01_000000_create_users_table_up",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/0001_01_01_000000_create_users_table.php",
      "source_location": "L43",
      "weight": 1.0,
      "source": "database_migrations_0001_01_01_000000_create_users_table_php",
      "target": "migrations_0001_01_01_000000_create_users_table_down",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/0001_01_01_000001_create_cache_table.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "database_migrations_0001_01_01_000001_create_cache_table_php",
      "target": "migrations_0001_01_01_000001_create_cache_table_up",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/0001_01_01_000001_create_cache_table.php",
      "source_location": "L30",
      "weight": 1.0,
      "source": "database_migrations_0001_01_01_000001_create_cache_table_php",
      "target": "migrations_0001_01_01_000001_create_cache_table_down",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/0001_01_01_000002_create_jobs_table.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "database_migrations_0001_01_01_000002_create_jobs_table_php",
      "target": "migrations_0001_01_01_000002_create_jobs_table_up",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/0001_01_01_000002_create_jobs_table.php",
      "source_location": "L53",
      "weight": 1.0,
      "source": "database_migrations_0001_01_01_000002_create_jobs_table_php",
      "target": "migrations_0001_01_01_000002_create_jobs_table_down",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/2026_07_11_112535_create_pzem_data_table.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "database_migrations_2026_07_11_112535_create_pzem_data_table_php",
      "target": "migrations_2026_07_11_112535_create_pzem_data_table_up",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/2026_07_11_112535_create_pzem_data_table.php",
      "source_location": "L29",
      "weight": 1.0,
      "source": "database_migrations_2026_07_11_112535_create_pzem_data_table_php",
      "target": "migrations_2026_07_11_112535_create_pzem_data_table_down",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/2026_07_13_144228_add_reading_time_index_to_pzem_data_table.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "database_migrations_2026_07_13_144228_add_reading_time_index_to_pzem_data_table_php",
      "target": "migrations_2026_07_13_144228_add_reading_time_index_to_pzem_data_table_up",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/migrations/2026_07_13_144228_add_reading_time_index_to_pzem_data_table.php",
      "source_location": "L22",
      "weight": 1.0,
      "source": "database_migrations_2026_07_13_144228_add_reading_time_index_to_pzem_data_table_php",
      "target": "migrations_2026_07_13_144228_add_reading_time_index_to_pzem_data_table_down",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "database/seeders/DatabaseSeeder.php",
      "source_location": "L9",
      "weight": 1.0,
      "source": "database_seeders_databaseseeder_php",
      "target": "seeders_databaseseeder_databaseseeder",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "database/seeders/DatabaseSeeder.php",
      "source_location": "L16",
      "weight": 1.0,
      "source": "seeders_databaseseeder_databaseseeder",
      "target": "seeders_databaseseeder_databaseseeder_run",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/TestCase.php",
      "source_location": "L7",
      "weight": 1.0,
      "source": "tests_testcase_php",
      "target": "tests_testcase_testcase",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/Feature/ExampleTest.php",
      "source_location": "L8",
      "weight": 1.0,
      "source": "tests_feature_exampletest_php",
      "target": "feature_exampletest_exampletest",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/Feature/ExampleTest.php",
      "source_location": "L13",
      "weight": 1.0,
      "source": "feature_exampletest_exampletest",
      "target": "feature_exampletest_exampletest_test_the_application_returns_a_successful_response",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "tests/Unit/ExampleTest.php",
      "source_location": "L7",
      "weight": 1.0,
      "source": "tests_unit_exampletest_php",
      "target": "unit_exampletest_exampletest",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "tests/Unit/ExampleTest.php",
      "source_location": "L12",
      "weight": 1.0,
      "source": "unit_exampletest_exampletest",
      "target": "unit_exampletest_exampletest_test_that_true_is_true",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/DataService.php",
      "source_location": "app/Services/DataService.php:14",
      "weight": 1.0,
      "source": "service_dataservice",
      "target": "model_pzemdata"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:19",
      "weight": 1.0,
      "source": "service_analyticsservice",
      "target": "model_pzemdata"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/InsightsService.php",
      "source_location": "app/Services/InsightsService.php:19",
      "weight": 1.0,
      "source": "service_insightsservice",
      "target": "model_pzemdata"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:11",
      "weight": 1.0,
      "source": "model_pzemdata",
      "target": "migration_create_pzem_data"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:45",
      "weight": 1.0,
      "source": "concept_scope_latest_reading",
      "target": "model_pzemdata"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:55",
      "weight": 1.0,
      "source": "concept_scope_hourly",
      "target": "model_pzemdata"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:71",
      "weight": 1.0,
      "source": "concept_scope_stats",
      "target": "model_pzemdata"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:188",
      "weight": 1.0,
      "source": "concept_scope_timeseries",
      "target": "model_pzemdata"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:115",
      "weight": 1.0,
      "source": "concept_load_state_classification",
      "target": "model_pzemdata"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Models/User.php",
      "source_location": "app/Models/User.php:15",
      "weight": 1.0,
      "source": "model_user",
      "target": "config_auth"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/GeminiService.php",
      "source_location": "app/Services/GeminiService.php:13",
      "weight": 1.0,
      "source": "service_geminiservice",
      "target": "service_dataservice"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "app/Http/Controllers/DashboardController.php:11",
      "weight": 1.0,
      "source": "controller_dashboardcontroller",
      "target": "service_dataservice"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "app/Http/Controllers/DataController.php:12",
      "weight": 1.0,
      "source": "controller_datacontroller",
      "target": "service_dataservice"
    },
    {
      "relation": "shares_data_with",
      "confidence": "INFERRED",
      "confidence_score": 0.95,
      "source_file": "resources/views/dashboard.blade.php",
      "source_location": "resources/views/dashboard.blade.php:519",
      "weight": 1.0,
      "source": "view_dashboard",
      "target": "service_dataservice"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/DataService.php",
      "source_location": "app/Services/DataService.php:17",
      "weight": 1.0,
      "source": "service_dataservice",
      "target": "config_energy"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Models/PzemData.php",
      "source_location": "app/Models/PzemData.php:39",
      "weight": 1.0,
      "source": "concept_cache_invalidation",
      "target": "service_dataservice"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/DataService.php",
      "source_location": "app/Services/DataService.php:124",
      "weight": 1.0,
      "source": "concept_health_score",
      "target": "service_dataservice"
    },
    {
      "relation": "shares_data_with",
      "confidence": "INFERRED",
      "confidence_score": 0.85,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:19",
      "weight": 1.0,
      "source": "service_analyticsservice",
      "target": "service_dataservice"
    },
    {
      "relation": "shares_data_with",
      "confidence": "INFERRED",
      "confidence_score": 0.85,
      "source_file": "app/Services/InsightsService.php",
      "source_location": "app/Services/InsightsService.php:19",
      "weight": 1.0,
      "source": "service_insightsservice",
      "target": "service_dataservice"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "app/Http/Controllers/AnalyticsController.php:12",
      "weight": 1.0,
      "source": "controller_analyticscontroller",
      "target": "service_analyticsservice"
    },
    {
      "relation": "shares_data_with",
      "confidence": "INFERRED",
      "confidence_score": 0.95,
      "source_file": "resources/views/dashboard.blade.php",
      "source_location": "resources/views/dashboard.blade.php:617",
      "weight": 1.0,
      "source": "view_dashboard",
      "target": "service_analyticsservice"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:115",
      "weight": 1.0,
      "source": "service_analyticsservice",
      "target": "config_energy"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:724",
      "weight": 1.0,
      "source": "concept_linear_regression",
      "target": "service_analyticsservice"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:516",
      "weight": 1.0,
      "source": "concept_isolation_forest",
      "target": "service_analyticsservice"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": "app/Services/AnalyticsService.php:792",
      "weight": 1.0,
      "source": "concept_circadian_centroid",
      "target": "service_analyticsservice"
    },
    {
      "relation": "semantically_similar_to",
      "confidence": "INFERRED",
      "confidence_score": 0.85,
      "source_file": "app/Services/AnalyticsService.php",
      "source_location": null,
      "weight": 1.0,
      "source": "service_analyticsservice",
      "target": "service_insightsservice"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/GeminiService.php",
      "source_location": "app/Services/GeminiService.php:53",
      "weight": 1.0,
      "source": "service_geminiservice",
      "target": "service_insightsservice"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "app/Http/Controllers/InsightsController.php:12",
      "weight": 1.0,
      "source": "controller_insightscontroller",
      "target": "service_insightsservice"
    },
    {
      "relation": "shares_data_with",
      "confidence": "INFERRED",
      "confidence_score": 0.95,
      "source_file": "resources/views/dashboard.blade.php",
      "source_location": "resources/views/dashboard.blade.php:618",
      "weight": 1.0,
      "source": "view_dashboard",
      "target": "service_insightsservice"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/InsightsService.php",
      "source_location": "app/Services/InsightsService.php:149",
      "weight": 1.0,
      "source": "service_insightsservice",
      "target": "config_energy"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/InsightsService.php",
      "source_location": "app/Services/InsightsService.php:159",
      "weight": 1.0,
      "source": "concept_tou_cost",
      "target": "service_insightsservice"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/InsightsService.php",
      "source_location": "app/Services/InsightsService.php:54",
      "weight": 1.0,
      "source": "concept_zscore_anomaly",
      "target": "service_insightsservice"
    },
    {
      "relation": "shares_data_with",
      "confidence": "INFERRED",
      "confidence_score": 0.75,
      "source_file": "app/Services/DataService.php",
      "source_location": "app/Services/DataService.php:124",
      "weight": 1.0,
      "source": "concept_health_score",
      "target": "service_insightsservice"
    },
    {
      "relation": "calls",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "app/Http/Controllers/GeminiController.php:12",
      "weight": 1.0,
      "source": "controller_geminicontroller",
      "target": "service_geminiservice"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/GeminiService.php",
      "source_location": "app/Services/GeminiService.php:142",
      "weight": 1.0,
      "source": "service_geminiservice",
      "target": "config_energy"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Services/GeminiService.php",
      "source_location": "app/Services/GeminiService.php:132",
      "weight": 1.0,
      "source": "concept_gemini_context",
      "target": "service_geminiservice"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "app/Http/Controllers/DashboardController.php:58",
      "weight": 1.0,
      "source": "controller_dashboardcontroller",
      "target": "view_dashboard"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "routes/web.php",
      "source_location": "routes/web.php:17",
      "weight": 1.0,
      "source": "routes_web",
      "target": "controller_dashboardcontroller"
    },
    {
      "relation": "implements",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/DashboardController.php",
      "source_location": "app/Http/Controllers/DashboardController.php:8",
      "weight": 1.0,
      "source": "controller_controller",
      "target": "controller_dashboardcontroller"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "routes/web.php",
      "source_location": "routes/web.php:21",
      "weight": 1.0,
      "source": "routes_web",
      "target": "controller_datacontroller"
    },
    {
      "relation": "implements",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/DataController.php",
      "source_location": "app/Http/Controllers/DataController.php:9",
      "weight": 1.0,
      "source": "controller_controller",
      "target": "controller_datacontroller"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "routes/web.php",
      "source_location": "routes/web.php:35",
      "weight": 1.0,
      "source": "routes_web",
      "target": "controller_analyticscontroller"
    },
    {
      "relation": "implements",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/AnalyticsController.php",
      "source_location": "app/Http/Controllers/AnalyticsController.php:9",
      "weight": 1.0,
      "source": "controller_controller",
      "target": "controller_analyticscontroller"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "routes/web.php",
      "source_location": "routes/web.php:34",
      "weight": 1.0,
      "source": "routes_web",
      "target": "controller_insightscontroller"
    },
    {
      "relation": "implements",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/InsightsController.php",
      "source_location": "app/Http/Controllers/InsightsController.php:9",
      "weight": 1.0,
      "source": "controller_controller",
      "target": "controller_insightscontroller"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "routes/web.php",
      "source_location": "routes/web.php:37",
      "weight": 1.0,
      "source": "routes_web",
      "target": "controller_geminicontroller"
    },
    {
      "relation": "implements",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/GeminiController.php",
      "source_location": "app/Http/Controllers/GeminiController.php:9",
      "weight": 1.0,
      "source": "controller_controller",
      "target": "controller_geminicontroller"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "app/Http/Controllers/AuthController.php:11",
      "weight": 1.0,
      "source": "controller_authcontroller",
      "target": "view_auth_login"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "routes/web.php",
      "source_location": "routes/web.php:12",
      "weight": 1.0,
      "source": "routes_web",
      "target": "controller_authcontroller"
    },
    {
      "relation": "implements",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/AuthController.php",
      "source_location": "app/Http/Controllers/AuthController.php:8",
      "weight": 1.0,
      "source": "controller_controller",
      "target": "controller_authcontroller"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "app/Http/Controllers/SettingsController.php:39",
      "weight": 1.0,
      "source": "controller_settingscontroller",
      "target": "config_energy"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "routes/web.php",
      "source_location": "routes/web.php:39",
      "weight": 1.0,
      "source": "routes_web",
      "target": "controller_settingscontroller"
    },
    {
      "relation": "implements",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "app/Http/Controllers/SettingsController.php",
      "source_location": "app/Http/Controllers/SettingsController.php:10",
      "weight": 1.0,
      "source": "controller_controller",
      "target": "controller_settingscontroller"
    },
    {
      "relation": "references",
      "confidence": "INFERRED",
      "confidence_score": 0.85,
      "source_file": "routes/web.php",
      "source_location": "routes/web.php:16",
      "weight": 1.0,
      "source": "routes_web",
      "target": "middleware_ensureuserisauthenticated"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "resources/views/dashboard.blade.php",
      "source_location": "resources/views/dashboard.blade.php:352",
      "weight": 1.0,
      "source": "view_dashboard",
      "target": "config_energy"
    },
    {
      "relation": "references",
      "confidence": "INFERRED",
      "confidence_score": 0.75,
      "source_file": "config/database.php",
      "source_location": null,
      "weight": 1.0,
      "source": "config_database",
      "target": "config_app"
    },
    {
      "relation": "references",
      "confidence": "INFERRED",
      "confidence_score": 0.75,
      "source_file": "config/app.php",
      "source_location": null,
      "weight": 1.0,
      "source": "config_app",
      "target": "config_session"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "resources/views/dashboard.blade.php",
      "source_location": "resources/views/dashboard.blade.php:8",
      "weight": 1.0,
      "source": "view_dashboard",
      "target": "js_app"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "resources/views/dashboard.blade.php",
      "source_location": "resources/views/dashboard.blade.php:8",
      "weight": 1.0,
      "source": "view_dashboard",
      "target": "css_app"
    },
    {
      "relation": "references",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "resources/views/auth/login.blade.php",
      "source_location": "resources/views/auth/login.blade.php:1",
      "weight": 1.0,
      "source": "view_auth_login",
      "target": "view_layouts_app"
    },
    {
      "relation": "semantically_similar_to",
      "confidence": "INFERRED",
      "confidence_score": 0.85,
      "source_file": "app/Services/InsightsService.php",
      "source_location": "app/Services/InsightsService.php:54",
      "weight": 1.0,
      "source": "concept_zscore_anomaly",
      "target": "concept_isolation_forest"
    }
  ],
  "hyperedges": [
    {
      "id": "pzem_sensor_to_dashboard_flow",
      "label": "PZEM sensor data flow through services to dashboard",
      "nodes": [
        "model_pzemdata",
        "service_dataservice",
        "controller_dashboardcontroller",
        "view_dashboard"
      ],
      "relation": "participate_in",
      "confidence": "INFERRED",
      "confidence_score": 0.95,
      "source_file": "app/Services/DataService.php"
    },
    {
      "id": "ai_insights_pipeline",
      "label": "AI-powered insights pipeline via Gemini",
      "nodes": [
        "service_geminiservice",
        "service_dataservice",
        "service_insightsservice",
        "controller_geminicontroller"
      ],
      "relation": "participate_in",
      "confidence": "INFERRED",
      "confidence_score": 0.9,
      "source_file": "app/Services/GeminiService.php"
    },
    {
      "id": "analytics_compute_engine",
      "label": "Analytics compute engine with caching and sampling",
      "nodes": [
        "service_analyticsservice",
        "model_pzemdata",
        "config_energy",
        "concept_linear_regression"
      ],
      "relation": "participate_in",
      "confidence": "INFERRED",
      "confidence_score": 0.85,
      "source_file": "app/Services/AnalyticsService.php"
    }
  ],
  "built_at_commit": "4ec25f36fb62674d3821a7926ec43adb92cf12ba"
}