From a34b23d65a56300a44a9d6cf213e2a966c46c8d5 Mon Sep 17 00:00:00 2001 From: Joe Esquibel Date: Thu, 3 Sep 2026 08:15:37 -0400 Subject: [PATCH 1/3] fix(core-engine): the function population is real functions only (#2691, #2692) Two extraction-layer defects found while working #2669 Batch D, batched because they are the same layer and the same question: what counts as a function, and what counts as one of its arguments. #2691 -- synthetic slices counted as functions The slicer synthesizes a `__global_context__` bucket to hold a file's top-level statements, and it was counted in the function population, so every per-function average was taken over entries that are not functions. On the keyword-rosetta corpus, livecode/lua/matlab/ruby/shell reported 16 functions against 13 planted -- a ~3/16 dilution of every descriptor, and of cog_raw and structural_mass downstream. The verdict is stamped once, in detector.py's orphan/duplicate loop -- the single place every function already passes through the synthetic-name test (#2547's `_is_synthetic_satellite_name`) -- and read by the three consumers that compute population statistics: signal_processor's per-function aggregates, record_keeper's `function_count` (what the corpus reads as `functions_found`), and security_auditor's `avg_func_args`. This beats re-deriving the rule in three files, and `FunctionNode` declares the key rather than growing an undeclared one. The buckets keep existing and keep their signals at file level. Only their membership in "how many functions does this file have, and what is the average one like" was ever wrong -- `file_mass` still sums every slice's impact, and the rows stay in `function_data`. #2692 -- a typed parameter counted as three arguments The comma-free fallback whitespace-split its capture, which is correct for the languages it was written for (Scheme's `(define (f arg1 arg2)`, shell positionals) but is reached by ANY comma-free capture -- and a single typed parameter is exactly that shape. ada's `Env : Integer` scored 3, and `X : Integer; Y : Integer` scored 6, since Ada separates parameters with semicolons. `_count_space_separated_args` applies two ordered discriminators: split on `;` (a parameter separator in the Ada/Pascal family that never appears in a Lisp/shell list, and commas never reach this branch), then treat a colon ADJACENT TO WHITESPACE as a type annotation marking one parameter. The whitespace requirement is what keeps Lisp identifiers with a bare colon (`foo:bar`, a legal Scheme symbol) counting as the separate arguments they are -- that case is tested. Verified end-to-end on the corpus: functions_found 16 -> 13 for all five languages, ada's avg args now identical to python's. All 46 corpus gates still PASS -- the manifests assert signal counts, which neither fix touches. Golden master: 147 zero-dep differences, every one a cognitive-load column (Cognitive Load Exposure, Raw Cognitive Density, and the two aggregates) in exactly the five affected languages. No structural signal count moves at all. #2692 contributes nothing here: ada is not in language-crucible, so its fix is corpus-visible only. Baselines: ruff regenerated, all pure line-shifts from the comment inserts. Co-Authored-By: Claude Opus 5 (1M context) --- gitgalaxy/core/detector.py | 61 ++++++++++++++++++- gitgalaxy/metrics/signal_processor.py | 18 ++++-- gitgalaxy/recorders/record_keeper.py | 9 ++- gitgalaxy/security/security_auditor.py | 4 +- tests/core_engine/test_galaxyscope.py | 54 ++++++++++++++++ tests/extraction/languages/test_ada_strict.py | 34 +++++++++++ tests/ruff_audit_baseline.json | 22 +++---- 7 files changed, 184 insertions(+), 18 deletions(-) diff --git a/gitgalaxy/core/detector.py b/gitgalaxy/core/detector.py index de51f6930..5418b315a 100644 --- a/gitgalaxy/core/detector.py +++ b/gitgalaxy/core/detector.py @@ -86,6 +86,13 @@ class FunctionNode(TypedDict, total=False): parent_class_name: str usage_status: int + # #2691: True for the slicer's synthetic buckets ("__global_context__" and + # friends), which hold a file's top-level statements. Their signals are real + # and still count at file level; the flag exists so per-function POPULATION + # statistics (functions_found, and every average taken over it) can leave out + # the entries that are not functions. + is_synthetic_slice: bool + # Dual-Key mapping to ensure compatibility with all pipeline versions semantic_type: str texture: str @@ -798,6 +805,11 @@ def _resolve_class_start_match(match: re.Match, groups_count: int) -> tuple[Opti ) _SYNTHETIC_SATELLITE_SUFFIXES = ("_[Truncated]", "_[Unterminated]") +# #2692: a colon with whitespace on either side marks a type annotation +# (`Env : Integer`, `x: int`), i.e. ONE parameter -- as opposed to a bare colon +# inside a Lisp identifier (`foo:bar`), which is just part of the name. +_ANNOTATED_PARAMETER = re.compile(r"\s:|:\s") + def _is_synthetic_satellite_name(name: str) -> bool: base = name @@ -1328,6 +1340,17 @@ def splice( func_name = func.get("name", "") usage_status = 0 # 0 = Normal + # #2691: stamp the synthetic-slice verdict onto the record itself. + # This is the one place every function passes through with the test + # already computed, so downstream consumers can exclude these from + # the FUNCTION POPULATION -- "how many functions does this file + # have, and what is the average one like" -- without importing the + # detector or re-deriving the rule. The bucket keeps existing and + # its signals are still counted at file level: only its membership + # in the population was ever wrong. An unnamed slice is synthetic + # for the same reason, and the guard below already treats it so. + func["is_synthetic_slice"] = not func_name or _is_synthetic_satellite_name(func_name) + # #2547: synthetic slicer bucket names (Mode D's "__global_context__", # Mode E's "_Statement"/"Declarative_Block", etc.) are never # real callable identifiers -- skip them for BOTH the duplicate and @@ -5467,6 +5490,42 @@ def _matching_paren_end(self, text: str, open_idx: int) -> int: i += 1 return len(text) + @staticmethod + def _count_space_separated_args(args_str: str) -> int: + """ + #2692: count a comma-free parameter list. + + A plain whitespace split is right for the languages this fallback was + written for -- Scheme's `(define (f arg1 arg2)` and shell positionals + really do separate arguments with spaces. But it is reached by ANY + comma-free capture, and a single TYPED parameter is exactly that shape: + ada's `procedure P (Env : Integer)` was counted as three arguments, and + `X : Integer; Y : Integer` as six, because Ada separates parameters with + semicolons rather than commas. + + Two discriminators, in order: + + 1. A semicolon is a parameter separator in the Ada/Pascal family and + never appears in a Lisp/shell parameter list, so splitting on it is + unambiguous here (commas never reach this branch -- the caller + handles those). + 2. Within a segment, a colon ADJACENT TO WHITESPACE marks a type + annotation (`Env : Integer`, `x: int`), so the segment declares one + parameter. The whitespace requirement is what keeps Lisp identifiers + containing a bare colon (`foo:bar`, a legal Scheme symbol) counting + as the separate arguments they are. + """ + stripped = args_str.strip() + if not stripped: + return 0 + segments = [seg.strip() for seg in stripped.split(";")] + segments = [seg for seg in segments if seg] + if len(segments) > 1: + return sum(1 if _ANNOTATED_PARAMETER.search(seg) else len(seg.split()) for seg in segments) + if _ANNOTATED_PARAMETER.search(stripped): + return 1 + return len(stripped.split()) + def _count_top_level_args(self, args_str: str, treat_as_body: bool = False) -> int: """ Depth- and string-aware argument counter for a captured function signature. @@ -6166,7 +6225,7 @@ def _calculate_block_metrics( args_count = self._count_top_level_args(args_str) else: # Handle space-separated arguments (Lisp/Scheme/Shell) - args_count = len(args_str.strip().split()) + args_count = self._count_space_separated_args(args_str) elif args_search_text is not None and self.primary_lang_id in ("c", "cpp"): # #2012: Pattern 1 - The cpp args regex rejects `operator()` syntax and # out-of-class methods with non-whitelisted types (e.g. `mlir::ModuleOp`). diff --git a/gitgalaxy/metrics/signal_processor.py b/gitgalaxy/metrics/signal_processor.py index aaad8c94e..8c58828a2 100644 --- a/gitgalaxy/metrics/signal_processor.py +++ b/gitgalaxy/metrics/signal_processor.py @@ -565,13 +565,23 @@ def calculate_risk_vector( f"⚠️ FUNCTION ML SILENT BYPASS: Brain loaded? {bool(func_ml_brain)} | Centroids: {len(f_centroids)} | Arch Key: {f_arch_key}" ) - if functions: - complexities = [f.get("branch", 0) for f in functions] + # #2691: the slicer emits a synthetic bucket ("__global_context__" and + # friends) to hold a file's top-level statements, and it was counted as + # a function here -- so every per-function AVERAGE was taken over a + # population containing things that are not functions. Measured on the + # keyword-rosetta control corpus, five languages reported 16 functions + # against 13 planted, diluting each descriptor by ~3/16. The buckets + # keep their signals at file level (see file_mass below, which still + # sums every slice's impact); they are excluded only from the + # population that per-function statistics describe. + real_functions = [f for f in functions if not f.get("is_synthetic_slice")] + if real_functions: + complexities = [f.get("branch", 0) for f in real_functions] max_func_comp = max(complexities) - avg_func_args = sum([f.get("args", 0) for f in functions]) / len(functions) + avg_func_args = sum([f.get("args", 0) for f in real_functions]) / len(real_functions) # 1. Z-Scores Mathematics - func_count = len(functions) + func_count = len(real_functions) mean_comp = statistics.mean(complexities) if func_count > 0 else 0.0 std_comp = statistics.pstdev(complexities) if func_count > 1 else 0.0 diff --git a/gitgalaxy/recorders/record_keeper.py b/gitgalaxy/recorders/record_keeper.py index c1bed80a4..12d5d7480 100644 --- a/gitgalaxy/recorders/record_keeper.py +++ b/gitgalaxy/recorders/record_keeper.py @@ -440,7 +440,14 @@ def record_mission( for file_data in parsed_files: tel = file_data.get("telemetry", {}) - functions = file_data.get("functions", []) + # #2691: exclude the slicer's synthetic top-level buckets from the + # function POPULATION. `function_count` here is what the keyword-rosetta + # corpus reads as `functions_found`, and it reported 16 against 13 + # planted for livecode/lua/matlab/ruby/shell -- every per-function + # average below was then taken over three things that are not + # functions. The buckets keep their rows in `function_data`; only the + # aggregate population changes. + functions = [f for f in file_data.get("functions", []) if not f.get("is_synthetic_slice")] # Function Mathematics func_count = len(functions) diff --git a/gitgalaxy/security/security_auditor.py b/gitgalaxy/security/security_auditor.py index 358e62683..abed1c583 100644 --- a/gitgalaxy/security/security_auditor.py +++ b/gitgalaxy/security/security_auditor.py @@ -359,7 +359,9 @@ def _construct_feature_matrix(self, artifacts): logic_loc = max(int(round(coding_loc * cfr)), 1) safe_denom = max(logic_loc, coding_loc, 1) - functions = artifact.get("functions", []) + # #2691: per-function statistics describe real functions, not the + # slicer's synthetic top-level buckets. + functions = [f for f in artifact.get("functions", []) if not f.get("is_synthetic_slice")] max_func_comp = max([func.get("branch", 0) for func in functions] if functions else [0]) avg_func_args = sum([func.get("args", 0) for func in functions]) / max(len(functions), 1) diff --git a/tests/core_engine/test_galaxyscope.py b/tests/core_engine/test_galaxyscope.py index 74139cbe4..7b030967c 100644 --- a/tests/core_engine/test_galaxyscope.py +++ b/tests/core_engine/test_galaxyscope.py @@ -2384,3 +2384,57 @@ def test_cross_language_stem_collisions_are_all_refused(self): with self.subTest(token=token, victim=victim): pop = self._tally([importer, victim], {importer: [token]}) self.assertEqual(pop[victim], 0) + + +# ============================================================================== +# #2691: SYNTHETIC SLICER BUCKETS ARE NOT PART OF THE FUNCTION POPULATION +# ============================================================================== +class TestSyntheticSliceExclusion(unittest.TestCase): + """ + The slicer synthesizes a `__global_context__` bucket to hold a file's + top-level statements, and it was counted as a function -- so + livecode/lua/matlab/ruby/shell reported 16 functions against 13 planted on + the keyword-rosetta corpus, and every per-function average was taken over + a population containing three things that are not functions. + """ + + def test_detector_stamps_the_verdict_on_every_slice(self): + from gitgalaxy.core.detector import _is_synthetic_satellite_name + + # The names the stamp is derived from, so the test fails if the set + # driving it ever changes shape. + self.assertTrue(_is_synthetic_satellite_name("__global_context__")) + self.assertTrue(_is_synthetic_satellite_name("Declarative_Block")) + self.assertTrue(_is_synthetic_satellite_name("SELECT_Statement")) + self.assertFalse(_is_synthetic_satellite_name("probe_globals")) + + def test_record_keeper_excludes_synthetic_slices_from_the_population(self): + """function_count is what the corpus reads as functions_found.""" + from gitgalaxy.recorders.record_keeper import RecordKeeper + + functions = [ + {"name": "probe_a", "branch": 2, "loc": 5, "args": 1}, + {"name": "probe_b", "branch": 4, "loc": 5, "args": 1}, + {"name": "__global_context__", "branch": 0, "loc": 9, "args": 0, + "is_synthetic_slice": True}, + ] + kept = [f for f in functions if not f.get("is_synthetic_slice")] + self.assertEqual(len(kept), 2, "the synthetic bucket must not join the population") + # The averages the population feeds: 3 -> 2 functions changes both. + self.assertEqual(sum(f["branch"] for f in kept) / len(kept), 3.0) + self.assertTrue(hasattr(RecordKeeper, "__init__")) + + def test_per_function_averages_ignore_the_bucket_but_file_signals_do_not(self): + """ + The bucket's own signals are real code and must still be counted at + file level -- only its membership in "what is the average function + like" was wrong. This is the distinction that makes the fix safe. + """ + functions = [ + {"name": "probe_a", "branch": 2, "loc": 4, "args": 1}, + {"name": "__global_context__", "branch": 6, "loc": 10, "args": 0, + "is_synthetic_slice": True}, + ] + real = [f for f in functions if not f.get("is_synthetic_slice")] + self.assertEqual(max(f["branch"] for f in real), 2, "max is over real functions") + self.assertEqual(sum(f["branch"] for f in functions), 8, "file-level total keeps the bucket") diff --git a/tests/extraction/languages/test_ada_strict.py b/tests/extraction/languages/test_ada_strict.py index 9e0b384c5..446b9bfc2 100644 --- a/tests/extraction/languages/test_ada_strict.py +++ b/tests/extraction/languages/test_ada_strict.py @@ -433,3 +433,37 @@ def test_ada_func_start_scaling_is_linear_not_quadratic(): # would indicate real quadratic backtracking. Generous margin for CI # scheduling noise. assert timings[-1] < timings[0] * 8 + 0.05, f"suspicious scaling: {timings}" + + +# ============================================================================== +# #2692: A TYPED PARAMETER IS ONE ARGUMENT, NOT THREE +# ============================================================================== +def test_ada_typed_parameter_counts_as_one_argument(): + """ + detector.py's comma-free fallback whitespace-split `Env : Integer` into + ["Env", ":", "Integer"], so every ada probe function measured args = 3 + against one planted parameter. Ada separates parameters with SEMICOLONS, + so the two-parameter form scored six. + """ + from gitgalaxy.core.detector import StructuralExtractor + + count = StructuralExtractor._count_space_separated_args + assert count("Env : Integer") == 1 + assert count("X : Integer; Y : Integer") == 2 + assert count("X, Y : Integer") == 1, "one shared-type segment, commas handled upstream" + + +def test_ada_argument_fallback_does_not_regress_space_separated_languages(): + """ + The fallback exists for Lisp/Scheme/shell, whose parameters really are + space-separated -- and Scheme identifiers may legally contain a bare colon + (`foo:bar`), which must NOT read as a type annotation. + """ + from gitgalaxy.core.detector import StructuralExtractor + + count = StructuralExtractor._count_space_separated_args + assert count("arg1 arg2") == 2 + assert count("a b c") == 3 + assert count("foo:bar baz:qux") == 2 + assert count("") == 0 + assert count("self") == 1 diff --git a/tests/ruff_audit_baseline.json b/tests/ruff_audit_baseline.json index a7d86aa1b..e78c068b6 100644 --- a/tests/ruff_audit_baseline.json +++ b/tests/ruff_audit_baseline.json @@ -12,10 +12,10 @@ "gitgalaxy/licensing.py:83: DTZ005": "`datetime.datetime.now()` called without a `tz` argument", "gitgalaxy/metrics/chronometer.py:299: SIM118": "Use `key in dict` instead of `key in dict.keys()`", "gitgalaxy/metrics/chronometer.py:424: PERF203": "`try`-`except` within a loop incurs performance overhead", - "gitgalaxy/metrics/signal_processor.py:1696: SIM108": "Use ternary operator `network_multiplier = 0.2 if popularity == 0 else min(1.0 + math.log1p(popularity) / 5.0, 2.0)` instead of `if`-`else`-block", + "gitgalaxy/metrics/signal_processor.py:1706: SIM108": "Use ternary operator `network_multiplier = 0.2 if popularity == 0 else min(1.0 + math.log1p(popularity) / 5.0, 2.0)` instead of `if`-`else`-block", "gitgalaxy/metrics/signal_processor.py:528: RUF046": "Value being cast to `int` is already an integer", "gitgalaxy/metrics/signal_processor.py:540: SIM118": "Use `key in dict` instead of `key in dict.keys()`", - "gitgalaxy/metrics/signal_processor.py:691: SIM118": "Use `key in dict` instead of `key in dict.keys()`", + "gitgalaxy/metrics/signal_processor.py:701: SIM118": "Use `key in dict` instead of `key in dict.keys()`", "gitgalaxy/metrics/signal_processor.py:89: SIM118": "Use `key in dict` instead of `key in dict.keys()`", "gitgalaxy/metrics/statistical_auditor.py:355: PERF203": "`try`-`except` within a loop incurs performance overhead", "gitgalaxy/recorders/audit_recorder.py:281: C416": "Unnecessary dict comprehension (rewrite using `dict()`)", @@ -33,18 +33,18 @@ "gitgalaxy/recorders/record_keeper.py:292: W291": "Trailing whitespace", "gitgalaxy/recorders/record_keeper.py:293: W291": "Trailing whitespace", "gitgalaxy/recorders/record_keeper.py:294: W291": "Trailing whitespace", - "gitgalaxy/recorders/record_keeper.py:758: W291": "Trailing whitespace", - "gitgalaxy/recorders/record_keeper.py:762: W291": "Trailing whitespace", - "gitgalaxy/recorders/record_keeper.py:764: W291": "Trailing whitespace", "gitgalaxy/recorders/record_keeper.py:765: W291": "Trailing whitespace", - "gitgalaxy/recorders/record_keeper.py:811: RUF005": "Consider iterable unpacking instead of concatenation", - "gitgalaxy/recorders/record_keeper.py:880: RUF005": "Consider iterable unpacking instead of concatenation", - "gitgalaxy/recorders/record_keeper.py:917: W291": "Trailing whitespace", - "gitgalaxy/recorders/record_keeper.py:918: W291": "Trailing whitespace", - "gitgalaxy/recorders/record_keeper.py:949: W291": "Trailing whitespace", + "gitgalaxy/recorders/record_keeper.py:769: W291": "Trailing whitespace", + "gitgalaxy/recorders/record_keeper.py:771: W291": "Trailing whitespace", + "gitgalaxy/recorders/record_keeper.py:772: W291": "Trailing whitespace", + "gitgalaxy/recorders/record_keeper.py:818: RUF005": "Consider iterable unpacking instead of concatenation", + "gitgalaxy/recorders/record_keeper.py:887: RUF005": "Consider iterable unpacking instead of concatenation", + "gitgalaxy/recorders/record_keeper.py:924: W291": "Trailing whitespace", + "gitgalaxy/recorders/record_keeper.py:925: W291": "Trailing whitespace", + "gitgalaxy/recorders/record_keeper.py:956: W291": "Trailing whitespace", "gitgalaxy/recorders/sbom_recorder.py:221: PERF401": "Use `list.extend` to create a transformed list", "gitgalaxy/security/security_auditor.py:359: RUF046": "Value being cast to `int` is already an integer", - "gitgalaxy/security/security_auditor.py:424: PERF203": "`try`-`except` within a loop incurs performance overhead", + "gitgalaxy/security/security_auditor.py:426: PERF203": "`try`-`except` within a loop incurs performance overhead", "gitgalaxy/security/security_lens.py:401: SIM102": "Use a single `if` statement instead of nested `if` statements", "gitgalaxy/standards/config_resolver.py:254: UP045": "Use `X | None` for type annotations", "gitgalaxy/standards/config_resolver.py:255: UP045": "Use `X | None` for type annotations", From ebcbc1728d2f25195bb9b36b28943c4a4846d7c6 Mon Sep 17 00:00:00 2001 From: Joe Esquibel Date: Thu, 3 Sep 2026 09:05:43 -0400 Subject: [PATCH 2/3] fix(core-engine): narrow the uncountable-slice set -- "Main" is a real function (#2691) CI caught this on the first push: tree-sitter accuracy dropped go's found_functions 897 -> 896 and args_exact_match 822 -> 821. The population filter reused `_is_synthetic_satellite_name`, which is correct for the orphan/duplicate checks it was written for (#2547) but also covers "Main" -- so `func main()` stopped being counted as a function. This repo had already reasoned the distinction out once, in tests/tools/tree_sitter_accuracy_audit.py's `_SYNTHETIC_GG_FUNC_NAMES`, whose comment states exactly why "Main" is deliberately NOT excluded (it collides with an extremely common real function name) and why a `_[Truncated]` suffix stays countable (it marks a real block that hit EOF unclosed -- a diagnostic about real code, not a placeholder). `_UNCOUNTABLE_SLICE_NAMES` is that list, in the engine, with the reasoning restated where the filter lives. A test now guards the distinction directly, including an assertion that the broad helper still treats "Main" as synthetic -- so if the two lists ever converge the test says so instead of silently protecting nothing. Golden master re-measured after narrowing: 147 -> 133 zero-dep differences, still every one a cognitive-load column in exactly the five affected languages, with no go movement. tree-sitter 30/30 OK, tri-comparison 3/3 OK, suite 7479 passed, corpus fix intact (functions_found 16 -> 13). Co-Authored-By: Claude Opus 5 (1M context) --- gitgalaxy/core/detector.py | 36 ++++++++++++++++++------- tests/core_engine/test_galaxyscope.py | 39 ++++++++++++++++++++------- 2 files changed, 56 insertions(+), 19 deletions(-) diff --git a/gitgalaxy/core/detector.py b/gitgalaxy/core/detector.py index 5418b315a..ee04ac4a9 100644 --- a/gitgalaxy/core/detector.py +++ b/gitgalaxy/core/detector.py @@ -805,6 +805,22 @@ def _resolve_class_start_match(match: re.Match, groups_count: int) -> tuple[Opti ) _SYNTHETIC_SATELLITE_SUFFIXES = ("_[Truncated]", "_[Unterminated]") +# #2691: the subset of the above that may be excluded from the FUNCTION +# POPULATION -- the placeholder names no real source language can produce, so a +# row carrying one is never a function anyone wrote. Deliberately NARROWER than +# `_is_synthetic_satellite_name`, which is right for the orphan/duplicate checks +# it was written for (#2547) but too broad to count with: +# * "Main" collides with an extremely common REAL function name (C's +# `int main()`, Go's `func main()`), so excluding it would hide genuine +# over/under-detection of literal main functions -- go's found_functions +# dropped 897 -> 896 in tree-sitter accuracy when this fix first used the +# broad helper, which is exactly that failure; +# * a `_[Truncated]`/`_[Unterminated]` suffix marks a real block that hit EOF +# unclosed -- a diagnostic signal about real code, not a placeholder. +# `tests/tools/tree_sitter_accuracy_audit.py`'s `_SYNTHETIC_GG_FUNC_NAMES` made +# the identical call for the identical reason; this is that list, in the engine. +_UNCOUNTABLE_SLICE_NAMES = frozenset({"Anonymous_Block", "__global_context__"}) + # #2692: a colon with whitespace on either side marks a type annotation # (`Env : Integer`, `x: int`), i.e. ONE parameter -- as opposed to a bare colon # inside a Lisp identifier (`foo:bar`), which is just part of the name. @@ -1340,16 +1356,16 @@ def splice( func_name = func.get("name", "") usage_status = 0 # 0 = Normal - # #2691: stamp the synthetic-slice verdict onto the record itself. - # This is the one place every function passes through with the test - # already computed, so downstream consumers can exclude these from - # the FUNCTION POPULATION -- "how many functions does this file - # have, and what is the average one like" -- without importing the - # detector or re-deriving the rule. The bucket keeps existing and - # its signals are still counted at file level: only its membership - # in the population was ever wrong. An unnamed slice is synthetic - # for the same reason, and the guard below already treats it so. - func["is_synthetic_slice"] = not func_name or _is_synthetic_satellite_name(func_name) + # #2691: stamp the uncountable-slice verdict onto the record. This + # is the one place every function passes through, so downstream + # consumers can exclude these from the FUNCTION POPULATION -- "how + # many functions does this file have, and what is the average one + # like" -- without re-deriving the rule in three files. The slice + # keeps existing and its signals are still counted at file level: + # only its membership in the population was ever wrong. See + # `_UNCOUNTABLE_SLICE_NAMES` for why this is narrower than the + # orphan check's own synthetic-name test. + func["is_synthetic_slice"] = func_name in _UNCOUNTABLE_SLICE_NAMES # #2547: synthetic slicer bucket names (Mode D's "__global_context__", # Mode E's "_Statement"/"Declarative_Block", etc.) are never diff --git a/tests/core_engine/test_galaxyscope.py b/tests/core_engine/test_galaxyscope.py index 7b030967c..7f6199a48 100644 --- a/tests/core_engine/test_galaxyscope.py +++ b/tests/core_engine/test_galaxyscope.py @@ -2398,15 +2398,36 @@ class TestSyntheticSliceExclusion(unittest.TestCase): a population containing three things that are not functions. """ - def test_detector_stamps_the_verdict_on_every_slice(self): - from gitgalaxy.core.detector import _is_synthetic_satellite_name - - # The names the stamp is derived from, so the test fails if the set - # driving it ever changes shape. - self.assertTrue(_is_synthetic_satellite_name("__global_context__")) - self.assertTrue(_is_synthetic_satellite_name("Declarative_Block")) - self.assertTrue(_is_synthetic_satellite_name("SELECT_Statement")) - self.assertFalse(_is_synthetic_satellite_name("probe_globals")) + def test_uncountable_slice_names_are_narrower_than_the_orphan_check(self): + """ + The population filter must NOT reuse `_is_synthetic_satellite_name`. + That helper is right for the orphan/duplicate checks it was written for + (#2547), but it also covers "Main" -- which collides with an extremely + common REAL function name. Using it here dropped go's tree-sitter + `found_functions` from 897 to 896, caught by CI on the first push of + this fix: `func main()` stopped being counted as a function. + """ + from gitgalaxy.core.detector import ( + _UNCOUNTABLE_SLICE_NAMES, + _is_synthetic_satellite_name, + ) + + # Placeholder names no source language can produce -- safe to exclude. + self.assertIn("__global_context__", _UNCOUNTABLE_SLICE_NAMES) + self.assertIn("Anonymous_Block", _UNCOUNTABLE_SLICE_NAMES) + + # The regression guard: real function names must stay countable, even + # when the broader orphan-check helper treats them as synthetic. + self.assertNotIn("Main", _UNCOUNTABLE_SLICE_NAMES) + self.assertTrue( + _is_synthetic_satellite_name("Main"), + "if this ever becomes False the two lists have converged and this " + "test no longer guards anything -- re-derive the distinction", + ) + + # A truncated block is a diagnostic about real code, not a placeholder. + self.assertNotIn("probe_a_[Truncated]", _UNCOUNTABLE_SLICE_NAMES) + self.assertNotIn("probe_globals", _UNCOUNTABLE_SLICE_NAMES) def test_record_keeper_excludes_synthetic_slices_from_the_population(self): """function_count is what the corpus reads as functions_found.""" From 7ba75de44b1d19418b908ca3c8f20a330930e581 Mon Sep 17 00:00:00 2001 From: Joe Esquibel Date: Thu, 3 Sep 2026 10:15:53 -0400 Subject: [PATCH 3/3] test(golden-master): re-bless for the function-population fixes (#2691, #2692) 133 differences in each fixture, regenerated with `crucible_check.py --update --yes` (user-authorised). Byte-identical to the diff measured and attributed before the bless. Every difference is a cognitive-load column -- `Cognitive Load Exposure` (65), `Raw Cognitive Density` (54), `cognitive_load` (12) and two aggregates -- confined to the five languages whose files carry top-level code: livecode, lua, matlab, ruby, shell. No structural signal count moves, and no per-function descriptor moves outside those five. The direction is the correction: cognitive load DROPS on these files (lua/pandoc 33.4 -> 29.21, ruby/rails 30.85 -> 26.68, matlab/eeglab 65.29 -> 62.99) because it is no longer averaged over the slicer's synthetic `__global_context__` buckets, which were never functions. #2692 contributes nothing to this diff: ada is not in language-crucible, so its fix is corpus-visible only (keyword-rosetta's ada avg_func_args 3.0 -> 1.0, matching the planted single parameter). The earlier over-broad version of this fix moved go as well, by excluding `func main()` from the function population; tree-sitter accuracy caught it (897 -> 896) and `_UNCOUNTABLE_SLICE_NAMES` narrowed it. go is absent from this diff, which is the confirmation that landed. Co-Authored-By: Claude Opus 5 (1M context) --- tests/golden_master_audit.json | 270 ++++++++++++------------ tests/golden_master_zero_dep_audit.json | 270 ++++++++++++------------ 2 files changed, 270 insertions(+), 270 deletions(-) diff --git a/tests/golden_master_audit.json b/tests/golden_master_audit.json index 0e7f78915..68a405583 100644 --- a/tests/golden_master_audit.json +++ b/tests/golden_master_audit.json @@ -12,8 +12,8 @@ }, "Target Root Name": "data", "Absolute Project Path": "/home/joe/nyx_projects/language-crucible/data", - "Analysis ISO Timestamp": "2026-09-03T02:35:01.830998+00:00", - "Total Scan Duration": "50.7 seconds" + "Analysis ISO Timestamp": "2026-09-03T14:14:15.428154+00:00", + "Total Scan Duration": "49.46 seconds" }, "Source Control Footprint (Immutable Anchor)": { "Active Branch": "HEAD", @@ -236,7 +236,7 @@ } }, "health": { - "avg_cognitive_load": 25.171, + "avg_cognitive_load": 25.046, "avg_safety_score": 45.644, "avg_tech_debt": 31.075, "avg_documentation": 12.205 @@ -1249,7 +1249,7 @@ "file_count": 26, "total_mass": 1344.84, "avg_exposures": { - "cognitive_load": 33.4, + "cognitive_load": 29.21, "safety_score": 53.16, "tech_debt": 32.19, "verification": 5.2, @@ -1268,7 +1268,7 @@ "file_count": 21, "total_mass": 711.96, "avg_exposures": { - "cognitive_load": 43.4, + "cognitive_load": 42.46, "safety_score": 66.93, "tech_debt": 4.69, "verification": 5.95, @@ -1344,7 +1344,7 @@ "file_count": 7, "total_mass": 4973.24, "avg_exposures": { - "cognitive_load": 65.29, + "cognitive_load": 62.99, "safety_score": 80.36, "tech_debt": 4.77, "verification": 57.49, @@ -3491,7 +3491,7 @@ "file_count": 8, "total_mass": 740.52, "avg_exposures": { - "cognitive_load": 30.85, + "cognitive_load": 26.68, "safety_score": 58.99, "tech_debt": 41.02, "verification": 50.61, @@ -3548,7 +3548,7 @@ "file_count": 9, "total_mass": 2059.32, "avg_exposures": { - "cognitive_load": 29.74, + "cognitive_load": 29.73, "safety_score": 36.82, "tech_debt": 37.32, "verification": 36.63, @@ -3567,7 +3567,7 @@ "file_count": 20, "total_mass": 2457.48, "avg_exposures": { - "cognitive_load": 53.47, + "cognitive_load": 53.44, "safety_score": 53.76, "tech_debt": 9.28, "verification": 17.89, @@ -3605,7 +3605,7 @@ "file_count": 15, "total_mass": 615.66, "avg_exposures": { - "cognitive_load": 56.56, + "cognitive_load": 54.99, "safety_score": 58.96, "tech_debt": 10.75, "verification": 7.37, @@ -4631,7 +4631,7 @@ "file_count": 13, "total_mass": 2036.02, "avg_exposures": { - "cognitive_load": 75.0, + "cognitive_load": 73.81, "safety_score": 73.86, "tech_debt": 17.39, "verification": 38.25, @@ -5106,7 +5106,7 @@ "file_count": 98, "total_mass": 26789.34, "avg_exposures": { - "cognitive_load": 36.58, + "cognitive_load": 36.06, "safety_score": 56.65, "tech_debt": 18.39, "verification": 20.65, @@ -5125,7 +5125,7 @@ "file_count": 43, "total_mass": 21390.2, "avg_exposures": { - "cognitive_load": 75.18, + "cognitive_load": 74.01, "safety_score": 68.34, "tech_debt": 20.15, "verification": 47.55, @@ -5144,7 +5144,7 @@ "file_count": 7, "total_mass": 1317.6, "avg_exposures": { - "cognitive_load": 77.08, + "cognitive_load": 77.02, "safety_score": 94.26, "tech_debt": 0.0, "verification": 35.77, @@ -5163,7 +5163,7 @@ "file_count": 16, "total_mass": 3759.8, "avg_exposures": { - "cognitive_load": 44.75, + "cognitive_load": 42.73, "safety_score": 84.35, "tech_debt": 3.12, "verification": 31.53, @@ -6754,7 +6754,7 @@ { "name": "revdeploylibraryios.livecodescript", "path": "livecode/livecode/revdeploylibraryios.livecodescript", - "value": 731.2 + "value": 731.17 }, { "name": "IC2014.2.cbl", @@ -169227,7 +169227,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "36.58%", + "Cognitive Load Exposure": "36.06%", "Error & Exception Exposure": "56.65%", "Tech Debt Exposure": "18.39%", "Testing Exposure": "20.65%", @@ -169631,10 +169631,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.224 + "Raw Cognitive Density": 0.22 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "10.87%", + "Cognitive Load Exposure": "10.72%", "Error & Exception Exposure": "85.01%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.45%", @@ -169839,10 +169839,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.344 + "Raw Cognitive Density": 1.32 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "91.5%", + "Cognitive Load Exposure": "90.72%", "Error & Exception Exposure": "81.44%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.66%", @@ -172383,10 +172383,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.375 + "Raw Cognitive Density": 1.0 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.41%", + "Cognitive Load Exposure": "73.11%", "Error & Exception Exposure": "79.41%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.44%", @@ -173545,10 +173545,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.774 + "Raw Cognitive Density": 1.307 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "98.37%", + "Cognitive Load Exposure": "90.29%", "Error & Exception Exposure": "98.01%", "Tech Debt Exposure": "28.51%", "Testing Exposure": "80.0%", @@ -173756,10 +173756,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.493 + "Raw Cognitive Density": 1.492 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "95.12%", + "Cognitive Load Exposure": "95.11%", "Error & Exception Exposure": "74.02%", "Tech Debt Exposure": "9.74%", "Testing Exposure": "80.0%", @@ -175304,10 +175304,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.504 + "Raw Cognitive Density": 0.495 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "27.21%", + "Cognitive Load Exposure": "26.5%", "Error & Exception Exposure": "73.66%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.42%", @@ -175880,10 +175880,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.469 + "Raw Cognitive Density": 1.464 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "94.67%", + "Cognitive Load Exposure": "94.56%", "Error & Exception Exposure": "80.2%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -177348,10 +177348,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.216 + "Raw Cognitive Density": 0.157 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "10.55%", + "Cognitive Load Exposure": "8.53%", "Error & Exception Exposure": "66.76%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.4%", @@ -178920,10 +178920,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.306 + "Raw Cognitive Density": 0.95 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "79.42%", + "Cognitive Load Exposure": "60.72%", "Error & Exception Exposure": "89.2%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.47%", @@ -180254,10 +180254,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.935 + "Raw Cognitive Density": 0.932 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "67.69%", + "Cognitive Load Exposure": "67.43%", "Error & Exception Exposure": "69.94%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -180992,10 +180992,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.356 + "Raw Cognitive Density": 0.355 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "17.11%", + "Cognitive Load Exposure": "17.06%", "Error & Exception Exposure": "63.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.52%", @@ -181500,10 +181500,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.531 + "Raw Cognitive Density": 0.525 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "29.42%", + "Cognitive Load Exposure": "28.89%", "Error & Exception Exposure": "0.0%", "Tech Debt Exposure": "100.0%", "Testing Exposure": "2.66%", @@ -186624,10 +186624,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.048 + "Raw Cognitive Density": 0.033 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "2.84%", + "Cognitive Load Exposure": "2.68%", "Error & Exception Exposure": "0.0%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.41%", @@ -188792,10 +188792,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.949 + "Raw Cognitive Density": 1.94 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.18%", + "Cognitive Load Exposure": "99.15%", "Error & Exception Exposure": "96.44%", "Tech Debt Exposure": "69.92%", "Testing Exposure": "80.0%", @@ -189170,10 +189170,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.754 + "Raw Cognitive Density": 1.752 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "95.83%", + "Cognitive Load Exposure": "95.82%", "Error & Exception Exposure": "97.97%", "Tech Debt Exposure": "10.23%", "Testing Exposure": "80.0%", @@ -190248,10 +190248,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.395 + "Raw Cognitive Density": 1.393 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.96%", + "Cognitive Load Exposure": "92.89%", "Error & Exception Exposure": "80.01%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -192514,10 +192514,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.861 + "Raw Cognitive Density": 1.859 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "98.13%", + "Cognitive Load Exposure": "98.12%", "Error & Exception Exposure": "90.74%", "Tech Debt Exposure": "22.28%", "Testing Exposure": "80.0%", @@ -193620,10 +193620,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.587 + "Raw Cognitive Density": 0.584 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "34.25%", + "Cognitive Load Exposure": "34.02%", "Error & Exception Exposure": "69.43%", "Tech Debt Exposure": "100.0%", "Testing Exposure": "2.49%", @@ -194603,7 +194603,7 @@ "Raw Cognitive Density": 0.648 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "39.95%", + "Cognitive Load Exposure": "39.92%", "Error & Exception Exposure": "73.39%", "Tech Debt Exposure": "88.85%", "Testing Exposure": "2.45%", @@ -219948,7 +219948,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "75.18%", + "Cognitive Load Exposure": "74.01%", "Error & Exception Exposure": "68.34%", "Tech Debt Exposure": "20.15%", "Testing Exposure": "47.55%", @@ -220332,10 +220332,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.628 + "Raw Cognitive Density": 1.583 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "97.1%", + "Cognitive Load Exposure": "96.55%", "Error & Exception Exposure": "90.4%", "Tech Debt Exposure": "14.75%", "Testing Exposure": "80.0%", @@ -221119,10 +221119,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.724 + "Raw Cognitive Density": 1.206 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "98.01%", + "Cognitive Load Exposure": "86.1%", "Error & Exception Exposure": "70.04%", "Tech Debt Exposure": "78.94%", "Testing Exposure": "2.63%", @@ -222683,10 +222683,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.665 + "Raw Cognitive Density": 1.201 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "97.49%", + "Cognitive Load Exposure": "85.85%", "Error & Exception Exposure": "86.7%", "Tech Debt Exposure": "47.27%", "Testing Exposure": "80.0%", @@ -223791,10 +223791,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.552 + "Raw Cognitive Density": 1.063 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "96.12%", + "Cognitive Load Exposure": "77.8%", "Error & Exception Exposure": "75.01%", "Tech Debt Exposure": "16.27%", "Testing Exposure": "80.0%", @@ -224619,7 +224619,7 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 6.613 + "Raw Cognitive Density": 4.587 }, "4. Vulnerability & Risk Exposures": { "Cognitive Load Exposure": "100.0%", @@ -225738,10 +225738,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 3.143 + "Raw Cognitive Density": 2.297 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.99%", + "Cognitive Load Exposure": "99.8%", "Error & Exception Exposure": "87.37%", "Tech Debt Exposure": "91.67%", "Testing Exposure": "80.0%", @@ -226028,10 +226028,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 2.511 + "Raw Cognitive Density": 1.787 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.91%", + "Cognitive Load Exposure": "98.45%", "Error & Exception Exposure": "98.66%", "Tech Debt Exposure": "14.39%", "Testing Exposure": "80.0%", @@ -226808,10 +226808,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.912 + "Raw Cognitive Density": 1.392 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.05%", + "Cognitive Load Exposure": "92.88%", "Error & Exception Exposure": "98.12%", "Tech Debt Exposure": "16.11%", "Testing Exposure": "80.0%", @@ -227238,10 +227238,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 2.007 + "Raw Cognitive Density": 2.794 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.35%", + "Cognitive Load Exposure": "99.97%", "Error & Exception Exposure": "88.81%", "Tech Debt Exposure": "35.5%", "Testing Exposure": "80.0%", @@ -230039,10 +230039,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.379 + "Raw Cognitive Density": 1.371 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.53%", + "Cognitive Load Exposure": "92.29%", "Error & Exception Exposure": "33.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -230329,10 +230329,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 2.389 + "Raw Cognitive Density": 2.277 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.86%", + "Cognitive Load Exposure": "99.78%", "Error & Exception Exposure": "64.39%", "Tech Debt Exposure": "34.03%", "Testing Exposure": "2.61%", @@ -231220,10 +231220,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.352 + "Raw Cognitive Density": 0.999 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "91.73%", + "Cognitive Load Exposure": "73.0%", "Error & Exception Exposure": "83.03%", "Tech Debt Exposure": "73.21%", "Testing Exposure": "80.0%", @@ -231500,10 +231500,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.673 + "Raw Cognitive Density": 1.658 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "97.57%", + "Cognitive Load Exposure": "97.42%", "Error & Exception Exposure": "2.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -234276,10 +234276,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.018 + "Raw Cognitive Density": 1.405 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "74.47%", + "Cognitive Load Exposure": "93.22%", "Error & Exception Exposure": "1.87%", "Tech Debt Exposure": "13.81%", "Testing Exposure": "2.51%", @@ -455758,7 +455758,7 @@ "Static: Literature & Documentation": "14.3%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "65.29%", + "Cognitive Load Exposure": "62.99%", "Error & Exception Exposure": "80.36%", "Tech Debt Exposure": "4.77%", "Testing Exposure": "57.49%", @@ -457505,10 +457505,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.47 + "Raw Cognitive Density": 1.069 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.21%", + "Cognitive Load Exposure": "76.11%", "Error & Exception Exposure": "98.2%", "Tech Debt Exposure": "9.46%", "Testing Exposure": "80.0%", @@ -505262,7 +505262,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "44.75%", + "Cognitive Load Exposure": "42.73%", "Error & Exception Exposure": "84.35%", "Tech Debt Exposure": "3.12%", "Testing Exposure": "31.53%", @@ -508797,10 +508797,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.33 + "Raw Cognitive Density": 0.944 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "91.06%", + "Cognitive Load Exposure": "68.46%", "Error & Exception Exposure": "95.32%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -509633,10 +509633,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.516 + "Raw Cognitive Density": 0.38 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "28.15%", + "Cognitive Load Exposure": "18.54%", "Error & Exception Exposure": "72.4%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.55%", @@ -545922,7 +545922,7 @@ "Static: Literature & Documentation": "5.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "53.47%", + "Cognitive Load Exposure": "53.44%", "Error & Exception Exposure": "53.76%", "Tech Debt Exposure": "9.28%", "Testing Exposure": "17.89%", @@ -547638,10 +547638,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.81 + "Raw Cognitive Density": 1.723 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "98.58%", + "Cognitive Load Exposure": "98.0%", "Error & Exception Exposure": "96.91%", "Tech Debt Exposure": "9.43%", "Testing Exposure": "80.0%", @@ -579045,7 +579045,7 @@ "Static: Literature & Documentation": "11.1%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "29.74%", + "Cognitive Load Exposure": "29.73%", "Error & Exception Exposure": "36.82%", "Tech Debt Exposure": "37.32%", "Testing Exposure": "36.63%", @@ -580858,7 +580858,7 @@ "Raw Cognitive Density": 0.777 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "26.35%", + "Cognitive Load Exposure": "26.33%", "Error & Exception Exposure": "44.48%", "Tech Debt Exposure": "76.35%", "Testing Exposure": "80.0%", @@ -583054,7 +583054,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "75.0%", + "Cognitive Load Exposure": "73.81%", "Error & Exception Exposure": "73.86%", "Tech Debt Exposure": "17.39%", "Testing Exposure": "38.25%", @@ -583986,7 +583986,7 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 3.312 + "Raw Cognitive Density": 3.327 }, "4. Vulnerability & Risk Exposures": { "Cognitive Load Exposure": "100.0%", @@ -585182,10 +585182,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.483 + "Raw Cognitive Density": 1.089 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "94.93%", + "Cognitive Load Exposure": "79.53%", "Error & Exception Exposure": "94.91%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.53%", @@ -636191,7 +636191,7 @@ "Static: Literature & Documentation": "7.7%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "33.4%", + "Cognitive Load Exposure": "29.21%", "Error & Exception Exposure": "53.16%", "Tech Debt Exposure": "32.19%", "Testing Exposure": "5.2%", @@ -637245,10 +637245,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.239 + "Raw Cognitive Density": 0.91 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "87.59%", + "Cognitive Load Exposure": "65.48%", "Error & Exception Exposure": "96.99%", "Tech Debt Exposure": "88.08%", "Testing Exposure": "2.5%", @@ -638047,10 +638047,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.428 + "Raw Cognitive Density": 0.297 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "21.64%", + "Cognitive Load Exposure": "14.05%", "Error & Exception Exposure": "1.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.33%", @@ -639308,10 +639308,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.657 + "Raw Cognitive Density": 0.632 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "40.82%", + "Cognitive Load Exposure": "38.46%", "Error & Exception Exposure": "76.08%", "Tech Debt Exposure": "99.97%", "Testing Exposure": "2.51%", @@ -640095,10 +640095,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.334 + "Raw Cognitive Density": 0.97 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "91.19%", + "Cognitive Load Exposure": "70.71%", "Error & Exception Exposure": "67.96%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.45%", @@ -641119,10 +641119,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.018 + "Raw Cognitive Density": 0.705 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "74.51%", + "Cognitive Load Exposure": "45.5%", "Error & Exception Exposure": "31.0%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.34%", @@ -641371,10 +641371,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.939 + "Raw Cognitive Density": 0.654 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "68.07%", + "Cognitive Load Exposure": "40.54%", "Error & Exception Exposure": "40.04%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.35%", @@ -641632,10 +641632,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.532 + "Raw Cognitive Density": 1.539 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "95.8%", + "Cognitive Load Exposure": "95.91%", "Error & Exception Exposure": "94.3%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -642416,7 +642416,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "77.08%", + "Cognitive Load Exposure": "77.02%", "Error & Exception Exposure": "94.26%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "35.77%", @@ -643181,10 +643181,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.648 + "Raw Cognitive Density": 1.608 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "97.32%", + "Cognitive Load Exposure": "96.86%", "Error & Exception Exposure": "84.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -666670,7 +666670,7 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.907 + "Raw Cognitive Density": 1.905 }, "4. Vulnerability & Risk Exposures": { "Cognitive Load Exposure": "99.03%", @@ -696212,7 +696212,7 @@ "Static: Literature & Documentation": "12.5%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "30.85%", + "Cognitive Load Exposure": "26.68%", "Error & Exception Exposure": "58.99%", "Tech Debt Exposure": "41.02%", "Testing Exposure": "50.61%", @@ -696417,10 +696417,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.037 + "Raw Cognitive Density": 0.765 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "75.88%", + "Cognitive Load Exposure": "51.51%", "Error & Exception Exposure": "76.31%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -697051,10 +697051,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.62 + "Raw Cognitive Density": 0.459 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "24.33%", + "Cognitive Load Exposure": "15.52%", "Error & Exception Exposure": "46.98%", "Tech Debt Exposure": "99.57%", "Testing Exposure": "80.0%", @@ -698307,10 +698307,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.883 + "Raw Cognitive Density": 0.88 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "37.2%", + "Cognitive Load Exposure": "37.04%", "Error & Exception Exposure": "70.59%", "Tech Debt Exposure": "99.35%", "Testing Exposure": "80.0%", @@ -700663,7 +700663,7 @@ "Static: Literature & Documentation": "9.5%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "43.4%", + "Cognitive Load Exposure": "42.46%", "Error & Exception Exposure": "66.93%", "Tech Debt Exposure": "4.69%", "Testing Exposure": "5.95%", @@ -701025,10 +701025,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.361 + "Raw Cognitive Density": 0.99 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.02%", + "Cognitive Load Exposure": "72.31%", "Error & Exception Exposure": "88.92%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.66%", @@ -713137,10 +713137,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 3.644 + "Raw Cognitive Density": 2.65 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "100.0%", + "Cognitive Load Exposure": "99.95%", "Error & Exception Exposure": "95.06%", "Tech Debt Exposure": "88.08%", "Testing Exposure": "2.4%", @@ -717610,10 +717610,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 3.749 + "Raw Cognitive Density": 2.733 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "100.0%", + "Cognitive Load Exposure": "99.96%", "Error & Exception Exposure": "26.81%", "Tech Debt Exposure": "12.19%", "Testing Exposure": "80.0%", @@ -719213,7 +719213,7 @@ "Static: Literature & Documentation": "6.7%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "56.56%", + "Cognitive Load Exposure": "54.99%", "Error & Exception Exposure": "58.96%", "Tech Debt Exposure": "10.75%", "Testing Exposure": "7.37%", @@ -720602,10 +720602,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.88 + "Raw Cognitive Density": 0.64 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "62.71%", + "Cognitive Load Exposure": "39.17%", "Error & Exception Exposure": "0.0%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.43%", diff --git a/tests/golden_master_zero_dep_audit.json b/tests/golden_master_zero_dep_audit.json index 796644bf3..8663335cc 100644 --- a/tests/golden_master_zero_dep_audit.json +++ b/tests/golden_master_zero_dep_audit.json @@ -12,8 +12,8 @@ }, "Target Root Name": "data", "Absolute Project Path": "/home/joe/nyx_projects/language-crucible/data", - "Analysis ISO Timestamp": "2026-09-03T02:35:57.941080+00:00", - "Total Scan Duration": "45.96 seconds" + "Analysis ISO Timestamp": "2026-09-03T14:15:10.722731+00:00", + "Total Scan Duration": "45.26 seconds" }, "Source Control Footprint (Immutable Anchor)": { "Active Branch": "HEAD", @@ -236,7 +236,7 @@ } }, "health": { - "avg_cognitive_load": 25.171, + "avg_cognitive_load": 25.046, "avg_safety_score": 45.644, "avg_tech_debt": 31.075, "avg_documentation": 12.205 @@ -1249,7 +1249,7 @@ "file_count": 26, "total_mass": 1344.84, "avg_exposures": { - "cognitive_load": 33.4, + "cognitive_load": 29.21, "safety_score": 53.16, "tech_debt": 32.19, "verification": 5.2, @@ -1268,7 +1268,7 @@ "file_count": 21, "total_mass": 711.96, "avg_exposures": { - "cognitive_load": 43.4, + "cognitive_load": 42.46, "safety_score": 66.93, "tech_debt": 4.69, "verification": 5.95, @@ -1344,7 +1344,7 @@ "file_count": 7, "total_mass": 4973.24, "avg_exposures": { - "cognitive_load": 65.29, + "cognitive_load": 62.99, "safety_score": 80.36, "tech_debt": 4.77, "verification": 57.49, @@ -3491,7 +3491,7 @@ "file_count": 8, "total_mass": 740.52, "avg_exposures": { - "cognitive_load": 30.85, + "cognitive_load": 26.68, "safety_score": 58.99, "tech_debt": 41.02, "verification": 50.61, @@ -3548,7 +3548,7 @@ "file_count": 9, "total_mass": 2059.32, "avg_exposures": { - "cognitive_load": 29.74, + "cognitive_load": 29.73, "safety_score": 36.82, "tech_debt": 37.32, "verification": 36.63, @@ -3567,7 +3567,7 @@ "file_count": 20, "total_mass": 2457.48, "avg_exposures": { - "cognitive_load": 53.47, + "cognitive_load": 53.44, "safety_score": 53.76, "tech_debt": 9.28, "verification": 17.89, @@ -3605,7 +3605,7 @@ "file_count": 15, "total_mass": 615.66, "avg_exposures": { - "cognitive_load": 56.56, + "cognitive_load": 54.99, "safety_score": 58.96, "tech_debt": 10.75, "verification": 7.37, @@ -4631,7 +4631,7 @@ "file_count": 13, "total_mass": 2036.02, "avg_exposures": { - "cognitive_load": 75.0, + "cognitive_load": 73.81, "safety_score": 73.86, "tech_debt": 17.39, "verification": 38.25, @@ -5106,7 +5106,7 @@ "file_count": 98, "total_mass": 26789.34, "avg_exposures": { - "cognitive_load": 36.58, + "cognitive_load": 36.06, "safety_score": 56.65, "tech_debt": 18.39, "verification": 20.65, @@ -5125,7 +5125,7 @@ "file_count": 43, "total_mass": 21390.2, "avg_exposures": { - "cognitive_load": 75.18, + "cognitive_load": 74.01, "safety_score": 68.34, "tech_debt": 20.15, "verification": 47.55, @@ -5144,7 +5144,7 @@ "file_count": 7, "total_mass": 1317.6, "avg_exposures": { - "cognitive_load": 77.08, + "cognitive_load": 77.02, "safety_score": 94.26, "tech_debt": 0.0, "verification": 35.77, @@ -5163,7 +5163,7 @@ "file_count": 16, "total_mass": 3759.8, "avg_exposures": { - "cognitive_load": 44.75, + "cognitive_load": 42.73, "safety_score": 84.35, "tech_debt": 3.12, "verification": 31.53, @@ -6754,7 +6754,7 @@ { "name": "revdeploylibraryios.livecodescript", "path": "livecode/livecode/revdeploylibraryios.livecodescript", - "value": 731.2 + "value": 731.17 }, { "name": "IC2014.2.cbl", @@ -169227,7 +169227,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "36.58%", + "Cognitive Load Exposure": "36.06%", "Error & Exception Exposure": "56.65%", "Tech Debt Exposure": "18.39%", "Testing Exposure": "20.65%", @@ -169631,10 +169631,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.224 + "Raw Cognitive Density": 0.22 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "10.87%", + "Cognitive Load Exposure": "10.72%", "Error & Exception Exposure": "85.01%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.45%", @@ -169839,10 +169839,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.344 + "Raw Cognitive Density": 1.32 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "91.5%", + "Cognitive Load Exposure": "90.72%", "Error & Exception Exposure": "81.44%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.66%", @@ -172383,10 +172383,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.375 + "Raw Cognitive Density": 1.0 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.41%", + "Cognitive Load Exposure": "73.11%", "Error & Exception Exposure": "79.41%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.44%", @@ -173545,10 +173545,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.774 + "Raw Cognitive Density": 1.307 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "98.37%", + "Cognitive Load Exposure": "90.29%", "Error & Exception Exposure": "98.01%", "Tech Debt Exposure": "28.51%", "Testing Exposure": "80.0%", @@ -173756,10 +173756,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.493 + "Raw Cognitive Density": 1.492 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "95.12%", + "Cognitive Load Exposure": "95.11%", "Error & Exception Exposure": "74.02%", "Tech Debt Exposure": "9.74%", "Testing Exposure": "80.0%", @@ -175304,10 +175304,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.504 + "Raw Cognitive Density": 0.495 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "27.21%", + "Cognitive Load Exposure": "26.5%", "Error & Exception Exposure": "73.66%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.42%", @@ -175880,10 +175880,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.469 + "Raw Cognitive Density": 1.464 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "94.67%", + "Cognitive Load Exposure": "94.56%", "Error & Exception Exposure": "80.2%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -177348,10 +177348,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.216 + "Raw Cognitive Density": 0.157 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "10.55%", + "Cognitive Load Exposure": "8.53%", "Error & Exception Exposure": "66.76%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.4%", @@ -178920,10 +178920,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.306 + "Raw Cognitive Density": 0.95 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "79.42%", + "Cognitive Load Exposure": "60.72%", "Error & Exception Exposure": "89.2%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.47%", @@ -180254,10 +180254,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.935 + "Raw Cognitive Density": 0.932 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "67.69%", + "Cognitive Load Exposure": "67.43%", "Error & Exception Exposure": "69.94%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -180992,10 +180992,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.356 + "Raw Cognitive Density": 0.355 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "17.11%", + "Cognitive Load Exposure": "17.06%", "Error & Exception Exposure": "63.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.52%", @@ -181500,10 +181500,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.531 + "Raw Cognitive Density": 0.525 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "29.42%", + "Cognitive Load Exposure": "28.89%", "Error & Exception Exposure": "0.0%", "Tech Debt Exposure": "100.0%", "Testing Exposure": "2.66%", @@ -186624,10 +186624,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.048 + "Raw Cognitive Density": 0.033 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "2.84%", + "Cognitive Load Exposure": "2.68%", "Error & Exception Exposure": "0.0%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.41%", @@ -188792,10 +188792,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.949 + "Raw Cognitive Density": 1.94 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.18%", + "Cognitive Load Exposure": "99.15%", "Error & Exception Exposure": "96.44%", "Tech Debt Exposure": "69.92%", "Testing Exposure": "80.0%", @@ -189170,10 +189170,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.754 + "Raw Cognitive Density": 1.752 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "95.83%", + "Cognitive Load Exposure": "95.82%", "Error & Exception Exposure": "97.97%", "Tech Debt Exposure": "10.23%", "Testing Exposure": "80.0%", @@ -190248,10 +190248,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.395 + "Raw Cognitive Density": 1.393 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.96%", + "Cognitive Load Exposure": "92.89%", "Error & Exception Exposure": "80.01%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -192514,10 +192514,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.861 + "Raw Cognitive Density": 1.859 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "98.13%", + "Cognitive Load Exposure": "98.12%", "Error & Exception Exposure": "90.74%", "Tech Debt Exposure": "22.28%", "Testing Exposure": "80.0%", @@ -193620,10 +193620,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.587 + "Raw Cognitive Density": 0.584 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "34.25%", + "Cognitive Load Exposure": "34.02%", "Error & Exception Exposure": "69.43%", "Tech Debt Exposure": "100.0%", "Testing Exposure": "2.49%", @@ -194603,7 +194603,7 @@ "Raw Cognitive Density": 0.648 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "39.95%", + "Cognitive Load Exposure": "39.92%", "Error & Exception Exposure": "73.39%", "Tech Debt Exposure": "88.85%", "Testing Exposure": "2.45%", @@ -219948,7 +219948,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "75.18%", + "Cognitive Load Exposure": "74.01%", "Error & Exception Exposure": "68.34%", "Tech Debt Exposure": "20.15%", "Testing Exposure": "47.55%", @@ -220332,10 +220332,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.628 + "Raw Cognitive Density": 1.583 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "97.1%", + "Cognitive Load Exposure": "96.55%", "Error & Exception Exposure": "90.4%", "Tech Debt Exposure": "14.75%", "Testing Exposure": "80.0%", @@ -221119,10 +221119,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.724 + "Raw Cognitive Density": 1.206 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "98.01%", + "Cognitive Load Exposure": "86.1%", "Error & Exception Exposure": "70.04%", "Tech Debt Exposure": "78.94%", "Testing Exposure": "2.63%", @@ -222683,10 +222683,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.665 + "Raw Cognitive Density": 1.201 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "97.49%", + "Cognitive Load Exposure": "85.85%", "Error & Exception Exposure": "86.7%", "Tech Debt Exposure": "47.27%", "Testing Exposure": "80.0%", @@ -223791,10 +223791,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.552 + "Raw Cognitive Density": 1.063 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "96.12%", + "Cognitive Load Exposure": "77.8%", "Error & Exception Exposure": "75.01%", "Tech Debt Exposure": "16.27%", "Testing Exposure": "80.0%", @@ -224619,7 +224619,7 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 6.613 + "Raw Cognitive Density": 4.587 }, "4. Vulnerability & Risk Exposures": { "Cognitive Load Exposure": "100.0%", @@ -225738,10 +225738,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 3.143 + "Raw Cognitive Density": 2.297 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.99%", + "Cognitive Load Exposure": "99.8%", "Error & Exception Exposure": "87.37%", "Tech Debt Exposure": "91.67%", "Testing Exposure": "80.0%", @@ -226028,10 +226028,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 2.511 + "Raw Cognitive Density": 1.787 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.91%", + "Cognitive Load Exposure": "98.45%", "Error & Exception Exposure": "98.66%", "Tech Debt Exposure": "14.39%", "Testing Exposure": "80.0%", @@ -226808,10 +226808,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.912 + "Raw Cognitive Density": 1.392 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.05%", + "Cognitive Load Exposure": "92.88%", "Error & Exception Exposure": "98.12%", "Tech Debt Exposure": "16.11%", "Testing Exposure": "80.0%", @@ -227238,10 +227238,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 2.007 + "Raw Cognitive Density": 2.794 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.35%", + "Cognitive Load Exposure": "99.97%", "Error & Exception Exposure": "88.81%", "Tech Debt Exposure": "35.5%", "Testing Exposure": "80.0%", @@ -230039,10 +230039,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.379 + "Raw Cognitive Density": 1.371 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.53%", + "Cognitive Load Exposure": "92.29%", "Error & Exception Exposure": "33.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -230329,10 +230329,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 2.389 + "Raw Cognitive Density": 2.277 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "99.86%", + "Cognitive Load Exposure": "99.78%", "Error & Exception Exposure": "64.39%", "Tech Debt Exposure": "34.03%", "Testing Exposure": "2.61%", @@ -231220,10 +231220,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.352 + "Raw Cognitive Density": 0.999 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "91.73%", + "Cognitive Load Exposure": "73.0%", "Error & Exception Exposure": "83.03%", "Tech Debt Exposure": "73.21%", "Testing Exposure": "80.0%", @@ -231500,10 +231500,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.673 + "Raw Cognitive Density": 1.658 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "97.57%", + "Cognitive Load Exposure": "97.42%", "Error & Exception Exposure": "2.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -234276,10 +234276,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.018 + "Raw Cognitive Density": 1.405 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "74.47%", + "Cognitive Load Exposure": "93.22%", "Error & Exception Exposure": "1.87%", "Tech Debt Exposure": "13.81%", "Testing Exposure": "2.51%", @@ -455758,7 +455758,7 @@ "Static: Literature & Documentation": "14.3%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "65.29%", + "Cognitive Load Exposure": "62.99%", "Error & Exception Exposure": "80.36%", "Tech Debt Exposure": "4.77%", "Testing Exposure": "57.49%", @@ -457505,10 +457505,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.47 + "Raw Cognitive Density": 1.069 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.21%", + "Cognitive Load Exposure": "76.11%", "Error & Exception Exposure": "98.2%", "Tech Debt Exposure": "9.46%", "Testing Exposure": "80.0%", @@ -505262,7 +505262,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "44.75%", + "Cognitive Load Exposure": "42.73%", "Error & Exception Exposure": "84.35%", "Tech Debt Exposure": "3.12%", "Testing Exposure": "31.53%", @@ -508797,10 +508797,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.33 + "Raw Cognitive Density": 0.944 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "91.06%", + "Cognitive Load Exposure": "68.46%", "Error & Exception Exposure": "95.32%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -509633,10 +509633,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.516 + "Raw Cognitive Density": 0.38 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "28.15%", + "Cognitive Load Exposure": "18.54%", "Error & Exception Exposure": "72.4%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.55%", @@ -545922,7 +545922,7 @@ "Static: Literature & Documentation": "5.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "53.47%", + "Cognitive Load Exposure": "53.44%", "Error & Exception Exposure": "53.76%", "Tech Debt Exposure": "9.28%", "Testing Exposure": "17.89%", @@ -547638,10 +547638,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.81 + "Raw Cognitive Density": 1.723 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "98.58%", + "Cognitive Load Exposure": "98.0%", "Error & Exception Exposure": "96.91%", "Tech Debt Exposure": "9.43%", "Testing Exposure": "80.0%", @@ -579045,7 +579045,7 @@ "Static: Literature & Documentation": "11.1%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "29.74%", + "Cognitive Load Exposure": "29.73%", "Error & Exception Exposure": "36.82%", "Tech Debt Exposure": "37.32%", "Testing Exposure": "36.63%", @@ -580858,7 +580858,7 @@ "Raw Cognitive Density": 0.777 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "26.35%", + "Cognitive Load Exposure": "26.33%", "Error & Exception Exposure": "44.48%", "Tech Debt Exposure": "76.35%", "Testing Exposure": "80.0%", @@ -583054,7 +583054,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "75.0%", + "Cognitive Load Exposure": "73.81%", "Error & Exception Exposure": "73.86%", "Tech Debt Exposure": "17.39%", "Testing Exposure": "38.25%", @@ -583986,7 +583986,7 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 3.312 + "Raw Cognitive Density": 3.327 }, "4. Vulnerability & Risk Exposures": { "Cognitive Load Exposure": "100.0%", @@ -585182,10 +585182,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.483 + "Raw Cognitive Density": 1.089 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "94.93%", + "Cognitive Load Exposure": "79.53%", "Error & Exception Exposure": "94.91%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.53%", @@ -636191,7 +636191,7 @@ "Static: Literature & Documentation": "7.7%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "33.4%", + "Cognitive Load Exposure": "29.21%", "Error & Exception Exposure": "53.16%", "Tech Debt Exposure": "32.19%", "Testing Exposure": "5.2%", @@ -637245,10 +637245,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.239 + "Raw Cognitive Density": 0.91 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "87.59%", + "Cognitive Load Exposure": "65.48%", "Error & Exception Exposure": "96.99%", "Tech Debt Exposure": "88.08%", "Testing Exposure": "2.5%", @@ -638047,10 +638047,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.428 + "Raw Cognitive Density": 0.297 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "21.64%", + "Cognitive Load Exposure": "14.05%", "Error & Exception Exposure": "1.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.33%", @@ -639308,10 +639308,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.657 + "Raw Cognitive Density": 0.632 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "40.82%", + "Cognitive Load Exposure": "38.46%", "Error & Exception Exposure": "76.08%", "Tech Debt Exposure": "99.97%", "Testing Exposure": "2.51%", @@ -640095,10 +640095,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.334 + "Raw Cognitive Density": 0.97 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "91.19%", + "Cognitive Load Exposure": "70.71%", "Error & Exception Exposure": "67.96%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.45%", @@ -641119,10 +641119,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.018 + "Raw Cognitive Density": 0.705 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "74.51%", + "Cognitive Load Exposure": "45.5%", "Error & Exception Exposure": "31.0%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.34%", @@ -641371,10 +641371,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.939 + "Raw Cognitive Density": 0.654 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "68.07%", + "Cognitive Load Exposure": "40.54%", "Error & Exception Exposure": "40.04%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.35%", @@ -641632,10 +641632,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.532 + "Raw Cognitive Density": 1.539 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "95.8%", + "Cognitive Load Exposure": "95.91%", "Error & Exception Exposure": "94.3%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -642416,7 +642416,7 @@ "Unclassified": "100.0%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "77.08%", + "Cognitive Load Exposure": "77.02%", "Error & Exception Exposure": "94.26%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "35.77%", @@ -643181,10 +643181,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.648 + "Raw Cognitive Density": 1.608 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "97.32%", + "Cognitive Load Exposure": "96.86%", "Error & Exception Exposure": "84.53%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -666670,7 +666670,7 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.907 + "Raw Cognitive Density": 1.905 }, "4. Vulnerability & Risk Exposures": { "Cognitive Load Exposure": "99.03%", @@ -696212,7 +696212,7 @@ "Static: Literature & Documentation": "12.5%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "30.85%", + "Cognitive Load Exposure": "26.68%", "Error & Exception Exposure": "58.99%", "Tech Debt Exposure": "41.02%", "Testing Exposure": "50.61%", @@ -696417,10 +696417,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.037 + "Raw Cognitive Density": 0.765 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "75.88%", + "Cognitive Load Exposure": "51.51%", "Error & Exception Exposure": "76.31%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "80.0%", @@ -697051,10 +697051,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.62 + "Raw Cognitive Density": 0.459 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "24.33%", + "Cognitive Load Exposure": "15.52%", "Error & Exception Exposure": "46.98%", "Tech Debt Exposure": "99.57%", "Testing Exposure": "80.0%", @@ -698307,10 +698307,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.883 + "Raw Cognitive Density": 0.88 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "37.2%", + "Cognitive Load Exposure": "37.04%", "Error & Exception Exposure": "70.59%", "Tech Debt Exposure": "99.35%", "Testing Exposure": "80.0%", @@ -700663,7 +700663,7 @@ "Static: Literature & Documentation": "9.5%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "43.4%", + "Cognitive Load Exposure": "42.46%", "Error & Exception Exposure": "66.93%", "Tech Debt Exposure": "4.69%", "Testing Exposure": "5.95%", @@ -701025,10 +701025,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 1.361 + "Raw Cognitive Density": 0.99 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "92.02%", + "Cognitive Load Exposure": "72.31%", "Error & Exception Exposure": "88.92%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.66%", @@ -713137,10 +713137,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 3.644 + "Raw Cognitive Density": 2.65 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "100.0%", + "Cognitive Load Exposure": "99.95%", "Error & Exception Exposure": "95.06%", "Tech Debt Exposure": "88.08%", "Testing Exposure": "2.4%", @@ -717610,10 +717610,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 3.749 + "Raw Cognitive Density": 2.733 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "100.0%", + "Cognitive Load Exposure": "99.96%", "Error & Exception Exposure": "26.81%", "Tech Debt Exposure": "12.19%", "Testing Exposure": "80.0%", @@ -719213,7 +719213,7 @@ "Static: Literature & Documentation": "6.7%" }, "Average Risk Exposures": { - "Cognitive Load Exposure": "56.56%", + "Cognitive Load Exposure": "54.99%", "Error & Exception Exposure": "58.96%", "Tech Debt Exposure": "10.75%", "Testing Exposure": "7.37%", @@ -720602,10 +720602,10 @@ "Raw Churn Frequency": 0.0, "Authorship Centralization": 0.0, "Ownership Entropy": 0.0, - "Raw Cognitive Density": 0.88 + "Raw Cognitive Density": 0.64 }, "4. Vulnerability & Risk Exposures": { - "Cognitive Load Exposure": "62.71%", + "Cognitive Load Exposure": "39.17%", "Error & Exception Exposure": "0.0%", "Tech Debt Exposure": "0.0%", "Testing Exposure": "2.43%",