{
  "site": "https://gitlab.com/explore",
  "recordingDate": "2026-09-25",
  "analyzerCommit": "8863e0ac3895de1f0a4327a0e432452808de63c8",
  "metric": "utf8-generated-source-bytes",
  "scope": "External scripts recorded during four independent Chromium visits (initial, search, topbar, sort). The same recordings are analyzed with the served source maps and again with maps recovered by `coldpath modules`.",
  "inputs": {
    "withMapReport": "artifacts/gitlab/report.json",
    "withMapReportSha256": "177cafc3ade909c3053691a7097ff2600d904d5fe209d207fc7ad674fd96162f",
    "noMapReport": "artifacts/gitlab/nomap/report.json",
    "noMapReportSha256": "b41f0f3c1c83acbbec32b15a6bbceac909b7a92f7988ed3f90d55460212ee8aa",
    "labels": "artifacts/gitlab/nomap/labels.json",
    "labelsSha256": "c8ef9108de246ee11cdbdd571da31406edd238c8b03bfbc042fb611c185f24f0",
    "coverageSha256": {
      "initial": "3cbd2ed31e6bb9c71115526034243b93e53e36c06ae5401a8ecc6efbd9e2dc3e",
      "search": "b1e96fac31139a23331c3cafe1b4570d5c7c238c87e768dc720d0e7f63a10bd2",
      "topbar": "01af336c366794ced05b873b3d0dbcda59623aab2b4702a3d2028cc8a1afd593",
      "sort": "cf1539df6973f7408981e341a876012f93a2790020005c84c4096cc1027c0f47"
    }
  },
  "bundles": 39,
  "declaredMaps": 39,
  "withMap": {
    "totals": {
      "bytes": 3772112,
      "observedBytes": 1921121,
      "unobservedBytes": 1850991,
      "unmeasuredBytes": 0
    },
    "scenarios": [
      {
        "scenario": "initial.json",
        "totals": {
          "bytes": 3772112,
          "observedBytes": 1810588,
          "unobservedBytes": 1961524,
          "unmeasuredBytes": 0
        }
      },
      {
        "scenario": "search.json",
        "totals": {
          "bytes": 3772112,
          "observedBytes": 1839399,
          "unobservedBytes": 1932713,
          "unmeasuredBytes": 0
        }
      },
      {
        "scenario": "topbar.json",
        "totals": {
          "bytes": 3772112,
          "observedBytes": 1861208,
          "unobservedBytes": 1910904,
          "unmeasuredBytes": 0
        }
      },
      {
        "scenario": "sort.json",
        "totals": {
          "bytes": 3772112,
          "observedBytes": 1866593,
          "unobservedBytes": 1905519,
          "unmeasuredBytes": 0
        }
      }
    ],
    "sources": 2462,
    "selectedSources": [
      {
        "source": "webpack:////builds/gitlab/gitlab-ee/node_modules/@vue/compat/dist/vue.runtime.esm-bundler.js",
        "bytes": 143931,
        "observedBytes": 0,
        "unobservedBytes": 143931
      },
      {
        "source": "webpack:////builds/gitlab/gitlab-ee/node_modules/vue/dist/vue.runtime.esm.js",
        "bytes": 78121,
        "observedBytes": 52371,
        "unobservedBytes": 25750
      },
      {
        "source": "webpack:////builds/gitlab/gitlab-ee/node_modules/sortablejs/modular/sortable.esm.js",
        "bytes": 43089,
        "observedBytes": 2580,
        "unobservedBytes": 40509
      },
      {
        "source": "webpack:////builds/gitlab/gitlab-ee/node_modules/vuedraggable/dist/vuedraggable.common.js",
        "bytes": 35102,
        "observedBytes": 16776,
        "unobservedBytes": 18326
      },
      {
        "source": "webpack:////builds/gitlab/gitlab-ee/node_modules/jquery/dist/jquery.slim.js",
        "bytes": 72117,
        "observedBytes": 24486,
        "unobservedBytes": 47631
      }
    ]
  },
  "noMap": {
    "totals": {
      "bytes": 3772112,
      "observedBytes": 1921121,
      "unobservedBytes": 1850991,
      "unmeasuredBytes": 0
    },
    "recoveredModuleSources": 1547,
    "recoveredBytes": 3720074,
    "singleOwnerModules": 1331,
    "singleOwnerByteShare": 0.6498,
    "byteWeightedPurity": 0.7937,
    "multipleOwnerModules": 208,
    "unattributedModules": 8,
    "singleOwnerDefinition": "Exactly one distinct mapped original source after excluding [unmapped]; the module may still contain unmapped bytes.",
    "singleOwnerByteShareDefinition": "Total generated bytes of single-owner modules divided by total generated bytes of all recovered module sources.",
    "byteWeightedPurityDefinition": "For each module: bytes assigned to its largest mapped original source / all mapped bytes (0 if none). Average those ratios weighted by each module's total generated bytes, including unmapped bytes.",
    "interpretation": "Describes original-source composition inside recovered modules under coldpath source attribution. Does not measure exact boundary recovery accuracy or prove why a module has multiple owners."
  },
  "labelGenerator": {
    "provider": "anthropic",
    "model": "claude-haiku-4-5",
    "mode": "identify"
  },
  "labelCount": 50,
  "labelScore": {
    "status": "scored",
    "scorer": {
      "repository": "https://github.com/yceffort/coldpath",
      "commit": "9cba70a1266f29f415d15f37576c8d98a1f5594c",
      "release": "v0.1.0",
      "file": "scripts/label-score.mjs"
    },
    "criteria": "All 50 labels under the same rules, without manual overrides. Owner: the npm package of every real-map source overlapping the recovered module; modules with several owning packages are not scored. Classification: kind package or polyfill versus code outside node_modules. Package identity: the package the guess names, with scoped names kept whole, must equal the owner exactly; no substring matching and no aliases. Application feature names are not scored.",
    "issue": "https://github.com/yceffort/coldpath/issues/15",
    "severalOwningPackages": 4,
    "guessDropped": 0,
    "classification": {
      "correct": 43,
      "total": 46
    },
    "packageIdentity": {
      "correct": 21,
      "total": 27
    },
    "applicationFeaturesUnscored": 19,
    "rejectedByEvidenceFilter": 0,
    "previousEvaluation": {
      "status": "invalidated",
      "automaticMatches": 43,
      "correctAfterReview": 47
    }
  },
  "labels": [
    {
      "source": "webpack://inferred/webpackJsonp/NHed.js",
      "guess": "@vue/compat",
      "kind": "package",
      "evidence": [
        "@vue/compat v3.5.42",
        "(c) 2018-present Yuxi (Evan) You and Vue contributors",
        "@license MIT",
        "INSTANCE_EVENT_HOOKS",
        "CUSTOM_DIR",
        "OPTIONS_BEFORE_DESTROY",
        "INSTANCE_DESTROY",
        "COMPONENT_FUNCTIONAL",
        "V_ON_KEYCODE_MODIFIER",
        "ATTR_FALSE_VALUE",
        "TRANSITION_CLASSES"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@vue/compat/dist/vue.runtime.esm-bundler.js",
      "truthPackage": "@vue/compat",
      "purity": 1,
      "owner": "@vue/compat",
      "guessedPackage": "@vue/compat",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/EmJ/.js",
      "guess": "jquery",
      "kind": "package",
      "evidence": [
        "* jQuery JavaScript Library v3.6.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",
        "* https://jquery.com/",
        "* Includes Sizzle.js",
        "* Released under the MIT license",
        "jQuery"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/jquery/dist/jquery.slim.js",
      "truthPackage": "jquery",
      "purity": 1,
      "owner": "jquery",
      "guessedPackage": "jquery",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/2O3R.js",
      "guess": "sortablejs",
      "kind": "package",
      "evidence": [
        "Sortable 1.10.2",
        "@author\tRubaXa   <trash@rubaxa.org>",
        "@license MIT",
        "MultiDrag",
        "_onDragStart",
        "_onTouchMove",
        "hideClone",
        "ghostClass",
        "swapThreshold"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/sortablejs/modular/sortable.esm.js",
      "truthPackage": "sortablejs",
      "purity": 1,
      "owner": "sortablejs",
      "guessedPackage": "sortablejs",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/dHuN.js",
      "guess": "@sentry/browser",
      "kind": "package",
      "evidence": [
        "UnhandledRejection",
        "Object(i.getClient)()",
        "Object(i.normalizeToSize)(t,l)",
        "Object(i.isError)",
        "Object(i.isEvent)(e)",
        "beforeSendEvent",
        "Global Handler attached: ",
        "sentry.tracerProviderSpan",
        "[Tracing] Finishing",
        "[Tracing] Starting",
        "browser.web_vital.${t}.value",
        "largest-contentful-paint",
        "auto.http.browser",
        "WebVitals",
        "tracesSampleRate"
      ],
      "truthTopSource": "webpack:///../../../../../src/tracing/browserTracingIntegration.ts",
      "truthPackage": "[application]",
      "purity": 0.0741,
      "inspection": "Sentry's own source (relative ../src path, not node_modules)",
      "owner": "[application]",
      "guessedPackage": "@sentry/browser",
      "classification": "wrong",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/enn4.js",
      "guess": "GitLab super sidebar",
      "kind": "app",
      "evidence": [
        "clearAutocomplete",
        "scopedIssuesPath",
        "scopedMRPath",
        "Navigation|Expand sidebar",
        "Navigation|Unpin item",
        "Navigation|Repository settings",
        "FeatureLibrary|Pin %{title}",
        "FeatureLibrary|Search features in this project",
        "super_sidebar_collapsed",
        "super-sidebar-animatable",
        "sidebar-menu",
        "pinned-item-ids",
        "GitLab Next",
        "CurrentUser|Preferences",
        "CurrentUser|Enter Admin Mode",
        "isImpersonating",
        "switch_to_canary",
        "user-dropdown",
        "user_profile_menu",
        "BrandLogo",
        "UserMenu",
        "OrganizationSwitcher",
        "commandPalette"
      ],
      "truthTopSource": "webpack:///super_sidebar/components/feature_library/feature_library_modal.vue",
      "truthPackage": "[application]",
      "purity": 0.084,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/93nq.js",
      "guess": "@gitlab/ui - GlCollapsibleListbox component",
      "kind": "package",
      "evidence": [
        "GlListboxSearchInput",
        "GlCollapsibleListbox.loadingAnnouncementText.searching",
        "GlCollapsibleListbox.loadingAnnouncementText.loadingItems",
        "GlBaseDropdown",
        "GlListboxGroup",
        "infiniteScroll",
        "panelMatchTriggerWidth"
      ],
      "truthTopSource": "webpack:///../../../node_modules/@gitlab/ui/src/components/base/new_dropdowns/listbox/listbox.vue",
      "truthPackage": "@gitlab/ui",
      "purity": 0.5907,
      "owner": "@gitlab/ui",
      "guessedPackage": "@gitlab/ui",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/ewH8.js",
      "guess": "vue",
      "kind": "package",
      "evidence": [
        "EffectScope",
        "customRef",
        "defineAsyncComponent",
        "defineComponent",
        "getCurrentInstance",
        "beforeMount",
        "beforeUpdate",
        "TransitionGroup",
        "effectScope"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/vue/dist/vue.runtime.esm.js",
      "truthPackage": "vue",
      "purity": 1,
      "owner": "vue",
      "guessedPackage": "vue",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp//FxL.js",
      "guess": "GitLab app code",
      "kind": "app",
      "evidence": [
        "/api/:version/groups.json",
        "/api/:version/groups/:id",
        "/api/:version/groups/:id/members",
        "/api/:version/projects/:id",
        "mergeRequestsPath",
        "projectMergeRequestsPath",
        "groupsPath",
        "DEFAULT_PER_PAGE"
      ],
      "truthTopSource": "webpack:///api.js",
      "truthPackage": "[application]",
      "purity": 1,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/WgUN.js",
      "guess": "@snowplow/browser-tracker",
      "kind": "package",
      "evidence": [
        "iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0",
        "snowplowOutQueue_",
        "iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1",
        "setTrackerNamespace",
        "setUserId",
        "enableActivityTracking",
        "iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0",
        "iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0",
        "iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@snowplow/browser-tracker-core/dist/index.module.js",
      "truthPackage": "@snowplow/browser-tracker-core",
      "purity": 0.4198,
      "owner": "several packages",
      "guessedPackage": "@snowplow/browser-tracker",
      "classification": "unscored (several packages)",
      "packageIdentity": "unscored (several packages)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/mh/t.js",
      "guess": "GitLab work item management (internal)",
      "kind": "app",
      "evidence": [
        "gid://gitlab/Label/",
        "gid://gitlab/Iterations::Cadence/",
        "WorkItemWidgetLabels",
        "WorkItemWidgetMilestone",
        "WorkItemWidgetStatus",
        "WorkItemWidgetNotes",
        "WorkItemWidgetHierarchy",
        "include_descendant_work_items",
        "parent_ids[]",
        "health_status",
        "iteration_wildcard_id",
        "allowsScopedLabels"
      ],
      "truthTopSource": "webpack:///graphql_shared/issuable_default_client.js",
      "truthPackage": "[application]",
      "purity": 0.282,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/9N/D.js",
      "guess": "@apollo/client",
      "kind": "package",
      "evidence": [
        "QueryManager stopped while query was in flight",
        "cache-first",
        "cache-only",
        "cache-and-network",
        "network-only",
        "no-cache",
        "ROOT_QUERY",
        "ROOT_MUTATION",
        "ROOT_SUBSCRIPTION",
        "refetchQueries",
        "errorPolicy",
        "fetchPolicy",
        "fragmentMatcher",
        "canonizeResults"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@apollo/client/core/QueryManager.js",
      "truthPackage": "@apollo/client",
      "purity": 0.4618,
      "owner": "@apollo/client",
      "guessedPackage": "@apollo/client",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/Z4o9.js",
      "guess": "popper.js",
      "kind": "package",
      "evidence": [
        "@fileOverview Kickass library to create and place poppers near their reference elements.",
        "@version 1.16.1",
        "preventOverflow",
        "computeStyle",
        "applyStyle",
        "keepTogether"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/popper.js/dist/esm/popper.js",
      "truthPackage": "popper.js",
      "purity": 1,
      "owner": "popper.js",
      "guessedPackage": "popper.js",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/YYYz.js",
      "guess": "GitLab Global Search UI Component",
      "kind": "app",
      "evidence": [
        "CommandPaletteSearchItem",
        "GlobalSearch|Merge requests",
        "click_project_result_in_command_palette",
        "click_recent_issue_result_in_command_palette",
        "GlobalSearchDefaultItems",
        "GlobalSearchScopedItems",
        "GlobalSearchModal",
        "GlobalSearchAutocompleteItems",
        "SEARCH_OR_COMMAND_MODE_PLACEHOLDER",
        "SCOPE_SEARCH_ALL",
        "USER_HANDLE",
        "projectId",
        "groupName"
      ],
      "truthTopSource": "webpack:///super_sidebar/components/global_search/components/global_search.vue",
      "truthPackage": "[application]",
      "purity": 0.1811,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/wAfB.js",
      "guess": "core-js with Vue.js transitions and drag utilities",
      "kind": "package",
      "evidence": [
        "© 2019 Denis Pushkarev (zloirock.ru)",
        "__core-js_shared__",
        "onDragAdd",
        "onDragUpdate",
        "onDragMove",
        "TransitionGroup",
        "onDrag"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/vuedraggable/dist/vuedraggable.common.js",
      "truthPackage": "vuedraggable",
      "purity": 1,
      "inspection": "vuedraggable bundle; core-js is only embedded in it",
      "owner": "vuedraggable",
      "guessedPackage": "core-js",
      "classification": "correct",
      "packageIdentity": "wrong"
    },
    {
      "source": "webpack://inferred/webpackJsonp/d08M.js",
      "guess": "GitLab keyboard shortcuts customizations",
      "kind": "app",
      "evidence": [
        "gl-keyboard-shortcuts-customizations",
        "repositoryGraph.scrollToBottom",
        "project.goToOverview",
        "Edit your most recent comment in a thread (from an empty textarea)",
        "Go to file",
        "customizable",
        "keybindings"
      ],
      "truthTopSource": "webpack:///behaviors/shortcuts/keybindings.js",
      "truthPackage": "[application]",
      "purity": 1,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/LMID.js",
      "guess": "buffer",
      "kind": "package",
      "evidence": [
        "The buffer module from node.js, for the browser.",
        "@author   Feross Aboukhadijeh <feross@feross.org>",
        "@license  MIT",
        "Attempt to allocate Buffer larger than maximum size"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/buffer/index.js",
      "truthPackage": "buffer",
      "purity": 1,
      "owner": "buffer",
      "guessedPackage": "buffer",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/1NAq.js",
      "guess": "app code - work item saved views management",
      "kind": "app",
      "evidence": [
        "WorkItemSavedViewCreatePayload",
        "WorkItemSavedViewSubscribePayload",
        "WorkItemSavedViewType",
        "SavedViewPermissions",
        "WorkItemUserPreferenceUpdatePayload",
        "updateSavedView",
        "updateSavedViewVisibility",
        "workItemSavedViewSubscribe",
        "workItemUserPreferenceUpdate",
        "SortOptions|Merged date",
        "Priority",
        "Created date",
        "Updated date"
      ],
      "truthTopSource": "webpack:///work_items/list/utils.js",
      "truthPackage": "[application]",
      "purity": 1,
      "owner": "[application]",
      "guessedPackage": "app",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/VvTQ.js",
      "guess": "graphql",
      "kind": "package",
      "evidence": [
        "parseDocument",
        "parseValueLiteral",
        "parseConstValue",
        "tokenCount",
        "scalar",
        "interface",
        "operationTypes"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/graphql/language/parser.mjs",
      "truthPackage": "graphql",
      "purity": 1,
      "owner": "graphql",
      "guessedPackage": "graphql",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/9Ca0.js",
      "guess": "@apollo/client",
      "kind": "package",
      "evidence": [
        "EntityStore.Stump",
        "ROOT_QUERY",
        "store.merge expects a string ID",
        "mutationType",
        "subscriptionType",
        "resultCaching",
        "resultCacheMaxSize",
        "Dangling reference to missing",
        "Can't find field",
        "Missing selection set for object of type"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@apollo/client/cache/inmemory/entityStore.js",
      "truthPackage": "@apollo/client",
      "purity": 0.2209,
      "owner": "@apollo/client",
      "guessedPackage": "@apollo/client",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/lRsd.js",
      "guess": "vue-router",
      "kind": "package",
      "evidence": [
        "beforeRouteUpdate",
        "Navigation cancelled from \"",
        "$route",
        "currentRoute",
        "beforeEnter",
        "redirect",
        "pathList",
        "nameMap",
        "getRoutes",
        "addRoutes",
        "scrollBehavior",
        "router-link-active",
        "isExactActive",
        "normalizedTo",
        "exactActiveClass",
        "ariaCurrentValue"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/vue-router/dist/vue-router.esm.js",
      "truthPackage": "vue-router",
      "purity": 1,
      "owner": "vue-router",
      "guessedPackage": "vue-router",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/L78D.js",
      "guess": "bootstrap-vue form group component",
      "kind": "package",
      "evidence": [
        "GlFormGroup",
        "b-form-group",
        "BFormGroup",
        "labelAlign",
        "labelCols",
        "validFeedback",
        "invalidFeedback",
        "label-class",
        "col-form-label",
        "aria-invalid",
        "feedbackAriaLive"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@gitlab/ui/src/vendor/bootstrap-vue/src/components/form-group/form-group.js",
      "truthPackage": "@gitlab/ui",
      "purity": 0.4707,
      "inspection": "bootstrap-vue vendored inside @gitlab/ui",
      "owner": "@gitlab/ui",
      "guessedPackage": "bootstrap-vue",
      "classification": "correct",
      "packageIdentity": "wrong"
    },
    {
      "source": "webpack://inferred/webpackJsonp/b1NL.js",
      "guess": "GitLab UI (gl-dropdown component)",
      "kind": "package",
      "evidence": [
        "\"BaseDropdown\"",
        "\"gl-new-dropdown\"",
        "\"aria-controls\"",
        "\"aria-expanded\"",
        "\"GlDisclosureDropdown/GlCollapsibleListbox\""
      ],
      "truthTopSource": "webpack:///../../../node_modules/@gitlab/ui/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue",
      "truthPackage": "@gitlab/ui",
      "purity": 0.8354,
      "owner": "@gitlab/ui",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "wrong"
    },
    {
      "source": "webpack://inferred/webpackJsonp/J6Lq.js",
      "guess": "@gitlab/frontend work-items utilities",
      "kind": "app",
      "evidence": [
        "groups:work_items:index",
        "groups:epics:index",
        "projects:issues:index",
        "groups:work_items:show",
        "groups:epics:show",
        "projects:issues:show",
        "/${e}/-/issues/${t}/can_create_branch",
        "createBranch",
        "sourceBranch",
        "targetBranch",
        "discussion_to_resolve",
        "issue[issue_type]"
      ],
      "truthTopSource": "webpack:///work_items/utils.js",
      "truthPackage": "[application]",
      "purity": 1,
      "owner": "[application]",
      "guessedPackage": "@gitlab/frontend",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/GiFX.js",
      "guess": "vue-apollo",
      "kind": "package",
      "evidence": [
        "[vue-apollo] Missing client '",
        "[vue-apollo] Missing 'clients' options in 'apolloProvider'",
        "ApolloSubscribeToMore",
        "$apolloData",
        "$subscribe",
        "apolloProvider",
        "watchQuery",
        "optimisticResponse",
        "refetchQueries"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/vue-apollo/dist/vue-apollo.esm.js",
      "truthPackage": "vue-apollo",
      "purity": 1,
      "owner": "vue-apollo",
      "guessedPackage": "vue-apollo",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/qPgm.js",
      "guess": "GitLab API paths configuration",
      "kind": "app",
      "evidence": [
        "DEFAULT_PER_PAGE:c,groupsPath:",
        "groupMembersPath:",
        "groupServiceAccountsPath:",
        "groupServiceAccountsTokensPath:",
        "projectMergeRequestPath:",
        "projectMergeRequestChangesPath:",
        "projectProtectedBranchesPath:",
        "projectSearchPath:",
        "commitPipelinesPath:",
        "featureFlagUserLists:",
        "adminStatisticsPath:",
        "releaseLinksPath:"
      ],
      "truthTopSource": "webpack:///api.js",
      "truthPackage": "[application]",
      "purity": 1,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/pvYB.js",
      "guess": "@gitlab/frontend popover components",
      "kind": "app",
      "evidence": [
        "componentsByReferenceTypeMap",
        "handleCommentPopoverMount",
        "handleIssuablePopoverMount",
        "IterationPopover",
        "CommitPopover"
      ],
      "truthTopSource": "webpack:///../../../ee/app/assets/javascripts/issuable/popover/components/iteration_popover.vue",
      "truthPackage": "[application]",
      "purity": 0.1496,
      "owner": "[application]",
      "guessedPackage": "@gitlab/frontend",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/Czxp.js",
      "guess": "@gitlab/ui (GlDropdownItem component)",
      "kind": "package",
      "evidence": [
        "GlDropdownItem",
        "gl-dropdown-item",
        "gl-dropdown-item-check-icon",
        "gl-fill-icon-default",
        "gl-mt-3 gl-self-start",
        "gl-invisible",
        "dropdown-item-checkbox"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@gitlab/ui/src/components/base/dropdown/dropdown_item.vue",
      "truthPackage": "@gitlab/ui",
      "purity": 0.2652,
      "owner": "@gitlab/ui",
      "guessedPackage": "@gitlab/ui",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/jsvc.js",
      "guess": "dompurify",
      "kind": "package",
      "evidence": [
        "@license DOMPurify 3.4.13",
        "github.com/cure53/DOMPurify/blob/3.4.13/LICENSE",
        "ALLOWED_NAMESPACES",
        "MATHML_TEXT_INTEGRATION_POINTS",
        "ADD_ATTR",
        "afterSanitizeAttributes",
        "beforeSanitizeElements",
        "TrustedTypes policy",
        "shadowRoot",
        "createHTML"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/dompurify/dist/purify.js",
      "truthPackage": "dompurify",
      "purity": 1,
      "owner": "dompurify",
      "guessedPackage": "dompurify",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/onSc.js",
      "guess": "portal-vue",
      "kind": "package",
      "evidence": [
        "portal-vue © Thorsten Lünborg, 2019",
        "Version: 2.1.7",
        "https://github.com/linusborg/portal-vue",
        "v-portal",
        "v-portal-placeholder",
        "portalTarget",
        "PortalTarget",
        "Portal"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/portal-vue/dist/portal-vue.common.js",
      "truthPackage": "portal-vue",
      "purity": 1,
      "owner": "portal-vue",
      "guessedPackage": "portal-vue",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/PZST.js",
      "guess": "@gitlab/ui or similar Vue component library - GlDropdown component",
      "kind": "package",
      "evidence": [
        "Popper.js not found. Falling back to CSS positioning",
        "dropdown-toggle",
        "aria-haspopup",
        "Toggle dropdown",
        "listenForClickOut",
        "noFlip",
        "popperOpts"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@gitlab/ui/src/vendor/bootstrap-vue/src/mixins/dropdown.js",
      "truthPackage": "@gitlab/ui",
      "purity": 0.3064,
      "owner": "@gitlab/ui",
      "guessedPackage": "@gitlab/ui",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/ne8u.js",
      "guess": "apollo-cache-persist",
      "kind": "package",
      "evidence": [
        "[apollo-cache-persist]",
        "apollo-cache-persist",
        "Persisted cache of size",
        "Restored cache of size",
        "No stored cache to restore",
        "Error persisting cache",
        "Error restoring cache",
        "Purged cache storage",
        "Error purging cache storage",
        "Debounce is not recommended with `background` trigger",
        "Trigger option `background` not available on web"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/apollo3-cache-persist/lib/Persistor.js",
      "truthPackage": "apollo3-cache-persist",
      "purity": 0.2533,
      "inspection": "apollo3-cache-persist fork that keeps the original log strings",
      "owner": "apollo3-cache-persist",
      "guessedPackage": "apollo-cache-persist",
      "classification": "correct",
      "packageIdentity": "wrong"
    },
    {
      "source": "webpack://inferred/webpackJsonp/Oxu3.js",
      "guess": "bootstrap-vue modal component",
      "kind": "package",
      "evidence": [
        "b-modal",
        "__BV_modal_header_",
        "__BV_modal_title_",
        "__BV_modal_backdrop_",
        "noCloseOnBackdrop",
        "noEnforceFocus",
        "ignoreEnforceFocusSelector",
        "autoFocusButton",
        "Accessible name for modal missing. Please add title prop or aria-label."
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@gitlab/ui/src/vendor/bootstrap-vue/src/components/modal/modal.js",
      "truthPackage": "@gitlab/ui",
      "purity": 0.5201,
      "inspection": "bootstrap-vue vendored inside @gitlab/ui",
      "owner": "@gitlab/ui",
      "guessedPackage": "bootstrap-vue",
      "classification": "correct",
      "packageIdentity": "wrong"
    },
    {
      "source": "webpack://inferred/webpackJsonp/NmEs.js",
      "guess": "GitLab frontend utilities (internal)",
      "kind": "app",
      "evidence": [
        "rapid_diffs",
        "gon.sprite_icons",
        "current_user_fullname",
        "current_user_avatar_url",
        ".js-panel-header-inner",
        ".discussions-counter",
        ".merge-request-tabs",
        "X-PER-PAGE",
        "X-PAGE",
        "X-TOTAL-PAGES"
      ],
      "truthTopSource": "webpack:///lib/utils/common_utils.js",
      "truthPackage": "[application]",
      "purity": 0.6234,
      "owner": "several packages",
      "guessedPackage": "gitlab",
      "classification": "unscored (several packages)",
      "packageIdentity": "unscored (several packages)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/msdQ.js",
      "guess": "ImageLightbox component",
      "kind": "app",
      "evidence": [
        "name:\"ImageLightbox\"",
        "components:{ClipboardButton:",
        "image-lightbox-close",
        "next-image-btn",
        "prev-image-btn",
        "handleTabKey",
        "image-lightbox-toolbar",
        "Click to view image in full screen",
        "aria-modal"
      ],
      "truthTopSource": "webpack:///behaviors/components/image_lightbox.vue",
      "truthPackage": "[application]",
      "purity": 0.4227,
      "owner": "[application]",
      "guessedPackage": "imagelightbox",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/ONti.js",
      "guess": "app code: user popover component",
      "kind": "app",
      "evidence": [
        "user-popover",
        "follow_from_user_popover",
        "isFollowed",
        "bioHtml",
        "workInformation",
        "websiteUrl",
        "localTime",
        "unfollow",
        "I18N_USER_BLOCKED",
        "I18N_USER_BUSY",
        "toggleFollowLoading",
        "USER_POPOVER_DELAY"
      ],
      "truthTopSource": "webpack:///./vue_shared/components/user_popover/user_popover.vue",
      "truthPackage": "[application]",
      "purity": 0.4735,
      "owner": "[application]",
      "guessedPackage": "app",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/dhsu.js",
      "guess": "@vercel/ai telemetry processor",
      "kind": "package",
      "evidence": [
        "VercelAI",
        "VercelAiEventProcessor",
        "ai.toolCall",
        "auto.vercelai.otel",
        "gen_ai.execute_tool",
        "ai.streaming",
        "gen_ai.invoke_agent",
        "ai.usage.inputTokens",
        "ai.usage.outputTokens",
        "gen_ai.response.object",
        "gen_ai.request.available_tools"
      ],
      "truthTopSource": "webpack:///../../../../src/tracing/vercel-ai/index.ts",
      "truthPackage": "[application]",
      "purity": 1,
      "inspection": "Sentry's Vercel AI integration source",
      "owner": "[application]",
      "guessedPackage": "@vercel/ai",
      "classification": "wrong",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/UNrv.js",
      "guess": "tslib",
      "kind": "package",
      "evidence": [
        "__rest",
        "__decorate",
        "__param",
        "__esDecorate",
        "__runInitializers",
        "__propKey",
        "__setFunctionName",
        "__metadata",
        "__awaiter",
        "__generator",
        "__createBinding",
        "__exportStar",
        "__values",
        "__read",
        "__spread",
        "__spreadArrays",
        "__spreadArray",
        "__asyncGenerator",
        "__asyncDelegator",
        "__asyncValues",
        "__makeTemplateObject",
        "__importStar",
        "__importDefault",
        "__classPrivateFieldGet",
        "__classPrivateFieldSet",
        "__classPrivateFieldIn",
        "__addDisposableResource",
        "__disposeResources",
        "__rewriteRelativeImportExtension"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/tslib/tslib.es6.js",
      "truthPackage": "tslib",
      "purity": 1,
      "owner": "tslib",
      "guessedPackage": "tslib",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/2TqH.js",
      "guess": "@gitlab/ui/dist/components/base/disclosure_dropdown",
      "kind": "package",
      "evidence": [
        "name:\"GlDisclosureDropdown\"",
        "GL_DROPDOWN_SHOWN",
        "GL_DROPDOWN_HIDDEN",
        "GlBaseDropdown",
        "GlDisclosureDropdownGroup",
        "gl-base-dropdown"
      ],
      "truthTopSource": "webpack:///../../../node_modules/@gitlab/ui/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.vue",
      "truthPackage": "@gitlab/ui",
      "purity": 0.6023,
      "owner": "@gitlab/ui",
      "guessedPackage": "@gitlab/ui",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/EJYk.js",
      "guess": "GitLab Diagram Performance Warning component",
      "kind": "app",
      "evidence": [
        "DiagramPerformanceWarning",
        "i18n:{bodyText:Object(s.a)(\"Warning: Displaying this diagram might cause performance issues on this page.\"),buttonText:Object(s.a)(\"Display\")",
        "emits:[\"close-alert\",\"show-image\"]"
      ],
      "truthTopSource": "webpack:///behaviors/markdown/render_math.js",
      "truthPackage": "[application]",
      "purity": 0.3482,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/F2LA.js",
      "guess": "GitLab frontend app code",
      "kind": "app",
      "evidence": [
        "gon.features",
        "customElements.define",
        "GlobalAlertsRoot",
        ".js-gfm-input:not(.js-gfm-input-initialized)",
        "vendors-initGFMInput-statusModalBundle",
        ".js-autosize",
        ".js-sidebar-collapse",
        ".js-sidebar-expand",
        ".js-crud-collapsible-button",
        "gl-rounded-lg"
      ],
      "truthTopSource": "webpack:///behaviors/toggler_behavior.js",
      "truthPackage": "[application]",
      "purity": 0.2159,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/i7S8.js",
      "guess": "GitLab UI - Invite Members Modal (app code)",
      "kind": "app",
      "evidence": [
        "InviteMembersModal|Invite members",
        "InviteMembersModal|Role",
        "members_invited_successfully",
        "members_queued_successfully",
        "invite_members",
        "invite_project_members_modal",
        "project-members-page",
        "DESCENDANT_GROUPS",
        "toGroup",
        "toProject"
      ],
      "truthTopSource": "webpack:///invite_members/constants.js",
      "truthPackage": "[application]",
      "purity": 1,
      "owner": "[application]",
      "guessedPackage": "gitlab",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/kMQy.js",
      "guess": "jed",
      "kind": "package",
      "evidence": [
        "@preserve jed.js https://github.com/SlexAxton/Jed",
        "gettext",
        "dgettext",
        "dcgettext",
        "ngettext",
        "dngettext",
        "pgettext",
        "dpgettext",
        "dcpgettext",
        "npgettext",
        "dnpgettext",
        "locale_data",
        "Plural-Forms",
        "Text domain"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/jed/jed.js",
      "truthPackage": "jed",
      "purity": 1,
      "owner": "jed",
      "guessedPackage": "jed",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/3twG.js",
      "guess": "URL utilities library",
      "kind": "app",
      "evidence": [
        "decodeURIComponent(e)",
        "encodeURIComponent(e).replace(/%2F/g",
        "Only http and https protocols are allowed:",
        "noopener",
        "r.pathname=t",
        "r.searchParams.set"
      ],
      "truthTopSource": "webpack:///lib/utils/url_utility.js",
      "truthPackage": "[application]",
      "purity": 1,
      "owner": "[application]",
      "guessedPackage": "url",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/yv3B.js",
      "guess": "bootstrap/js/dropdown",
      "kind": "package",
      "evidence": [
        "\"dropdown\"",
        "\"bs.dropdown\"",
        "\"Bootstrap's dropdowns require Popper (https://popper.js.org)\"",
        "\".dropdown-menu\"",
        "\"show.bs.dropdown\"",
        "\"hide.bs.dropdown\"",
        "\"hidden.bs.dropdown\"",
        "\"shown.bs.dropdown\"",
        "\"aria-expanded\"",
        "\"scrollParent\"",
        "\"dynamic\""
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/vendor/assets/javascripts/bootstrap/js/src/dropdown.js",
      "truthPackage": "[application]",
      "purity": 0.6948,
      "inspection": "vendored Bootstrap under vendor/assets/javascripts",
      "owner": "[application]",
      "guessedPackage": "bootstrap",
      "classification": "wrong",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/6aXW.js",
      "guess": "app code - routing utilities",
      "kind": "app",
      "evidence": [
        "namespace_id",
        "vueroute"
      ],
      "truthTopSource": "webpack:///lib/utils/path_helpers/project.js",
      "truthPackage": "[application]",
      "purity": 1,
      "owner": "[application]",
      "guessedPackage": "app",
      "classification": "correct",
      "packageIdentity": "unscored (application feature)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/WrwP.js",
      "guess": "@floating-ui/core",
      "kind": "package",
      "evidence": [
        "getOverflowAncestors",
        "autoPlacement",
        "autoUpdate",
        "computePosition",
        "detectOverflow",
        "limitShift",
        "platform",
        "middleware",
        "rootBoundary",
        "elementContext",
        "altBoundary"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js",
      "truthPackage": "@floating-ui/core",
      "purity": 0.531,
      "owner": "several packages",
      "guessedPackage": "@floating-ui/core",
      "classification": "unscored (several packages)",
      "packageIdentity": "unscored (several packages)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/zA91.js",
      "guess": "rails-ujs",
      "kind": "package",
      "evidence": [
        "rails-ujs has already been loaded!",
        "If you load both jquery_ujs and rails-ujs, use rails-ujs only.",
        "form:not([data-turbo=true])",
        "data-remote",
        "data-method",
        "data-confirm",
        "meta[name=csrf-token]",
        "meta[name=csrf-param]",
        "X-Requested-With",
        "XMLHttpRequest",
        "data-disable-with"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@rails/ujs/app/assets/javascripts/rails-ujs.esm.js",
      "truthPackage": "@rails/ujs",
      "purity": 1,
      "owner": "@rails/ujs",
      "guessedPackage": "rails-ujs",
      "classification": "correct",
      "packageIdentity": "wrong"
    },
    {
      "source": "webpack://inferred/webpackJsonp/XtiI.js",
      "guess": "actioncable",
      "kind": "package",
      "evidence": [
        "[ActionCable]",
        "ConnectionMonitor started",
        "ConnectionMonitor stopped",
        "ConnectionMonitor recorded connect",
        "ConnectionMonitor recorded disconnect",
        "ConnectionMonitor reopening",
        "SubscriptionGuarantor guaranteeing",
        "SubscriptionGuarantor already guaranteeing",
        "SubscriptionGuarantor forgetting",
        "SubscriptionGuarantor resubscribing",
        "actioncable-v1-json",
        "actioncable-unsupported",
        "meta[name='action-cable-${e}']",
        "Subscription confirmed",
        "WebSocket onopen event",
        "WebSocket onclose event",
        "WebSocket onerror event"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js",
      "truthPackage": "@rails/actioncable",
      "purity": 0.9992,
      "owner": "several packages",
      "guessedPackage": "actioncable",
      "classification": "unscored (several packages)",
      "packageIdentity": "unscored (several packages)"
    },
    {
      "source": "webpack://inferred/webpackJsonp/35gi.js",
      "guess": "@gitlab/ui (GlFilteredSearchToken component)",
      "kind": "package",
      "evidence": [
        "name:\"GlFilteredSearchToken\"",
        "components:{GlToken:n.a,GlFilteredSearchTokenSegment:o.a}",
        "GlFilteredSearchTokenSegment",
        "gl-filtered-search-token",
        "SEGMENT_DATA",
        "SEGMENT_OPERATOR",
        "multiSelectValues"
      ],
      "truthTopSource": "webpack:////builds/gitlab/gitlab-ee/node_modules/@gitlab/ui/src/components/base/filtered_search/filtered_search_token.vue",
      "truthPackage": "@gitlab/ui",
      "purity": 0.5071,
      "owner": "@gitlab/ui",
      "guessedPackage": "@gitlab/ui",
      "classification": "correct",
      "packageIdentity": "correct"
    },
    {
      "source": "webpack://inferred/webpackJsonp/0Q6N.js",
      "guess": "@gitlab/ui toast notification component",
      "kind": "package",
      "evidence": [
        "name:\"GlToast\"",
        "name:\"GlToaster\"",
        "components:{CloseButton:a.a}",
        "props:{toastId",
        "message:{type:String",
        "autoHideDelay:{type:Number",
        "created(){this.useCssTransition=l",
        "MountingPortal:n.MountingPortal",
        "expose:[",
        "hideToast",
        "removeToast",
        "enter-active-class",
        "leave-active-class"
      ],
      "truthTopSource": "webpack:///../../../node_modules/@gitlab/ui/src/components/base/toast/toast.vue",
      "truthPackage": "@gitlab/ui",
      "purity": 0.3129,
      "owner": "@gitlab/ui",
      "guessedPackage": "@gitlab/ui",
      "classification": "correct",
      "packageIdentity": "correct"
    }
  ]
}
