{"results":{"result":{"added-files":{"code-health":0.0,"old-code-health":0.0,"files":[]},"external-review-url":"https://github.com/umbraco/Umbraco-CMS/pull/22736","old-code-health":8.559082927000247,"modified-files":{"code-health":8.509834897967858,"old-code-health":8.559082927000247,"files":[{"file":"src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts","loc":475,"old-loc":486,"code-health":8.453365483575062,"old-code-health":8.529434427555808},{"file":"templates/UmbracoExtension/Client/src/entrypoints/entrypoint.ts","loc":18,"old-loc":10,"code-health":10.0,"old-code-health":10.0}]},"removed-files":{"code-health":0.0,"old-code-health":0.0,"files":[]},"external-review-id":"22736","analysis-time":"2026-05-06T15:08:14Z","negative-impact-count":0,"suppressions":{"number-of-types":0,"number-of-files-touched":0,"findings":[]},"affected-hotspots":0,"commits":["15970f3efe0c4b502f40927caf516d93106c5378","fc2c4b3c56fc3a11fe1a3797387b32edd0ed9be9"],"is-negative-review":false,"negative-findings":{"number-of-types":0,"number-of-files-touched":0,"findings":[]},"positive-impact-count":1,"repo":"Umbraco-CMS","code-health":8.509834897967858,"version":"3.0","authors":["Jacob Overgaard"],"directives":{"added":[],"removed":[]},"positive-findings":{"number-of-types":1,"number-of-files-touched":1,"findings":[{"name":"Primitive Obsession","file":"src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts","change-type":"improved","change-level":"improvement","is-hotspot?":false,"why-it-occurs":"Code that uses a high degree of built-in, primitives such as integers, strings, floats, lacks a domain language that encapsulates the validation and semantics of function arguments. Primitive Obsession has several consequences: 1) In a statically typed language, the compiler will detect less erroneous assignments. 2) Security impact since the possible value range of a variable/argument isn't retricted.\n\nIn this module, 65 % of all functions have primitive types as arguments.","how-to-fix":"Primitive Obsession indicates a missing domain language. Introduce data types that encapsulate the details and constraints of your domain. For example, instead of `int userId`, consider `User clicked`.","what-changed":"The ratio of primitive types in function arguments decreases from 68.42% to 65.00%, threshold = 30.0%"}]},"notices":{"number-of-types":0,"number-of-files-touched":0,"findings":[]},"external-review-provider":"GitHub"},"analysistime":"2026-05-06T15:08:13.000Z","project-name":"Umbraco-CMS","repository":"https://github.com/umbraco/Umbraco-CMS.git"}}